XF 1.5 Disinviting someone from a private conversation

nassella

Active member
We have a problem in a very private conversation involving about 15 people. The conversation was open - anyone could invite anyone - but someone invited someone who is not welcome in the group at all. That person has not joined the group. In the meantime I changed the permission so that only I could invite someone.

My question is whether my changing the permissions after the person was invited will stop that person from joining the group or if they'll be able to still join it?

Or is there any other whether that person can be disinvited or prevented from joining the group?

Either we have to ensure that that person does not enter the group or we have to do something with the private conversation (which is very long) such as possibly even delete it or move it or?
 
Last edited:
Changing permissions after the fact won't change that they've already been invited.

Once a user has been invited, they can't be uninvited. Unfortunately, you would need an add-on or to edit elements in the DB directly to change that.
 
Unfortunately, you would need an add-on or to edit elements in the DB directly to change that.

What all to edit in the DB to remove a user from a conversation?

So far this is what I've figured out but I think I'm missing some more queries/steps:


  1. Change recipient_state in xf_conversation_recipient to deleted_ignored for the row with the correct conversation and user id.

  2. Delete the row in xf_conversation_user where owner_user_id matches that of the user to be removed and conversation_id matches the applicable conversation.

Should it be deleted_ignored in step 1 or delete?

I also think voluntarily leaving a conversation doesn't remove that person from the 'Conversation Participants' list? Which means recipients in xf_conversation_master remains unchanged?


Would be great if anyone can tell me what I'm missing to correctly/fully remove a user from a conversation. Thanks!
 
That list sounds about right, though manual DB edits always come with a risk so it's not generally a recommended/supported approach.

If you want to pretend the user was never in the conversation, then you can delete the row from the recipient table.

Certainly take a backup and do testing before attempting on a production database.
 
Back
Top Bottom