• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/update/chatinvalidcounter.php
  • Класс: BitrixImUpdateChatInvalidCounter
  • Вызов: ChatInvalidCounter::makeMigrationIteration
private function makeMigrationIteration(array &$option): bool
{
	$lastId = $option['lastId'] ?? 0;
	$userId = $this->getNextUser($lastId);

	if ($userId === null || $userId === 0)
	{
		return self::FINISH_EXECUTION;
	}

	$option['lastId'] = $userId;

	$chatIds = $this->getChatsWithInvalidCounterByUserId($userId);

	if (empty($chatIds))
	{
		return self::CONTINUE_EXECUTION;
	}

	MessageUnreadTable::deleteByFilter(['=USER_ID' => $userId, '=CHAT_ID' => $chatIds]);
	CounterService::clearCache($userId);

	return self::CONTINUE_EXECUTION;
}