summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/pluginhost.php12
-rw-r--r--classes/pref/prefs.php2
-rwxr-xr-xupdate.php2
3 files changed, 8 insertions, 8 deletions
diff --git a/classes/pluginhost.php b/classes/pluginhost.php
index 75620a191..0f3d8f37c 100644
--- a/classes/pluginhost.php
+++ b/classes/pluginhost.php
@@ -133,7 +133,7 @@ class PluginHost {
return array();
}
}
- function load_all($kind, $owner_uid = false) {
+ function load_all($kind, $owner_uid = false, $skip_init = false) {
$plugins = array_merge(glob("plugins/*"), glob("plugins.local/*"));
$plugins = array_filter($plugins, "is_dir");
@@ -141,10 +141,10 @@ class PluginHost {
asort($plugins);
- $this->load(join(",", $plugins), $kind, $owner_uid);
+ $this->load(join(",", $plugins), $kind, $owner_uid, $skip_init);
}
- function load($classlist, $kind, $owner_uid = false) {
+ function load($classlist, $kind, $owner_uid = false, $skip_init = false) {
$plugins = explode(",", $classlist);
$this->owner_uid = (int) $owner_uid;
@@ -181,18 +181,18 @@ class PluginHost {
switch ($kind) {
case $this::KIND_SYSTEM:
if ($this->is_system($plugin)) {
- $plugin->init($this);
+ if (!$skip_init) $plugin->init($this);
$this->register_plugin($class, $plugin);
}
break;
case $this::KIND_USER:
if (!$this->is_system($plugin)) {
- $plugin->init($this);
+ if (!$skip_init) $plugin->init($this);
$this->register_plugin($class, $plugin);
}
break;
case $this::KIND_ALL:
- $plugin->init($this);
+ if (!$skip_init) $plugin->init($this);
$this->register_plugin($class, $plugin);
break;
}
diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php
index 41dc536f5..9cbc425c6 100644
--- a/classes/pref/prefs.php
+++ b/classes/pref/prefs.php
@@ -746,7 +746,7 @@ class Pref_Prefs extends Handler_Protected {
$user_enabled = array_map("trim", explode(",", get_pref("_ENABLED_PLUGINS")));
$tmppluginhost = new PluginHost();
- $tmppluginhost->load_all($tmppluginhost::KIND_ALL, $_SESSION["uid"]);
+ $tmppluginhost->load_all($tmppluginhost::KIND_ALL, $_SESSION["uid"], true);
$tmppluginhost->load_data(true);
foreach ($tmppluginhost->get_plugins() as $name => $plugin) {
diff --git a/update.php b/update.php
index 0fa4db0d8..96097c56a 100755
--- a/update.php
+++ b/update.php
@@ -365,7 +365,7 @@
if (isset($options["list-plugins"])) {
$tmppluginhost = new PluginHost();
- $tmppluginhost->load_all($tmppluginhost::KIND_ALL);
+ $tmppluginhost->load_all($tmppluginhost::KIND_ALL, false);
$enabled = array_map("trim", explode(",", PLUGINS));
echo "List of all available plugins:\n";