/** * Handle jid. * * @param XMLEvent $event * @return void */ public function jid(XMLEvent $event) { /* @var $element \DOMDocument */ $element = $event->getParameter(0); $jid = $element->nodeValue; $this->getOptions()->setJid($jid); $this->blocking = false; }
/** * Handle iq event. * * @param XMLEvent $event * @retrun void */ public function iq(XMLEvent $event) { if ($event->isEndTag()) { /* @var $element \DOMElement */ $element = $event->getParameter(0); if ($this->getId() === $element->getAttribute('id')) { $this->blocking = false; } } }
/** * Handle session event. * * @param XMLEvent $event * @return void */ protected function respondeToFeatures(XMLEvent $event, $data) { if ($event->isEndTag()) { /* @var $element \DOMElement */ $element = $event->getParameter(0); // bind element occured in <features> if ('features' === $element->parentNode->localName) { $this->blocking = true; $this->getConnection()->send(sprintf($data, $this->getId())); } } }
/** * Result received. * * @param \Xmppbot\Core\Event\XMLEvent $event * @return void */ public function result(XMLEvent $event) { if ($event->isEndTag()) { $users = array(); /* @var $element \DOMElement */ $element = $event->getParameter(0); $items = $element->getElementsByTagName('item'); /* @var $item \DOMElement */ foreach ($items as $item) { $user = clone $this->getUserObject(); $user->setName($item->getAttribute('name'))->setJid($item->getAttribute('jid'))->setSubscription($item->getAttribute('subscription')); $groups = $item->getElementsByTagName('group'); foreach ($groups as $group) { $user->addGroup($group->nodeValue); } $users[] = $user; } $this->getOptions()->setUsers($users); $this->blocking = false; } }