As a rule of thumb, only 1 hook can be registered for an event, while more than 1 filter is allowed for an event hook and filter both cannot be applied on an event
Author: abhinavsingh
Example #1
0
File: jaxl.php Project: jaxl/JAXL
 public function handle_other($event, $args)
 {
     $stanza = isset($args[0]) ? $args[0] : null;
     $stanza = new XMPPStanza($stanza);
     $ev = 'on_' . $stanza->name . '_stanza';
     if ($this->ev->exists($ev)) {
         return $this->ev->emit($ev, array($stanza));
     } else {
         JAXLLogger::warning("event '" . $event . "' catched in handle_other with stanza name " . $stanza->name);
     }
 }
Example #2
0
 public function test_jaxl_event()
 {
     $ev = new JAXLEvent();
     $ref1 = $ev->add('on_connect', 'some_func', 0);
     $ref2 = $ev->add('on_connect', 'some_func1', 0);
     $ref3 = $ev->add('on_connect', 'some_func2', 1);
     $ref4 = $ev->add('on_connect', 'some_func3', 4);
     $ref5 = $ev->add('on_disconnect', 'some_func', 1);
     $ref6 = $ev->add('on_disconnect', 'some_func1', 1);
     //$ev->emit('on_connect', null);
     $registry = $ev->getRegistry();
     $this->assertEquals(2, count($registry));
     $this->assertEquals(4, count($registry['on_connect']));
     $this->assertEquals(2, count($registry['on_disconnect']));
     $ev->del($ref2);
     $ev->del($ref1);
     $ev->del($ref6);
     $ev->del($ref5);
     $ev->del($ref4);
     $ev->del($ref3);
 }
 function test_jaxl_event()
 {
     $ev = new JAXLEvent();
     $ref1 = $ev->add('on_connect', 'some_func', 0);
     $ref2 = $ev->add('on_connect', 'some_func1', 0);
     $ref3 = $ev->add('on_connect', 'some_func2', 1);
     $ref4 = $ev->add('on_connect', 'some_func3', 4);
     $ref5 = $ev->add('on_disconnect', 'some_func', 1);
     $ref6 = $ev->add('on_disconnect', 'some_func1', 1);
     //$ev->emit('on_connect', null);
     $ev->del($ref2);
     $ev->del($ref1);
     $ev->del($ref6);
     $ev->del($ref5);
     $ev->del($ref4);
     $ev->del($ref3);
     //print_r($ev->reg);
 }