X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fprefs.php;h=e719adf622b731d3ded1eb7b321632439b775979;hp=e96147b921f6d4c1d2e8da5c1f55501fddd047b2;hb=ce39317491517268fe421d95b7329bbe80a2fe8d;hpb=374b7e37faf4b51abcbc047f4d566123226773f9 diff --git a/functions/prefs.php b/functions/prefs.php index e96147b9..e719adf6 100644 --- a/functions/prefs.php +++ b/functions/prefs.php @@ -30,7 +30,7 @@ exit; } - $file = fopen($filename, "r"); + $file = fopen($filename, 'r'); /** read in all the preferences **/ $highlight_num = 0; @@ -62,21 +62,22 @@ /** returns the value for $string **/ - function getPref($data_dir, $username, $string) { + function getPref($data_dir, $username, $string, $default = '') { global $prefs_cache; - + cachePrefValues($data_dir, $username); - + if (isset($prefs_cache[$string])) return $prefs_cache[$string]; - return ''; + else + return $default; } function savePrefValues($data_dir, $username) { global $prefs_cache; - $file = fopen($data_dir . $username . '.pref', "w"); + $file = fopen($data_dir . $username . '.pref', 'w'); foreach ($prefs_cache as $Key => $Value) { if (isset($Value)) { fwrite($file, $Key . '=' . $Value . "\n"); @@ -103,6 +104,12 @@ global $prefs_cache; cachePrefValues($data_dir, $username); + if (isset($prefs_cache[$string]) && $prefs_cache[$string] == $set_to) + return; + if ($set_to === '') { + removePref($data_dir, $username, $string); + return; + } $prefs_cache[$string] = $set_to; savePrefValues($data_dir, $username); } @@ -111,10 +118,10 @@ /** This checks if there is a pref file, if there isn't, it will create it. **/ function checkForPrefs($data_dir, $username) { - $filename = "$data_dir$username.pref"; + $filename = $data_dir . $username . '.pref'; if (!file_exists($filename)) { - if (!copy("$data_dir" . "default_pref", $filename)) { - echo _("Error opening ") ."$filename"; + if (!copy($data_dir . 'default_pref', $filename)) { + echo _("Error opening ") . $filename; exit; } } @@ -123,8 +130,7 @@ /** Writes the Signature **/ function setSig($data_dir, $username, $string) { - $filename = "$data_dir$username.sig"; - $file = fopen($filename, "w"); + $file = fopen($data_dir . $username . '.sig', 'w'); fwrite($file, $string); fclose($file); } @@ -133,10 +139,10 @@ /** Gets the signature **/ function getSig($data_dir, $username) { - $filename = "$data_dir$username.sig"; - $sig = ""; + $filename = $data_dir . $username . '.sig'; + $sig = ''; if (file_exists($filename)) { - $file = fopen($filename, "r"); + $file = fopen($filename, 'r'); while (!feof($file)) { $sig .= fgets($file, 1024); } @@ -144,4 +150,4 @@ } return $sig; } -?> +?> \ No newline at end of file