• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_service_openstack.php
  • Класс: CCloudStorageService_OpenStackStorage
  • Вызов: CCloudStorageService_OpenStackStorage::CheckSettings
function CheckSettings($arBucket, &$arSettings)
{
	global $APPLICATION;
	$aMsg = array();

	$result = array(
		"HOST" => is_array($arSettings)? trim($arSettings["HOST"]): '',
		"USER" => is_array($arSettings)? trim($arSettings["USER"]): '',
		"KEY" => is_array($arSettings)? trim($arSettings["KEY"]): '',
		"FORCE_HTTP" => is_array($arSettings) && $arSettings["FORCE_HTTP"] == "Y"? "Y": "N",
	);

	if($arBucket["READ_ONLY"] !== "Y" && !mb_strlen($result["HOST"]))
		$aMsg[] = array("id" => $this->GetID()."INP_HOST", "text" => GetMessage("CLO_STORAGE_OPENSTACK_EMPTY_HOST"));

	if($arBucket["READ_ONLY"] !== "Y" && !mb_strlen($result["USER"]))
		$aMsg[] = array("id" => $this->GetID()."INP_USER", "text" => GetMessage("CLO_STORAGE_OPENSTACK_EMPTY_USER"));

	if($arBucket["READ_ONLY"] !== "Y" && !mb_strlen($result["KEY"]))
		$aMsg[] = array("id" => $this->GetID()."INP_KEY", "text" => GetMessage("CLO_STORAGE_OPENSTACK_EMPTY_KEY"));


	if(empty($aMsg))
	{
		if(!$this->_GetToken($result["HOST"], $result["USER"], $result["KEY"]))
			$aMsg[] = array("text" => GetMessage("CLO_STORAGE_OPENSTACK_ERROR_GET_TOKEN"));
	}

	if(!empty($aMsg))
	{
		$e = new CAdminException($aMsg);
		$APPLICATION->ThrowException($e);
		return false;
	}
	else
	{
		$arSettings = $result;
	}

	return true;
}