diff --git a/admin/cli/uninstall_plugins.php b/admin/cli/uninstall_plugins.php index e093d896d51..3e162373b7a 100644 --- a/admin/cli/uninstall_plugins.php +++ b/admin/cli/uninstall_plugins.php @@ -34,6 +34,7 @@ $help = "Command line tool to uninstall plugins. Options: -h --help Print this help. --show-all Displays a list of all installed plugins. + --show-contrib Displays a list of all third-party installed plugins. --show-missing Displays a list of plugins missing from disk. --purge-missing Uninstall all missing from disk plugins. --plugins= A comma separated list of plugins to be uninstalled. E.g. mod_assign,mod_forum @@ -44,6 +45,9 @@ Examples: # php uninstall_plugins.php --show-all Prints tab-separated list of all installed plugins. + # php uninstall_plugins.php --show-contrib + Prints tab-separated list of all third-party installed plugins. + # php uninstall_plugins.php --show-missing Prints tab-separated list of all missing from disk plugins. @@ -63,6 +67,7 @@ Examples: list($options, $unrecognised) = cli_get_params([ 'help' => false, 'show-all' => false, + 'show-contrib' => false, 'show-missing' => false, 'purge-missing' => false, 'plugins' => false, @@ -84,12 +89,15 @@ if ($options['help']) { $pluginman = core_plugin_manager::instance(); $plugininfo = $pluginman->get_plugins(); -if ($options['show-all'] || $options['show-missing']) { +if ($options['show-all'] || $options['show-missing'] || $options['show-contrib']) { foreach ($plugininfo as $type => $plugins) { foreach ($plugins as $name => $plugin) { + if ($options['show-contrib'] && $plugin->is_standard()) { + continue; + } $pluginstring = $plugin->component . "\t" . $plugin->displayname; - if ($options['show-all']) { + if ($options['show-all'] || $options['show-contrib']) { cli_writeln($pluginstring); } else { if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {