diff options
Diffstat (limited to 'wp-admin/plugins.php')
-rw-r--r-- | wp-admin/plugins.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php index 68e1caf..a4edf30 100644 --- a/wp-admin/plugins.php +++ b/wp-admin/plugins.php @@ -19,11 +19,13 @@ if ( isset($_GET['action']) ) { wp_die(__('Plugin file does not exist.')); if (!in_array($plugin, $current)) { wp_redirect('plugins.php?error=true'); // we'll override this later if the plugin can be included without fatal error + ob_start(); @include(ABSPATH . PLUGINDIR . '/' . $plugin); $current[] = $plugin; sort($current); update_option('active_plugins', $current); do_action('activate_' . $plugin); + ob_end_clean(); } wp_redirect('plugins.php?activate=true'); // overrides the ?error=true one above } else if ('deactivate' == $_GET['action']) { @@ -33,6 +35,17 @@ if ( isset($_GET['action']) ) { update_option('active_plugins', $current); do_action('deactivate_' . trim( $_GET['plugin'] )); wp_redirect('plugins.php?deactivate=true'); + } elseif ($_GET['action'] == 'deactivate-all') { + check_admin_referer('deactivate-all'); + $current = get_option('active_plugins'); + + foreach ($current as $plugin) { + array_splice($current, array_search($plugin, $current), 1); + do_action('deactivate_' . $plugin); + } + + update_option('active_plugins', array()); + wp_redirect('plugins.php?deactivate-all=true'); } exit; } @@ -72,6 +85,8 @@ foreach ($check_plugins as $check_plugin) { <div id="message" class="updated fade"><p><?php _e('Plugin <strong>activated</strong>.') ?></p></div> <?php elseif ( isset($_GET['deactivate']) ) : ?> <div id="message" class="updated fade"><p><?php _e('Plugin <strong>deactivated</strong>.') ?></p></div> +<?php elseif (isset($_GET['deactivate-all'])) : ?> + <div id="message" class="updated fade"><p><?php _e('All plugins <strong>deactivated</strong>.'); ?></p></div> <?php endif; ?> <div class="wrap"> @@ -139,6 +154,11 @@ if (empty($plugins)) { } ?> +<tr> + <td colspan="3"> </td> + <td colspan="2" style="width:12em;"><a href="<?php echo wp_nonce_url('plugins.php?action=deactivate-all', 'deactivate-all'); ?>" class="delete"><?php _e('Deactivate All Plugins'); ?></a></td> +</tr> + </table> <?php } |