Skip to content

Commit 6e7e572

Browse files
committed
v1.5.1-b2
- Changed: Decimal places are not truncated when entering the maximum file size. - Changed: array_map() replaced by array_column(). - Changed: Set the maximum number of colours for PNG files to 128. - Added: The file will not be changed if the iMagick image is larger than the original image.
1 parent 2a8dbab commit 6e7e572

File tree

4 files changed

+19
-12
lines changed

4 files changed

+19
-12
lines changed

imcger/imgupload/adm/style/acp_imgupload_body.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ <h1>{{ lang('ACP_IMCGER_IMGUPLOAD_TITLE') }}</h1>
6868
<dl>
6969
<dt><label for="imcger_imgupload_max_filesize">{{ lang('ACP_IMCGER_FILESIZE_MAX') ~ lang('COLON') }}</label><br><span>{{ lang('ACP_IMCGER_FILESIZE_MAX_DESC') }}</span></dt>
7070
<dd>
71-
{{ common.number('imcger_imgupload_max_filesize', IMCGER_FILESIZE_MAX, 0, 9999999999) }}
71+
{{ common.number('imcger_imgupload_max_filesize', IMCGER_FILESIZE_MAX, 0, 9999999999, 'any') }}
7272
{% set units = {'BYTES': 'b', 'KIB': 'kb', 'MIB': 'mb', } %}
7373
{{ common.select('unit_select', IMCGER_FILESIZE_UNIT, units) }}
7474
</dd>

imcger/imgupload/composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"type": "phpbb-extension",
44
"description": "Using ImageMagick php librarie for resize image attachments and creating thumbnails.",
55
"homepage": "https://github.com/IMC-GER/phpBB-Image-upload-use-ImageMagick/tags",
6-
"version": "1.5.0",
7-
"time": "2025-06-16",
6+
"version": "1.5.1-b2",
7+
"time": "2025-11-25",
88
"license": "GPL-2.0-only",
99
"authors": [
1010
{

imcger/imgupload/controller/admin_controller.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public function display_options(): void
8787
protected function set_variable(): void
8888
{
8989
$unit_select = $this->request->variable('unit_select', 'b');
90-
$max_filesize = $this->request->variable('imcger_imgupload_max_filesize', 0);
90+
$max_filesize = $this->request->variable('imcger_imgupload_max_filesize', 0.0);
9191
$max_filesize = ($unit_select == 'kb') ? round($max_filesize * 1024) : (($unit_select == 'mb') ? round($max_filesize * 1048576) : $max_filesize);
9292

9393
$this->config->set('imcger_imgupload_tum_quality', $this->request->variable('imcger_imgupload_tum_quality', 80));

imcger/imgupload/event/main_listener.php

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,7 @@ public function set_template_vars(): void
9898
$this->db->sql_freeresult();
9999

100100
// Convert 2 dimensional array into simple array
101-
$allowed_images = array_map(
102-
function ($n)
103-
{
104-
return $n['extension'];
105-
}, $ext_ary);
101+
$allowed_images = array_column($ext_ary, 'extension');
106102

107103
$metadata_manager = $this->ext_manager->create_extension_metadata_manager('imcger/imgupload');
108104

@@ -250,6 +246,15 @@ public function imcger_modify_uploaded_file(object $event): void
250246
$write_image = true;
251247
}
252248

249+
$image_filesize = strlen($image->getImageBlob());
250+
251+
if ($image_filesize > $filesize)
252+
{
253+
$image->clear();
254+
255+
return;
256+
}
257+
253258
// store the image when attribute change
254259
if ($write_image || $img['changed'])
255260
{
@@ -262,7 +267,7 @@ public function imcger_modify_uploaded_file(object $event): void
262267
$filedata_array = $event['filedata'];
263268

264269
// set new file size
265-
$filedata_array['filesize'] = $filesize ? $filesize : $image->getImageBlob();
270+
$filedata_array['filesize'] = $image_filesize;
266271

267272
// if image format change to JPEG set filedata to JPEG
268273
if ($image_format == 'JPEG' && $event['filedata']['mimetype'] != 'image/jpeg')
@@ -504,11 +509,13 @@ public function set_image_compression(object $image, int $quality = 80): void
504509
break;
505510

506511
case 'PNG':
507-
if ($image->getImageColors() > 256)
512+
if ($image->getImageColors() > 128)
508513
{
509-
$image->quantizeImage(256, \Imagick::COLORSPACE_SRGB, 16, false, false);
514+
$image->quantizeImage(128, \Imagick::COLORSPACE_SRGB, 8, false, false);
510515
$image->setImageType(\Imagick::IMGTYPE_TRUECOLORMATTE);
511516
}
517+
518+
$image->setCompressionQuality(95);
512519
break;
513520

514521
case 'WEBP':

0 commit comments

Comments
 (0)