• Модуль: clouds
  • Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_service_s3.php
  • Класс: CCloudStorageService_S3
  • Вызов: CCloudStorageService_S3::IsEmptyBucket
function IsEmptyBucket($arBucket)
{
	global $APPLICATION;

	$this->SetLocation($arBucket["LOCATION"]);
	$response = $this->SendRequest(
		$arBucket["SETTINGS"],
		'GET',
		$arBucket["BUCKET"],
		'/',
		'?max-keys=1'.($arBucket["PREFIX"] != ""? '&prefix='.$arBucket["PREFIX"].'/': '')
	);

	if($this->status == 404 || $this->status == 403)
	{
		$APPLICATION->ResetException();
		return true;
	}
	elseif(is_array($response))
	{
		if (
			!isset($response["ListBucketResult"])
			|| !is_array($response["ListBucketResult"])
			|| !isset($response["ListBucketResult"]["#"])
			|| !is_array($response["ListBucketResult"]["#"])
			|| !isset($response["ListBucketResult"]["#"]["Contents"])
			|| !is_array($response["ListBucketResult"]["#"]["Contents"])
		)
		{
			return true;
		}

		return false;
	}

	if (defined("BX_CLOUDS_ERROR_DEBUG"))
	{
		AddMessage2Log($this);
	}

	return false;
}