Browse Source

Fix legacy options handling

pull/79/head
Aleksander Machniak 12 years ago
parent
commit
f658907731
  1. 1
      CHANGELOG
  2. 22
      program/lib/Roundcube/rcube_config.php

1
CHANGELOG

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix legacy options handling
- Fix "duplicate entry" errors on inserts to imap cache tables (#1489146)
- Fix so bounces addresses in Sender headers are skipped on Reply-All (#1489011)
- Fix bug where serialized strings were truncated in PDO::quote() (#1489142)

22
program/lib/Roundcube/rcube_config.php

@ -174,7 +174,7 @@ class rcube_config
ob_end_clean();
if (is_array($rcmail_config)) {
$this->prop = array_merge($this->prop, $rcmail_config, $this->userprefs);
$this->merge($rcmail_config);
return true;
}
}
@ -195,9 +195,6 @@ class rcube_config
if (isset($this->prop[$name])) {
$result = $this->prop[$name];
}
else if (isset($this->legacy_props[$name])) {
return $this->get($this->legacy_props[$name], $def);
}
else {
$result = $def;
}
@ -241,6 +238,7 @@ class rcube_config
public function merge($prefs)
{
$this->prop = array_merge($this->prop, $prefs, $this->userprefs);
$this->fix_legacy_props();
}
@ -273,6 +271,8 @@ class rcube_config
$this->userprefs = $prefs;
$this->prop = array_merge($this->prop, $prefs);
$this->fix_legacy_props();
// override timezone settings with client values
if ($this->prop['timezone'] == 'auto') {
$this->prop['_timezone_value'] = isset($_SESSION['timezone']) ? $this->client_timezone() : $this->prop['_timezone_value'];
@ -435,4 +435,18 @@ class rcube_config
return date_default_timezone_get();
}
/**
* Convert legacy options into new ones
*/
private function fix_legacy_props()
{
foreach ($this->legacy_props as $new => $old) {
if (isset($this->prop[$old])) {
if (!isset($this->prop[$new])) {
$this->prop[$new] = $this->prop[$old];
}
unset($this->prop[$old]);
}
}
}
}
Loading…
Cancel
Save