コード例 #1
0
ファイル: jaxl.0199.php プロジェクト: ngsru/JAXL
 public static function ping($jaxl, $to, $from, $callback)
 {
     if ($jaxl->auth) {
         $payload = "<ping xmlns='urn:xmpp:ping'/>";
         return XMPPSend::iq($jaxl, 'get', $payload, $to, $from, $callback);
     }
 }
コード例 #2
0
ファイル: jaxl.0055.php プロジェクト: pavl00/Kalkun
 public static function submitSearchRequest($jaxl, $field, $callback)
 {
     $payload = '<query xmlns="' . self::$ns . '">';
     $payload .= $field;
     $payload .= '</query>';
     return XMPPSend::iq($jaxl, 'set', false, false, $callback);
 }
コード例 #3
0
ファイル: jaxl.0049.php プロジェクト: ngsru/JAXL
 public static function getXML($jaxl, $xml, $callback)
 {
     $payload = '<query xmlns="' . self::$ns . '">';
     $payload .= $xml;
     $payload .= '</query>';
     return XMPPSend::iq($jaxl, 'get', $payload, false, false, $callback);
 }
コード例 #4
0
ファイル: jaxl.0077.php プロジェクト: ngsru/JAXL
 public static function register($jaxl, $from, $to, $callback, $fields)
 {
     $payload = '<query xmlns="' . self::$ns . '">';
     foreach ($fields as $field => $value) {
         $payload .= '<' . $field . '>' . $value . '</' . $field . '>';
     }
     $payload .= '</query>';
     return XMPPSend::iq($jaxl, 'set', $payload, $to, $from, $callback);
 }
コード例 #5
0
ファイル: jaxl.0202.php プロジェクト: rahijain/JAXL
 public static function handleIq($payload, $jaxl)
 {
     if ($payload['time'] == self::$ns) {
         $entityTime = '<time xmlns="' . self::$ns . '">';
         $entityTime .= '<tzo>' . date('P') . '</tzo>';
         $entityTime .= '<utc>' . date('Y-m-d') . 'T' . date('H:i:s') . 'Z</utc>';
         $entityTime .= '</time>';
         return XMPPSend::iq('result', $entityTime, $payload['from'], $payload['to'], false, $jaxl);
     }
 }
コード例 #6
0
ファイル: jaxl.0012.php プロジェクト: ngsru/JAXL
 public static function getIq($arr)
 {
     if (isset($arr['queryXmlns']) && $arr['queryXmlns'] == self::$ns) {
         $payload = '';
         $payload .= '<query xmlns="' . self::$ns . '" seconds="0">';
         $payload .= '</query>';
         return XMPPSend::iq('result', $payload, $arr['from'], $arr['to'], FALSE, $arr['id']);
     } else {
         return $arr;
     }
 }
コード例 #7
0
ファイル: jaxl.0199.php プロジェクト: rahijain/JAXL
 public static function ping($to, $from, $callback, $jaxl)
 {
     $payload = "<ping xmlns='urn:xmpp:ping'/>";
     return XMPPSend::iq('get', $payload, $to, $from, $callback, $jaxl);
 }
コード例 #8
0
ファイル: jaxl.0047.php プロジェクト: ngsru/JAXL
 public static function transferFile($payload, $jaxl)
 {
     if (!isset(self::$id[$payload['id']])) {
         return $payload;
     }
     // iq id buffered for file transfer, transmit data
     $fp = fopen(self::$id[$payload['id']]['file'], 'r');
     fseek($fp, self::$id[$payload['id']]['seq'] * self::$id[$payload['id']]['block-size']);
     $data = fread($fp, self::$id[$payload['id']]['block-size']);
     fclose($fp);
     if (self::$id[$payload['id']]['seq'] == -1) {
         $jaxl->log("[[JAXL0047]] File transfer complete for siId " . self::$id[$payload['id']]['siId']);
         $jaxl->executePlugin('jaxl_post_file_transfer', self::$id[$payload['id']]);
         unset(self::$id[$payload['id']]);
         return;
     } else {
         if (strlen($data) == 0) {
             $jaxl->log("[[JAXL0047]] File transfer closed for siId " . self::$id[$payload['id']]['siId']);
             $xml = '<close xmlns="' . self::$ns . '" sid="' . self::$id[$payload['id']]['siId'] . '"/>';
             $id = XMPPSend::iq($jaxl, 'set', $xml, self::$id[$payload['id']]['to'], false, array('JAXL0047', 'transferFile'));
             self::$id[$id] = self::$id[$payload['id']];
             self::$id[$id]['seq'] = -1;
             unset(self::$id[$payload['id']]);
             return $id;
         } else {
             $jaxl->log("[[JAXL0047]] Transfering file data for seq " . self::$id[$payload['id']]['seq'] . " for siId " . self::$id[$payload['id']]['siId']);
             $xml = '<data xmlns="' . self::$ns . '" seq="' . self::$id[$payload['id']]['seq'] . '" sid="' . self::$id[$payload['id']]['siId'] . '">';
             $xml .= base64_encode($data);
             $xml .= '</data>';
             $id = XMPPSend::iq($jaxl, 'set', $xml, self::$id[$payload['id']]['to'], false, array('JAXL0047', 'transferFile'));
             self::$id[$id] = self::$id[$payload['id']];
             self::$id[$id]['seq'] = self::$id[$id]['seq'] + 1;
             unset(self::$id[$payload['id']]);
             return $id;
         }
     }
 }
コード例 #9
0
ファイル: jaxl.0133.php プロジェクト: rahijain/JAXL
 protected static function submitForm($to, $from, $payload, $node, $sid, $jaxl)
 {
     $payload = '<command xmlns="http://jabber.org/protocol/commands" node="' . $node . '" sessionid="' . $sid . '">' . $payload . '</command>';
     return XMPPSend::iq('set', $payload, $to, $from, array('JAXL0133', 'handleForm'), $jaxl);
 }
コード例 #10
0
ファイル: jaxl.0060.php プロジェクト: pavl00/Kalkun
 public static function updateAffiliation($jaxl, $to, $from, $node, $jid, $affiliation)
 {
     if (!is_array($jid) && !is_array($affiliation)) {
         $jid[] = $jid;
         $affiliation[] = $affiliation;
     }
     $payload = '';
     $payload .= '<pubsub xmlns="' . self::$ns . '">';
     $payload .= '<affiliations node="' . $node . '">';
     foreach ($jid as $k => $v) {
         $payload .= '<affiliation jid="' . $jid[$k] . '" affiliation="' . $affiliation[$k] . '"/>';
     }
     $payload .= '</affiliations>';
     $payload .= '</pubsub>';
     return XMPPSend::iq($jaxl, 'set', $payload, $to, $from, $callback);
 }
コード例 #11
0
ファイル: xmpp.class.php プロジェクト: rahijain/JAXL
 function startBind()
 {
     $payload = '';
     $payload .= '<bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">';
     $payload .= '<resource>' . $this->resource . '</resource>';
     $payload .= '</bind>';
     return XMPPSend::iq("set", $payload, false, false, array('XMPPGet', 'postBind'), $this);
 }
コード例 #12
0
ファイル: jaxl.0016.php プロジェクト: ngsru/JAXL
 public static function setDefaultList($jaxl, $list, $callback)
 {
     $payload = '<query xmlns="' . self::$ns . '">';
     if ($list) {
         $payload .= '<default name="' . $list . '"/>';
     } else {
         $payload .= '<default/>';
     }
     $payload .= '</query>';
     return XMPPSend::iq($jaxl, 'set', false, false, $callback);
 }
コード例 #13
0
ファイル: jaxl.0050.php プロジェクト: rahijain/JAXL
 public static function executeCommand($to, $from, $node, $callback, $jaxl)
 {
     $payload = '<command xmlns="' . self::$ns . '" node="' . $node . '" action="execute"/>';
     return XMPPSend::iq('set', $payload, $to, $from, $callback, $jaxl);
 }
コード例 #14
0
ファイル: jaxl.0095.php プロジェクト: ngsru/JAXL
 public static function accept($jaxl, $to, $id, $payload)
 {
     $payload = '<si xmlns="' . self::$ns . '">' . $payload . '</si>';
     return XMPPSend::iq($jaxl, 'result', $payload, $to, false, false, $id);
 }
コード例 #15
0
ファイル: jaxl.class.php プロジェクト: pavl00/Kalkun
 /**
  * Send an XMPP iq stanza
  *
  * @param string $type Type of iq stanza to send
  * @param string $payload (Optional) XML string to be transmitted
  * @param string $to (Optional) JID to whom this iq stanza should be send
  * @param string $from (Optional) JID from whom this presence stanza should originate
  * @param string|array $callback (Optional) Callback method which will handle "result" type stanza rcved
  * @param integer $id (Optional) Add an id attribute to transmitted stanza (auto-generated if not provided)
  */
 function sendIQ($type, $payload = false, $to = false, $from = false, $callback = false, $id = false)
 {
     return XMPPSend::iq($this, $type, $payload, $to, $from, $callback, $id);
 }
コード例 #16
0
ファイル: jaxl.0092.php プロジェクト: ZZB/JAXL
 public static function getVersion($jaxl, $fromJid, $toJid, $callback)
 {
     $payload = '<query xmlns="' . self::$ns . '">';
     return XMPPSend::iq($jaxl, 'get', $payload, $fromJid, $toJid, $callback);
 }
コード例 #17
0
ファイル: jaxl.0191.php プロジェクト: ngsru/JAXL
 public static function unblockAll($jaxl, $callback)
 {
     $payload = '<unblock xmlns="' . self::$ns . '"/>';
     return XMPPSend::iq($jaxl, 'set', $payload, false, false, $callback);
 }
コード例 #18
0
ファイル: jaxl.0045.php プロジェクト: pavl00/Kalkun
 public static function removeAdminPrivileges($jaxl, $fromJid, $toJid, $roomJid, $reason = false, $callback = false)
 {
     $payload = '<query xmlns="' . self::$ns . '#admin">';
     $payload .= '<item affiliation="member" jid="' . $toJid . '">';
     if ($reason) {
         $payload .= '<reason>' . $reason . '</reason>';
     }
     $payload .= '</item>';
     $payload .= '</query>';
     return XMPPSend::iq($jaxl, "set", $payload, $roomJid, $fromJid, $callback);
 }
コード例 #19
0
ファイル: jaxl.0065.php プロジェクト: ngsru/JAXL
 public static function activateS5B($streamHost, $sid, $tJid, $jaxl)
 {
     $xml = '<query xmlns="' . self::$ns . '" sid="' . $sid . '">';
     $xml .= '<activate>' . $tJid . '</activate>';
     $xml .= '</query>';
     return XMPPSend::iq($jaxl, 'set', $xml, $streamHost, false, array('JAXL0065', 'transferFile'));
 }
コード例 #20
0
ファイル: jaxl.0030.php プロジェクト: ZZB/JAXL
 public static function handleIq($payload, $jaxl)
 {
     if ($payload['queryXmlns'] == self::$ns['info']) {
         $xml = '<query xmlns="' . $payload['queryXmlns'] . '"';
         if (isset($payload['queryNode'])) {
             $xml .= ' node="' . $payload['queryNode'] . '"';
         }
         $xml .= '>';
         $xml .= '<identity xml:lang="' . $jaxl->lang . '"';
         $xml .= ' name="' . $jaxl->getName() . '"';
         $xml .= ' category="' . $jaxl->category . '"';
         $xml .= ' type="' . $jaxl->type . '"/>';
         foreach ($jaxl->features as $feature) {
             $xml .= '<feature var="' . $feature . '"/>';
         }
         $xml .= '</query>';
         XMPPSend::iq($jaxl, 'result', $xml, $payload['from'], $payload['to'], false, $payload['id']);
     } else {
         if ($payload['queryXmlns'] == self::$ns['items']) {
         }
     }
     return $payload;
 }
コード例 #21
0
ファイル: jaxl.0166.php プロジェクト: pavl00/Kalkun
 public static function sendInfoMessage($jaxl, $to, $payload, $sid, $initiator, $callback)
 {
     $xml = self::getJingleElement($payload, 'session-info', $sid, $initiator);
     return XMPPSend::iq($jaxl, 'set', $xml, $to, false, $callback);
 }
コード例 #22
0
ファイル: jaxl.0054.php プロジェクト: ZZB/JAXL
 public static function getVCard($jaxl, $to, $from, $callback)
 {
     $payload = '<vCard xmlns="' . self::$ns . '"/>';
     return XMPPSend::iq($jaxl, 'get', $payload, $to, $from, $callback);
 }
コード例 #23
0
ファイル: jaxl.class.php プロジェクト: rahijain/JAXL
 function deleteRoster($jid)
 {
     $payload = '<query xmlns="jabber:iq:roster">';
     $payload .= '<item jid="' . $jid . '" subscription="remove">';
     $payload .= '</item>';
     $payload .= '</query>';
     return XMPPSend::iq("set", $payload, false, $this->jid, false, $this);
 }