bp_messages_remove_user_to_group_message_thread( $group_id, $user_id )
Add 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_remove_user_to_group_message_thread( $group_id, $user_id ) { global $wpdb, $bp, $messages_template; 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 ); if ( ( $key = array_search( $user_id, $message_users_ids ) ) !== false ) { unset( $message_users_ids[ $key ] ); } bp_messages_update_meta( $first_message->id, 'message_users_ids', implode( ',', $message_users_ids ) ); 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( 'sender_id' => $user_id, 'thread_id' => $group_thread, '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_left', 'yes' ); bp_messages_update_meta( $last_message_id, 'group_id', (int) $group_id ); } } } $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->messages->table_name_recipients} WHERE user_id = %d AND thread_id = %d", $user_id, (int) $group_thread ) ); } } }
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.