From 2965a981b7ec22866fbdf2d567d87e2d068d3617 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Fri, 31 Jul 2015 16:04:08 -0400 Subject: [PATCH] Allow to search and import missing PGP pubkeys from keyservers using Publickey.js --- program/lib/Roundcube/rcube_plugin.php | 20 +++++++++++++++++++- 1 files changed, 19 insertions(+), 1 deletions(-) diff --git a/program/lib/Roundcube/rcube_plugin.php b/program/lib/Roundcube/rcube_plugin.php index cc7c797..e240448 100644 --- a/program/lib/Roundcube/rcube_plugin.php +++ b/program/lib/Roundcube/rcube_plugin.php @@ -71,6 +71,7 @@ protected $home; protected $urlbase; private $mytask; + private $loaded_config = array(); /** @@ -121,6 +122,17 @@ } /** + * Attempt to load the given plugin which is optional for the current plugin + * + * @param string Plugin name + * @return boolean True on success, false on failure + */ + public function include_plugin($plugin_name) + { + return $this->api->load_plugin($plugin_name, true, false); + } + + /** * Load local config file from plugins directory. * The loaded values are patched over the global configuration. * @@ -130,6 +142,12 @@ */ public function load_config($fname = 'config.inc.php') { + if (in_array($fname, $this->loaded_config)) { + return true; + } + + $this->loaded_config[] = $fname; + $fpath = $this->home.'/'.$fname; $rcube = rcube::get_instance(); @@ -404,7 +422,7 @@ $rcube = rcube::get_instance(); $skins = array_keys((array)$rcube->output->skins); if (empty($skins)) { - $skins = array($rcube->config->get('skin')); + $skins = (array) $rcube->config->get('skin'); } foreach ($skins as $skin) { $skin_path = 'skins/' . $skin; -- Gitblit v1.9.1