From 583f163f40852c8067708a0a69e38e9c27318179 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 8 Oct 2015 17:02:32 +0300 Subject: [PATCH] don't init plugins when loading everything to make a list, duh --- classes/pluginhost.php | 12 ++++++------ classes/pref/prefs.php | 2 +- update.php | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 75620a19..0f3d8f37 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 41dc536f..9cbc425c 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 0fa4db0d..96097c56 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"; -- 2.39.2