Someone added some prefs hooks to the file-based prefs backend but never added them...
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 23 Jun 2008 19:57:55 +0000 (19:57 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 23 Jun 2008 19:57:55 +0000 (19:57 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@13193 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/db_prefs.php

index d786069..71422f1 100644 (file)
@@ -278,17 +278,27 @@ class dbPrefs {
     function getKey($user, $key, $default = '') {
         global $prefs_cache;
 
-        cachePrefValues($user);
+        $temp = array(&$user, &$key);
+        $result = do_hook('get_pref_override', $temp);
+        if (is_null($result)) {
+            cachePrefValues($user);
 
-        if (isset($prefs_cache[$key])) {
-            return $prefs_cache[$key];
-        } else {
-            if (isset($this->default[$key])) {
-                return $this->default[$key];
+            if (isset($prefs_cache[$key])) {
+                $result = $prefs_cache[$key];
             } else {
-                return $default;
+//FIXME: is there a justification for having two prefs hooks so close?  who uses them?
+                $temp = array(&$user, &$key);
+                $result = do_hook('get_pref', $temp);
+                if (is_null($result)) {
+                    if (isset($this->default[$key])) {
+                        $result = $this->default[$key];
+                    } else {
+                        $result = $default;
+                    }
+                }
             }
         }
+        return $result;
     }
 
     /**