Sorry, I edited a not up to date version of file_prefs
authorstekkel <stekkel@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Tue, 15 Oct 2002 22:27:53 +0000 (22:27 +0000)
committerstekkel <stekkel@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Tue, 15 Oct 2002 22:27:53 +0000 (22:27 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@3872 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/file_prefs.php

index 329ce95..be52c4a 100644 (file)
@@ -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) {