Passing path

This commit is contained in:
Dennis Eichhorn 2016-10-08 21:00:39 +02:00
parent d3200d5ac0
commit f9214d65ec
2 changed files with 15 additions and 11 deletions

View File

@ -90,18 +90,19 @@ class InstallerAbstract
/** /**
* Install module. * Install module.
* *
* @param Pool $dbPool Database instance * @param string $routePath Route Path
* @param InfoManager $info Module info * @param Pool $dbPool Database instance
* @param InfoManager $info Module info
* *
* @return void * @return void
* *
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
public static function install(Pool $dbPool, InfoManager $info) public static function install(string $routePath, Pool $dbPool, InfoManager $info)
{ {
self::registerInDatabase($dbPool, $info); self::registerInDatabase($dbPool, $info);
self::initRoutes($info); self::initRoutes($routePath, $info);
self::activate($dbPool, $info); self::activate($dbPool, $info);
} }
@ -126,6 +127,7 @@ class InstallerAbstract
/** /**
* Re-init module. * Re-init module.
* *
* @param string $routePath Route Path
* @param InfoManager $info Module info * @param InfoManager $info Module info
* *
* @return void * @return void
@ -133,14 +135,15 @@ class InstallerAbstract
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
public static function reInit(InfoManager $info) public static function reInit(string $routePath, InfoManager $info)
{ {
self::initRoutes($info); self::initRoutes($routePath, $info);
} }
/** /**
* Init routes. * Init routes.
* *
* @param string $routePath Route Path
* @param InfoManager $info Module info * @param InfoManager $info Module info
* *
* @return void * @return void
@ -150,14 +153,15 @@ class InstallerAbstract
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
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'); $directories = new Directory(ROOT_PATH . '/Modules/' . $info->getDirectory() . '/Admin/Routes');
foreach ($directories as $key => $subdir) { foreach ($directories as $key => $subdir) {
if ($subdir instanceof Directory) { if ($subdir instanceof Directory) {
foreach ($subdir as $key2 => $file) { 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());
} }
} }
} }

View File

@ -366,7 +366,7 @@ class ModuleManager
throw new \Exception('Module installer does not exist'); 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'); 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')) { if (file_exists(self::MODULE_PATH . '/' . $from . '/Admin/Install/' . $for . '.php')) {
$class = '\\Modules\\' . $from . '\\Admin\\Install\\' . $for; $class = '\\Modules\\' . $from . '\\Admin\\Install\\' . $for;
/** @var $class InstallerAbstract */ /** @var $class InstallerAbstract */
$class::install($this->app->dbPool, null); $class::install(ROOT_PATH, $this->app->dbPool, null);
} }
} }