Plugins should not overwrite existing config props

release-0.6
thomascube 15 years ago
parent 3d770d47ba
commit 3597cc2c1b

@ -132,12 +132,12 @@ class rcube_config
* @param string Full path to the config file to be loaded
* @return booelan True on success, false on failure
*/
public function load_from_file($fpath)
public function load_from_file($fpath, $merge = true)
{
if (is_file($fpath) && is_readable($fpath)) {
include($fpath);
if (is_array($rcmail_config)) {
$this->prop = array_merge($this->prop, $rcmail_config);
$this->prop = $merge ? array_merge($this->prop, $rcmail_config) : $this->prop + $rcmail_config;
return true;
}
}

@ -59,7 +59,7 @@ abstract class rcube_plugin
{
$fpath = $this->home.'/'.$fname;
$rcmail = rcmail::get_instance();
if (!$rcmail->config->load_from_file($fpath)) {
if (!$rcmail->config->load_from_file($fpath, false)) {
raise_error(array('code' => 527, 'type' => 'php', 'message' => "Failed to load config from $fpath"), true, false);
return false;
}

Loading…
Cancel
Save