mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-16 14:50:48 +03:00
Media - возможность уменьшать оригинал изображения или вообще его не сохранять. #704
This commit is contained in:
parent
3508ca01a7
commit
1fb74a55d6
|
@ -431,11 +431,29 @@ class ModuleMedia extends ModuleORM
|
|||
/**
|
||||
* Сохраняем оригинальную копию
|
||||
*/
|
||||
if (!$sFileResult = $oImage->saveSmart($sPath, $sFileName)) {
|
||||
$this->Fs_RemoveFileLocal($sFileTmp);
|
||||
return $this->Image_GetLastError();
|
||||
$sFileResult = null;
|
||||
$mOriginalSize = $this->GetConfigParam('image.original', $sTargetType);
|
||||
if ($mOriginalSize === true) {
|
||||
if (!$sFileResult = $oImage->saveSmart($sPath, $sFileName)) {
|
||||
$this->Fs_RemoveFileLocal($sFileTmp);
|
||||
return $this->Image_GetLastError();
|
||||
}
|
||||
} elseif (is_string($mOriginalSize)) {
|
||||
/**
|
||||
* Ресайзим оригинал
|
||||
*/
|
||||
$aOriginalSize = $this->ParsedImageSize($mOriginalSize);
|
||||
if ($aOriginalSize['crop']) {
|
||||
$oImage->cropProportion($aOriginalSize['w'] / $aOriginalSize['h'], 'center');
|
||||
}
|
||||
if (!$sFileResult = $oImage->resize($aOriginalSize['w'], $aOriginalSize['h'], true)->saveSmart($sPath, $sFileName)
|
||||
) {
|
||||
$this->Fs_RemoveFileLocal($sFileTmp);
|
||||
return $this->Image_GetLastError();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$aSizes = $this->GetConfigParam('image.sizes', $sTargetType);
|
||||
/**
|
||||
* Перед запуском генерации подчищаем память
|
||||
|
@ -444,7 +462,15 @@ class ModuleMedia extends ModuleORM
|
|||
/**
|
||||
* Генерируем варианты с необходимыми размерами
|
||||
*/
|
||||
$this->GenerateImageBySizes($sFileTmp, $sPath, $sFileName, $aSizes, $aParams);
|
||||
$sFileResultLast = $this->GenerateImageBySizes($sFileTmp, $sPath, $sFileName, $aSizes, $aParams);
|
||||
if (!$sFileResult) {
|
||||
/**
|
||||
* Оригинала нет, поэтому получаем фейковый путь до основного файла (нужен для получения файлов других размеров)
|
||||
*/
|
||||
$aPathInfoLast = pathinfo($sFileResultLast);
|
||||
$aFileNamePart = explode('_', $aPathInfoLast['filename']);
|
||||
$sFileResult = $aPathInfoLast['dirname'] . '/' . $aFileNamePart[0] . '.' . $aPathInfoLast['extension'];
|
||||
}
|
||||
/**
|
||||
* Сохраняем медиа
|
||||
*/
|
||||
|
|
|
@ -284,6 +284,7 @@ $config['module']['image']['params']['blog_avatar']['size_max_height'] = 1000;
|
|||
$config['module']['media']['max_size'] = 3*1024; // Максимальный размер файла в kB
|
||||
$config['module']['media']['image']['max_size'] = 5*1024; // Максимальный размер файла изображения в kB
|
||||
$config['module']['media']['image']['autoresize'] = true; // Разрешает автоматическое создание изображений нужного размера при их запросе
|
||||
$config['module']['media']['image']['original'] = '1500x'; // Размер для хранения оригинала. Если true, то будет сохраняться исходный оригинал без ресайза. Если false, то оригинал сохраняться не будет
|
||||
$config['module']['media']['image']['sizes'] = array( // список размеров, которые необходимо делать при загрузке изображения
|
||||
array(
|
||||
'w' => 1000,
|
||||
|
|
Loading…
Reference in a new issue