- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/lib/rest.php
- Класс: BitrixTimemanRest
- Вызов: Rest::timeControlSettingsSet
static function timeControlSettingsSet($query, $n, CRestServer $server)
{
if (!self::isAdmin())
{
throw new BitrixRestRestException("You don't have access to user this method", "ACCESS_ERROR", CRestServer::STATUS_WRONG_REQUEST);
}
$query = static::prepareQuery($query);
if (array_key_exists('ACTIVE', $query))
{
BitrixTimemanAbsence::setOptionActive((bool)$query['ACTIVE']);
}
if (array_key_exists('MINIMUM_IDLE_FOR_REPORT', $query))
{
BitrixTimemanAbsence::setOptionMinimumIdleForReport((int)$query['MINIMUM_IDLE_FOR_REPORT']);
}
if (array_key_exists('REGISTER_OFFLINE', $query))
{
BitrixTimemanAbsence::setOptionRegisterOffline((bool)$query['REGISTER_OFFLINE']);
}
if (array_key_exists('REGISTER_IDLE', $query))
{
BitrixTimemanAbsence::setOptionRegisterIdle((bool)$query['REGISTER_IDLE']);
}
if (array_key_exists('REGISTER_DESKTOP', $query))
{
BitrixTimemanAbsence::setOptionRegisterDesktop((bool)$query['REGISTER_DESKTOP']);
}
if (array_key_exists('REPORT_REQUEST_TYPE', $query))
{
if (mb_strtoupper($query['REPORT_REQUEST_TYPE']) == BitrixTimemanAbsence::TYPE_ALL)
{
BitrixTimemanAbsence::setOptionRequestReport(true);
}
else if (mb_strtoupper($query['REPORT_REQUEST_TYPE']) == BitrixTimemanAbsence::TYPE_FOR_USER)
{
if (array_key_exists('REPORT_REQUEST_USERS', $query))
{
if (is_string($query['REPORT_REQUEST_USERS']))
{
$query['REPORT_REQUEST_USERS'] = CUtil::JsObjectToPhp($query['REPORT_REQUEST_USERS']);
}
BitrixTimemanAbsence::setOptionRequestReport($query['REPORT_REQUEST_USERS']);
}
else
{
BitrixTimemanAbsence::setOptionRequestReport([]);
}
}
else
{
BitrixTimemanAbsence::setOptionRequestReport(false);
}
}
if (array_key_exists('REPORT_SIMPLE_TYPE', $query))
{
if (mb_strtoupper($query['REPORT_SIMPLE_TYPE']) == BitrixTimemanAbsence::TYPE_ALL)
{
BitrixTimemanAbsence::setOptionReportListSimple(true);
}
else if (mb_strtoupper($query['REPORT_SIMPLE_TYPE']) == BitrixTimemanAbsence::TYPE_FOR_USER)
{
if (array_key_exists('REPORT_SIMPLE_USERS', $query))
{
if (is_string($query['REPORT_SIMPLE_USERS']))
{
$query['REPORT_SIMPLE_USERS'] = CUtil::JsObjectToPhp($query['REPORT_SIMPLE_USERS']);
}
BitrixTimemanAbsence::setOptionReportListSimple($query['REPORT_SIMPLE_USERS']);
}
else
{
BitrixTimemanAbsence::setOptionReportListSimple([]);
}
}
else
{
BitrixTimemanAbsence::setOptionReportListSimple([]);
}
}
if (array_key_exists('REPORT_FULL_TYPE', $query))
{
if (mb_strtoupper($query['REPORT_FULL_TYPE']) == BitrixTimemanAbsence::TYPE_ALL)
{
BitrixTimemanAbsence::setOptionReportListFull(true);
}
else if (mb_strtoupper($query['REPORT_FULL_TYPE']) == BitrixTimemanAbsence::TYPE_FOR_USER)
{
if (array_key_exists('REPORT_FULL_USERS', $query))
{
if (is_string($query['REPORT_FULL_USERS']))
{
$query['REPORT_FULL_USERS'] = CUtil::JsObjectToPhp($query['REPORT_FULL_USERS']);
}
BitrixTimemanAbsence::setOptionReportListFull($query['REPORT_FULL_USERS']);
}
else
{
BitrixTimemanAbsence::setOptionReportListFull([]);
}
}
else
{
BitrixTimemanAbsence::setOptionReportListFull([]);
}
}
return true;
}