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

📄 request.php

📁 国外免费开源的内容管理系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/** * @version		$Id: request.php 10094 2008-03-02 04:35:10Z instance $ * @package		Joomla.Framework * @subpackage	Environment * @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license		GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */// Check to ensure this file is within the rest of the frameworkdefined('JPATH_BASE') or die();/** * Create the request global object */$GLOBALS['_JREQUEST'] = array();/** * Set the available masks for cleaning variables */define( 'JREQUEST_NOTRIM'   , 1 );define( 'JREQUEST_ALLOWRAW' , 2 );define( 'JREQUEST_ALLOWHTML', 4 );/** * JRequest Class * * This class serves to provide the Joomla Framework with a common interface to access * request variables.  This includes $_POST, $_GET, and naturally $_REQUEST.  Variables * can be passed through an input filter to avoid injection or returned raw. * * @static * @package		Joomla.Framework * @subpackage	Environment * @since		1.5 */class JRequest{	/**	 * Gets the full request path	 *	 * @return string	 */	function getURI()	{		$uri = &JFactory::getURI();		return $uri->toString(array('path', 'query'));	}	/**	 * Gets the request method	 *	 * @return string	 */	function getMethod()	{		$method = strtoupper( $_SERVER['REQUEST_METHOD'] );		return $method;	}	/**	 * Fetches and returns a given variable.	 *	 * The default behaviour is fetching variables depending on the	 * current request method: GET and HEAD will result in returning	 * an entry from $_GET, POST and PUT will result in returning an	 * entry from $_POST.	 *	 * You can force the source by setting the $hash parameter:	 *	 *   post		$_POST	 *   get		$_GET	 *   files		$_FILES	 *   cookie		$_COOKIE	 *   env		$_ENV	 *   server		$_SERVER	 *   method		via current $_SERVER['REQUEST_METHOD']	 *   default	$_REQUEST	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD)	 * @param	string	$type		Return type for the variable, for valid values see {@link JFilterInput::clean()}	 * @param	int		$mask		Filter mask for the variable	 * @return	mixed	Requested variable	 * @since	1.5	 */	function getVar($name, $default = null, $hash = 'default', $type = 'none', $mask = 0)	{		// Ensure hash and type are uppercase		$hash = strtoupper( $hash );		if ($hash === 'METHOD') {			$hash = strtoupper( $_SERVER['REQUEST_METHOD'] );		}		$type	= strtoupper( $type );		$sig	= $hash.$type.$mask;		// Get the input hash		switch ($hash)		{			case 'GET' :				$input = &$_GET;				break;			case 'POST' :				$input = &$_POST;				break;			case 'FILES' :				$input = &$_FILES;				break;			case 'COOKIE' :				$input = &$_COOKIE;				break;			case 'ENV'    :				$input = &$_ENV;				break;			case 'SERVER'    :				$input = &$_SERVER;				break;			default:				$input = &$_REQUEST;				$hash = 'REQUEST';				break;		}		if (isset($GLOBALS['_JREQUEST'][$name]['SET.'.$hash]) && ($GLOBALS['_JREQUEST'][$name]['SET.'.$hash] === true)) {			// Get the variable from the input hash			$var = (isset($input[$name]) && $input[$name] !== null) ? $input[$name] : $default;		}		elseif (!isset($GLOBALS['_JREQUEST'][$name][$sig]))		{			if (isset($input[$name]) && $input[$name] !== null) {				// Get the variable from the input hash and clean it				$var = JRequest::_cleanVar($input[$name], $mask, $type);				// Handle magic quotes compatability				if (get_magic_quotes_gpc() && ($var != $default) && ($hash != 'FILES')) {					$var = JRequest::_stripSlashesRecursive( $var );				}				$GLOBALS['_JREQUEST'][$name][$sig] = $var;			}			elseif ($default !== null) {				// Clean the default value				$var = JRequest::_cleanVar($default, $mask, $type);			}			else {				$var = $default;			}		} else {			$var = $GLOBALS['_JREQUEST'][$name][$sig];		}		return $var;	}	/**	 * Fetches and returns a given filtered variable. The integer	 * filter will allow only digits to be returned. This is currently	 * only a proxy function for getVar().	 *	 * See getVar() for more in-depth documentation on the parameters.	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD)	 * @return	integer	Requested variable	 * @since	1.5	 */	function getInt($name, $default = 0, $hash = 'default')	{		return JRequest::getVar($name, $default, $hash, 'int');	}	/**	 * Fetches and returns a given filtered variable.  The float	 * filter only allows digits and periods.  This is currently	 * only a proxy function for getVar().	 *	 * See getVar() for more in-depth documentation on the parameters.	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD)	 * @return	float	Requested variable	 * @since	1.5	 */	function getFloat($name, $default = 0.0, $hash = 'default')	{		return JRequest::getVar($name, $default, $hash, 'float');	}	/**	 * Fetches and returns a given filtered variable. The bool	 * filter will only return true/false bool values. This is	 * currently only a proxy function for getVar().	 *	 * See getVar() for more in-depth documentation on the parameters.	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD)	 * @return	bool		Requested variable	 * @since	1.5	 */	function getBool($name, $default = false, $hash = 'default')	{		return JRequest::getVar($name, $default, $hash, 'bool');	}	/**	 * Fetches and returns a given filtered variable. The word	 * filter only allows the characters [A-Za-z_]. This is currently	 * only a proxy function for getVar().	 *	 * See getVar() for more in-depth documentation on the parameters.	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD)	 * @return	string	Requested variable	 * @since	1.5	 */	function getWord($name, $default = '', $hash = 'default')	{		return JRequest::getVar($name, $default, $hash, 'word');	}	/**	 * Fetches and returns a given filtered variable. The cmd	 * filter only allows the characters [A-Za-z0-9.-_]. This is	 * currently only a proxy function for getVar().	 *	 * See getVar() for more in-depth documentation on the parameters.	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD)	 * @return	string	Requested variable	 * @since	1.5	 */	function getCmd($name, $default = '', $hash = 'default')	{		return JRequest::getVar($name, $default, $hash, 'cmd');	}	/**	 * Fetches and returns a given filtered variable. The string	 * filter deletes 'bad' HTML code, if not overridden by the mask.	 * This is currently only a proxy function for getVar().	 *	 * See getVar() for more in-depth documentation on the parameters.	 *	 * @static	 * @param	string	$name		Variable name	 * @param	string	$default	Default value if the variable does not exist	 * @param	string	$hash		Where the var should come from (POST, GET, FILES, COOKIE, METHOD) 	 * @param	int		$mask		Filter mask for the variable	 * @return	string	Requested variable	 * @since	1.5	 */	function getString($name, $default = '', $hash = 'default', $mask = 0)	{		// Cast to string, in case JREQUEST_ALLOWRAW was specified for mask		return (string) JRequest::getVar($name, $default, $hash, 'string', $mask);	}	/**	 * Set a variabe in on of the request variables	 *	 * @access	public	 * @param	string	$name		Name	 * @param	string	$value		Value	 * @param	string	$hash		Hash	 * @param	boolean	$overwrite	Boolean	 * @return	string	Previous value	 * @since	1.5	 */	function setVar($name, $value = null, $hash = 'method', $overwrite = true)	{		//If overwrite is true, makes sure the variable hasn't been set yet		if(!$overwrite && array_key_exists($name, $_REQUEST)) {			return $_REQUEST[$name];		}		// Clean global request var		$GLOBALS['_JREQUEST'][$name] = array();

⌨️ 快捷键说明

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