Example #1
0
 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);
     }
 }