protected static function &call_wrapper($selector, $method, &$params) { $retval = NULL; foreach (Event::extract_names($selector) as $name) { $e = Event::factory($name, FALSE); if ($e) { $e->stop_propagation = FALSE; $e->return_value = $retval; $e->debug = !!Config::get('debug.event:' . $name); call_user_func_array(array($e, $method), $params); $retval = $e->return_value; if ($e->stop_propagation) { if ($retval === NULL) { $retval = FALSE; } break; } $e->debug = FALSE; } } return $retval; }