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