Changeset 6061
- Timestamp:
- 06/10/2016 04:09:10 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/includes/admin/users.php
r6057 r6061 53 53 54 54 // WordPress user screen 55 add_action( 'restrict_manage_users', array( $this, 'user_role_bulk_dropdown' ) ); 55 // Remvove the bottom list table "change forum role" dropdown from WordPress < 4.6. 56 // See https://bbpress.trac.wordpress.org/ticket/2906. 57 if ( bbp_get_major_wp_version() < 4.6 ) { 58 add_action( 'restrict_manage_users', array( __CLASS__, 'user_role_bulk_dropdown' ) ); 59 } else { 60 add_action( 'restrict_manage_users', array( $this, 'user_role_bulk_dropdown' ) ); 61 } 56 62 add_filter( 'manage_users_columns', array( $this, 'user_role_column' ) ); 57 63 add_filter( 'manage_users_custom_column', array( $this, 'user_role_row' ), 10, 3 ); … … 131 137 * 132 138 * @since 2.2.0 bbPress (r4360) 133 */ 134 public static function user_role_bulk_dropdown() { 139 * @since 2.6.0 bbPress (r6055) Introduced the `$which` parameter. 140 * 141 * @param string $which The location of the extra table nav markup: 'top' or 'bottom'. 142 */ 143 public static function user_role_bulk_dropdown( $which ) { 144 145 // Remove the bottom list table "change forum role" dropdown from WordPress < 4.6. 146 // See https://bbpress.trac.wordpress.org/ticket/2906. 147 if ( bbp_get_major_wp_version() < 4.6 ) { 148 remove_action( 'restrict_manage_users', array( __CLASS__, 'user_role_bulk_dropdown' ) ); 149 } 135 150 136 151 // Bail if current user cannot promote users … … 145 160 if ( ! bbp_is_user_keymaster() ) { 146 161 unset( $dynamic_roles[ bbp_get_keymaster_role() ] ); 147 } ?> 148 149 <label class="screen-reader-text" for="bbp-new-role"><?php esc_html_e( 'Change forum role to…', 'bbpress' ) ?></label> 150 <select name="bbp-new-role" id="bbp-new-role" style="display:inline-block; float:none;"> 162 } 163 164 $select_id = 'bottom' === $which ? 'bbp-new-role2' : 'bbp-new-role'; 165 $button_id = 'bottom' === $which ? 'bbp-change-role2' : 'bbp-change-role'; 166 ?> 167 168 <label class="screen-reader-text" for="<?php echo $select_id; ?>"><?php esc_html_e( 'Change forum role to…', 'bbpress' ) ?></label> 169 <select name="<?php echo $select_id; ?>" id="<?php echo $select_id; ?>" style="display:inline-block; float:none;"> 151 170 <option value=''><?php esc_html_e( 'Change forum role to…', 'bbpress' ) ?></option> 152 171 <?php foreach ( $dynamic_roles as $role => $details ) : ?> 153 172 <option value="<?php echo esc_attr( $role ); ?>"><?php echo translate_user_role( $details['name'] ); ?></option> 154 173 <?php endforeach; ?> 155 </select><?php submit_button( __( 'Change', 'bbpress' ), 'secondary', 'bbp-change-role', false );174 </select><?php submit_button( __( 'Change', 'bbpress' ), 'secondary', $button_id, false ); 156 175 157 176 wp_nonce_field( 'bbp-bulk-users', 'bbp-bulk-users-nonce' ); … … 161 180 * Process bulk dropdown form submission from the WordPress Users 162 181 * Table 182 * 183 * @since 2.2.0 bbPress (r4365) 163 184 * 164 185 * @uses current_user_can() to check for 'promote users' capability … … 176 197 177 198 // Bail if this isn't a bbPress action 178 if ( empty( $_REQUEST['bbp-new-role'] ) || empty( $_REQUEST['bbp-change-role'] ) ) { 179 return; 199 if ( ( empty( $_REQUEST['bbp-new-role'] ) && empty( $_REQUEST['bbp-new-role2'] ) ) || ( empty( $_REQUEST['bbp-change-role'] ) && empty( $_REQUEST['bbp-change-role2'] ) ) ) { 200 return; 201 } 202 203 $new_role = false; 204 if ( ! empty( $_REQUEST['bbp-change-role2'] ) && ! empty( $_REQUEST['bbp-new-role2'] ) ) { 205 $new_role = $_REQUEST['bbp-new-role2']; 206 } elseif ( ! empty( $_REQUEST['bbp-change-role'] ) && ! empty( $_REQUEST['bbp-new-role'] ) ) { 207 $new_role = $_REQUEST['bbp-new-role']; 180 208 } 181 209 182 210 // Check that the new role exists 183 211 $dynamic_roles = bbp_get_dynamic_roles(); 184 if ( empty( $dynamic_roles[ $_REQUEST['bbp-new-role']] ) ) {212 if ( ! $new_role || empty( $dynamic_roles[ $new_role ] ) ) { 185 213 return; 186 214 } … … 208 236 // Set up user and role data 209 237 $user_role = bbp_get_user_role( $user_id ); 210 $new_role = sanitize_text_field( $ _REQUEST['bbp-new-role']);238 $new_role = sanitize_text_field( $new_role ); 211 239 212 240 // Only keymasters can set other keymasters
Note: See TracChangeset
for help on using the changeset viewer.