• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
  • Класс: CIBlockCMLImport
  • Вызов: CIBlockCMLImport::MakeFileArray
function MakeFileArray($file, $fields = array())
{
	if(is_array($file))
	{
		if(
			array_key_exists($this->mess["IBLOCK_XML2_BX_URL"], $file)
			&& $file[$this->mess["IBLOCK_XML2_BX_URL"]] <> ''
		)
		{
			if (Loader::includeModule('clouds'))
			{
				$bucket = CCloudStorage::FindBucketByFile($file[$this->mess["IBLOCK_XML2_BX_URL"]]);
				if(is_object($bucket) && $bucket->READ_ONLY === "Y")
				{
					return array(
						"name" => $file[$this->mess["IBLOCK_XML2_BX_ORIGINAL_NAME"]],
						"description" => $file[$this->mess["IBLOCK_XML2_DESCRIPTION"]],
						"tmp_name" => $file[$this->mess["IBLOCK_XML2_BX_URL"]],
						"file_size" => $file[$this->mess["IBLOCK_XML2_BX_FILE_SIZE"]],
						"width" => $file[$this->mess["IBLOCK_XML2_BX_FILE_WIDTH"]],
						"height" => $file[$this->mess["IBLOCK_XML2_BX_FILE_HEIGHT"]],
						"type" => $file[$this->mess["IBLOCK_XML2_BX_FILE_CONTENT_TYPE"]],
						"content" => "", //Fake field in order to avoid warning
						"bucket" => $bucket,
					);
				}
			}
			return CFile::MakeFileArray($this->URLEncode($file[$this->mess["IBLOCK_XML2_BX_URL"]])); //Download from the cloud
		}
	}
	else
	{
		if ($file <> '')
		{
			$external_id = md5($file);
			if (is_file($this->files_dir.$file))
				return CFile::MakeFileArray($this->files_dir.$file, false, false, $external_id);
			$fileId = $this->CheckFileByName($external_id, $fields);
			if ($fileId > 0)
				return CFile::MakeFileArray($fileId);
		}
	}

	return array("tmp_name"=>"", "del"=>"Y");
}