X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Ffile_prefs.php;h=be52c4a3391b1e15f77e2bf2e1df9f066afebdc6;hp=329ce954676c9e746e3c83217d028a8b6665a336;hb=be6f5c46ddeb7c748882301c3dd278adac664880;hpb=dabef6fd44ccf5205fd7c8b211613b2f7a11cf2e;ds=sidebyside diff --git a/functions/file_prefs.php b/functions/file_prefs.php index 329ce954..be52c4a3 100644 --- a/functions/file_prefs.php +++ b/functions/file_prefs.php @@ -77,16 +77,20 @@ function cachePrefValues($data_dir, $username) { */ function getPref($data_dir, $username, $string, $default = '') { global $prefs_cache; - $result = ''; - - cachePrefValues($data_dir, $username); - if (isset($prefs_cache[$string])) { - $result = $prefs_cache[$string]; - } else { - $result = $default; + $result = ''; + $result = do_hook_function('get_pref_override',array($username,$string)); + if (!$result) { + cachePrefValues($data_dir, $username); + if (isset($prefs_cache[$string])) { + $result = $prefs_cache[$string]; + } else { + $result = do_hook_function('get_pref', array($username,$string)); + if (!$result) { + $result = $default; + } + } } - return ($result); } @@ -99,10 +103,10 @@ function savePrefValues($data_dir, $username) { $filename = getHashedFile($username, $data_dir, "$username.pref"); /* Open the file for writing, or else display an error to the user. */ - if(!$file = @fopen($filename, 'w')) + if(!$file = @fopen($filename.'.tmp', 'w')) { include_once(SM_PATH . 'functions/display_messages.php'); - logout_error( sprintf( _("Preference file, %s, could not be opened. Contact your system administrator to resolve this issue."), $filename) ); + logout_error( sprintf( _("Preference file, %s, could not be opened. Contact your system administrator to resolve this issue."), $filename.'.tmp') ); exit; } foreach ($prefs_cache as $Key => $Value) {