app->accountManager->get($request->getHeader()->getAccount()), $this->app->dbPool); $navView = new NavigationView($this->app, $request, $response); $navView->setTemplate('/Modules/Navigation/Theme/Backend/mid'); $navView->setNav($nav->getNav()); $navView->setLanguage($request->getHeader()->getL11n()->getLanguage()); $navView->setParent($pageId); return $navView; } /** * Get basic navigation view * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * * @return NavigationView * * @since 1.0.0 */ public function getView(RequestAbstract $request, ResponseAbstract $response) : NavigationView { $navObj = \Modules\Navigation\Models\Navigation::getInstance($request, $this->app->accountManager->get($request->getHeader()->getAccount()), $this->app->dbPool); $nav = new \Modules\Navigation\Views\NavigationView($this->app, $request, $response); $nav->setNav($navObj->getNav()); $nav->setLanguage($request->getHeader()->getL11n()->getLanguage()); $unread = []; foreach ($this->receiving as $receiving) { $unread[$receiving] = $this->app->moduleManager->get($receiving)->openNav($request->getHeader()->getAccount()); } $nav->setData('unread', $unread); return $nav; } /** * Load navigation language * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * * @return void * * @since 1.0.0 */ public function loadLanguage(RequestAbstract $request, ResponseAbstract $response) : void { $languages = $this->app->moduleManager->getLanguageFiles($request); foreach ($languages as $path) { if ($path[strlen($path) - 1] === '/') { // Is not a navigation file continue; } $path = __DIR__ . '/../../..' . $path . '.' . $response->getHeader()->getL11n()->getLanguage() . '.lang.php'; /** @noinspection PhpIncludeInspection */ $lang = include $path; $this->app->l11nManager->loadLanguage($response->getHeader()->getL11n()->getLanguage(), 'Navigation', $lang); } } /** * @param int $pageId Page/parent Id for navigation * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * * @return NavigationView * * @since 1.0.0 */ public function createNavigationSplash(int $pageId, RequestAbstract $request, ResponseAbstract $response) : NavigationView { $nav = Navigation::getInstance($request, $this->app->accountManager->get($request->getHeader()->getAccount()), $this->app->dbPool); $navView = new NavigationView($this->app, $request, $response); $navView->setTemplate('/Modules/Navigation/Theme/Backend/splash'); $navView->setNav($nav->getNav()); $navView->setLanguage($request->getHeader()->getL11n()->getLanguage()); $navView->setParent($pageId); return $navView; } }