| | |
| | | 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', |
| | |
| | | '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 |
| | |
| | | $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) { |
| | |
| | | } |
| | | |
| | | // 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; |
| | | } |
| | | |