Add a method to check for registered event handlers
This commit is contained in:
parent
4c61f98cd0
commit
fc6154fe4d
|
@ -110,4 +110,32 @@ class Event {
|
|||
}
|
||||
return ($result !== false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if an event handler exists
|
||||
*
|
||||
* Look to see if there's any handler for a given event, or narrow
|
||||
* by providing the name of a specific plugin class.
|
||||
*
|
||||
* @param string $name Name of the event to look for
|
||||
* @param string $plugin Optional name of the plugin class to look for
|
||||
*
|
||||
* @return boolean flag saying whether such a handler exists
|
||||
*
|
||||
*/
|
||||
|
||||
public static function hasHandler($name, $plugin=null) {
|
||||
if (array_key_exists($name, Event::$_handlers)) {
|
||||
if (isset($plugin)) {
|
||||
foreach (Event::$_handlers[$name] as $handler) {
|
||||
if (get_class($handler[0]) == $plugin) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user