亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jabber.class

?? GForge 3.0 協作開發平臺 支持CVS, mailing lists, bug tracking, message boards/forums, task management, perman
?? CLASS
?? 第 1 頁 / 共 3 頁
字號:
<?php/***************************************************************************	Class.Jabber.PHP v0.1.3.1	(c) 2002 Carlo "Gossip" Zottmann	http://phpjabber.g-blog.net *** gossip@jabber.g-blog.net	The FULL documentation and examples for this software can be found at	http://phpjabber.g-blog.net (not many doc comments in here, sorry)		last modified: 2002-10-09 21:57:20	NOTE:	If you want to write addons or extensions, please follow the coding style	recommendations @ http://www.phpbuilder.net/columns/tim20010101.php3 ***************************************************************************//*************************************************************************** * * The Notice below must appear in each file of the Source Code of any copy * you distribute of the Licensed Product or any Modifications thereto. * Contributors to any Modifications may add their own copyright notices to * identify their own contributions. *  * License *  * The contents of this file are subject to the Jabber Open Source License * Version 1.0 (the "License").  You may not copy or use this file, in either * source code or executable form, except in compliance with the License.  You * may obtain a copy of the License at http://www.jabber.com/license/ or at * http://www.opensource.org/.   *  * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the License * for the specific language governing rights and limitations under the * License. *  * Copyrights *  * Portions created by or assigned to Jabber.com, Inc. are  * Copyright (c) 2000 Jabber.com, Inc.  All Rights Reserved.  Contact * information for Jabber.com, Inc. is available at http://www.jabber.com/. *  * Portions Copyright (c) 2002-present Carlo Zottmann, * http://phpjabber.g-blog.net *   * Other portions copyright their respective owners. *  * Acknowledgements *  * Special thanks to the Jabber Open Source Contributors for their * suggestions and support of Jabber. *  ***************************************************************************//*	Jabber::Connect() 	Jabber::Disconnect() 	Jabber::SendAuth() 	Jabber::AccountRegistration($reg_email {string}, $reg_name {string}) 	Jabber::Listen() 	Jabber::SendPacket($xml {string}) 	Jabber::RosterUpdate() 	Jabber::RosterAddUser($jid {string}, $id {string}, $name {string}) 	Jabber::RosterRemoveUser($jid {string}, $id {string}) 	Jabber::Subscribe($jid {string}) 	Jabber::Unsubscribe($jid {string}) 	Jabber::CallHandler($message {array}) 	Jabber::CruiseControl([$seconds {number}]) 	Jabber::SubscriptionApproveRequest($to {string}) 	Jabber::SubscriptionDenyRequest($to {string}) 	Jabber::GetFirstFromQueue() 	Jabber::GetFromQueueById($packet_type {string}, $id {string}) 	Jabber::SendMessage($to {string}, $id {number}, $type {string}, $content {array}[, $payload {array}]) 	Jabber::SendIq($to {string}, $type {string}, $id {string}, $xmlns {string}[, $payload {string}])	Jabber::SendPresence($type {string}[, $to {string}[, $status {string}[, $show {string}[, $priority {number}]]]]) 	Jabber::SendError($to {string}, $id {string}, $error_number {number}[, $error_message {string}]) 	Jabber::GetInfoFromMessageFrom($message {array}) 	Jabber::GetInfoFromMessageType($message {array}) 	Jabber::GetInfoFromMessageId($message {array}) 	Jabber::GetInfoFromMessageThread($message {array}) 	Jabber::GetInfoFromMessageSubject($message {array}) 	Jabber::GetInfoFromMessageBody($message {array}) 	Jabber::GetInfoFromMessageError($message {array}) 	Jabber::GetInfoFromIqFrom($message {array}) 	Jabber::GetInfoFromIqType($message {array}) 	Jabber::GetInfoFromIqId($message {array}) 	Jabber::GetInfoFromIqKey($message {array}) 	Jabber::GetInfoFromPresenceFrom($message {array}) 	Jabber::GetInfoFromPresenceType($message {array}) 	Jabber::GetInfoFromPresenceStatus($message {array}) 	Jabber::GetInfoFromPresenceShow($message {array}) 	Jabber::GetInfoFromPresencePriority($message {array})	MakeXML::AddPacketDetails($string {string}[, $value {string/number}])	MakeXML::BuildPacket([$array {array}])*/class Jabber{	var $server;	var $port;	var $username;	var $password;	var $resource;	var $jid;	var $connection;	var $stream_id;	var $roster;	var $enable_logging;	var $logfile;	var $iq_sleep_timer;	var $packet_queue;	var $subscription_queue;		var $iq_version_name;	var $iq_version_os;	var $iq_version_version;	var $error_codes;		var $CONNECTOR;	function Jabber()	{		$this->server				= $GLOBALS['sys_jabber_server'];		$this->port					= $GLOBALS['sys_jabber_port'];		$this->username				= $GLOBALS['sys_jabber_user'];		$this->password				= $GLOBALS['sys_jabber_pass'];		$this->resource				= 'home';				$this->enable_logging		= FALSE;		$this->logfile				= array();		$this->packet_queue			= array();		$this->subscription_queue	= array();		$this->iq_sleep_timer		= 1;		$this->iq_version_name		= "Class.Jabber.PHP by Carlo 'Gossip' Zottmann, gossip@jabber.g-blog.net";		$this->iq_version_version	= "0.1.3";		$this->iq_version_os		= $_SERVER["SERVER_SOFTWARE"];		$this->connection_class		= "CJP_StandardConnector";		$this->error_codes			= array(400 => "Bad Request",											401 => "Unauthorized",											402 => "Payment Required",											403 => "Forbidden",											404 => "Not Found",											405 => "Not Allowed",											406 => "Not Acceptable",											407 => "Registration Required",											408 => "Request Timeout",											409 => "Conflict",											500 => "Internal Server Error",											501 => "Not Implemented",											502 => "Remove Server Error",											503 => "Service Unavailable",											504 => "Remove Server Timeout",											510 => "Disconnected");	}	function Connect()	{		$this->CONNECTOR = new $this->connection_class;		$this->connection = $this->CONNECTOR->OpenSocket($this->server, $this->port);		if ($this->connection) {	        socket_set_blocking($this->connection, 0);			socket_set_timeout($this->connection, 31536000);			$this->SendPacket("<?xml version='1.0' encoding='UTF-8' ?>\n");			$this->SendPacket("<stream:stream to='" . $this->server . "' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>\n");			sleep(2);			if ($this->_check_connected()) {				return TRUE;			} else {				if ($this->enable_logging) {					$this->logfile[] = "<strong>Error:</strong> Connect() #1";				}				return FALSE;			}		} else {			if ($this->enable_logging) {				$this->logfile[] = "<strong>Error:</strong> Connect() #2";			}			return FALSE;		}	}	function Disconnect()	{		$this->SendPacket("</stream:stream>");		$this->CONNECTOR->CloseSocket($this->connection);				if ($this->enable_logging) {			echo "<h2>logging enabled, logged events below:</h2>\n";			echo (count($this->logfile) > 0) ? implode("<br /><br />\n", $this->logfile) : "No logged events.";		}	}	function SendAuth()	{		// Currently, we only support plaintext authentication. This ain't		// perfect, but it works. I'll add <digest/> support later on...		if ($this->resource) {			$this->jid = $this->username . "@" . $this->server . "/" . $this->resource;		} else {			$this->jid = $this->username . "@" . $this->server;		}		$auth_id = "auth_" . time();		$payload = "<username>" . $this->username . "</username>					<password>" . $this->password . "</password>					<resource>" . $this->resource . "</resource>";		$packet = $this->SendIq(NULL, "set", $auth_id, "jabber:iq:auth", $payload);		if ($this->GetInfoFromIqType($packet) == "result" && $this->GetInfoFromIqId($packet) == $auth_id) {			return TRUE;		} else {			if ($this->enable_logging) {				$this->logfile[] = "<strong>Error:</strong> SendAuth() #1";			}			return FALSE;		}	}	function AccountRegistration($reg_email = NULL, $reg_name = NULL)	{		$packet = $this->SendIq($this->server, "get", "reg_01", "jabber:iq:register");				if ($packet) {				$key = $this->GetInfoFromIqKey($packet);	// just in case a key was passed back from the server			unset($packet);					$payload = "<username>" . $this->username . "</username>						<password>" . $this->password . "</password>						<email>$reg_email</email>						<name>$reg_name</name>\n";			$payload .= ($key) ? "<key>$key</key>\n" : "";					$packet = $this->SendIq($this->server, "set", "reg_01", "jabber:iq:register", $payload);					if ($this->GetInfoFromIqType($packet) == "result") {							if (isset($packet["iq"]["#"]["query"][0]["#"]["registered"][0]["#"])) {					$return_code = 1;				} else {					$return_code = 2;				}						if ($this->resource) {					$this->jid = $this->username . "@" . $this->server . "/" . $this->resource;				} else {					$this->jid = $this->username . "@" . $this->server;				}			} elseif ($this->GetInfoFromIqType($packet) == "error") {						if (isset($packet["iq"]["#"]["error"][0]["#"])) {					$return_code = "Error " . $packet["iq"]["#"]["error"][0]["@"]["code"] . ": " . $packet["iq"]["#"]["error"][0]["#"];				}			}				return $return_code;			} else {					return 3;			}	}	function SendPacket($xml)	{		$xml = trim($xml);		if ($this->CONNECTOR->WriteToSocket($this->connection, $xml)) {			if ($this->enable_logging) {				$this->logfile[] = "<strong>SEND:</strong> " . nl2br(htmlspecialchars($xml));			}			return TRUE;		} else {			if ($this->enable_logging) {				$this->logfile[] = "<strong>Error:</strong> SendPacket() #1";			}			return FALSE;		}	}	function Listen()	{		unset($incoming);		while ($line = $this->CONNECTOR->ReadFromSocket($this->connection, 4096)) {			$incoming .= $line;		}				$incoming = trim($incoming);		if ($this->enable_logging && $incoming != "") {			$this->logfile[] = "<strong>RECV:</strong> " . nl2br(htmlspecialchars($incoming));		}		if ($incoming != "") {			$temp = $this->_split_incoming($incoming);			for ($a = 0; $a < count($temp); $a++) {				$this->packet_queue[] = $this->xmlize($temp[$a]);			}		}		return TRUE;	}	function StripJID($jid = NULL)	{		preg_match("/(.*)\/(.*)/Ui", $jid, $temp);		return ($temp[1] != "") ? $temp[1] : $jid;	}	function SendMessage($to, $type = "normal", $id = NULL, $content = NULL, $payload = NULL)	{		if ($to && is_array($content)) {					if (!$id) { $id = $type . "_" . time(); }			$content = $this->_array_htmlspecialchars($content);			$xml = "<message to='$to' type='$type' id='$id'>\n";			if ($content["thread"]) {				$xml .= "<thread>" . $content["thread"] . "</thread>\n";			}			if ($content['subject']) { 				$xml .= "<subject>" . $content['subject'] . "</subject>\n"; 			}						$xml .= "<body>" . $content["body"] . "</body>\n";			$xml .= $payload;			$xml .= "</message>\n";			if ($this->SendPacket($xml)) {				return TRUE;			} else {				if ($this->enable_logging) {					$this->logfile[] = "<strong>Error:</strong> SendMessage() #1";				}				return FALSE;			}		} else {					if ($this->enable_logging) {				$this->logfile[] = "<strong>Error:</strong> SendMessage() #2";			}			return FALSE;		}	}	function SendPresence($type = NULL, $to = NULL, $status = NULL, $show = NULL, $priority = NULL)	{		$xml = "<presence";		$xml .= ($to) ? " to='$to'" : "";		$xml .= ($type) ? " type='$type'" : "";		$xml .= ($status || $show || $priority) ? ">\n" : " />\n";		$xml .= ($status) ? "	<status>$status</status>\n" : "";		$xml .= ($show) ? "	<show>$show</show>\n" : "";		$xml .= ($priority) ? "	<priority>$priority</priority>\n" : "";		$xml .= ($status || $show || $priority) ? "</presence>\n" : "";		if ($this->SendPacket($xml)) {			return TRUE;		} else {			if ($this->enable_logging) {				$this->logfile[] = "<strong>Error:</strong> SendPresence() #1";			}			return FALSE;		}	}	function SendError($to, $id = NULL, $error_number, $error_message = NULL)	{		$xml = "<iq type='error' to='$to'";		$xml .= ($id) ? " id='$id'" : "";		$xml .= ">\n";		$xml .= "	<error code='$error_number'>";		$xml .= ($error_message) ? $error_message : $this->error_codes[$error_number];		$xml .= "</error>\n";		$xml .= "</iq>";		$this->SendPacket($xml);	}	function RosterUpdate()	{		$roster_request_id = "roster_" . time();		$incoming_array = $this->SendIq(NULL, "get", $roster_request_id, "jabber:iq:roster");		if (is_array($incoming_array)) {						if ($incoming_array["iq"]["@"]["type"] == "result"				&& $incoming_array["iq"]["@"]["id"] == $roster_request_id				&& $incoming_array["iq"]["#"]["query"]["0"]["@"]["xmlns"] == "jabber:iq:roster")			{				$number_of_contacts = count($incoming_array["iq"]["#"]["query"][0]["#"]["item"]);				$this->roster = array();				for ($a = 0; $a < $number_of_contacts; $a++) {					$this->roster[$a] = array(	"jid"			=> $incoming_array["iq"]["#"]["query"][0]["#"]["item"][$a]["@"]["jid"],												"name"			=> $incoming_array["iq"]["#"]["query"][0]["#"]["item"][$a]["@"]["name"],												"subscription"	=> $incoming_array["iq"]["#"]["query"][0]["#"]["item"][$a]["@"]["subscription"],												"group"			=> $incoming_array["iq"]["#"]["query"][0]["#"]["item"][$a]["#"]["group"][0]["#"]											);				}				return TRUE;			} else {				if ($this->enable_logging) {					$this->logfile[] = "<strong>Error:</strong> RosterUpdate() #1";				}				return FALSE;			}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类在线视频| 97久久久精品综合88久久| 麻豆精品一区二区三区| 成人午夜精品在线| 欧美剧在线免费观看网站| 久久久无码精品亚洲日韩按摩| 亚洲免费观看视频| 国产成人精品aa毛片| 欧美精品v国产精品v日韩精品| 国产精品丝袜黑色高跟| 日韩成人精品在线观看| 91视频xxxx| 欧美韩国日本不卡| 美女www一区二区| 欧美日韩激情一区| 亚洲视频 欧洲视频| 国产经典欧美精品| 日韩欧美国产三级| 亚洲va欧美va国产va天堂影院| 99久久精品国产一区二区三区| 欧美va日韩va| 久久国产精品一区二区| 欧美日韩久久不卡| 午夜精品福利久久久| 色偷偷久久人人79超碰人人澡 | 国产日产精品1区| 美女国产一区二区| 欧美一级欧美三级在线观看| 一区二区日韩av| 日本乱码高清不卡字幕| 136国产福利精品导航| 国产91丝袜在线18| 欧美经典一区二区| 国产成人超碰人人澡人人澡| 亚洲欧美激情在线| 国产精品的网站| 国产经典欧美精品| 国产人伦精品一区二区| 国产一区福利在线| 久久久国产午夜精品| 国模无码大尺度一区二区三区| 欧美一卡2卡3卡4卡| 蜜臀久久99精品久久久久久9| 欧美一区二区三区免费| 免费观看30秒视频久久| 精品三级在线看| 国产99久久精品| 日韩美女啊v在线免费观看| 色综合色综合色综合色综合色综合| 亚洲婷婷综合色高清在线| 99久久久国产精品| 亚洲国产中文字幕| 日韩精品一区二区三区在线播放| 国产在线一区二区| 一区精品在线播放| 欧美三级中文字幕在线观看| 色综合亚洲欧洲| 一区二区三区美女| 在线观看一区二区视频| 午夜欧美电影在线观看| 正在播放亚洲一区| 国产精品一区二区免费不卡 | 精品国产91乱码一区二区三区| 国产又黄又大久久| 亚洲欧美一区二区久久| 欧美区在线观看| 国产自产高清不卡| 亚洲另类在线视频| 26uuu亚洲综合色欧美| av电影在线观看一区| 亚洲成人资源在线| 久久久久久久久久久久久久久99 | 欧美日韩激情一区二区三区| 蜜芽一区二区三区| 国产精品久久久久久久久动漫| proumb性欧美在线观看| 五月婷婷久久丁香| 欧美国产视频在线| 欧美日韩电影在线| www.一区二区| 久久激情综合网| 亚洲午夜成aⅴ人片| 国产亚洲精品精华液| 欧美日韩在线播放三区| 粉嫩aⅴ一区二区三区四区五区| 婷婷亚洲久悠悠色悠在线播放| 国产精品沙发午睡系列990531| 制服丝袜亚洲精品中文字幕| 99精品视频在线播放观看| 蜜臀国产一区二区三区在线播放| 亚洲精品视频在线看| 久久久久久久综合色一本| 欧美日韩国产一区二区三区地区| 成人涩涩免费视频| 久久精品国产**网站演员| 亚洲中国最大av网站| 国产精品理伦片| 亚洲最新视频在线观看| 欧美影院一区二区| 成人午夜伦理影院| 精品夜夜嗨av一区二区三区| 一区二区视频在线| 国产精品理论在线观看| 久久久精品黄色| 精品国产免费人成电影在线观看四季| 在线观看日韩国产| 色偷偷一区二区三区| yourporn久久国产精品| 成人晚上爱看视频| 成人h动漫精品一区二区| 国产精品白丝jk黑袜喷水| 麻豆精品久久久| 蜜乳av一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲一区二区三区四区在线观看 | 国产精品456| 国产一区不卡在线| 国产一区二区美女| 国产乱码一区二区三区| 激情图片小说一区| 日本最新不卡在线| 国产区在线观看成人精品| 欧美mv日韩mv亚洲| 欧美精品一区二区三区高清aⅴ| 555夜色666亚洲国产免| 欧美一区二区免费观在线| 欧美日韩一区在线| 日韩一区二区三区观看| 欧美精品一二三| 欧美大片在线观看| 国产午夜亚洲精品理论片色戒 | 国产精品久久久久久久久果冻传媒| 久久久久久久久久久久久女国产乱 | 日本中文字幕一区二区视频| 日本不卡中文字幕| 国产一区美女在线| 99视频精品在线| 欧洲一区二区三区在线| 91精品国产高清一区二区三区 | 国产精品人妖ts系列视频| 中文字幕在线不卡一区| 亚洲国产一区视频| 免费久久精品视频| 国产精品一区免费视频| 91丝袜国产在线播放| 欧美精品欧美精品系列| 久久综合999| 一区二区三区四区中文字幕| 日本一区中文字幕| 成人一区在线看| 欧美日韩亚洲不卡| 国产三级欧美三级| av成人动漫在线观看| 韩国理伦片一区二区三区在线播放| 国模少妇一区二区三区| 不卡的av在线| 欧美一级夜夜爽| 中文av一区二区| 日产国产高清一区二区三区| 国产69精品久久777的优势| 欧美色网站导航| 国产偷国产偷精品高清尤物 | 欧美综合天天夜夜久久| 日韩欧美一区二区在线视频| 国产网站一区二区三区| 亚洲r级在线视频| 成人午夜av电影| 欧美精品一二三四| 亚洲欧洲精品天堂一级| 美女视频网站黄色亚洲| 色综合婷婷久久| 久久久国产精华| 日韩中文字幕区一区有砖一区 | 视频在线观看一区二区三区| 亚洲成人一区二区| 成人久久久精品乱码一区二区三区| 欧美色图第一页| 亚洲欧美另类小说| 粉嫩av亚洲一区二区图片| 欧美一卡2卡三卡4卡5免费| 亚洲精品五月天| av中文字幕在线不卡| 精品国产伦一区二区三区观看方式| 亚洲尤物视频在线| yourporn久久国产精品| 久久精品夜色噜噜亚洲a∨| 日韩av电影天堂| 欧美美女网站色| 亚洲影院免费观看| 91久久精品一区二区| 亚洲天堂av老司机| 99精品国产一区二区三区不卡| 久久―日本道色综合久久| 久久99精品国产麻豆不卡| 这里是久久伊人| 日本免费在线视频不卡一不卡二| 欧美日韩免费在线视频| 亚洲一二三四区| 欧美日韩三级在线| 香蕉加勒比综合久久|