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