• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/classes/general/rest_provider.php
  • Класс: CRestProvider
  • Вызов: CRestProvider::appOptionSet
static function appOptionSet($params, $n, CRestServer $server)
{
	if(!$server->getClientId())
	{
		throw new AccessException("Application context required");
	}

	if(!isset($params["options"]))
	{
		$params['options'] = $params;
	}

	if(count($params['options']) <= 0)
	{
		throw new ArgumentNullException('options');
	}

	if(CRestUtil::isAdmin())
	{
		$appOptions = Option::get("rest", "options_".$server->getClientId(), "");
		if($appOptions <> '')
		{
			$appOptions = unserialize($appOptions, ['allowed_classes' => false]);
		}
		else
		{
			$appOptions = array();
		}

		foreach($params['options'] as $key => $value)
		{
			$appOptions[$key] = $value;
		}

		Option::set('rest', "options_".$server->getClientId(), serialize($appOptions));
	}
	else
	{
		throw new AccessException("Administrator authorization required");
	}

	return true;
}