diff --git a/bin/noblogs.in b/bin/noblogs.in index ad9d2199bd3f54e1383e16329a6d10d0682e237c..7dd1a000e2fa54737466f917723b8ba1a806f662 100755 --- a/bin/noblogs.in +++ b/bin/noblogs.in @@ -81,6 +81,9 @@ Known commands: rename-plugins BLOG Disables old plugins and enables new ones, when there has been a change in names. + uninstall-plugin PLUGIN BLOG + Runs unistall action for PLUGIN. + <?php exit(1); } @@ -539,6 +542,31 @@ function do_rename_plugins($args){ } } + +function do_rename_plugins($args){ + include_once(NOBLOGS_ROOT . '/wp-admin/includes/plugin.php'); + $plugin = array_shift($args); + if (!$plugin) { + echo "Not enough arguments\n"; + help(); + } + + foreach ($args as $arg) { + $blog = noblogs_get_blog($arg); + if (!$blog) { + echo "{$arg}: blog not found.\n"; + continue; + } + switch_to_blog($blog->blog_id); + + $plugin_dir = NOBLOGS_ROOT . '/wp-content/plugins/'; + if (is_plugin_active( $plugin )){ + deactivate_plugins($plugin_dir . $plugin, false, false); + } + restore_current_blog(); + } +} + // Command-line parsing. $cmd = $argv[1]; if (!$cmd) {