From f9214d65ecf89e537558aa42842db6ccc35e8451 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 8 Oct 2016 21:00:39 +0200 Subject: [PATCH] Passing path --- Module/InstallerAbstract.php | 20 ++++++++++++-------- Module/ModuleManager.php | 6 +++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Module/InstallerAbstract.php b/Module/InstallerAbstract.php index 426ee52f6..4988c581b 100644 --- a/Module/InstallerAbstract.php +++ b/Module/InstallerAbstract.php @@ -90,18 +90,19 @@ class InstallerAbstract /** * Install module. * - * @param Pool $dbPool Database instance - * @param InfoManager $info Module info + * @param string $routePath Route Path + * @param Pool $dbPool Database instance + * @param InfoManager $info Module info * * @return void * * @since 1.0.0 * @author Dennis Eichhorn */ - public static function install(Pool $dbPool, InfoManager $info) + public static function install(string $routePath, Pool $dbPool, InfoManager $info) { self::registerInDatabase($dbPool, $info); - self::initRoutes($info); + self::initRoutes($routePath, $info); self::activate($dbPool, $info); } @@ -126,6 +127,7 @@ class InstallerAbstract /** * Re-init module. * + * @param string $routePath Route Path * @param InfoManager $info Module info * * @return void @@ -133,14 +135,15 @@ class InstallerAbstract * @since 1.0.0 * @author Dennis Eichhorn */ - public static function reInit(InfoManager $info) + public static function reInit(string $routePath, InfoManager $info) { - self::initRoutes($info); + self::initRoutes($routePath, $info); } /** * Init routes. * + * @param string $routePath Route Path * @param InfoManager $info Module info * * @return void @@ -150,14 +153,15 @@ class InstallerAbstract * @since 1.0.0 * @author Dennis Eichhorn */ - private static function initRoutes(InfoManager $info) + private static function initRoutes(string $routePath, InfoManager $info) { + // todo: maybe use static::__DIR__ ? $directories = new Directory(ROOT_PATH . '/Modules/' . $info->getDirectory() . '/Admin/Routes'); foreach ($directories as $key => $subdir) { if ($subdir instanceof Directory) { foreach ($subdir as $key2 => $file) { - self::installRoutes(ROOT_PATH . '/' . $subdir->getName() . '/' . basename($file->getName(), '.php') . '/Routes.php', $file->getPath()); + self::installRoutes($routePath . '/' . $subdir->getName() . '/' . basename($file->getName(), '.php') . '/Routes.php', $file->getPath()); } } } diff --git a/Module/ModuleManager.php b/Module/ModuleManager.php index 7825b79b8..d1a8bfd92 100644 --- a/Module/ModuleManager.php +++ b/Module/ModuleManager.php @@ -366,7 +366,7 @@ class ModuleManager throw new \Exception('Module installer does not exist'); } - $class::reInit($info); + $class::reInit(ROOT_PATH, $info); } /** @@ -461,7 +461,7 @@ class ModuleManager throw new \Exception('Module installer does not exist'); } - $class::install($this->app->dbPool, $info); + $class::install(ROOT_PATH, $this->app->dbPool, $info); } /** @@ -577,7 +577,7 @@ class ModuleManager if (file_exists(self::MODULE_PATH . '/' . $from . '/Admin/Install/' . $for . '.php')) { $class = '\\Modules\\' . $from . '\\Admin\\Install\\' . $for; /** @var $class InstallerAbstract */ - $class::install($this->app->dbPool, null); + $class::install(ROOT_PATH, $this->app->dbPool, null); } }