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

📄 utilities.class.php

📁 Ajax最流行书籍
💻 PHP
字号:
<?php/** * XOAD Utilities file. * * <p>This file defines the {@link XOAD_Utilities} Class.</p> * * @author	Stanimir Angeloff * * @package	XOAD * * @version	0.6.0.0 * *//** * XOAD Utilities Class. * * <p>This class defines extended functions that * the XOAD package uses and overrides some * deprecated functions, like gettype(...).</p> * * @author		Stanimir Angeloff * * @package		XOAD * * @version		0.6.0.0 * */class XOAD_Utilities extends XOAD_Observable{	/**	 * Checks if an array is an associative array.	 *	 * @access	public	 *	 * @param	mixed	$var	The array to check.	 *	 * @return	bool	true if {@link $var} is an associative array, false	 *					if {@link $var} is a sequential array.	 *	 * @static	 *	 */	function isAssocArray($var)	{		// This code is based on mike-php's		// comment in is_array function documentation.		//		// http://bg.php.net/is_array		//		// Thank you.		//		if ( ! is_array($var)) {			return false;		}		$arrayKeys = array_keys($var);		$sequentialKeys = range(0, sizeof($var));		if (function_exists('array_diff_assoc')) {			if (array_diff_assoc($arrayKeys, $sequentialKeys)) {				return true;			}		} else {			if (			(array_diff($arrayKeys, $sequentialKeys)) &&			(array_diff($sequentialKeys, $arrayKeys))) {				return true;			}		}		return false;	}	/**	 * Gets the type of a variable.	 *	 * @access	public	 *	 * @param	mixed	$var	The source variable.	 *	 * @return	string	Possibles values for the returned string are:	 *					- "bool"	 *					- "int"	 *					- "float"	 *					- "string"	 *					- "s_array"	 *					- "a_array"	 *					- "object"	 *					- "null"	 *					- "unknown"	 *	 * @static	 *	 */	function getType($var)	{		if (is_bool($var)) {			return 'bool';		} else if (is_int($var)) {			return 'int';		} else if (is_float($var)) {			return 'float';		} else if (is_string($var)) {			return 'string';		} else if (is_array($var)) {			if (XOAD_Utilities::isAssocArray($var)) {				return 'a_array';			} else {				return 's_array';			}		} else if (is_object($var)) {			return 'object';		} else if (is_null($var)) {			return 'null';		}		return 'unknown';	}	/**	 * Return current UNIX timestamp with microseconds.	 *	 * @access	public	 *	 * @return	float	Returns the float 'sec,msec' where 'sec' is the	 *					current time measured in the number of seconds since	 *					the Unix Epoch (0:00:00 January 1, 1970 GMT), and	 *					'msec' is the microseconds part.	 *	 * @static	 *	 */	function getMicroTime()	{		list($microTime, $time) = explode(" ", microtime());		return ((float) $microTime + (float) $time);	}	/**	 * Returns the URL for the current request (includings	 * the query string).	 *	 * @access	public	 *	 * @return	string	Current request URL.	 *	 * @static	 *	 */	function getRequestUrl()	{		$url = $_SERVER['PHP_SELF'];		if ( ! empty($_SERVER['QUERY_STRING'])) {			$url .= '?' . $_SERVER['QUERY_STRING'];		}		return $url;	}	/**	 * Registers XOAD client header files.	 *	 * @access	public	 *	 * @param	string	$base		Base XOAD folder.	 *	 * @param	bool	$optimized	true to include optimized headers, false otherwise.	 *	 * @return	string	HTML code to include XOAD client files.	 *	 * @static	 *	 */	function header($base = '.', $optimized = true)	{		$returnValue = '<script type="text/javascript" src="' . $base . '/js/';		$returnValue .= 'xoad';		if ($optimized) {			$returnValue .= '_optimized';		}		$returnValue .= '.js"></script>';		if (array_key_exists('_XOAD_CUSTOM_HEADERS', $GLOBALS)) {			foreach ($GLOBALS['_XOAD_CUSTOM_HEADERS'] as $fileName) {				$returnValue .= '<script type="text/javascript" src="' . $base . ($optimized ? $fileName[1] : $fileName[0]) . '"></script>';			}		}		if (array_key_exists('_XOAD_EXTENSION_HEADERS', $GLOBALS)) {			foreach ($GLOBALS['_XOAD_EXTENSION_HEADERS'] as $extension => $files) {				$extensionBase = $base . '/extensions/' . $extension . '/';				foreach ($files as $fileName) {					$returnValue .= '<script type="text/javascript" src="' . $extensionBase . ($optimized ? $fileName[1] : $fileName[0]) . '"></script>';				}			}		}		return $returnValue;	}	/**	 * Registers XOAD Events header data.	 *	 * <p>You should call this method after {@link XOAD_Utilities::header}.</p>	 * <p>XOAD Events header data includes server time and callback URL.</p>	 *	 * @access	public	 *	 * @param	string	$callbackUrl	XOAD Events callback URL.	 *	 * @return	string	HTML code to initialize XOAD Events.	 *	 * @static	 *	 */	function eventsHeader($callbackUrl = null)	{		if ($callbackUrl == null) {			$callbackUrl = XOAD_Utilities::getRequestUrl();		}		$returnValue = '<script type="text/javascript">';		$returnValue .= 'xoad.events.callbackUrl = ' . XOAD_Client::register($callbackUrl) . ';';		$returnValue .= 'xoad.events.lastRefresh = ' . XOAD_Client::register(XOAD_Utilities::getMicroTime()) . ';';		$returnValue .= '</script>';		return $returnValue;	}	/**	 * Registers XOAD extension client header file.	 *	 * @access	public	 *	 * @param	string	$extension			The name of the XOAD extension.	 *	 * @param	string	$fileName			The extension JavaScript file name.	 *										This file must be located in the	 *										extension base folder.	 *	 * @param	string	$optimizedFileName	The optimized extension JavaScript file name.	 *										This file must be located in the	 *										extension base folder.	 *	 *	 * @return	bool	true on success, false otherwise.	 *	 * @static	 *	 */	function extensionHeader($extension, $fileName, $optimizedFileName = null)	{		if ( ! array_key_exists('_XOAD_EXTENSION_HEADERS', $GLOBALS)) {			$GLOBALS['_XOAD_EXTENSION_HEADERS'] = array();		}		if ( ! array_key_exists('_XOAD_HEADERS', $GLOBALS)) {			$GLOBALS['_XOAD_HEADERS'] = array();		}		$extension = strtolower($extension);		if ( ! array_key_exists($extension, $GLOBALS['_XOAD_EXTENSION_HEADERS'])) {			$GLOBALS['_XOAD_EXTENSION_HEADERS'][$extension] = array();		}		if (empty($optimizedFileName)) {			$optimizedFileName = $fileName;		}		if (		(in_array($fileName, $GLOBALS['_XOAD_HEADERS'])) &&		(in_array($optimizedFileName, $GLOBALS['_XOAD_HEADERS']))) {			return false;		}		$GLOBALS['_XOAD_EXTENSION_HEADERS'][$extension][] = array($fileName, $optimizedFileName);		$GLOBALS['_XOAD_HEADERS'][] = $fileName;		$GLOBALS['_XOAD_HEADERS'][] = $optimizedFileName;		return true;	}	/**	 * Registers custom client header file.	 *	 * @access	public	 *	 * @param	string	$fileName			The JavaScript file name.	 *										This file must be located in the	 *										base folder.	 *	 * @param	string	$optimizedFileName	The optimized JavaScript file name.	 *										This file must be located in the	 *										base folder.	 *	 *	 * @return	bool	true on success, false otherwise.	 *	 * @static	 *	 */	function customHeader($fileName, $optimizedFileName = null)	{		if ( ! array_key_exists('_XOAD_CUSTOM_HEADERS', $GLOBALS)) {			$GLOBALS['_XOAD_CUSTOM_HEADERS'] = array();		}		if ( ! array_key_exists('_XOAD_HEADERS', $GLOBALS)) {			$GLOBALS['_XOAD_HEADERS'] = array();		}		if (empty($optimizedFileName)) {			$optimizedFileName = $fileName;		}		if (		(in_array($fileName, $GLOBALS['_XOAD_HEADERS'])) &&		(in_array($optimizedFileName, $GLOBALS['_XOAD_HEADERS']))) {			return false;		}		$GLOBALS['_XOAD_CUSTOM_HEADERS'][] = array($fileName, $optimizedFileName);		$GLOBALS['_XOAD_HEADERS'][] = $fileName;		$GLOBALS['_XOAD_HEADERS'][] = $optimizedFileName;		return true;	}	/**	 * Returns the input string with all alphabetic characters	 * converted to lower or upper case depending on the configuration.	 *	 * @param	string	$text	The text to convert to lower/upper case.	 *	 * @return	string	The converted text.	 *	 * @static	 *	 */	function caseConvert($text)	{		return strtolower($text);	}	/**	 * Adds a {@link XOAD_Utilities} events observer.	 *	 * @access	public	 *	 * @param	mixed	$observer	The observer object to add (must extend {@link XOAD_Observer}).	 *	 * @return	string	true on success, false otherwise.	 *	 * @static	 *	 */	function addObserver(&$observer)	{		return parent::addObserver($observer, 'XOAD_Utilities');	}	/**	 *	 * @access	public	 *	 * @return	bool	 *	 */	function notifyObservers($event = 'default', $arg = null)	{		return parent::notifyObservers($event, $arg, 'XOAD_Utilities');	}}?>

⌨️ 快捷键说明

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