- Модуль: clouds
- Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_service_s3.php
- Класс: CCloudStorageService_S3
- Вызов: CCloudStorageService_S3::ListBuckets
function ListBuckets($arBucket)
{
global $APPLICATION;
$result = array(
"bucket" => array(),
"ctime" => array(),
);
$this->SetLocation($arBucket["LOCATION"]);
$marker = $pageSize > 0? $filePath.$pageMarker: '';
while(true)
{
$response = $this->SendRequest(
$arBucket["SETTINGS"],
'GET',
'',
'/',
''
);
if(
$this->status == 200
&& is_array($response)
&& isset($response["ListAllMyBucketsResult"])
&& is_array($response["ListAllMyBucketsResult"])
&& isset($response["ListAllMyBucketsResult"]["#"])
&& is_array($response["ListAllMyBucketsResult"]["#"])
)
{
$ListAllMyBucketsResult = $response["ListAllMyBucketsResult"]["#"];
if(
isset($ListAllMyBucketsResult["Buckets"])
&& is_array($ListAllMyBucketsResult["Buckets"])
&& isset($ListAllMyBucketsResult["Buckets"][0])
&& is_array($ListAllMyBucketsResult["Buckets"][0])
&& isset($ListAllMyBucketsResult["Buckets"][0]["#"])
&& is_array($ListAllMyBucketsResult["Buckets"][0]["#"])
)
{
foreach($ListAllMyBucketsResult["Buckets"][0]["#"]["Bucket"] as $Bucket)
{
$Name = $Bucket["#"]["Name"][0]["#"];
$CreationDate = $Bucket["#"]["CreationDate"][0]["#"];
$result["bucket"][] = $APPLICATION->ConvertCharset(urldecode($Name), "UTF-8", LANG_CHARSET);
$result["ctime"][] = strtotime($CreationDate);
}
}
}
elseif ($this->checkForTokenExpiration($this->status, $this->result))
{
$this->tokenHasExpired = true;
return false;
}
else
{
if (defined("BX_CLOUDS_ERROR_DEBUG"))
{
AddMessage2Log($this);
}
return false;
}
break;
}
return $result;
}