From bc8c2c57880523472b30f475d566a8133e2d2e20 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 21 May 2011 14:04:51 -0400
Subject: [PATCH] - Fix s/pattern/prefix/ in clear_cache()

---
 program/include/rcube_config.php |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index 81b664a..31608a3 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -87,12 +87,9 @@
                 ini_set('error_log', $this->prop['log_dir'].'/errors');
             }
         }
-        if ($this->prop['debug_level'] & 4) {
-            ini_set('display_errors', 1);
-        }
-        else {
-            ini_set('display_errors', 0);
-        }
+
+        // enable display_errors in 'show' level, but not for ajax requests
+        ini_set('display_errors', intval(empty($_REQUEST['_remote']) && ($this->prop['debug_level'] & 4)));
 
         // export config data
         $GLOBALS['CONFIG'] = &$this->prop;
@@ -188,8 +185,18 @@
      */
     public function set_user_prefs($prefs)
     {
+        // Honor the dont_override setting for any existing user preferences
+        $dont_override = $this->get('dont_override');
+        if (is_array($dont_override) && !empty($dont_override)) {
+            foreach ($prefs as $key => $pref) {
+                if (in_array($key, $dont_override)) {
+                    unset($prefs[$key]);
+                }
+            }
+        }
+
         $this->userprefs = $prefs;
-        $this->prop = array_merge($this->prop, $prefs);
+        $this->prop      = array_merge($this->prop, $prefs);
     }
 
 

--
Gitblit v1.9.1