⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xajax.inc.php

📁 voip开源项目
💻 PHP
📖 第 1 页 / 共 3 页
字号:
<?php/** * xajax.inc.php :: Main xajax class and setup file * * xajax version 0.2.5 * copyright (c) 2005 by Jared White & J. Max Wilson * http://www.xajaxproject.org * * xajax is an open source PHP class library for easily creating powerful * PHP-driven, web-based Ajax Applications. Using xajax, you can asynchronously * call PHP functions and update the content of your your webpage without * reloading the page. * * xajax is released under the terms of the LGPL license * http://www.gnu.org/copyleft/lesser.html#SEC3 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *  * @package xajax * @version $Id$ * @copyright Copyright (c) 2005-2006  by Jared White & J. Max Wilson * @license http://www.gnu.org/copyleft/lesser.html#SEC3 LGPL License *//*   ----------------------------------------------------------------------------   | Online documentation for this class is available on the xajax wiki at:   |   | http://wiki.xajaxproject.org/Documentation:xajax.inc.php                 |   ----------------------------------------------------------------------------*//** * Define XAJAX_DEFAULT_CHAR_ENCODING that is used by both * the xajax and xajaxResponse classes */if (!defined ('XAJAX_DEFAULT_CHAR_ENCODING')){	define ('XAJAX_DEFAULT_CHAR_ENCODING', 'utf-8' );}require_once(dirname(__FILE__)."/xajaxResponse.inc.php");/** * Communication Method Defines */if (!defined ('XAJAX_GET')){	define ('XAJAX_GET', 0);}if (!defined ('XAJAX_POST')){	define ('XAJAX_POST', 1);}/** * The xajax class generates the xajax javascript for your page including the  * Javascript wrappers for the PHP functions that you want to call from your page. * It also handles processing and executing the command messages in the XML responses * sent back to your page from your PHP functions. *  * @package xajax */ class xajax{	/**#@+	 * @access protected	 */	/**	 * @var array Array of PHP functions that will be callable through javascript wrappers	 */	var $aFunctions;	/**	 * @var array Array of object callbacks that will allow Javascript to call PHP methods (key=function name)	 */	var $aObjects;	/**	 * @var array Array of RequestTypes to be used with each function (key=function name)	 */	var $aFunctionRequestTypes;	/**	 * @var array Array of Include Files for any external functions (key=function name)	 */	var $aFunctionIncludeFiles;	/**	 * @var string Name of the PHP function to call if no callable function was found	 */	var $sCatchAllFunction;	/**	 * @var string Name of the PHP function to call before any other function	 */	var $sPreFunction;	/**	 * @var string The URI for making requests to the xajax object	 */	var $sRequestURI;	/**	 * @var string The prefix to prepend to the javascript wraper function name	 */	var $sWrapperPrefix;	/**	 * @var boolean Show debug messages (default false)	 */	var $bDebug;	/**	 * @var boolean Show messages in the client browser's status bar (default false)	 */	var $bStatusMessages;		/**	 * @var boolean Allow xajax to exit after processing a request (default true)	 */	var $bExitAllowed;	/**	 * @var boolean Use wait cursor in browser (default true)	 */	var $bWaitCursor;	/**	 * @var boolean Use an special xajax error handler so the errors are sent to the browser properly (default false)	 */	var $bErrorHandler;	/**	 * @var string Specify what, if any, file xajax should log errors to (and more information in a future release)	 */	var $sLogFile;	/**	 * @var boolean Clean all output buffers before outputting response (default false)	 */	var $bCleanBuffer;	/**	 * @var string String containing the character encoding used	 */	var $sEncoding;	/**	 * @var boolean Decode input request args from UTF-8 (default false)	 */	var $bDecodeUTF8Input;	/**	 * @var boolean Convert special characters to HTML entities (default false)	 */	var $bOutputEntities;	/**	 * @var array Array for parsing complex objects	 */	var $aObjArray;	/**	 * @var integer Position in $aObjArray	 */	var $iPos;	/**	 * @var integer The number of milliseconds to wait before checking if xajax is loaded in the client, or 0 to disable (default 6000)	 */	var $iTimeout;		/**#@-*/		/**	 * Constructor. You can set some extra xajax options right away or use	 * individual methods later to set options.	 * 	 * @param string  defaults to the current browser URI	 * @param string  defaults to "xajax_";	 * @param string  defaults to XAJAX_DEFAULT_CHAR_ENCODING defined above	 * @param boolean defaults to false	 */	function xajax($sRequestURI="",$sWrapperPrefix="xajax_",$sEncoding=XAJAX_DEFAULT_CHAR_ENCODING,$bDebug=false)	{		$this->aFunctions = array();		$this->aObjects = array();		$this->aFunctionIncludeFiles = array();		$this->sRequestURI = $sRequestURI;		if ($this->sRequestURI == "")			$this->sRequestURI = $this->_detectURI();		$this->sWrapperPrefix = $sWrapperPrefix;		$this->bDebug = $bDebug;		$this->bStatusMessages = false;		$this->bWaitCursor = true;		$this->bExitAllowed = true;		$this->bErrorHandler = false;		$this->sLogFile = "";		$this->bCleanBuffer = false;		$this->setCharEncoding($sEncoding);		$this->bDecodeUTF8Input = false;		$this->bOutputEntities = false;		$this->iTimeout = 6000;	}		/**	 * Returns the current xajax version. 	 * 	 * @return string	 */	function getVersion()	{		return 'xajax 0.2.5';	}	/**	 * Sets multiple flags based on the supplied associative array (see	 * {@link xajax::setFlag()} for flag names)	 *	 * @param array	 */	function setFlags($flags)	{		foreach ($flags as $name => $value) {			$this->setFlag($name, $value);		}	}		/**	 * Sets a flag (boolean true or false). Available flags with their defaults	 * are as follows:	 *	 * <ul>	 * <li>debug: false</li>	 * <li>statusMessages: false</li>	 * <li>waitCursor: true</li>	 * <li>exitAllowed: true</li>	 * <li>errorHandler: false</li>	 * <li>cleanBuffer: false</li>	 * <li>decodeUTF8Input: false</li>	 * <li>outputEntities: false</li>	 * </ul>	 *	 * @param string name of flag	 * @param boolean	 */	function setFlag($name, $value)	{		$sVar = 'b' . ucfirst($name);		if (array_key_exists($sVar, get_object_vars($this))) {			$this->$sVar = (boolean)$value;		}		else {			trigger_error("The flag \"$name\" could not be found", E_USER_ERROR);		}	}		/**	 * Returns the value of the flag	 *	 * @return boolean	 */	function getFlag($name)	{		$sVar = 'b' . ucfirst($name);		if (array_key_exists($sVar, get_object_vars($this))) {			return $this->$sVar;		}		else {			return NULL;		}	}			/**	 * Sets the timeout before xajax notifies the client that xajax has not been loaded	 * <i>Usage:</i> <kbd>$xajax->setTimeout(6000);</kbd>	 *	 * @param integer the number of milliseconds, or 0 to disable	 */	function setTimeout($iTimeout)	{		$this->iTimeout = $iTimeout;	}		/**	 * Returns the xajax Javascript timeout	 *	 * @return integer the number of milliseconds (or 0 if disabled)	 */	function getTimeout()	{		return $this->iTimeout;	}			/**	 * Sets the URI to which requests will be made.	 * <i>Usage:</i> <kbd>$xajax->setRequestURI("http://www.xajaxproject.org");</kbd>	 * 	 * @param string the URI (can be absolute or relative) of the PHP script	 *               that will be accessed when an xajax request occurs	 */	function setRequestURI($sRequestURI)	{		$this->sRequestURI = $sRequestURI;	}	/**	 * Sets the prefix that will be appended to the Javascript wrapper	 * functions (default is "xajax_").	 * 	 * @param string	 */ 	// 	function setWrapperPrefix($sPrefix)	{		$this->sWrapperPrefix = $sPrefix;	}		/**	 * Enables debug messages for xajax.	 * */	function debugOn()	{		$this->bDebug = true;	}		/**	 * Disables debug messages for xajax (default behavior).	 */	function debugOff()	{		$this->bDebug = false;	}			/**	 * Enables messages in the browser's status bar for xajax.	 */	function statusMessagesOn()	{		$this->bStatusMessages = true;	}		/**	 * Disables messages in the browser's status bar for xajax (default behavior).	 */	function statusMessagesOff()	{		$this->bStatusMessages = false;	}		/**	 * Enables the wait cursor to be displayed in the browser (default behavior).	 */	function waitCursorOn()	{		$this->bWaitCursor = true;	}		/**	 * Disables the wait cursor to be displayed in the browser.	 */	function waitCursorOff()	{		$this->bWaitCursor = false;	}			/**	 * Enables xajax to exit immediately after processing a request and	 * sending the response back to the browser (default behavior).	 */	function exitAllowedOn()	{		$this->bExitAllowed = true;	}		/**	 * Disables xajax's default behavior of exiting immediately after	 * processing a request and sending the response back to the browser.	 */	function exitAllowedOff()	{		$this->bExitAllowed = false;	}		/**	 * Turns on xajax's error handling system so that PHP errors that occur	 * during a request are trapped and pushed to the browser in the form of	 * a Javascript alert.	 */	function errorHandlerOn()	{		$this->bErrorHandler = true;	}	/**	 * Turns off xajax's error handling system (default behavior).	 */	function errorHandlerOff()	{		$this->bErrorHandler = false;	}		/**	 * Specifies a log file that will be written to by xajax during a request	 * (used only by the error handling system at present). If you don't invoke	 * this method, or you pass in "", then no log file will be written to.	 * <i>Usage:</i> <kbd>$xajax->setLogFile("/xajax_logs/errors.log");</kbd>	 */	function setLogFile($sFilename)	{		$this->sLogFile = $sFilename;	}	/**	 * Causes xajax to clean out all output buffers before outputting a	 * response (default behavior).	 */	function cleanBufferOn()	{		$this->bCleanBuffer = true;	}	/**	 * Turns off xajax's output buffer cleaning.	 */	function cleanBufferOff()	{		$this->bCleanBuffer = false;	}		/**	 * Sets the character encoding for the HTTP output based on	 * <kbd>$sEncoding</kbd>, which is a string containing the character	 * encoding to use. You don't need to use this method normally, since the	 * character encoding for the response gets set automatically based on the	 * <kbd>XAJAX_DEFAULT_CHAR_ENCODING</kbd> constant.	 * <i>Usage:</i> <kbd>$xajax->setCharEncoding("utf-8");</kbd>	 *	 * @param string the encoding type to use (utf-8, iso-8859-1, etc.)	 */	function setCharEncoding($sEncoding)	{		$this->sEncoding = $sEncoding;	}	/**	 * Causes xajax to decode the input request args from UTF-8 to the current	 * encoding if possible. Either the iconv or mb_string extension must be	 * present for optimal functionality.	 */	function decodeUTF8InputOn()	{		$this->bDecodeUTF8Input = true;	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -