XF 2.0 How to create a conversation using a php?

alexis78i

Member
I know how to create an alert
I do

PHP:
$array = array('title'=>$row_post['title'], 'id'=>$article_id, 'cm'=>$new_comment);
$alertRepo = \XF::app()->repository('XF:UserAlert');
$alert = $alertRepo->alertFromUser($user_to, $user, 'user', 1, 'alert_name', $array);

Now I want to start a conversation between two users.
 
You have to use \XF\Service\Conversation\Creator

Here's a code snippet:
PHP:
            /** @var \XF\Service\Conversation\Creator $creator */
            $creator = \XF::service('XF:Conversation\Creator', $starterUser);
            $creator->setIsAutomated();
            $creator->setOptions([
                'open_invite' => $message->open_invite,
                'conversation_open' => !$message->conversation_locked
            ]);
            $creator->setRecipientsTrusted($recipients);
            $creator->setContent($title, $body);

            if ($creator->validate())
            {
                $conversation = $creator->save();

                if ($message->conversation_delete != 'no_delete')
                {
                    /** @var \XF\Entity\ConversationRecipient $recipient */
                    $recipient = $conversation->Recipients[$starterUser->user_id];
                    $recipient->recipient_state = $message->conversation_delete;
                    $recipient->save(false);
                }
            }
            else
            {
                \XF::logError($message);
            }
 
Top Bottom