+case 'doremove':
+ check_admin_referer('remove-users');
+
+ if ( ! is_multisite() )
+ wp_die( __( 'You can’t remove users.' ) );
+
+ if ( empty($_REQUEST['users']) ) {
+ wp_redirect($redirect);
+ exit;
+ }
+
+ if ( ! current_user_can( 'remove_users' ) )
+ wp_die( __( 'You can’t remove users.' ) );
+
+ $userids = $_REQUEST['users'];
+
+ $update = 'remove';
+ foreach ( $userids as $id ) {
+ $id = (int) $id;
+ if ( $id == $current_user->ID && !is_super_admin() ) {
+ $update = 'err_admin_remove';
+ continue;
+ }
+ if ( !current_user_can('remove_user', $id) ) {
+ $update = 'err_admin_remove';
+ continue;
+ }
+ remove_user_from_blog($id, $blog_id);
+ }
+
+ $redirect = add_query_arg( array('update' => $update), $redirect);
+ wp_redirect($redirect);
+ exit;
+
+case 'remove':
+
+ check_admin_referer('bulk-users');
+
+ if ( ! is_multisite() )
+ wp_die( __( 'You can’t remove users.' ) );
+
+ if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) ) {
+ wp_redirect($redirect);
+ exit();
+ }
+
+ if ( !current_user_can('remove_users') )
+ $error = new WP_Error('edit_users', __('You can’t remove users.'));
+
+ if ( empty($_REQUEST['users']) )
+ $userids = array(intval($_REQUEST['user']));
+ else
+ $userids = $_REQUEST['users'];
+
+ include( ABSPATH . 'wp-admin/admin-header.php' );
+?>
+<form method="post" name="updateusers" id="updateusers">
+<?php wp_nonce_field('remove-users') ?>
+<?php echo $referer; ?>
+
+<div class="wrap">
+<h1><?php _e( 'Remove Users from Site' ); ?></h1>
+
+<?php if ( 1 == count( $userids ) ) : ?>
+ <p><?php _e( 'You have specified this user for removal:' ); ?></p>
+<?php else : ?>
+ <p><?php _e( 'You have specified these users for removal:' ); ?></p>
+<?php endif; ?>
+
+<ul>
+<?php
+ $go_remove = false;
+ foreach ( $userids as $id ) {
+ $id = (int) $id;
+ $user = get_userdata( $id );
+ if ( $id == $current_user->ID && !is_super_admin() ) {
+ echo "<li>" . sprintf(__('ID #%1$s: %2$s <strong>The current user will not be removed.</strong>'), $id, $user->user_login) . "</li>\n";
+ } elseif ( !current_user_can('remove_user', $id) ) {
+ echo "<li>" . sprintf(__('ID #%1$s: %2$s <strong>You don\'t have permission to remove this user.</strong>'), $id, $user->user_login) . "</li>\n";
+ } else {
+ echo "<li><input type=\"hidden\" name=\"users[]\" value=\"{$id}\" />" . sprintf(__('ID #%1$s: %2$s'), $id, $user->user_login) . "</li>\n";
+ $go_remove = true;
+ }
+ }
+ ?>
+</ul>
+<?php if ( $go_remove ) : ?>
+ <input type="hidden" name="action" value="doremove" />
+ <?php submit_button( __('Confirm Removal'), 'primary' ); ?>
+<?php else : ?>
+ <p><?php _e('There are no valid users selected for removal.'); ?></p>
+<?php endif; ?>
+</div>
+</form>
+<?php
+
+break;
+