public static function callHooks($hookpoint, $hookpointParams) { Logger::getLogger('HOOKS')->debug("Hook '{$hookpoint}' called"); foreach (Hooks::getHooks($hookpoint) as $hook) { // Determine funtioncall if ($hook['class']) { $callback = $hook['class'] . '::' . $hook['function']; } else { $callback = $hook['function']; } // Construct params $callBackParams = array(); foreach ((array) $hook['params'] as $param) { if (substr((string) $param, 0, 1) == '$') { $callBackParams[] = $hookpointParams[substr($param, 1)]; } else { $callBackParams[] = $param; } } $log = $callback . '(' . implode(', ', $callBackParams) . ')'; Logger::getLogger('HOOKS')->debug("Call hook {$log}"); call_user_func_array($callback, $callBackParams); } }