WordPress.org

Make WordPress Core

Ticket #17905: 17905.diff

File 17905.diff, 1.6 KB (added by duck_, 7 years ago)
  • wp-admin/network/edit.php

     
    2828        <h2><?php esc_html_e( 'Users' ); ?></h2>
    2929        <p><?php _e( 'Transfer or delete posts and links before deleting users.' ); ?></p>
    3030        <form action="edit.php?action=dodelete" method="post">
    31         <input type="hidden" name="dodelete" />
    3231        <?php
    3332        wp_nonce_field( 'ms-users-delete' );
    3433        $site_admins = get_super_admins();
    3534        $admin_out = "<option value='$current_user->ID'>$current_user->user_login</option>";
    3635
    37         foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) {
     36        foreach ( $users as $key => $val ) {
    3837                if ( $val != '' && $val != '0' ) {
    3938                        $delete_user = new WP_User( $val );
    4039
     
    5857                                                $user_dropdown = "<select name='blog[$val][{$key}]'>";
    5958                                                $user_list = '';
    6059                                                foreach ( $blog_users as $user ) {
    61                                                         if ( ! in_array( $user->ID, $allusers ) )
     60                                                        if ( ! in_array( $user->ID, $users ) )
    6261                                                                $user_list .= "<option value='{$user->ID}'>{$user->user_login}</option>";
    6362                                                }
    6463                                                if ( '' == $user_list )
     
    447446                                        if ( ! current_user_can( 'delete_user', $id ) )
    448447                                                continue;
    449448
    450                                         if ( ! empty( $_POST['delete'] ) && 'reassign' == $_POST['delete'][$blogid][$id] )
     449                                        // only remove from blog now if reassigning so that wpmu_delete_user can trash posts
     450                                        if ( ! empty( $_POST['delete'] ) && 'reassign' == $_POST['delete'][$blogid][$id] ) {
    451451                                                remove_user_from_blog( $id, $blogid, $user_id );
    452                                         else
    453                                                 remove_user_from_blog( $id, $blogid );
     452                                        }
    454453                                }
    455454                        }
    456455                }