Ticket #12387: 12387.diff
| File 12387.diff, 862 bytes (added by , 16 years ago) |
|---|
-
wp-admin/includes/user.php
76 76 77 77 if ( isset( $_POST['role'] ) && current_user_can( 'edit_users' ) ) { 78 78 $new_role = sanitize_text_field( $_POST['role'] ); 79 $potential_role = isset($wp_roles->role_objects[$new_role]) ? $wp_roles->role_objects[$new_role] : false; 79 80 // Don't let anyone with 'edit_users' (admins) edit their own role to something without it. 80 if ( $user_id != $current_user->id || $wp_roles->role_objects[$new_role]->has_cap( 'edit_users' ))81 if ( $user_id != $current_user->id || ($potential_role && $potential_role->has_cap( 'edit_users' ) ) ) 81 82 $user->role = $new_role; 82 83 83 84 // If the new role isn't editable by the logged-in user die with error