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.