+ function cachePrefValues($data_dir, $username) {
+ global $prefs_are_cached, $prefs_cache;
+
+ if ($prefs_are_cached)
+ return;
+
+ $filename = $data_dir . $username . '.pref';
+
+ if (!file_exists($filename)) {
+ printf (_("Preference file, %s, does not exist. Log out, and log back in to create a default preference file."), $filename);
+ exit;
+ }
+
+ $file = fopen($filename, 'r');
+
+ /** read in all 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');
+ }
+
+