예제 #1
0
 /**
  * Invoke a trigger
  *
  * @param string $module The module for which the trigger is active
  * @param string $identifier The trigger identifier
  * @param array $params Parameters to pass to the registered listeners
  *
  * @return unknown_type
  */
 protected static function _trigger(TBGEvent $event, $return_when_processed = false)
 {
     $module = $event->getModule();
     $identifier = $event->getIdentifier();
     TBGLogging::log("Triggering {$module} - {$identifier}");
     if (isset(self::$_registeredlisteners[$module][$identifier])) {
         foreach (self::$_registeredlisteners[$module][$identifier] as $trigger) {
             try {
                 $cb_string = is_array($trigger) ? get_class($trigger[0]) . '::' . $trigger[1] : $trigger;
                 TBGLogging::log('Running callback function ' . $cb_string);
                 $retval = call_user_func($trigger, $event);
                 if ($return_when_processed && $event->isProcessed()) {
                     return true;
                 }
                 TBGLogging::log('done (Running callback function ' . $cb_string . ')');
             } catch (Exception $e) {
                 throw $e;
             }
         }
     }
     TBGLogging::log("done (Triggering {$module} - {$identifier})");
 }
예제 #2
0
 /**
  * @covers TBGEvent::getIdentifier
  * @depends testCreateNew
  */
 public function testGetIdentifier(TBGEvent $event)
 {
     $this->assertEquals('identifier', $event->getIdentifier());
 }