summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2009-11-09 16:18:58 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2009-11-09 16:18:58 +0000
commitdefb54fd237ae638a468dc3a7250da30c8072e07 (patch)
treef2c300142eb1e2ea314016f0dcd56f3d0a84c29b
parent0e4bcac74a6d7a32382250d908930b7e95f3efb2 (diff)
Plugins should not overwrite existing config props
git-svn-id: https://svn.roundcube.net/trunk@3102 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_config.php4
-rw-r--r--roundcubemail/program/include/rcube_plugin.php2
2 files changed, 3 insertions, 3 deletions
diff --git a/roundcubemail/program/include/rcube_config.php b/roundcubemail/program/include/rcube_config.php
index b30cf2d38..0aa6f8c58 100644
--- a/roundcubemail/program/include/rcube_config.php
+++ b/roundcubemail/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/roundcubemail/program/include/rcube_plugin.php b/roundcubemail/program/include/rcube_plugin.php
index ed30e8f17..cb5f8e256 100644
--- a/roundcubemail/program/include/rcube_plugin.php
+++ b/roundcubemail/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;
}