- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
- Класс: CIBlockCMLImport
- Вызов: CIBlockCMLImport::ResizePicture
function ResizePicture($file, $resize, $primaryField, $secondaryField = "")
{
static $errorFile = array("tmp_name"=>"", "del"=>"Y");
$external_id = md5($file);
if($file == '')
{
return $errorFile;
}
if(file_exists($this->files_dir.$file) && is_file($this->files_dir.$file))
{
$file = $this->files_dir.$file;
}
elseif(file_exists($file) && is_file($file))
{
}
elseif(($fileId = $this->CheckFileByName($external_id, array($primaryField))) > 0)
{
return CFile::MakeFileArray($fileId);
}
elseif($secondaryField && ($fileId = $this->CheckFileByName($external_id, array($secondaryField))) > 0)
{
$storedFile = CFile::MakeFileArray($fileId);
if ($storedFile)
{
$tempFile = CTempFile::GetFileName(bx_basename($storedFile["tmp_name"]));
CheckDirPath($tempFile);
if (copy($storedFile["tmp_name"], $tempFile))
{
$storedFile["tmp_name"] = $tempFile;
return $storedFile;
}
else
{
return $errorFile;
}
}
else
{
return $errorFile;
}
}
else
{
return $errorFile;
}
if(!is_array($resize) || !preg_match("#(\.)([^./\\]+?)$#", $file))
{
$arFile = CFile::MakeFileArray($file, false, false, $external_id);
if($arFile && $this->iblock_resize)
$arFile["COPY_FILE"] = "Y";
return $arFile;
}
$i = 1;
while(file_exists(preg_replace("#(\.)([^./\\]+?)$#", ".resize".$i.".\2", $file)))
$i++;
$new_file = preg_replace("#(\.)([^./\\]+?)$#", ".resize".$i.".\2", $file);
if (!CFile::ResizeImageFile($file, $new_file, array("width"=>$resize[0], "height"=>$resize[1])))
return CFile::MakeFileArray($file, false, false, $external_id);
$this->arTempFiles[] = $new_file;
return CFile::MakeFileArray($new_file, false, false, $external_id);
}