data['Content']->head; $head->addAsset(AssetType::CSS, 'Modules/Profile/Theme/Backend/css/styles.css?v=' . self::VERSION); } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-list'); $view->data['accounts'] = ProfileMapper::getAll() ->with('account') ->with('image') ->paginate( 'id', $request->getData('ptype'), $request->getDataInt('offset') ) ->limit(25) ->executeGetArray(); /** @var \Model\Setting $profileImage */ $profileImage = $this->app->appSettings->get(names: SettingsEnum::DEFAULT_PROFILE_IMAGE, module: 'Profile'); /** @var \Modules\Media\Models\Media $image */ $image = MediaMapper::get() ->where('id', (int) $profileImage->content) ->execute(); $view->data['defaultImage'] = $image; return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileView(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $mapperQuery = ProfileMapper::get() ->with('account') ->with('account/addresses') ->with('image'); /** @var \Modules\Profile\Models\Profile $profile */ $profile = $request->hasData('for') ? $mapperQuery->where('account', (int) $request->getData('for'))->execute() : $mapperQuery->where('id', (int) $request->getData('id'))->execute(); $view->data['account'] = $profile; if ($profile->id === 0) { $response->header->status = RequestStatusCode::R_404; $view->setTemplate('/Web/Backend/Error/404'); return $view; } /** @var \phpOMS\Model\Html\Head $head */ $head = $response->data['Content']->head; $head->addAsset(AssetType::CSS, '/Modules/Calendar/Theme/Backend/css/styles.css?v=' . self::VERSION); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-view'); $view->data['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->data['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->data['calendar'] = $calendarView; $l11n = null; if ($profile->account->id === $request->header->account) { /** @var \phpOMS\Localization\Localization $l11n */ $l11n = LocalizationMapper::get()->where('id', $profile->account->l11n->id)->execute(); } $view->data['l11n'] = $l11n ?? new NullLocalization(); $accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->data['accGrpSelector'] = $accGrpSelector; /** @var \Modules\Media\Models\Media[] $media */ $media = MediaMapper::getAll() ->with('createdBy') ->where('createdBy', (int) $profile->account->id) ->limit(25) ->executeGetArray(); $view->data['media'] = $media; /** @var \Model\Setting $profileImage */ $profileImage = $this->app->appSettings->get(names: SettingsEnum::DEFAULT_PROFILE_IMAGE, module: 'Profile'); /** @var \Modules\Media\Models\Media $image */ $image = MediaMapper::get()->where('id', (int) $profileImage->content)->execute(); $view->data['defaultImage'] = $image; return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewModuleSettings(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/' . static::NAME . '/Admin/Settings/Theme/Backend/settings'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000300000, $request, $response); return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 */ public function viewProfileAdminCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-create'); $view->data['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->data['accGrpSelector'] = $accGrpSelector; return $view; } }