• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/UpdateState.php
  • Класс: BitrixImV2UpdateState
  • Вызов: UpdateState::getUpdateStateData
public function getUpdateStateData(CurrentUser $user, ?string $siteId = null): array
{
	$userId = (int)$user->getId();
	$eventParams = $this->getEventParams();

	isset($siteId)
		? $mainCounters = CUserCounter::GetValues($userId, $siteId)
		: $mainCounters = CUserCounter::GetValues($userId)
	;

	$chatCounters = BitrixImCounter::get(null, ['JSON' => 'Y']);

	return [
		'revision' => BitrixImRevision::getWeb(),
		'mobileRevision' => BitrixImRevision::getMobile(),
		'counters' => $mainCounters,
		'chatCounters' => $chatCounters,
		'notifyLastId' => (new BitrixImNotify())->getLastId(),
		'desktopStatus' => $this->CheckDesktopStatusOnline($userId),
		'serverTime' => time(),
		'lastUpdate' => (new BitrixMainTypeDateTime())->format(DateTimeInterface::RFC3339),
		'eventParams' => $eventParams,
	];
}