diff --git a/wp-admin/menu.php b/wp-admin/menu.php index ba14a097c8..f4fee7281f 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -228,7 +228,7 @@ $menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-ic $submenu['tools.php'][10] = array( __('Import'), 'import', 'import.php' ); $submenu['tools.php'][15] = array( __('Export'), 'export', 'export.php' ); if ( is_multisite() && !is_main_site() ) - $submenu['tools.php'][25] = array( __('Delete Site'), 'manage_options', 'ms-delete-site.php' ); + $submenu['tools.php'][25] = array( __('Delete Site'), 'delete_site', 'ms-delete-site.php' ); if ( ! is_multisite() && defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE ) $submenu['tools.php'][50] = array(__('Network Setup'), 'manage_options', 'network.php'); diff --git a/wp-admin/ms-delete-site.php b/wp-admin/ms-delete-site.php index dfaca6c148..af8a5e05dc 100644 --- a/wp-admin/ms-delete-site.php +++ b/wp-admin/ms-delete-site.php @@ -12,8 +12,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' ); if ( !is_multisite() ) wp_die( __( 'Multisite support is not enabled.' ) ); -// @todo Create a delete blog cap. -if ( ! current_user_can( 'manage_options' ) ) +if ( ! current_user_can( 'delete_site' ) ) wp_die(__( 'You do not have sufficient permissions to delete this site.')); if ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option( 'delete_blog_hash' ) != false ) { diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 0289fc32e7..bf9e8e3a41 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -1345,6 +1345,9 @@ function map_meta_cap( $cap, $user_id ) { case 'customize' : $caps[] = 'edit_theme_options'; break; + case 'delete_site': + $caps[] = 'manage_options'; + break; default: // Handle meta capabilities for custom post types. $post_type_meta_caps = _post_type_meta_capabilities(); diff --git a/wp-includes/version.php b/wp-includes/version.php index 2966a77295..c9ee97788d 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.2-alpha-31672'; +$wp_version = '4.2-alpha-31673'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.