From 685c7cd8ac7f9e9f38f752a4c15ddf630652bb3d Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 15 Sep 2018 13:31:50 +0200 Subject: [PATCH] Started to implement profile admin functionality --- Admin/Routes/Web/Backend.php | 2 +- Controller.php | 17 ++++++++++ Theme/Backend/modules-single.tpl.php | 50 +++++++++++----------------- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index 2aa5d92..d478edf 100644 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -94,7 +94,7 @@ return [ ], ], ], - '^.*/backend/admin/module/settings.*$' => [ + '^.*/backend/admin/module/settings\?.*$' => [ [ 'dest' => '\Modules\Admin\Controller:viewModuleProfile', 'verb' => RouteVerb::GET, diff --git a/Controller.php b/Controller.php index 5da0ba5..e7652ea 100644 --- a/Controller.php +++ b/Controller.php @@ -41,6 +41,7 @@ use phpOMS\System\MimeType; use phpOMS\Utils\Parser\Markdown\Markdown; use phpOMS\Views\View; use phpOMS\DataStorage\Database\RelationType; +use phpOMS\Module\InfoManager; /** * Admin controller class. @@ -359,6 +360,22 @@ final class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Admin/Theme/Backend/modules-single'); + $id = $request->getData('id') ?? ''; + $view->setData('modules', $this->app->moduleManager->getAllModules()); + $view->setData('active', $this->app->moduleManager->getActiveModules()); + $view->setData('installed', $installed = $this->app->moduleManager->getInstalledModules()); + $view->setData('id', $id); + + if (isset($installed[$id]) && ($path = \realpath(__DIR__ . '/../' . $id . '/info.json')) !== false) { + $info = new InfoManager($path); + $info->load(); + + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid( + $info->getId(), + $request, $response + )); + } + return $view; } diff --git a/Theme/Backend/modules-single.tpl.php b/Theme/Backend/modules-single.tpl.php index db003f3..7e9d189 100644 --- a/Theme/Backend/modules-single.tpl.php +++ b/Theme/Backend/modules-single.tpl.php @@ -14,11 +14,16 @@ /** * @var \phpOMS\Views\View $this */ -$modules = $this->app->moduleManager->getAllModules(); -$active = $this->app->moduleManager->getActiveModules(); -$installed = $this->app->moduleManager->getInstalledModules(); +$modules = $this->getData('modules'); +$active = $this->getData('active'); +$installed = $this->getData('installed'); +$id = $this->getData('id'); -$id = (string) $this->request->getData('id') ?? 1; +$nav = $this->getData('nav'); + +if ($nav !== null) { + echo $this->getData('nav')->render(); +} ?>
@@ -46,32 +51,17 @@ $id = (string) $this->request->getData('id') ?? 1; printHtml($modules[$id]['description'] ); ?> - - - - - + +
+ +
+ +
+ +
+
+ +