Actions

API15

JRequest/getVar

From Joomla! Documentation

< API15:JRequest
Revision as of 00:24, 19 February 2011 by Sotplug (Talk | contribs)

Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Fetches and returns a given variable.

[Edit Descripton]

Description:JRequest/getVar

Syntax

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 Retrieving data from GET and POST requests
$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

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 = JRequest::_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 = 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;
}

[Edit See Also] SeeAlso:JRequest/getVar

Examples

<CodeExamplesForm />