From 3cff8caa1593a8505a582d614fddd8be029ed4b7 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Sat, 28 Feb 2015 14:45:54 +1100 Subject: [PATCH] Plugins now support elevated privileges --- modules/system/classes/PluginBase.php | 5 +++++ modules/system/classes/PluginManager.php | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/system/classes/PluginBase.php b/modules/system/classes/PluginBase.php index ba8b1dfd7..168444821 100644 --- a/modules/system/classes/PluginBase.php +++ b/modules/system/classes/PluginBase.php @@ -15,6 +15,11 @@ abstract class PluginBase extends ServiceProviderBase */ public $require = []; + /** + * @var boolean Determine if this plugin should have elevated privileges. + */ + public $elevated = false; + /** * @var boolean Determine if this plugin should be loaded (false) or not (true). */ diff --git a/modules/system/classes/PluginManager.php b/modules/system/classes/PluginManager.php index cd248d3d2..94930ea57 100644 --- a/modules/system/classes/PluginManager.php +++ b/modules/system/classes/PluginManager.php @@ -171,7 +171,7 @@ class PluginManager return; } - if (!self::$noInit) { + if (!self::$noInit || $plugin->elevated) { $plugin->register(); } @@ -246,7 +246,7 @@ class PluginManager return; } - if (!self::$noInit) { + if (!self::$noInit || $plugin->elevated) { $plugin->boot(); } }