X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fglobal.php;h=c20249f55192adcf23e8d0b835b03fce46000d77;hb=10bf80c009d938fc0cf85a70d0a6b3834365b146;hp=f2e6555940cebb6111bd5f53866fc2ed522a635d;hpb=212de99fde7d34770029aa8c7f16002ed2c6efe7;p=squirrelmail.git diff --git a/functions/global.php b/functions/global.php index f2e65559..c20249f5 100644 --- a/functions/global.php +++ b/functions/global.php @@ -3,31 +3,29 @@ /** * global.php * - * Copyright (c) 1999-2004 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * - * This includes code to update < 4.1.0 globals to the newer format + * This includes code to update < 4.1.0 globals to the newer format * It also has some session register functions that work across various - * php versions. + * php versions. * - * $Id$ + * @copyright © 1999-2005 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @version $Id$ * @package squirrelmail */ -/** Bring in the config file. */ -require_once(SM_PATH . 'config/config.php'); /** set the name of the session cookie */ -if(isset($session_name) && $session_name) { - ini_set('session.name' , $session_name); -} else { - ini_set('session.name' , 'SQMSESSID'); +if(isset($session_name) && $session_name) { + ini_set('session.name' , $session_name); +} else { + ini_set('session.name' , 'SQMSESSID'); } -/** If magic_quotes_runtime is on, SquirrelMail breaks in new and creative ways. - * Force magic_quotes_runtime off. - * tassium@squirrelmail.org - I put it here in the hopes that all SM code includes this. - * If there's a better place, please let me know. +/** + * If magic_quotes_runtime is on, SquirrelMail breaks in new and creative ways. + * Force magic_quotes_runtime off. + * tassium@squirrelmail.org - I put it here in the hopes that all SM code includes this. + * If there's a better place, please let me know. */ ini_set('magic_quotes_runtime','0'); @@ -54,28 +52,23 @@ if (get_magic_quotes_gpc()) { $_SERVER['PHP_SELF'] = strip_tags($_SERVER['PHP_SELF']); -/** - * returns true if current php version is at mimimum a.b.c - * +/** + * returns true if current php version is at mimimum a.b.c + * * Called: check_php_version(4,1) * @param int a major version number * @param int b minor version number * @param int c release number * @return bool */ -function check_php_version ($a = '0', $b = '0', $c = '0') +function check_php_version ($a = '0', $b = '0', $c = '0') { - global $SQ_PHP_VERSION; - - if(!isset($SQ_PHP_VERSION)) - $SQ_PHP_VERSION = substr( str_pad( preg_replace('/\D/','', PHP_VERSION), 3, '0'), 0, 3); - - return $SQ_PHP_VERSION >= ($a.$b.$c); + return version_compare ( PHP_VERSION, "$a.$b.$c", 'ge' ); } /** - * returns true if the current internal SM version is at minimum a.b.c - * These are plain integer comparisons, as our internal version is + * returns true if the current internal SM version is at minimum a.b.c + * These are plain integer comparisons, as our internal version is * constructed by us, as an array of 3 ints. * * Called: check_sm_version(1,3,3) @@ -89,12 +82,14 @@ function check_sm_version($a = 0, $b = 0, $c = 0) global $SQM_INTERNAL_VERSION; if ( !isset($SQM_INTERNAL_VERSION) || $SQM_INTERNAL_VERSION[0] < $a || - $SQM_INTERNAL_VERSION[1] < $b || - ( $SQM_INTERNAL_VERSION[1] == $b && + ( $SQM_INTERNAL_VERSION[0] == $a && + $SQM_INTERNAL_VERSION[1] < $b) || + ( $SQM_INTERNAL_VERSION[0] == $a && + $SQM_INTERNAL_VERSION[1] == $b && $SQM_INTERNAL_VERSION[2] < $c ) ) { return FALSE; - } - return TRUE; + } + return TRUE; } @@ -126,8 +121,8 @@ function sqsession_register ($var, $name) { sqsession_is_active(); - $_SESSION["$name"] = $var; - + $_SESSION["$name"] = $var; + session_register("$name"); } @@ -141,7 +136,7 @@ function sqsession_unregister ($name) { sqsession_is_active(); unset($_SESSION[$name]); - + session_unregister("$name"); } @@ -154,11 +149,11 @@ function sqsession_unregister ($name) { function sqsession_is_registered ($name) { $test_name = &$name; $result = false; - + if (isset($_SESSION[$test_name])) { $result = true; } - + return $result; } @@ -173,14 +168,14 @@ define('SQ_FORM',6); /** * Search for the var $name in $_SESSION, $_POST, $_GET, - * $_COOKIE, or $_SERVER and set it in provided var. + * $_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 + * use one of the defined constants to look for * a var in one place specifically. * - * Note: $search is an int value equal to one of the + * Note: $search is an int value equal to one of the * constants defined above. * * example: @@ -199,9 +194,9 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { enclosing them in quotes will cause them to evaluate as strings. */ 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. */ + /* 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: // check session, post, get case SQ_SESSION: @@ -223,13 +218,13 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { if ( isset($_GET[$name]) ) { $value = $_GET[$name]; return TRUE; - } + } /* NO IF HERE. FOR SQ_INORDER CASE, EXIT after GET */ break; case SQ_COOKIE: if ( isset($_COOKIE[$name]) ) { $value = $_COOKIE[$name]; - return TRUE; + return TRUE; } break; case SQ_SERVER: @@ -239,6 +234,7 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { } break; } + /* Nothing found, return FALSE */ return FALSE; } @@ -281,15 +277,12 @@ function sqsession_destroy() { */ function sqsession_is_active() { - + $sessid = session_id(); if ( empty( $sessid ) ) { - // Set the path again. - sqgetGlobalVar('base_uri',$base_uri,SQ_SESSION); - session_set_cookie_params (0, $base_uri); session_start(); } } - -?> +// vim: et ts=4 +?> \ No newline at end of file