- Модуль: 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;
}