From 68eb1835e8f88b5375cf431c44571c79da1c5702 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Wed, 17 Jul 2013 15:23:31 -0400
Subject: [PATCH] Keep unknown/plugin config options; only skip officially obsoleted ones

---
 installer/rcube_install.php |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index 0f1bfe2..0e137e1 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -34,7 +34,7 @@
   var $bool_config_props = array();
 
   var $local_config = array('db_dsnw', 'default_host', 'support_url', 'des_key', 'plugins');
-  var $obsolete_config = array('db_backend', 'double_auth');
+  var $obsolete_config = array('db_backend', 'db_max_length', 'double_auth');
   var $replaced_config = array(
     'skin_path'            => 'skin',
     'locale_string'        => 'language',
@@ -44,6 +44,8 @@
     'pagesize'             => 'mail_pagesize',
     'default_imap_folders' => 'default_folders',
     'top_posting'          => 'reply_mode',
+    'keep_alive'           => 'refresh_interval',
+    'min_keep_alive'       => 'min_refresh_interval',
   );
 
   // list of supported database drivers
@@ -247,7 +249,9 @@
       }
 
       // skip this property
-      if ((!array_key_exists($prop, $this->defaults) || ($value == $this->defaults[$prop])) && !in_array($prop, $this->local_config)) {
+      if (($value == $this->defaults[$prop]) && !in_array($prop, $this->local_config)
+          || in_array($prop, array_merge($this->obsolete_config, array_keys($this->replaced_config)))
+          || preg_match('/^db_(table|sequence)_/', $prop)) {
         continue;
       }
 

--
Gitblit v1.9.1