From 015c91abda01defda06278832d38fb7c460e0273 Mon Sep 17 00:00:00 2001 From: Mark Jaquith Date: Fri, 21 Mar 2008 19:34:27 +0000 Subject: [PATCH] Better plugin-deactivation array-fu from Denis-de-Bernardy. fixes #6332 git-svn-id: https://develop.svn.wordpress.org/trunk@7456 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/includes/plugin.php | 3 ++- wp-admin/plugin-editor.php | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php index 7cc04ffc03..be3f523039 100644 --- a/wp-admin/includes/plugin.php +++ b/wp-admin/includes/plugin.php @@ -119,7 +119,8 @@ function deactivate_plugins($plugins) { $item = array_search( $plugin, $current); if( false === $item) continue; - array_splice($current, $item, 1 ); // Array-fu! + if ( ( $key = array_search( $plugin, $current) ) !== false ) + array_splice($current, $key, 1 ); // Fixed Array-fu! do_action('deactivate_' . trim( $plugin )); } diff --git a/wp-admin/plugin-editor.php b/wp-admin/plugin-editor.php index ab46c82dfb..3c786ce081 100644 --- a/wp-admin/plugin-editor.php +++ b/wp-admin/plugin-editor.php @@ -40,7 +40,8 @@ case 'update': $current = get_option('active_plugins'); if ( in_array($file, $current) || isset($_POST['phperror']) ) { if ( in_array($file, $current) ) { - array_splice($current, array_search( $file, $current), 1 ); // Array-fu! + if ( ( $key = array_search( $plugin, $current) ) !== false ) + array_splice($current, $key, 1 ); // Fixed Array-fu! update_option('active_plugins', $current); } wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1"));