mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
Support installing/updating namespaced modules
모듈 설치 및 업데이트 메소드를 Rhymix\Modules\모듈명\Install 클래스에 넣을 수 있도록 지원한다. 이 클래스가 있는 경우 모듈명과 동일한 클래스를 찾지 않는다. 이로써 클래스 전체를 네임스페이스화할 수 있게 되었다.
This commit is contained in:
parent
adbd29231f
commit
f334889047
5 changed files with 38 additions and 19 deletions
|
|
@ -1375,6 +1375,27 @@ class moduleModel extends module
|
|||
return $list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get module install class
|
||||
*
|
||||
* This method supports namespaced modules as well as XE-compatible modules.
|
||||
*
|
||||
* @param string $module_name
|
||||
* @return ModuleObject|null
|
||||
*/
|
||||
public static function getModuleInstallClass(string $module_name)
|
||||
{
|
||||
$class_name = 'Rhymix\\Modules\\' . ucfirst($module_name) . '\\Install';
|
||||
if (class_exists($class_name))
|
||||
{
|
||||
return $class_name::getInstance();
|
||||
}
|
||||
elseif ($oModule = getModule($module_name, 'class'))
|
||||
{
|
||||
return $oModule;
|
||||
}
|
||||
}
|
||||
|
||||
public static function checkNeedInstall($module_name)
|
||||
{
|
||||
$oDB = &DB::getInstance();
|
||||
|
|
@ -1402,7 +1423,7 @@ class moduleModel extends module
|
|||
public static function checkNeedUpdate($module_name)
|
||||
{
|
||||
// Check if it is upgraded to module.class.php on each module
|
||||
$oDummy = getModule($module_name, 'class');
|
||||
$oDummy = self::getModuleInstallClass($module_name);
|
||||
if($oDummy && method_exists($oDummy, "checkUpdate"))
|
||||
{
|
||||
return $oDummy->checkUpdate();
|
||||
|
|
@ -1502,7 +1523,7 @@ class moduleModel extends module
|
|||
}
|
||||
|
||||
// Check if it is upgraded to module.class.php on each module
|
||||
$oDummy = getModule($module_name, 'class');
|
||||
$oDummy = self::getModuleInstallClass($module_name);
|
||||
if($oDummy && method_exists($oDummy, "checkUpdate"))
|
||||
{
|
||||
$info->need_update = $oDummy->checkUpdate();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue