Ejemplo n.º 1
0
 /**
  * Trigger an event
  *
  * @param Kokx_Event $event
  *
  * @return void
  */
 public function trigger(Kokx_Event $event)
 {
     if (!empty($this->_listeners[$event->getName()])) {
         foreach ($this->_listeners[$event->getName()] as $listener) {
             call_user_func($listener, $event);
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Process an event
  *
  * @param Kokx_Event $event
  *
  * @return void
  */
 protected function _processEvent(Kokx_Event $event)
 {
     switch ($event->getName()) {
         case 'ping':
             // send a pong back
             $this->sendRaw('PONG :' . $event['message']);
             break;
         case 'ctcp_version':
             if (isset($this->_config['version'])) {
                 $version = $this->_config['version'];
             } else {
                 $version = 'Kokx_Irc_Client';
             }
             $this->send('VERSION ' . $version, $event['nick'], self::TYPE_CTCP_REPLY);
             break;
         default:
             // for all other events, we use the dispatcher
             $this->getDispatcher()->trigger($event);
             break;
     }
 }