From 65a0f4933a2360f195c8af4c26472fd70b162859 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sun, 5 Oct 2014 20:36:11 +0000 Subject: [PATCH] Network Admin: Properly check if the theme is active on the main site to avoid deleting it via bulk actions. props ocean90. fixes #29861. git-svn-id: https://develop.svn.wordpress.org/trunk@29839 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/network/themes.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/wp-admin/network/themes.php b/src/wp-admin/network/themes.php index a70d5b8404..90ef4f03a0 100644 --- a/src/wp-admin/network/themes.php +++ b/src/wp-admin/network/themes.php @@ -102,24 +102,24 @@ if ( $action ) { $themes = isset( $_REQUEST['checked'] ) ? (array) $_REQUEST['checked'] : array(); - unset( $themes[ get_option( 'stylesheet' ) ], $themes[ get_option( 'template' ) ] ); - if ( empty( $themes ) ) { wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) ); exit; } + $themes = array_diff( $themes, array( get_option( 'stylesheet' ), get_option( 'template' ) ) ); + + if ( empty( $themes ) ) { + wp_safe_redirect( add_query_arg( 'error', 'main', $referer ) ); + exit; + } + $files_to_delete = $theme_info = array(); foreach ( $themes as $key => $theme ) { $theme_info[ $theme ] = wp_get_theme( $theme ); $files_to_delete = array_merge( $files_to_delete, list_files( $theme_info[ $theme ]->get_stylesheet_directory() ) ); } - if ( empty( $themes ) ) { - wp_safe_redirect( add_query_arg( 'error', 'main', $referer ) ); - exit; - } - include(ABSPATH . 'wp-admin/update.php'); $parent_file = 'themes.php';