get('Content')->getData('head'); $head->addAsset(AssetType::CSS, 'Modules/Profile/Theme/Backend/css/styles.css'); } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-list'); if ($request->getData('ptype') === 'p') { $view->setData('accounts', ProfileMapper::getAll() ->with('account') ->with('image') ->where('id', (int) ($request->getData('id') ?? 0), '<') ->limit(25)->execute() ); } elseif ($request->getData('ptype') === 'n') { $view->setData('accounts', ProfileMapper::getAll() ->with('account') ->with('image') ->where('id', (int) ($request->getData('id') ?? 0), '>') ->limit(25)->execute() ); } else { $view->setData('accounts', ProfileMapper::getAll() ->with('account') ->with('image') ->where('id', 0, '>') ->limit(25)->execute() ); } $profileImage = $this->app->appSettings->get(null, 'default_profile_image', null, 'Profile'); $image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute(); $view->setData('defaultImage', $image); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileSingle(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); /** @var \phpOMS\Model\Html\Head $head */ $head = $response->get('Content')->getData('head'); $head->addAsset(AssetType::CSS, '/Modules/Calendar/Theme/Backend/css/styles.css'); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-single'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000301001, $request, $response)); $mediaListView = new \Modules\Media\Theme\Backend\Components\Media\ListView($this->app->l11nManager, $request, $response); $mediaListView->setTemplate('/Modules/Media/Theme/Backend/Components/Media/list'); $view->addData('medialist', $mediaListView); $calendarView = new \Modules\Calendar\Theme\Backend\Components\Calendar\BaseView($this->app->l11nManager, $request, $response); $calendarView->setTemplate('/Modules/Calendar/Theme/Backend/Components/Calendar/mini'); $view->addData('calendar', $calendarView); $mapperQuery = ProfileMapper::get()->with('account')->with('image')->with('location')->with('contactElements'); $profile = $request->getData('for') !== null ? $mapperQuery->where('account', (int) $request->getData('for'))->execute() : $mapperQuery->where('id', (int) $request->getData('id'))->execute(); $view->setData('account', $profile); $l11n = null; if ($profile->account->getId() === $request->header->account) { $l11n = LocalizationMapper::get()->where('id', $profile->account->l11n->getId())->execute(); } $view->setData('l11n', $l11n ?? new NullLocalization()); $accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->addData('accGrpSelector', $accGrpSelector); $media = MediaMapper::get()->where('createdBy', (int) $profile->account->getId())->limit(25)->execute(); $view->setData('media', $media instanceof NullMedia ? [] : (!\is_array($media) ? [$media] : $media)); $profileImage = $this->app->appSettings->get(null, 'default_profile_image', null, 'Profile'); $image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute(); $view->setData('defaultImage', $image); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileAdminSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-settings'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000300000, $request, $response)); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileAdminCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000300000, $request, $response)); $accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->addData('accGrpSelector', $accGrpSelector); return $view; } }