bp_nouveau_ajax_send_group_invites()
AJAX send group invite.
Description
Source
File: bp-templates/bp-nouveau/includes/groups/ajax.php
function bp_nouveau_ajax_send_group_invites() { $bp = buddypress(); $response = array( 'feedback' => __( 'Invites could not be sent. Please try again.', 'buddyboss' ), 'type' => 'error', ); // Verify nonce if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'groups_send_invites' ) ) { wp_send_json_error( $response ); } $group_id = bp_get_current_group_id()?: $_POST['group_id']; if ( bp_is_group_create() && ! empty( $_POST['group_id'] ) ) { $group_id = (int) $_POST['group_id']; } if ( ! bp_groups_user_can_send_invites( $group_id ) ) { $response['feedback'] = __( 'You are not allowed to send invitations for this group.', 'buddyboss' ); wp_send_json_error( $response ); } if ( empty( $_POST['users'] ) ) { wp_send_json_error( $response ); } if ( ! empty( $_POST['message'] ) ) { $bp->groups->invites_message = wp_kses( wp_unslash( $_POST['message'] ), array() ); add_filter( 'groups_notification_group_invites_message', 'bp_nouveau_groups_invites_custom_message', 10, 1 ); } // For feedback $invited = array(); foreach ( (array) $_POST['users'] as $user_id ) { $invited[ (int) $user_id ] = groups_invite_user( array( 'user_id' => $user_id, 'group_id' => $group_id, ) ); } // Send the invites. groups_send_invites( bp_loggedin_user_id(), $group_id ); if ( ! empty( $_POST['message'] ) ) { unset( $bp->groups->invites_message ); remove_filter( 'groups_notification_group_invites_message', 'bp_nouveau_groups_invites_custom_message', 10, 1 ); } if ( array_search( false, $invited ) ) { $errors = array_keys( $invited, false ); $error_count = count( $errors ); $error_message = sprintf( /* translators: count of users affected */ _n( 'Invitation failed for %s user.', 'Invitation failed for %s users.', $error_count, 'buddyboss' ), number_format_i18n( $error_count ) ); wp_send_json_error( array( 'feedback' => $error_message, 'users' => $errors, 'type' => 'error', ) ); } wp_send_json_success( array( 'feedback' => __( 'Invitations sent.', 'buddyboss' ), 'type' => 'success', ) ); }
Changelog
Version | Description |
---|---|
BuddyPress 3.0.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.