Home › Forums › BP Better Messages › many threads with one user
- This topic has 14 replies, 3 voices, and was last updated 7 years ago by
SupportVerified.
-
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 #6127SupportVerified
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 #6129SupportVerified
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 #6131SupportVerified
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 #6137SupportVerified
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 #6142SupportVerified
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 #6146SupportVerified
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 7 years ago by
SupportVerified.
April 3, 2018 at 10:15 am #6149Alfred
ParticipantHi Andrij,
Any update?
Cheers,
AlfredApril 4, 2018 at 2:59 pm #6151SupportVerified
KeymasterHi there!
Im testing new version, need some more time to publish.
Thanks
-
This reply was modified 7 years ago by
SupportVerified.
-
This reply was modified 7 years ago by
-
AuthorPosts
- You must be logged in to reply to this topic.