WordPress.org

Make WordPress Core

Ticket #16166: 16166.users-first-pass.diff

File 16166.users-first-pass.diff, 3.9 KB (added by nacin, 11 years ago)
  • wp-admin/users.php

     
    4242
    4343$update = '';
    4444
    45 switch ( $wp_list_table->current_action() ) {
     45if ( $doaction = $wp_list_table->current_action() ) {
    4646
     47switch ( $doaction ) {
     48
    4749/* Bulk Dropdown menu Role changes */
    4850case 'promote':
    4951        check_admin_referer('bulk-users');
    5052
    51         if ( empty($_REQUEST['users']) ) {
    52                 wp_redirect($redirect);
    53                 exit();
    54         }
     53        if ( empty($_REQUEST['users']) )
     54                break;
    5555
    5656        $editable_roles = get_editable_roles();
    5757        if ( empty( $editable_roles[$_REQUEST['new_role']] ) )
     
    6565                if ( ! current_user_can('promote_user', $id) )
    6666                        wp_die(__('You can’t edit that user.'));
    6767                // The new role of the current user must also have promote_users caps
    68                 if ( $id == $current_user->ID && !$wp_roles->role_objects[$_REQUEST['new_role']]->has_cap('promote_users') ) {
     68                if ( $id == $current_user->ID && ! current_user_can('promote_users') ) {
    6969                        $update = 'err_admin_role';
    7070                        continue;
    7171                }
     
    7878                $user->set_role($_REQUEST['new_role']);
    7979        }
    8080
    81         wp_redirect(add_query_arg('update', $update, $redirect));
    82         exit();
     81        $redirect = add_query_arg( 'update', $update, $redirect );
    8382
    8483break;
    8584
     
    8988
    9089        check_admin_referer('delete-users');
    9190
    92         if ( empty($_REQUEST['users']) ) {
    93                 wp_redirect($redirect);
    94                 exit();
    95         }
     91        if ( empty($_REQUEST['users']) )
     92                break;
    9693
    9794        if ( ! current_user_can( 'delete_users' ) )
    9895                wp_die(__('You can’t delete users.'));
     
    125122        }
    126123
    127124        $redirect = add_query_arg( array('delete_count' => $delete_count, 'update' => $update), $redirect);
    128         wp_redirect($redirect);
    129         exit();
    130125
    131126break;
    132127
     
    136131
    137132        check_admin_referer('bulk-users');
    138133
    139         if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) ) {
    140                 wp_redirect($redirect);
    141                 exit();
    142         }
     134        if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) )
     135                break;
    143136
    144137        if ( ! current_user_can( 'delete_users' ) )
    145138                $errors = new WP_Error( 'edit_users', __( 'You can’t delete users.' ) );
     
    149142        else
    150143                $userids = $_REQUEST['users'];
    151144
     145        $redirect = false;
     146
    152147        include ('admin-header.php');
    153148?>
    154149<form action="" method="post" name="updateusers" id="updateusers">
     
    191186</div>
    192187</form>
    193188<?php
     189include('./admin-footer.php');
    194190
    195191break;
    196192
    197193case 'doremove':
    198194        check_admin_referer('remove-users');
    199195
    200         if ( empty($_REQUEST['users']) ) {
    201                 wp_redirect($redirect);
    202                 exit;
    203         }
     196        if ( empty($_REQUEST['users']) )
     197                break;
    204198
    205199        if ( !current_user_can('remove_users')  )
    206200                die(__('You can&#8217;t remove users.'));
     
    222216        }
    223217
    224218        $redirect = add_query_arg( array('update' => $update), $redirect);
    225         wp_redirect($redirect);
    226         exit;
    227219
    228220break;
    229221
     
    231223
    232224        check_admin_referer('bulk-users');
    233225
    234         if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) ) {
    235                 wp_redirect($redirect);
    236                 exit();
    237         }
     226        if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) )
     227                break;
    238228
    239229        if ( !current_user_can('remove_users') )
    240230                $error = new WP_Error('edit_users', __('You can&#8217;t remove users.'));
     
    244234        else
    245235                $userids = $_REQUEST['users'];
    246236
     237        $redirect = false;
     238
    247239        include ('admin-header.php');
    248240?>
    249241<form action="" method="post" name="updateusers" id="updateusers">
     
    279271</div>
    280272</form>
    281273<?php
     274include('./admin-footer.php');
    282275
    283276break;
    284277
    285278default:
    286279
    287         if ( !empty($_GET['_wp_http_referer']) ) {
     280} // end of the $doaction switch
     281
     282        if ( $redirect )
     283                wp_redirect( $redirect );
     284        exit();
     285
     286} // end of the $doaction if
     287elseif ( !empty($_GET['_wp_http_referer']) ) {
    288288                wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI'])));
    289289                exit;
    290         }
     290}
    291291
    292292        $wp_list_table->prepare_items();
    293293
     
    378378<br class="clear" />
    379379</div>
    380380<?php
    381 break;
    382381
    383 } // end of the $doaction switch
    384 
    385382include('./admin-footer.php');