bp_groups_admin_process_group_type_bulk_changes( string $doaction )
Process input from the Group Type bulk change select.
Description
Parameters
- $doaction
-
(string) (Required) Current $_GET action being performed in admin screen.
Source
File: bp-groups/bp-groups-admin.php
function bp_groups_admin_process_group_type_bulk_changes( $doaction ) { // Bail if no groups are specified or if this isn't a relevant action. if ( empty( $_REQUEST['gid'] ) || ( empty( $_REQUEST['bp_change_type'] ) && empty( $_REQUEST['bp_change_type2'] ) ) || empty( $_REQUEST['bp_change_group_type'] ) ) { return; } // Bail if nonce check fails. check_admin_referer( 'bp-bulk-groups-change-type-' . bp_loggedin_user_id(), 'bp-bulk-groups-change-type-nonce' ); if ( ! bp_current_user_can( 'bp_moderate' ) ) { return; } $new_type = ''; if ( ! empty( $_REQUEST['bp_change_type2'] ) ) { $new_type = sanitize_text_field( $_REQUEST['bp_change_type2'] ); } elseif ( ! empty( $_REQUEST['bp_change_type'] ) ) { $new_type = sanitize_text_field( $_REQUEST['bp_change_type'] ); } // Check that the selected type actually exists. if ( 'remove_group_type' !== $new_type && null === bp_groups_get_group_type_object( $new_type ) ) { $error = true; } else { // Run through group ids. $error = false; foreach ( (array) $_REQUEST['gid'] as $group_id ) { $group_id = (int) $group_id; // Get the old group type to check against. $group_type = bp_groups_get_group_type( $group_id ); if ( 'remove_group_type' === $new_type ) { // Remove the current group type, if there's one to remove. if ( $group_type ) { $removed = bp_groups_remove_group_type( $group_id, $group_type ); if ( false === $removed || is_wp_error( $removed ) ) { $error = true; } } } else { // Set the new group type. if ( $new_type !== $group_type ) { $set = bp_groups_set_group_type( $group_id, $new_type ); if ( false === $set || is_wp_error( $set ) ) { $error = true; } } } } } // If there were any errors, show the error message. if ( $error ) { $redirect = add_query_arg( array( 'updated' => 'group-type-change-error' ), wp_get_referer() ); } else { $redirect = add_query_arg( array( 'updated' => 'group-type-change-success' ), wp_get_referer() ); } wp_redirect( $redirect ); exit(); }
Changelog
Version | Description |
---|---|
BuddyPress 2.7.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.