BBP_Users_Admin::user_role_bulk_change()
Process bulk dropdown form submission from the WordPress Users Table
Description Description
Return Return
(bool) Always false
Source Source
File: includes/admin/users.php
public function user_role_bulk_change() { // Bail if no users specified if ( empty( $_REQUEST['users'] ) ) { return; } // Bail if this isn't a bbPress action if ( ( empty( $_REQUEST['bbp-new-role'] ) && empty( $_REQUEST['bbp-new-role2'] ) ) || ( empty( $_REQUEST['bbp-change-role'] ) && empty( $_REQUEST['bbp-change-role2'] ) ) ) { return; } $new_role = false; if ( ! empty( $_REQUEST['bbp-change-role2'] ) && ! empty( $_REQUEST['bbp-new-role2'] ) ) { $new_role = $_REQUEST['bbp-new-role2']; } elseif ( ! empty( $_REQUEST['bbp-change-role'] ) && ! empty( $_REQUEST['bbp-new-role'] ) ) { $new_role = $_REQUEST['bbp-new-role']; } // Check that the new role exists $dynamic_roles = bbp_get_dynamic_roles(); if ( ! $new_role || empty( $dynamic_roles[ $new_role ] ) ) { return; } // Bail if nonce check fails check_admin_referer( 'bbp-bulk-users', 'bbp-bulk-users-nonce' ); // Bail if current user cannot promote users if ( ! current_user_can( 'promote_users' ) ) { return; } // Get the current user ID $current_user_id = (int) bbp_get_current_user_id(); // Run through user ids foreach ( (array) $_REQUEST['users'] as $user_id ) { $user_id = (int) $user_id; // Don't let a user change their own role if ( $user_id === $current_user_id ) { continue; } // Set up user and role data $user_role = bbp_get_user_role( $user_id ); $new_role = sanitize_text_field( $new_role ); // Only keymasters can set other keymasters if ( in_array( bbp_get_keymaster_role(), array( $user_role, $new_role ), true ) && ! bbp_is_user_keymaster() ) { continue; } // Set the new forums role if ( $new_role !== $user_role ) { bbp_set_user_role( $user_id, $new_role ); } } }
Changelog Changelog
Version | Description |
---|---|
2.2.0 | Introduced. |