X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fprefs.php;h=10ea919a3d78f2e76454382eb9e66ca8f959dff4;hb=ba0d44609ab8bc4e5ec05d0846dfa055705ee039;hp=63bae5ca749d652efd19f6d3ef4083b316fe42dd;hpb=76911253eb850bacde3d86c8cb7b4af072e67ebe;p=squirrelmail.git diff --git a/functions/prefs.php b/functions/prefs.php index 63bae5ca..10ea919a 100644 --- a/functions/prefs.php +++ b/functions/prefs.php @@ -13,21 +13,18 @@ require_once(SM_PATH . 'functions/global.php'); -if (isset($_SESSION['prefs_cache'])) { - $prefs_cache = $_SESSION['prefs_cache']; -} -if (isset($_SESSION['prefs_are_cached'])) { - $prefs_are_cached = $_SESSION['prefs_are_cached']; -} +sqgetGlobalVar('prefs_cache', $prefs_cache, SQ_SESSION ); +sqgetGlobalVar('prefs_are_cached', $prefs_are_cached, SQ_SESSION ); $rg = ini_get('register_globals'); +/* if php version >= 4.1 OR (4.0 AND $rg = off) */ if ( !sqsession_is_registered('prefs_are_cached') || !isset( $prefs_cache) || !is_array( $prefs_cache) || - substr( phpversion(), 0, 3 ) == '4.1' || - substr( phpversion(), 0, 3 ) == '4.2' || - (substr( phpversion(), 0, 3 ) == '4.0' && empty($rg))) { + check_php_version(4,1) || + empty($rg) + ) { $prefs_are_cached = false; $prefs_cache = array(); } @@ -54,7 +51,8 @@ function getHashedFile($username, $dir, $datafile, $hash_search = true) { /* First, get and make sure the full hash directory exists. */ $real_hash_dir = getHashedDir($username, $dir, $hash_dirs); - /* Set the value of our real data file. */ + /* Set the value of our real data file, after we've removed unwanted characters. */ + $datafile = str_replace('/', '_', $datafile); $result = "$real_hash_dir/$datafile"; /* Check for this file in the real hash directory. */