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
This commit is contained in:
Sergey Biryukov
2014-10-05 20:36:11 +00:00
parent 37f96ce3e6
commit 65a0f4933a
+7 -7
View File
@@ -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';