diff options
author | thomascube <thomas@roundcube.net> | 2009-11-09 16:18:58 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2009-11-09 16:18:58 +0000 |
commit | 3597cc2c1b22dc29fe1169075601c72fa5c8558c (patch) | |
tree | b5f39cee33c800e3bc31bef8538cfbb88a481b80 /program | |
parent | 3d770d47ba200fd2b5214b3245e3dc34d8aa33f2 (diff) |
Plugins should not overwrite existing config props
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcube_config.php | 4 | ||||
-rw-r--r-- | program/include/rcube_plugin.php | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php index b30cf2d38..0aa6f8c58 100644 --- a/program/include/rcube_config.php +++ b/program/include/rcube_config.php @@ -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; } } diff --git a/program/include/rcube_plugin.php b/program/include/rcube_plugin.php index ed30e8f17..cb5f8e256 100644 --- a/program/include/rcube_plugin.php +++ b/program/include/rcube_plugin.php @@ -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; } |