Make WordPress Core

Ticket #41177: 41177.diff

File 41177.diff, 2.6 KB (added by flixos90, 7 years ago)
  • src/wp-admin/network/sites.php

     
    132132                        }
    133133                break;
    134134
     135                case 'delete_sites':
     136                        check_admin_referer( 'ms-delete-sites' );
     137
     138                        foreach ( (array) $_POST['site_ids'] as $site_id ) {
     139                                $site_id = (int) $site_id;
     140
     141                                if ( $site_id == get_network()->site_id ) {
     142                                        continue;
     143                                }
     144
     145                                if ( ! current_user_can( 'delete_site', $site_id ) ) {
     146                                        $site = get_site( $site_id );
     147                                        $site_address = untrailingslashit( $site->domain . $site->path );
     148
     149                                        wp_die( sprintf( __( 'Sorry, you are not allowed to delete the site %s.' ), $site_address ) );
     150                                }
     151
     152                                $updated_action = 'all_delete';
     153                                wpmu_delete_blog( $site_id, true );
     154                        }
     155                        break;
     156
    135157                case 'allblogs':
    136158                        if ( ( isset( $_POST['action'] ) || isset( $_POST['action2'] ) ) && isset( $_POST['allblogs'] ) ) {
    137159                                $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2'];
     
    140162                                        if ( $val != '0' && $val != get_network()->site_id ) {
    141163                                                switch ( $doaction ) {
    142164                                                        case 'delete':
    143                                                                 if ( ! current_user_can( 'delete_site', $val ) )
    144                                                                         wp_die( __( 'Sorry, you are not allowed to delete the site.' ) );
    145 
    146                                                                 $updated_action = 'all_delete';
    147                                                                 wpmu_delete_blog( $val, true );
     165                                                                require_once( ABSPATH . 'wp-admin/admin-header.php' );
     166                                                                ?>
     167                                                                <div class="wrap">
     168                                                                        <h1><?php _e( 'Confirm your action' ); ?></h1>
     169                                                                        <form action="sites.php?action=delete_sites" method="post">
     170                                                                                <input type="hidden" name="action" value="delete_sites" />
     171                                                                                <input type="hidden" name="_wp_http_referer" value="<?php echo esc_attr( wp_get_referer() ); ?>" />
     172                                                                                <?php wp_nonce_field( 'ms-delete-sites', '_wpnonce', false ); ?>
     173                                                                                <p><?php _e( 'You are about to delete the following sites:' ); ?></p>
     174                                                                                <ul class="ul-disc">
     175                                                                                        <?php foreach ( $_POST['allblogs'] as $site_id ) :
     176                                                                                                $site = get_site( $site_id );
     177                                                                                                $site_address = untrailingslashit( $site->domain . $site->path );
     178                                                                                                ?>
     179                                                                                                <li>
     180                                                                                                        <?php echo $site_address; ?>
     181                                                                                                        <input type="hidden" name="site_ids[]" value="<?php echo (int) $site_id; ?>" />
     182                                                                                                </li>
     183                                                                                        <?php endforeach; ?>
     184                                                                                </ul>
     185                                                                                <?php submit_button( __( 'Confirm' ), 'primary' ); ?>
     186                                                                        </form>
     187                                                                </div>
     188                                                                <?php
     189                                                                require_once( ABSPATH . 'wp-admin/admin-footer.php' );
     190                                                                exit();
    148191                                                        break;
    149192
    150193                                                        case 'spam':