1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-23 10:01:55 +02:00

Merge pull request from marc1706/ticket/8672

[ticket/8672] Add class for retrieving imagesize without download
This commit is contained in:
Tristan Darricau
2015-04-27 16:26:40 +02:00
24 changed files with 221 additions and 58 deletions

@@ -402,28 +402,28 @@ class filespec
{
$this->width = $this->height = 0;
if (($this->image_info = @getimagesize($this->destination_file)) !== false)
{
$this->width = $this->image_info[0];
$this->height = $this->image_info[1];
// Get imagesize class
$imagesize = new \fastImageSize\fastImageSize();
if (!empty($this->image_info['mime']))
{
$this->mimetype = $this->image_info['mime'];
}
$this->image_info = $imagesize->getImageSize($this->destination_file, $this->mimetype);
if ($this->image_info !== false)
{
$this->width = $this->image_info['width'];
$this->height = $this->image_info['height'];
// Check image type
$types = fileupload::image_types();
if (!isset($types[$this->image_info[2]]) || !in_array($this->extension, $types[$this->image_info[2]]))
if (!isset($types[$this->image_info['type']]) || !in_array($this->extension, $types[$this->image_info['type']]))
{
if (!isset($types[$this->image_info[2]]))
if (!isset($types[$this->image_info['type']]))
{
$this->error[] = sprintf($user->lang['IMAGE_FILETYPE_INVALID'], $this->image_info[2], $this->mimetype);
$this->error[] = $user->lang('IMAGE_FILETYPE_INVALID', $this->image_info['type'], $this->mimetype);
}
else
{
$this->error[] = sprintf($user->lang['IMAGE_FILETYPE_MISMATCH'], $types[$this->image_info[2]][0], $this->extension);
$this->error[] = $user->lang('IMAGE_FILETYPE_MISMATCH', $types[$this->image_info['type']][0], $this->extension);
}
}