/** * Trigger an event or array of events * * @param string|array $eventName * @param array $data (optional) Array of data to pass along to the event handler * @return array * */ public static function trigger(&$HandlerObject, $eventName, $data = array()) { $_this = EventCore::getInstance(); if (!is_array($eventName)) { $eventName = array($eventName); } $eventNames = Set::filter($eventName); $return = array(); foreach ($eventNames as $eventName) { $eventData = EventCore::_parseEventName($eventName); $return[$eventData['event']] = EventCore::_dispatchEvent($HandlerObject, $eventData['scope'], $eventData['event'], $data); } return $return; }