mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Проверка на размер файла
This commit is contained in:
parent
2574199101
commit
d13ec04c92
|
@ -133,7 +133,7 @@ class ModuleMedia extends ModuleORM
|
|||
}
|
||||
|
||||
/**
|
||||
* Возвращает конкретный парметры нужного типа
|
||||
* Возвращает конкретный параметр нужного типа
|
||||
*
|
||||
* @param string $sTargetType
|
||||
* @param string $sName
|
||||
|
@ -253,11 +253,15 @@ class ModuleMedia extends ModuleORM
|
|||
}
|
||||
$sFileTmp = $sDirTmp . $sFileName;
|
||||
if (!move_uploaded_file($aFile['tmp_name'], $sFileTmp)) {
|
||||
return 'Не удалось загрузить файл';
|
||||
return $this->Lang_Get('media.error.upload');
|
||||
}
|
||||
/**
|
||||
* TODO: проверить на размер файла в байтах
|
||||
* Проверка на размер файла
|
||||
*/
|
||||
$iMaxSizeKb = $this->GetConfigParam('max_size', $sTargetType);
|
||||
if ($aFile['size'] > $iMaxSizeKb) {
|
||||
return $this->Lang_Get('media.error.too_large', array('size' => $iMaxSizeKb));
|
||||
}
|
||||
|
||||
return $this->ProcessingFile($sFileTmp, $sTargetType, $sTargetId, $sTargetTmp);
|
||||
}
|
||||
|
@ -269,7 +273,7 @@ class ModuleMedia extends ModuleORM
|
|||
* TODO: файл может быть не только изображением, поэтому требуется рефакторинг
|
||||
*/
|
||||
if (!$aImageInfo = (@getimagesize($sFileUrl))) {
|
||||
return 'Файл не является изображением';
|
||||
return $this->Lang_Get('media.error.not_image');
|
||||
}
|
||||
$aTypeImage = array(
|
||||
1 => 'gif',
|
||||
|
@ -283,10 +287,10 @@ class ModuleMedia extends ModuleORM
|
|||
*/
|
||||
$rFile = fopen($sFileUrl, 'r');
|
||||
if (!$rFile) {
|
||||
return 'Не удалось загрузить файл';
|
||||
return $this->Lang_Get('media.error.upload');
|
||||
}
|
||||
|
||||
$iMaxSizeKb = $this->GetConfigParam('image.max_size_url', $sTargetType);
|
||||
$iMaxSizeKb = $this->GetConfigParam('max_size', $sTargetType);
|
||||
$iSizeKb = 0;
|
||||
$sContent = '';
|
||||
while (!feof($rFile) and $iSizeKb < $iMaxSizeKb) {
|
||||
|
@ -298,8 +302,7 @@ class ModuleMedia extends ModuleORM
|
|||
* значит файл имеет недопустимый размер
|
||||
*/
|
||||
if (!feof($rFile)) {
|
||||
return 'Превышен максимальный размер файла: ' . $this->GetConfigParam('image.max_size_url',
|
||||
$sTargetType) . 'Kb';
|
||||
return $this->Lang_Get('media.error.too_large', array('size' => $iMaxSizeKb));
|
||||
}
|
||||
fclose($rFile);
|
||||
/**
|
||||
|
@ -327,7 +330,7 @@ class ModuleMedia extends ModuleORM
|
|||
if (in_array($sExtension, array('jpg', 'jpeg', 'gif', 'png'))) {
|
||||
return $this->ProcessingFileImage($sFileTmp, $sTargetType, $sTargetId, $sTargetTmp);
|
||||
}
|
||||
return 'Неверный тип файла';
|
||||
return $this->Lang_Get('media.error.incorrect_type');;
|
||||
}
|
||||
|
||||
public function ProcessingFileImage($sFileTmp, $sTargetType, $sTargetId, $sTargetTmp = null)
|
||||
|
@ -1255,4 +1258,4 @@ class ModuleMedia extends ModuleORM
|
|||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -236,8 +236,10 @@ $config['module']['image']['params']['blog_avatar']['size_max_height'] = 1000;
|
|||
/**
|
||||
* Модуль Media
|
||||
*/
|
||||
$config['module']['media']['max_size'] = 1024; // Максимальный размер файла в kB по умолчанию
|
||||
$config['module']['media']['type']['topic']['max_size'] = 1024; // Максимальный размер файла в kB в топике
|
||||
$config['module']['media']['type']['comment']['max_size'] = 1024; // Максимальный размер файла в kB в комментариях
|
||||
$config['module']['media']['image']['autoresize'] = true; // Разрешает автоматическое создание изображений нужного размера при их запросе
|
||||
$config['module']['media']['image']['max_size_url'] = 1024; // Максимальный размер изображения в kB для загрузки по URL
|
||||
$config['module']['media']['image']['sizes'] = array( // список размеров, которые необходимо делать при загрузке изображения
|
||||
array(
|
||||
'w' => 1000,
|
||||
|
|
|
@ -1618,6 +1618,12 @@ return array(
|
|||
*/
|
||||
'media' => array(
|
||||
'title' => 'Загрузка медиа-файлов',
|
||||
'error' => array(
|
||||
'upload' => 'Не удалось загрузить файл',
|
||||
'not_image' => 'Файл не является изображением',
|
||||
'too_large' => 'Превышен максимальный размер файла: %%size%%Кб',
|
||||
'incorrect_type' => 'Неверный тип файла',
|
||||
),
|
||||
'nav' => array(
|
||||
'insert' => 'Вставить',
|
||||
'photoset' => 'Создать фотосет',
|
||||
|
|
Loading…
Reference in a new issue