Ejemplo n.º 1
0
 /**
  * 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];
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * 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];
         }
     }
 }