• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Chat/PrivateChat.php
  • Класс: BitrixImV2ChatPrivateChat
  • Вызов: PrivateChat::riseInRecent
public function riseInRecent(Message $message): void
{
	/** @var Relation $relation */
	$opponentUserId = 0;
	foreach ($this->getRelations() as $relation)
	{
		if (
			User::getInstance($relation->getUserId())->isActive()
			&& $message->getAuthorId() != $relation->getUserId()
		)
		{
			$opponentUserId = $relation->getUserId();
			break;
		}
	}

	foreach ($this->getRelations() as $relation)
	{
		if (!User::getInstance($relation->getUserId())->isActive())
		{
			continue;
		}

		CIMContactList::SetRecent([
			'ENTITY_ID' => $relation->getUserId() == $opponentUserId ? $message->getAuthorId() : $opponentUserId,
			'MESSAGE_ID' => $message->getMessageId(),
			'CHAT_TYPE' => self::IM_TYPE_PRIVATE,
			'CHAT_ID' => $relation->getChatId(),
			'RELATION_ID' => $relation->getId(),
			'USER_ID' => $relation->getUserId(),
		]);
	}
}