diff --git a/Controller.php b/Controller.php index d09a1b2..c70aa34 100644 --- a/Controller.php +++ b/Controller.php @@ -115,6 +115,40 @@ class Controller extends ModuleAbstract implements WebInterface return $navView; } + public function getView(RequestAbstract $request, ResponseAbstract $response) + { + $navObj = \Modules\Navigation\Models\Navigation::getInstance($request, $this->app->dbPool); + $nav = new \Modules\Navigation\Views\NavigationView($this->app, $request, $response); + $nav->setNav($navObj->getNav()); + $nav->setLanguage($request->getL11n()->getLanguage()); + $unread = []; + + foreach($this->receiving as $receiving) { + $unread[$receiving] = $this->app->moduleManager->get($receiving)->openNav($request->getAccount()); + } + + $nav->setData('unread', $unread); + + return $nav; + } + + public function loadLanguage(RequestAbstract $request, ResponseAbstract $response) { + $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->getL11n()->getLanguage() . '.lang.php'; + + /** @noinspection PhpIncludeInspection */ + $lang = include $path; + $this->app->l11nManager->loadLanguage($response->getL11n()->getLanguage(), 'Navigation', $lang); + } + } + /** * @param int $pageId Page/parent Id for navigation * @param RequestAbstract $request Request diff --git a/Theme/backend/top.tpl.php b/Theme/backend/top.tpl.php index 42bc1ff..81b76f4 100644 --- a/Theme/backend/top.tpl.php +++ b/Theme/backend/top.tpl.php @@ -19,12 +19,13 @@ if (isset($this->nav[\Modules\Navigation\Models\NavigationType::TOP])): ?>