MDL-66119 core: Add check for uninstalling plugins from the admin gui

This commit is contained in:
[Peter Burnett]
2019-07-26 09:27:32 +10:00
parent f622ee97e3
commit 442eeac33c
2 changed files with 11 additions and 0 deletions
+6
View File
@@ -620,6 +620,12 @@ $CFG->admin = 'admin';
//
// $CFG->debugsessionlock = 5;
//
// Uninstall plugins from CLI only. This stops admins from uninstalling plugins from the graphical admin
// user interface, and forces plugins to be uninstalled from the Command Line tool only, found at
// admin/cli/plugin_uninstall.php.
//
// $CFG->uninstallclionly = true;
//
//=========================================================================
// 7. SETTINGS FOR DEVELOPMENT SERVERS - not intended for production use!!!
//=========================================================================
+5
View File
@@ -2233,6 +2233,11 @@ class core_plugin_manager {
* @return bool
*/
protected function common_uninstall_check(\core\plugininfo\base $pluginfo) {
global $CFG;
// Check if uninstall is allowed from the GUI.
if (!empty($CFG->uninstallclionly) && (!CLI_SCRIPT)) {
return false;
}
if (!$pluginfo->is_uninstall_allowed()) {
// The plugin's plugininfo class declares it should not be uninstalled.