API16:JRequest/getVar
From Joomla! Documentation
Description
Fetches and returns a given variable.
Syntax
static getVar($name, $default=null, $hash= 'default', $type= 'none', $mask=0)
| Parameter Name | Default Value | Description |
|---|---|---|
| $name | $name Variable name. | |
| $default | null | $default Default value if the variable does not exist. |
| $hash | 'default' | $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD). |
| $type | 'none' | $type Return type for the variable, for valid values see . |
| $mask | 0 | $mask Filter mask for the variable. |
Returns
mixed Requested variable.
Defined in
libraries/joomla/environment/request.php
Importing
jimport( 'joomla.environment.request' );
Source Body
public static 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;
$var = self::_cleanVar($var, $mask, $type);
}
elseif (!isset($GLOBALS['_JREQUEST'][$name][$sig]))
{
if (isset($input[$name]) && $input[$name] !== null) {
// Get the variable from the input hash and clean it
$var = self::_cleanVar($input[$name], $mask, $type);
// Handle magic quotes compatability
if (get_magic_quotes_gpc() && ($var != $default) && ($hash != 'FILES')) {
$var = self::_stripSlashesRecursive($var);
}
$GLOBALS['_JREQUEST'][$name][$sig] = $var;
}
elseif ($default !== null) {
// Clean the default value
$var = self::_cleanVar($default, $mask, $type);
}
else {
$var = $default;
}
} else {
$var = $GLOBALS['_JREQUEST'][$name][$sig];
}
return $var;
}
Examples
Code Examples