Thomas Bruederli
2013-07-17 68eb1835e8f88b5375cf431c44571c79da1c5702
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
@@ -181,8 +183,17 @@
      $is_default = !isset($_POST["_$prop"]);
      $value      = !$is_default || $this->bool_config_props[$prop] ? $_POST["_$prop"] : $default;
      // always disable installer
      if ($prop == 'enable_installer')
        $value = false;
      // reset useragent to default (keeps version up-to-date)
      if ($prop == 'useragent' && stripos($value, 'Roundcube Webmail/') !== false)
        $value = $this->defaults[$prop];
      // generate new encryption key, never use the default value
      if ($prop == 'des_key' && $value == $this->defaults[$prop])
        $value = $this->random_key(24);
      // convert some form data
      if ($prop == 'debug_level' && !$is_default) {
@@ -238,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;
      }