From f194374a79155090c14f999ae391a8457d9c08cd Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 16 May 2012 10:03:57 +0000 Subject: [PATCH] reverse merge from 1.6.0 (r10108) git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@10703 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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];