bp_messages_add_user_to_group_message_thread( $group_id, $user_id )
Remove member to Group thread when h/she joined the group.
Description
Parameters
- $group_id
-
(Required)
- $user_id
-
(Required)
Source
File: bp-messages/bp-messages-filters.php
function bp_messages_add_user_to_group_message_thread( $group_id, $user_id ) {
global $wpdb, $bp, $messages_template;
// Add Member to group messages thread.
if ( true === bp_disable_group_messages() && bp_is_active( 'messages' ) ) {
$group_thread = (int) groups_get_groupmeta( (int) $group_id, 'group_message_thread' );
$recipients = BP_Messages_Thread::get_recipients_for_thread( (int) $group_thread );
$recipients = wp_list_pluck( $recipients, 'user_id' );
if ( $group_thread > 0 && ! in_array( (int) $user_id, $recipients, true ) ) {
$first_message = BP_Messages_Thread::get_first_message( $group_thread );
$message_users_ids = bp_messages_get_meta( $first_message->id, 'message_users_ids', true ); // users list
$message_users_ids = explode( ',', $message_users_ids );
array_push( $message_users_ids, $user_id );
$group_name = bp_get_group_name( groups_get_group( $group_id ) );
$text = sprintf( __( 'Joined "%s" ', 'buddyboss' ), $group_name );
bp_messages_update_meta( $first_message->id, 'message_users_ids', implode( ',', $message_users_ids ) );
$wpdb->query( $wpdb->prepare( "INSERT INTO {$bp->messages->table_name_recipients} ( user_id, thread_id, unread_count ) VALUES ( %d, %d, 0 )", $user_id, $group_thread ) );
remove_action( 'messages_message_sent', 'messages_notification_new_message', 10 );
remove_action( 'messages_message_sent', 'bp_messages_message_sent_add_notification', 10 );
$new_reply = messages_new_message( array(
'thread_id' => $group_thread,
'sender_id' => $user_id,
'subject' => '',
'content' => '<p> </p>',
'date_sent' => $date_sent = bp_core_current_time(),
'error_type' => 'wp_error',
) );
add_action( 'messages_message_sent', 'messages_notification_new_message', 10 );
add_action( 'messages_message_sent', 'bp_messages_message_sent_add_notification', 10 );
if ( ! is_wp_error( $new_reply ) && true === is_int( ( int ) $new_reply ) ) {
if ( bp_has_message_threads( array( 'include' => $new_reply ) ) ) {
while ( bp_message_threads() ) {
bp_message_thread();
$last_message_id = (int) $messages_template->thread->last_message_id;
bp_messages_update_meta( $last_message_id, 'group_message_group_joined', 'yes' );
bp_messages_update_meta( $last_message_id, 'group_id', $group_id );
}
}
}
}
}
}
Changelog
| Version | Description |
|---|---|
| BuddyBoss 1.3.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.