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

	$this->SendRequest(
		$arBucket["SETTINGS"],
		"GET",
		$arBucket["BUCKET"],
		'',
		"?limit=1&format=xml".($arBucket["PREFIX"]? '&prefix='.$arBucket["PREFIX"]: '')
	);

	$arXML = false;
	if($this->status && $this->result)
	{
		$obXML = new CDataXML;
		$text = preg_replace("/<"."\?XML.*?\?".">/i", "", $this->result);
		if($obXML->LoadString($text))
		{
			$arXML = $obXML->GetArray();
		}
	}

	if($this->status == 404)
	{
		return true;
	}
	elseif(is_array($arXML))
	{
		return
			!isset($arXML["container"])
			|| !is_array($arXML["container"])
			|| !isset($arXML["container"]["#"])
			|| !is_array($arXML["container"]["#"])
			|| !isset($arXML["container"]["#"]["object"])
			|| !is_array($arXML["container"]["#"]["object"]);
	}
	else
	{
		return false;
	}
}