'; } 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('delete_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('delete_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() ) { wp_delete_user($id); } else { remove_user_from_blog($id, $blog_id); // WPMU only remove user from blog } break; case 'reassign': if ( !is_multisite() ) { 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('delete_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'); ?>
' . sprintf(_n('%s user deleted', '%s users deleted', $delete_count), $delete_count) . '
'; break; case 'add': $messages[] = '' . __('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.') . '