'; } elseif ( isset($_REQUEST['wp_http_referer']) ) { $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), stripslashes($_REQUEST['wp_http_referer'])); $referer = ''; } else { $redirect = 'users.php'; $referer = ''; } switch ($doaction) { /* Bulk Dropdown menu Role changes */ case 'promote': check_admin_referer('bulk-users'); if ( empty($_REQUEST['users']) ) { wp_redirect($redirect); exit(); } $editable_roles = get_editable_roles(); if ( !$editable_roles[$_REQUEST['new_role']] ) wp_die(__('You can’t give users that role.')); $userids = $_REQUEST['users']; $update = 'promote'; foreach ( $userids as $id ) { if ( ! current_user_can('edit_user', $id) ) wp_die(__('You can’t edit that user.')); // The new role of the current user must also have edit_users caps if ( $id == $current_user->ID && !$wp_roles->role_objects[$_REQUEST['new_role']]->has_cap('edit_users') ) { $update = 'err_admin_role'; continue; } $user = new WP_User($id); $user->set_role($_REQUEST['new_role']); } wp_redirect(add_query_arg('update', $update, $redirect)); exit(); break; case 'dodelete': check_admin_referer('delete-users'); if ( empty($_REQUEST['users']) ) { wp_redirect($redirect); exit(); } if ( !current_user_can($del_cap_type . '_users') ) wp_die(__('You can’t delete users.')); $userids = $_REQUEST['users']; $update = 'del'; $delete_count = 0; foreach ( (array) $userids as $id) { if ( ! current_user_can($del_cap_type . '_user', $id) ) wp_die(__('You can’t delete that user.')); if ( $id == $current_user->ID ) { $update = 'err_admin_del'; continue; } switch ( $_REQUEST['delete_option'] ) { case 'delete': if ( !is_multisite() && current_user_can('delete_user', $id) ) wp_delete_user($id); else remove_user_from_blog($id, $blog_id); // WPMU only remove user from blog break; case 'reassign': if ( !is_multisite() && current_user_can('delete_user', $id) ) wp_delete_user($id, $_REQUEST['reassign_user']); else remove_user_from_blog($id, $blog_id, $_REQUEST['reassign_user']); break; } ++$delete_count; } $redirect = add_query_arg( array('delete_count' => $delete_count, 'update' => $update), $redirect); wp_redirect($redirect); exit(); break; case 'delete': check_admin_referer('bulk-users'); if ( empty($_REQUEST['users']) && empty($_REQUEST['user']) ) { wp_redirect($redirect); exit(); } if ( !current_user_can($del_cap_type . '_users') ) $errors = new WP_Error('edit_users', __('You can’t delete users.')); if ( empty($_REQUEST['users']) ) $userids = array(intval($_REQUEST['user'])); else $userids = $_REQUEST['users']; include ('admin-header.php'); ?>
get_results()); // Query the users for this page cache_users($wp_user_search->get_results()); $messages = array(); if ( isset($_GET['update']) ) : switch($_GET['update']) { case 'del': case 'del_many': $delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0; $messages[] = '' . sprintf(_n('%s user deleted', '%s users deleted', $delete_count), $delete_count) . '
' . __('New user created.') . '
' . __('Changed roles.') . '
' . __('The current user’s role must have user editing capabilities.') . '
' . __('Other user roles have been changed.') . '
' . __('You can’t delete the current user.') . '
' . __('Other users have been deleted.') . '