From 461a30d771edd8bc6606f2c92dfde363514b93b1 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 14 Jun 2013 06:09:08 -0400
Subject: [PATCH] Merge config files (#1487311). Now we have defaults.inc.php and config.inc.php. Renamed $rcmail_config to $config. Old naming and old files are supported for backward compatibility.

---
 program/lib/Roundcube/rcube_config.php |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/program/lib/Roundcube/rcube_config.php b/program/lib/Roundcube/rcube_config.php
index 18055f7..ff398bc 100644
--- a/program/lib/Roundcube/rcube_config.php
+++ b/program/lib/Roundcube/rcube_config.php
@@ -69,13 +69,19 @@
      */
     private function load()
     {
-        // load main config file
-        if (!$this->load_from_file(RCUBE_CONFIG_DIR . 'main.inc.php'))
-            $this->errors[] = 'main.inc.php was not found.';
+        // Load default settings
+        if (!$this->load_from_file(RCUBE_CONFIG_DIR . 'defaults.inc.php')) {
+            $this->errors[] = 'defaults.inc.php was not found.';
+        }
 
-        // load database config
-        if (!$this->load_from_file(RCUBE_CONFIG_DIR . 'db.inc.php'))
-            $this->errors[] = 'db.inc.php was not found.';
+        // load main config file
+        if (!$this->load_from_file(RCUBE_CONFIG_DIR . 'config.inc.php')) {
+            $this->errors[] = 'config.inc.php was not found.';
+
+            // Old configuration files
+            $this->load_from_file(RCUBE_CONFIG_DIR . 'main.inc.php');
+            $this->load_from_file(RCUBE_CONFIG_DIR . 'db.inc.php');
+        }
 
         // load host-specific configuration
         $this->load_host_config();
@@ -175,7 +181,12 @@
             include($fpath);
             ob_end_clean();
 
-            if (is_array($rcmail_config)) {
+            if (is_array($config)) {
+                $this->merge($config);
+                return true;
+            }
+            // deprecated name of config variable
+            else if (is_array($rcmail_config)) {
                 $this->merge($rcmail_config);
                 return true;
             }

--
Gitblit v1.9.1