X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fglobal.php;h=b2f7d16ade974f289a5f936d5af63a974d1a5486;hb=89a376a2bca0640ea6cfe32eb2962c0a6d0476db;hp=ef63d5a9af639e6f222e9835c43bbcc82cadf48a;hpb=4cd8ae7de26f2915a4c98aa45fa528f543b4296a;p=squirrelmail.git diff --git a/functions/global.php b/functions/global.php index ef63d5a9..b2f7d16a 100644 --- a/functions/global.php +++ b/functions/global.php @@ -162,10 +162,12 @@ define('SQ_INORDER',0); define('SQ_GET',1); define('SQ_POST',2); define('SQ_SESSION',3); +define('SQ_COOKIE',4); +define('SQ_SERVER',5); /** - * Search for the var $name in $_SESSION, $_POST, $_GET - * and set it in provided var. + * Search for the var $name in $_SESSION, $_POST, $_GET, + * $_COOKIE, or $_SERVER and set it in provided var. * If $search is not provided, or == SQ_INORDER, it will search * $_SESSION, then $_POST, then $_GET. Otherwise, * use one of the defined constants to look for @@ -175,36 +177,48 @@ define('SQ_SESSION',3); */ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { if ( !check_php_version(4,1) ) { - global $_SESSION, $_GET, $_POST; + global $_SESSION, $_GET, $_POST, $_COOKIE, $_SERVER; } switch ($search) { /* we want the default case to be first here, so that if a valid value isn't specified, all three arrays will be searched. */ - default: - case SQ_INORDER: - case SQ_SESSION: + default: + case 'SQ_INORDER': + case 'SQ_SESSION': if( isset($_SESSION[$name]) ) { $value = $_SESSION[$name]; return TRUE; } elseif ( $search == SQ_SESSION ) { break; } - case SQ_POST: + case 'SQ_POST': if( isset($_POST[$name]) ) { $value = $_POST[$name]; return TRUE; } elseif ( $search == SQ_POST ) { break; } - case SQ_GET: + case 'SQ_GET': if ( isset($_GET[$name]) ) { $value = $_GET[$name]; return TRUE; - } elseif ( $search == SQ_GET ) { - break; - } + } + /* NO IF HERE. FOR SQ_INORDER CASE, EXIT after GET */ + break; + case 'SQ_COOKIE': + if ( isset($_COOKIE[$name]) ) { + $value = $_COOKIE[$name]; + return TRUE; + } + break; + case 'SQ_SERVER': + if ( isset($_SERVER[$name]) ) { + $value = $_SERVER[$name]; + return TRUE; + } + break; } return FALSE; } @@ -215,19 +229,11 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { * (in that order) and register it as a global var. */ function sqextractGlobalVar ($name) { - if ( !check_php_version(4,1) ) { - global $_SESSION, $_GET, $_POST; - } - global $$name; - if( isset($_SESSION[$name]) ) { - $$name = $_SESSION[$name]; - } - if( isset($_POST[$name]) ) { - $$name = $_POST[$name]; - } - else if ( isset($_GET[$name]) ) { - $$name = $_GET[$name]; - } + + global $$name; + + sqgetGlobalVar($name, $$name); + } function sqsession_destroy() {