• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/rest.php
  • Класс: BitrixTimemanRest
  • Вызов: Rest::getStatus
static function getStatus($query, $n, CRestServer $server)
{
	$query = static::prepareQuery($query);
	$tmUser = static::getUserInstance($query);

	$currentInfo = $tmUser->getCurrentInfo();

	$result = array(
		'STATUS' => $tmUser->State(),
	);

	$userOffset = $tmUser->getDayStartOffset($currentInfo) + date('Z');
	static::setCurrentTimezoneOffset($userOffset);

	if($currentInfo['DATE_START'])
	{

		$currentInfo['DATE_START'] = ConvertTimeStamp(MakeTimeStamp($currentInfo['DATE_START'], FORMAT_DATETIME), 'SHORT');

		if($currentInfo['DATE_FINISH'])
		{
			$currentInfo['DATE_FINISH'] = ConvertTimeStamp(MakeTimeStamp($currentInfo['DATE_FINISH'], FORMAT_DATETIME), 'SHORT');
		}

		$result['TIME_START'] = static::convertTimeToISO(intval($currentInfo['TIME_START']), $currentInfo['DATE_START'], $userOffset);
		$result['TIME_FINISH'] = $currentInfo['TIME_FINISH'] > 0 ? static::convertTimeToISO(intval($currentInfo['TIME_FINISH']), $currentInfo['DATE_FINISH'], $userOffset) : null;
		$result['DURATION'] = static::formatTime(intval($currentInfo['DURATION']));
		$result['TIME_LEAKS'] = static::formatTime(intval($currentInfo['TIME_LEAKS']));
		$result['ACTIVE'] = $currentInfo['ACTIVE'] == 'Y';
		$result['IP_OPEN'] = $currentInfo['IP_OPEN'];
		$result['IP_CLOSE'] = $currentInfo['IP_CLOSE'];
		$result['LAT_OPEN'] = doubleval($currentInfo['LAT_OPEN']);
		$result['LON_OPEN'] = doubleval($currentInfo['LON_OPEN']);
		$result['LAT_CLOSE'] = doubleval($currentInfo['LAT_CLOSE']);
		$result['LON_CLOSE'] = doubleval($currentInfo['LON_CLOSE']);
		$result['TZ_OFFSET'] = $userOffset;
	}

	if($result['STATUS'] == 'EXPIRED')
	{
		$result['TIME_FINISH_DEFAULT'] = static::convertTimeToISO($tmUser->getExpiredRecommendedDate(), $currentInfo['DATE_START'], $userOffset);
	}

	return $result;
}