From c73b195e5d02a09d56430dd6e666313b86fee2f9 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 21 May 2009 16:34:28 -0400
Subject: [PATCH] Add function for plugins to load a local config file
---
program/include/rcube_plugin.php | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/program/include/rcube_plugin.php b/program/include/rcube_plugin.php
index 365ef28..63acaf8 100644
--- a/program/include/rcube_plugin.php
+++ b/program/include/rcube_plugin.php
@@ -47,6 +47,20 @@
* Initialization method, needs to be implemented by the plugin itself
*/
abstract function init();
+
+ /**
+ * Load local config file from plugins directory.
+ * The loaded values are patched over the global configuration.
+ *
+ * @param string Config file name relative to the plugin's folder
+ */
+ public function load_config($fname = 'config.inc.php')
+ {
+ $fpath = $this->home.'/'.$fname;
+ $rcmail = rcmail::get_instance();
+ if (!$rcmail->config->load_from_file($fpath))
+ raise_error(array('code' => 527, 'type' => 'php', 'message' => "Failed to load config from $fpath"), true, false);
+ }
/**
* Register a callback function for a specific (server-side) hook
--
Gitblit v1.9.1