1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-29 04:55: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();
/**
* 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));
break;
case 'hook':
if (isset($aHook['params']['sClassName']) and class_exists($aHook['params']['sClassName'])) {
$oHook=new $aHook['params']['sClassName'];
$sHookClass=isset($aHook['params']['sClassName']) ? $aHook['params']['sClassName'] : null;
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));
}
break;