From 16660d32b7c1e36a9940ee0ee9b692bf0dd1c313 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 5 Jan 2014 20:29:14 +0100 Subject: use config for firguring out if an extension is protected --- conf/plugins.required.php | 10 +++++----- lib/plugins/extension/helper/extension.php | 5 ++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/conf/plugins.required.php b/conf/plugins.required.php index 26eb8888b..078f6d56d 100644 --- a/conf/plugins.required.php +++ b/conf/plugins.required.php @@ -4,8 +4,8 @@ * from changes by the extention manager. These settings will override any local settings. * It is not recommended to change this file, as it is overwritten on DokuWiki upgrades. */ -$plugins['acl'] = 1; -$plugins['plugin'] = 1; -$plugins['config'] = 1; -$plugins['usermanager'] = 1; -$plugins['revert'] = 1; +$plugins['acl'] = 1; +$plugins['plugin'] = 1; +$plugins['config'] = 1; +$plugins['usermanager'] = 1; +$plugins['template:dokuwiki'] = 1; // not a plugin, but this should not be uninstalled either diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php index 4eedb2a25..e3cb8a410 100644 --- a/lib/plugins/extension/helper/extension.php +++ b/lib/plugins/extension/helper/extension.php @@ -107,7 +107,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { * @return bool if the extension is protected */ public function isProtected() { - return in_array($this->id, array('acl', 'config', 'info', 'plugin', 'revert', 'usermanager', 'template:dokuwiki')); + /** @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + $cascade = $plugin_controller->getCascade(); + return (isset($cascade['protected'][$this->id]) && $cascade['protected'][$this->id]); } /** -- cgit v1.2.3