From 31db8d6cee985388bf805b1bcd57a97a3fa580a3 Mon Sep 17 00:00:00 2001 From: Jeremy Felt Date: Thu, 18 May 2017 17:07:23 +0000 Subject: [PATCH] Multisite: Handle both role change selections in `site-users.php`. Previously, a role selected below the list table would not apply on save. This aligns the behavior with `wp-admin/users.php` and allows role changes from both selections, deferring to the bottom selection when both are populated. Props desrosj. Fixes #40113. git-svn-id: https://develop.svn.wordpress.org/trunk@40780 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/network/site-users.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/network/site-users.php b/src/wp-admin/network/site-users.php index fcd1a863d0..eb96158c08 100644 --- a/src/wp-admin/network/site-users.php +++ b/src/wp-admin/network/site-users.php @@ -138,7 +138,14 @@ if ( $action ) { case 'promote': check_admin_referer( 'bulk-users' ); $editable_roles = get_editable_roles(); - if ( empty( $editable_roles[ $_REQUEST['new_role'] ] ) ) { + $role = false; + if ( ! empty( $_REQUEST['new_role2'] ) ) { + $role = $_REQUEST['new_role2']; + } elseif ( ! empty( $_REQUEST['new_role'] ) ) { + $role = $_REQUEST['new_role']; + } + + if ( empty( $editable_roles[ $role ] ) ) { wp_die( __( 'Sorry, you are not allowed to give users that role.' ) ); } @@ -158,7 +165,7 @@ if ( $action ) { } $user = get_userdata( $user_id ); - $user->set_role( $_REQUEST['new_role'] ); + $user->set_role( $role ); } } else { $update = 'err_promote';