• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/recent.php
  • Класс: BitrixImRecent
  • Вызов: Recent::fillLastMessageStatuses
static function fillLastMessageStatuses(array $rows, int $userId): array
{
	$messageIds = [];

	foreach ($rows as $row)
	{
		if (isset($row['MESSAGE_AUTHOR_ID']) && (int)$row['MESSAGE_AUTHOR_ID'] === $userId)
		{
			$messageIds[] = (int)$row['MESSAGE_ID'];
		}
	}

	$messageStatuses = (new ViewedService($userId))->getMessageStatuses($messageIds);

	foreach ($rows as $key => $row)
	{
		$rows[$key]['CHAT_LAST_MESSAGE_STATUS'] = $messageStatuses[(int)($row['MESSAGE_ID'] ?? 0)] ?? IM_MESSAGE_STATUS_RECEIVED;
	}

	return $rows;
}