/** * return the list of all listener corresponding to an event * @param string $eventName the event name we wants the listeners for. * @return array of objects */ protected static function loadListenersFor($eventName) { if (!isset($GLOBALS['JELIX_EVENTS'])) { self::$compilerData[3] = jApp::config()->urlengine['urlScriptId'] . '.' . self::$compilerData[3]; jIncluder::incAll(self::$compilerData); } $inf =& $GLOBALS['JELIX_EVENTS']; self::$hashListened[$eventName] = array(); if (isset($inf[$eventName])) { $modules =& jApp::config()->_modulesPathList; foreach ($inf[$eventName] as $listener) { list($module, $listenerName) = $listener; if (!isset($modules[$module])) { // some modules could be unused continue; } if (!isset(self::$listenersSingleton[$module][$listenerName])) { require_once $modules[$module] . 'classes/' . $listenerName . '.listener.php'; $className = $listenerName . 'Listener'; self::$listenersSingleton[$module][$listenerName] = new $className(); } self::$hashListened[$eventName][] = self::$listenersSingleton[$module][$listenerName]; } } }
/** * return the list of all listener corresponding to an event * @param string $eventName the event name we wants the listeners for. * @return array of objects */ protected static function loadListenersFor($eventName) { if (!isset($GLOBALS['JELIX_EVENTS'])) { jIncluder::incAll(self::$compilerData); } $inf =& $GLOBALS['JELIX_EVENTS']; self::$hashListened[$eventName] = array(); if (isset($inf[$eventName])) { foreach ($inf[$eventName] as $listener) { list($module, $listenerName) = $listener; if (!isset(self::$listenersSingleton[$module][$listenerName])) { require_once $GLOBALS['gJConfig']->_modulesPathList[$module] . 'classes/' . $listenerName . '.listener.php'; $className = $listenerName . 'Listener'; #if ENABLE_OLD_CLASS_NAMING if (!class_exists($className, false)) { $className = 'Listener' . $listenerName; } #endif self::$listenersSingleton[$module][$listenerName] = new $className(); } self::$hashListened[$eventName][] = self::$listenersSingleton[$module][$listenerName]; } } }