• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_service_google.php
  • Класс: CCloudStorageService_GoogleStorage
  • Вызов: CCloudStorageService_GoogleStorage::GetFileSRC
function GetFileSRC($arBucket, $arFile, $encoded = true)
{
	global $APPLICATION;

	if($arBucket["CNAME"])
	{
		$host = $arBucket["CNAME"];
	}
	else
	{
		switch($arBucket["LOCATION"])
		{
		case "EU":
			$host = $arBucket["BUCKET"].".commondatastorage.googleapis.com";
			break;
		case "US":
			$host = $arBucket["BUCKET"].".commondatastorage.googleapis.com";
			break;
		default:
			$host = $arBucket["BUCKET"].".commondatastorage.googleapis.com";
			break;
		}
	}

	if(is_array($arFile))
		$URI = ltrim($arFile["SUBDIR"]."/".$arFile["FILE_NAME"], "/");
	else
		$URI = ltrim($arFile, "/");

	if($arBucket["PREFIX"])
	{
		if(mb_substr($URI, 0, mb_strlen($arBucket["PREFIX"]) + 1) !== $arBucket["PREFIX"]."/")
			$URI = $arBucket["PREFIX"]."/".$URI;
	}

	$proto = $APPLICATION->IsHTTPS()? "https": "http";

	if ($encoded)
	{
		return $proto."://$host/".CCloudUtil::URLEncode($URI, "UTF-8", true);
	}
	else
	{
		return $proto."://$host/".$URI;
	}
}