Exemplo n.º 1
0
 private function handleStanza(Stanza $stanza)
 {
     if (!in_array($name = $stanza->name(), array('stream:error', 'handshake'))) {
         $this->log("got <{$name}> from {$stanza->from()} to {$stanza->to()}", PHP_COMPONENT_MESSAGE_INFO, true);
     }
     if (!is_callable(@$this->handlers[$stanza->name()])) {
         if ($stanza->name() == 'iq') {
             return $this->handleIQ($stanza);
         }
         $this->log('no handler for stanza: ' . $stanza->name(), PHP_COMPONENT_MESSAGE_WARNING, true);
     } else {
         if (!is_null($this->file_handler) && $stanza->name() == 'message' && $stanza->tag()->hasChild('data')) {
             return $this->handleFileChunk($stanza);
         }
         return call_user_func($this->handlers[$stanza->name()], $stanza);
     }
 }