Home › Forums › BP Better Messages › many threads with one user
- This topic has 14 replies, 3 voices, and was last updated 6 years, 10 months ago by
Support.
-
AuthorPosts
-
March 21, 2018 at 10:19 am #6126
Alfred
ParticipantHi,
I am using web socket version of your plugin. I find out that I can create many threads with the same user. Is it possible to limit to have only one thread with specific user just like on messenger?
Cheers,
AlfredMarch 21, 2018 at 10:55 am #6127Support
KeymasterHi there!
Yes it’s possible by adding some filters and hooks.
Or just wait and I will add this option in next version 🙂
Thanks!
March 21, 2018 at 11:02 am #6128Alfred
ParticipantAndrij,
Thank you for such a quick answer. Can you provide me with those filters and hooks?
It is quite urgent 😉
Cheers,
AlfredMarch 21, 2018 at 11:05 am #6129Support
KeymasterI haven’t the code ready at the moment. I will send when I have!
March 21, 2018 at 11:07 am #6130Alfred
ParticipantThat’s great. I really appreciate it! When would it be ready?
March 21, 2018 at 11:58 am #6131Support
Keymasteradd_action( 'bp_better_messages_before_new_thread', 'disable_start_thread_if_thread_exist', 10, 2 ); function disable_start_thread_if_thread_exist(&$args, &$errors){ global $wpdb; $recipients = $args['recipients']; $threadExists = array(); foreach($recipients as $recipient){ $user = get_user_by('login', $recipient); $from = get_current_user_id(); $to = $user->ID; $query = $wpdb->prepare("SELECT {$wpdb->base_prefix}bp_messages_recipients.thread_id FROM {$wpdb->base_prefix}bp_messages_recipients INNER JOIN {$wpdb->base_prefix}bp_messages_recipients {$wpdb->base_prefix}bp_messages_recipients_1 ON {$wpdb->base_prefix}bp_messages_recipients.thread_id = {$wpdb->base_prefix}bp_messages_recipients_1.thread_id WHERE {$wpdb->base_prefix}bp_messages_recipients.user_id = %d AND {$wpdb->base_prefix}bp_messages_recipients.is_deleted = 0 AND {$wpdb->base_prefix}bp_messages_recipients_1.user_id = %d", $from, $to); $threads = $wpdb->get_col($query); if( count($threads) > 0) { $threadExists[] = $recipient; } } if(count($threadExists) > 0){ $message = sprintf(__('You already have threads with %s', 'bp-better-messages'), implode(', ', $threadExists)); $errors[] = $message; } }
March 22, 2018 at 10:57 am #6136Alfred
ParticipantAndrij,
That worked perfectly. Thanks!
Is it possible to open this particular existing thread automatically?Cheers,
AlfredMarch 22, 2018 at 2:35 pm #6137Support
KeymasterDid you tried fast threads?
March 24, 2018 at 10:36 am #6140Alfred
ParticipantHi Andrij,
After few days of using your solution I figured out that it is still possible to have many threads with one user. It can be done by using “Private message” button from profile header. After hitting this button user is redirected to new thread without ‘You already have threads with %s’ message.
Can you help me with figuring out how to fix this?Cheers,
AlfredMarch 24, 2018 at 10:48 am #6141Petr
ParticipantWhat is fast threads, please? I’m also looking for solution how to automatically open existing thread.
March 25, 2018 at 2:20 pm #6142Support
KeymasterHi there peoples!
I will made better solution including all your notices and place it here.
Thanks!
March 26, 2018 at 4:28 pm #6145Alfred
ParticipantAndrij,
That is great. When you will post it?
Cheers,
AlfredMarch 26, 2018 at 10:25 pm #6146Support
KeymasterI was need to change some code in core to make this functionality.
It will be included as option in plugin configuration in next update.
I just need to finish some other things before release.ETA is 3 to 5 days I think
-
This reply was modified 6 years, 11 months ago by
Support.
April 3, 2018 at 10:15 am #6149Alfred
ParticipantHi Andrij,
Any update?
Cheers,
AlfredApril 4, 2018 at 2:59 pm #6151 -
This reply was modified 6 years, 11 months ago by
-
AuthorPosts
- You must be logged in to reply to this topic.