X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fprefs.php;h=7fe2af27f11fbb073373a76e54c744f4d3f50450;hb=96862638ef65bfd5438320fc30adf6edf5f1429d;hp=dd97204b60977891f16de056befae12b2d7411aa;hpb=1a531551726e16fe9ccbd8de06731c1730d8fce2;p=squirrelmail.git diff --git a/functions/prefs.php b/functions/prefs.php index dd97204b..7fe2af27 100644 --- a/functions/prefs.php +++ b/functions/prefs.php @@ -8,7 +8,7 @@ * * This contains functions for manipulating user preferences * - * $Id$ + * @version $Id$ * @package squirrelmail */ @@ -20,7 +20,7 @@ sqgetGlobalVar('prefs_are_cached', $prefs_are_cached, SQ_SESSION ); if ( !sqsession_is_registered('prefs_are_cached') || !isset( $prefs_cache) || - !is_array( $prefs_cache) + !is_array( $prefs_cache) ) { $prefs_are_cached = false; $prefs_cache = array(); @@ -47,13 +47,12 @@ if (isset($prefs_backend) && file_exists(SM_PATH . $prefs_backend)) { * @return string the hashed location of datafile */ function getHashedFile($username, $dir, $datafile, $hash_search = true) { - global $dir_hash_level; /* Remove trailing slash from $dir if found */ if (substr($dir, -1) == '/') { $dir = substr($dir, 0, strlen($dir) - 1); } - + /* Compute the hash for this user and extract the hash directories. */ $hash_dirs = computeHashDirs($username); @@ -82,7 +81,7 @@ function getHashedFile($username, $dir, $datafile, $hash_search = true) { } } } - + /* Return the full hashed datafile path. */ return ($result); } @@ -103,7 +102,7 @@ function getHashedDir($username, $dir, $hash_dirs = '') { if (substr($dir, -1) == '/') { $dir = substr($dir, 0, strlen($dir) - 1); } - + /* If necessary, populate the hash dir variable. */ if ($hash_dirs == '') { $hash_dirs = computeHashDirs($username); @@ -115,9 +114,9 @@ function getHashedDir($username, $dir, $hash_dirs = '') { $real_hash_dir .= '/' . $hash_dirs[$h]; if (!@is_dir($real_hash_dir)) { if (!@mkdir($real_hash_dir, 0770)) { - echo sprintf(_("Error creating directory %s."), $real_hash_dir) . '
' . - _("Could not create hashed directory structure!") . "
\n" . - _("Please contact your system administrator and report this error.") . "
\n"; + echo sprintf(_("Error creating directory %s."), $real_hash_dir) . '
' . + _("Could not create hashed directory structure!") . "
\n" . + _("Please contact your system administrator and report this error.") . "
\n"; exit; } } @@ -145,24 +144,30 @@ function computeHashDirs($username) { return ($hash_dirs); } -function checkForJavascript() +/** + * FIXME: Undocumented function + */ +function checkForJavascript($reset = FALSE) { - global $data_dir, $username, $javascript_on; - if ( sqGetGlobalVar('javascript_on', $javascript_on) ) - return; + global $data_dir, $username, $javascript_on, $javascript_setting; - if ( !sqGetGlobalVar('js_autodetect_results', $js_autodetect_results) ) - $js_autodetect_results = SMPREF_JS_OFF; + if ( !$reset && sqGetGlobalVar('javascript_on', $javascript_on, SQ_SESSION) ) + return $javascript_on; - $javascript_setting = getPref($data_dir, $username, 'javascript_setting', SMPREF_JS_AUTODETECT); + if ( $reset || !isset($javascript_setting) ) + $javascript_setting = getPref($data_dir, $username, 'javascript_setting', SMPREF_JS_AUTODETECT); + + if ( !sqGetGlobalVar('new_js_autodetect_results', $js_autodetect_results) && + !sqGetGlobalVar('js_autodetect_results', $js_autodetect_results) ) + $js_autodetect_results = SMPREF_JS_OFF; if ( $javascript_setting == SMPREF_JS_AUTODETECT ) - $js_pref = $js_autodetect_results; + $javascript_on = $js_autodetect_results; else - $js_pref = $javascript_setting; + $javascript_on = $javascript_setting; - sqsession_register('javascript_on',$js_pref); - return $js_pref; + sqsession_register($javascript_on, 'javascript_on'); + return $javascript_on; } -?> +?> \ No newline at end of file