diff --git a/CHANGELOG b/CHANGELOG index 39d586733..53515f6d0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix default_port option handling in Installer when config.inc.php file exists (#1487925) - Removed option focus_on_new_message, added newmail_notifier plugin - Added general rcube_cache class with Memcache and APC support - Improved caching performance by skipping writes of unchanged data diff --git a/installer/index.php b/installer/index.php index e09b82797..8df7ab0ef 100644 --- a/installer/index.php +++ b/installer/index.php @@ -41,7 +41,7 @@ if ($RCI->configured && ($RCI->getprop('enable_installer') || $_SESSION['allowin header('Content-type: text/plain'); header('Content-Disposition: attachment; filename="'.$filename.'"'); - + $RCI->merge_config(); echo $RCI->create_config($_GET['_mergeconfig'], true); exit; diff --git a/installer/rcube_install.php b/installer/rcube_install.php index 8ff6492d2..c8c103a95 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -123,8 +123,8 @@ class rcube_install return $value !== null && $value !== '' ? $value : $default; } - - + + /** * Take the default config file and replace the parameters * with the submitted form data @@ -135,13 +135,14 @@ class rcube_install function create_config($which, $force = false) { $out = @file_get_contents(RCMAIL_CONFIG_DIR . "/{$which}.inc.php.dist"); - + if (!$out) return '[Warning: could not read the config template file]'; foreach ($this->config as $prop => $default) { + $value = (isset($_POST["_$prop"]) || $this->bool_config_props[$prop]) ? $_POST["_$prop"] : $default; - + // convert some form data if ($prop == 'debug_level') { $val = 0; @@ -193,9 +194,9 @@ class rcube_install else if (is_numeric($value)) { $value = intval($value); } - + // skip this property - if (!$force && ($value == $default)) + if (!$force && !$this->configured && ($value == $default)) continue; // save change