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.
*
* @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 <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::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 <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.
*
* @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 <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');
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());
}
}
}

View File

@ -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);
}
}