- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat/OpenLineChat.php
- Класс: BitrixImV2ChatOpenLineChat
- Вызов: OpenLineChat::riseInRecent
public function riseInRecent(Message $message): void
{
/** @var Relation $relation */
foreach ($this->getRelations() as $relation)
{
if (!User::getInstance($relation->getUserId())->isActive())
{
continue;
}
$sessionId = 0;
if ($this->getEntityType() == self::ENTITY_TYPE_LINE)
{
if (User::getInstance($relation->getUserId())->getExternalAuthId() == 'imconnector')
{
continue;
}
if ($this->getEntityData1())
{
//todo: replace it with method
$fieldData = explode("|", $this->getEntityData1());
$sessionId = (int)$fieldData[5];
}
}
CIMContactList::SetRecent([
'ENTITY_ID' => $this->getChatId(),
'MESSAGE_ID' => $message->getMessageId(),
'CHAT_TYPE' => $this->getType(),
'USER_ID' => $relation->getUserId(),
'CHAT_ID' => $relation->getChatId(),
'RELATION_ID' => $relation->getId(),
'SESSION_ID' => $sessionId,
]);
if ($relation->getUserId() == $message->getAuthorId())
{
$relation
->setLastId($message->getMessageId())
->save();
}
}
}