API15

JRequest/getVar

From Joomla! Documentation

< API15:JRequest
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The "API15" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Fetches and returns a given variable.

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax[edit]

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[edit]

mixed Requested variable

Defined in[edit]

libraries/joomla/environment/request.php

Importing[edit]

jimport( 'joomla.environment.request' );

Source Body[edit]

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;
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples[edit]

Code Examples[edit]