-global $prefs_are_cached, $prefs_cache;
-if (!session_is_registered('prefs_are_cached')) {
- $prefs_are_cached = false;
- $prefs_cache = array();
-}
-
-/**
- * Check the preferences into the session cache.
- */
-function cachePrefValues($data_dir, $username) {
- global $prefs_are_cached, $prefs_cache;
-
- if ($prefs_are_cached) {
- return;
- }
-
- /* Calculate the filename for the user's preference file */
- $filename = getHashedFile($username, $data_dir, "$username.pref");
-
- /* A call to checkForPrefs here should take eliminate the need for */
- /* this to be called throughout the rest of the SquirrelMail code. */
- checkForPrefs($data_dir, $username, $filename);
-
- /* Make sure that the preference file now DOES exist. */
- if (!file_exists($filename)) {
- echo sprintf (_("Preference file, %s, does not exist. Log out, and log back in to create a default preference file."), $filename) . "<br>\n";
- exit;
- }
-
- $file = fopen($filename, 'r');
-
- /* Read in the preferences. */
- $highlight_num = 0;
- while (! feof($file)) {
- $pref = trim(fgets($file, 1024));
- $equalsAt = strpos($pref, '=');
- if ($equalsAt > 0) {
- $key = substr($pref, 0, $equalsAt);
- $value = substr($pref, $equalsAt + 1);
- if (substr($key, 0, 9) == 'highlight') {
- $key = 'highlight' . $highlight_num;
- $highlight_num ++;
- }
-
- if ($value != '') {
- $prefs_cache[$key] = $value;
- }
- }
- }
- fclose($file);
-
- session_unregister('prefs_cache');
- session_register('prefs_cache');
-
- $prefs_are_cached = true;
- session_unregister('prefs_are_cached');
- session_register('prefs_are_cached');
-}
-
-/**
- * Return the value for the prefernce given by $string.
- */
-function getPref($data_dir, $username, $string, $default = '') {
- global $prefs_cache;
- $result = '';