function call($hookname, $param) { global $hook_status; if (!$hook_status) { return; } global $hook; global $globalhook; debug($this, "<b>Calling hook " . $hookname . " with parameter " . $param->toString() . "</b>"); if (is_array($hook[$hookname])) { $ho = $hook[$hookname]; for ($i = 0; $i < count($ho); $i++) { if (hook::allowHook($hookname, $ho[$i]["class"])) { debug($this, "<font color=\"magenta\">Calling hook listener <b>" . $ho[$i]["class"] . "->" . $ho[$i]["method"] . "()</b></font>"); assert($param); $o = new $ho[$i]["class"](); $o->drop($param); $method = $ho[$i]["method"]; $o->{$method}(); } else { debug($this, "<b style=\"color:rgb(255,0,0);\">Calling Denied for hook " . $hookname . " with parameter " . $param->toString() . "</b>"); } } } for ($i = 0; $i < count($globalhook); $i++) { $o = new $globalhook[$i]["class"](); $o->drop($param); $method = $globalhook[$i]["method"]; $o->{$method}($hookname); } }