1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-01 05:55:02 +03:00

возможность переопределять классы модулей

This commit is contained in:
Mzhelskiy Maxim 2009-06-29 18:44:26 +00:00
parent 7b7d5efb63
commit 7d10f97524

View file

@ -87,14 +87,27 @@ class Engine extends Object {
*/
protected function LoadModule($sModuleName,$bInit=false) {
$tm1=microtime(true);
$sPrefixSys='';
if (file_exists(DIR_SERVER_ROOT."/classes/modules/".strtolower($sModuleName)."/".$sModuleName.".class.php")) {
require_once(DIR_SERVER_ROOT."/classes/modules/".strtolower($sModuleName)."/".$sModuleName.".class.php");
} elseif (file_exists(DIR_SERVER_ROOT."/classes/modules/sys_".strtolower($sModuleName)."/".$sModuleName.".class.php")) {
require_once(DIR_SERVER_ROOT."/classes/modules/sys_".strtolower($sModuleName)."/".$sModuleName.".class.php");
$sPrefixSys='sys_';
} else {
throw new Exception($this->Lang_Get('system_error_module')." - ".$sModuleName);
}
$sModuleNameClass='Ls'.$sModuleName;
/**
* Проверяем наличие кастомного класса
*/
$sPrefixCustom='';
if (file_exists(DIR_SERVER_ROOT."/classes/modules/".$sPrefixSys.strtolower($sModuleName)."/".$sModuleName.".class.custom.php")) {
require_once(DIR_SERVER_ROOT."/classes/modules/".$sPrefixSys.strtolower($sModuleName)."/".$sModuleName.".class.custom.php");
$sPrefixCustom='_custom';
}
/**
* Создаем объект модуля
*/
$sModuleNameClass='Ls'.$sModuleName.$sPrefixCustom;
$oModule=new $sModuleNameClass($this);
if ($bInit) {
$oModule->Init();