diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 590cd85ef..139663730 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -617,10 +617,21 @@ $kind = strtolower($kind); $type = strtolower($type); - $kinds = explode(' ', 'svc admin'); - if(!in_array($kind, $kinds)) $kind = $kinds[0]; + $kinds = explode(' ', 'svc admin'); + if(!in_array($kind, $kinds)) $kind = $kinds[0]; - $key = $module.'.'.($kind!='admin'?'':'admin').'.'.$type; + $key = $module.'.'.($kind!='admin'?'':'admin').'.'.$type; + + if(is_array($GLOBALS['__MODULE_EXTEND__']) && array_key_exists($key, $GLOBALS['__MODULE_EXTEND__'])) + { + $module = $extend_module = $GLOBALS['__MODULE_EXTEND__'][$key]; + } + + + // if there is no instance of the module in global variable, create a new one + if(!isset($GLOBALS['_loaded_module'][$module][$type][$kind])) + { + $parent_module = $module; if(is_array($GLOBALS['__MODULE_EXTEND__']) && array_key_exists($key, $GLOBALS['__MODULE_EXTEND__'])) { $module = $extend_module = $GLOBALS['__MODULE_EXTEND__'][$key];