• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/UpdateState.php
  • Класс: BitrixImV2UpdateState
  • Вызов: UpdateState::checkDesktopStatusOnline
private function checkDesktopStatusOnline(int $userId): bool
{
	$maxOnlineTime = 120;
	if ($this->isPullEnable() && CPullOptions::GetNginxStatus())
	{
		$maxOnlineTime = $this->GetSessionLifeTime();
	}

	$status = CIMStatus::GetStatus($userId);
	$desktopLastDateStatus = $status['DESKTOP_LAST_DATE'] ?? null;

	if (
		$desktopLastDateStatus instanceof BitrixMainTypeDateTime
		&& $desktopLastDateStatus->getTimestamp() + $maxOnlineTime + 60 > time()
	)
	{
		return true;
	}

	return false;
}