WordPress.org

Make WordPress Core

Ticket #40113: 40113.diff

File 40113.diff, 941 bytes (added by jeremyfelt, 2 years ago)
  • src/wp-admin/network/site-users.php

     
    138138                case 'promote':
    139139                        check_admin_referer( 'bulk-users' );
    140140                        $editable_roles = get_editable_roles();
    141                         if ( empty( $editable_roles[ $_REQUEST['new_role'] ] ) ) {
     141                        $role = false;
     142                        if ( ! empty( $_REQUEST['new_role2'] ) ) {
     143                                $role = $_REQUEST['new_role2'];
     144                        } elseif ( ! empty( $_REQUEST['new_role'] ) ) {
     145                                $role = $_REQUEST['new_role'];
     146                        }
     147
     148                        if ( empty( $editable_roles[ $role ] ) ) {
    142149                                wp_die( __( 'Sorry, you are not allowed to give users that role.' ) );
    143150                        }
    144151
     
    158165                                        }
    159166
    160167                                        $user = get_userdata( $user_id );
    161                                         $user->set_role( $_REQUEST['new_role'] );
     168                                        $user->set_role( $role );
    162169                                }
    163170                        } else {
    164171                                $update = 'err_promote';