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

fix Hook run

This commit is contained in:
Mzhelskiy Maxim 2010-08-21 07:26:37 +00:00
parent 9dce2a45ed
commit 22874a3b8e

View file

@ -34,7 +34,12 @@ class ModuleHook extends Module {
* ) * )
*/ */
protected $aHooks=array(); protected $aHooks=array();
/**
* Hook objects
*
* @var unknown_type
*/
protected $aHooksObject=array();
/** /**
* Инициализация модуля * Инициализация модуля
* *
@ -139,8 +144,14 @@ class ModuleHook extends Module {
$result=call_user_func_array($aHook['callback'],array(&$aVars)); $result=call_user_func_array($aHook['callback'],array(&$aVars));
break; break;
case 'hook': case 'hook':
if (isset($aHook['params']['sClassName']) and class_exists($aHook['params']['sClassName'])) { $sHookClass=isset($aHook['params']['sClassName']) ? $aHook['params']['sClassName'] : null;
$oHook=new $aHook['params']['sClassName']; if ($sHookClass and class_exists($sHookClass)) {
if (isset($this->aHooksObject[$sHookClass])) {
$oHook=$this->aHooksObject[$sHookClass];
} else {
$oHook=new $sHookClass;
$this->aHooksObject[$sHookClass]=$oHook;
}
$result=call_user_func_array(array($oHook,$aHook['callback']),array(&$aVars)); $result=call_user_func_array(array($oHook,$aHook['callback']),array(&$aVars));
} }
break; break;