From 8dba43ba0b3d356761675402b58c0bbe4d09dc9a Mon Sep 17 00:00:00 2001 From: Ben Thomson Date: Wed, 10 Jun 2020 11:46:17 +0800 Subject: [PATCH] Allow plugin autoloaders to load on restricted pages and actions (#5120) Allow plugin autoloaders to load, even on restricted pages. This allows (enabled) plugins to load their autoloaders on any pages, allowing includes in migration files to run. Fixes #5110. --- modules/system/classes/PluginManager.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/system/classes/PluginManager.php b/modules/system/classes/PluginManager.php index 0932a5a43..e5a9b590e 100644 --- a/modules/system/classes/PluginManager.php +++ b/modules/system/classes/PluginManager.php @@ -224,9 +224,9 @@ class PluginManager } /** - * Verify that the provided plugin should be registered + * Prevent autoloaders from loading if plugin is disabled */ - if (!$plugin || $plugin->disabled || (self::$noInit && !$plugin->elevated)) { + if ($plugin->disabled) { return; } @@ -238,6 +238,13 @@ class PluginManager ComposerManager::instance()->autoload($pluginPath . '/vendor'); } + /** + * Disable plugin registration for restricted pages, unless elevated + */ + if (self::$noInit && !$plugin->elevated) { + return; + } + /** * Run the plugin's register() method */