From 0b03fa963ac3cde9f7ddab10f8e68d1b6a6ab061 Mon Sep 17 00:00:00 2001 From: KYPREO <58344533+KYPREO@users.noreply.github.com> Date: Mon, 20 Jan 2020 22:16:38 +1100 Subject: [ticket/16329] Add configuration options for Plupload PHPBB3-16329 PHPBB3-16330 --- .../migration/data/v32x/enable_plupload_config.php | 12 +++++----- phpBB/phpbb/plupload/plupload.php | 26 +++++++--------------- tests/plupload/plupload_test.php | 10 +++++++-- 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/phpBB/phpbb/db/migration/data/v32x/enable_plupload_config.php b/phpBB/phpbb/db/migration/data/v32x/enable_plupload_config.php index a1405e55a0..c801097745 100644 --- a/phpBB/phpbb/db/migration/data/v32x/enable_plupload_config.php +++ b/phpBB/phpbb/db/migration/data/v32x/enable_plupload_config.php @@ -17,16 +17,14 @@ class enable_plupload_config extends \phpbb\db\migration\migration { static public function depends_on() { - return array( - '\phpbb\db\migration\data\v32x\v329', - ); + return ['\phpbb\db\migration\data\v32x\v329',]; } public function update_data() { - return array( - array('config.add', array('img_quality', '90')), - array('config.add', array('img_strip_metadata', '1')), - ); + return [ + ['config.add', ['img_quality', '90']], + ['config.add', ['img_strip_metadata', '1']], + ]; } } diff --git a/phpBB/phpbb/plupload/plupload.php b/phpBB/phpbb/plupload/plupload.php index b3484911a4..6f9e39c384 100644 --- a/phpBB/phpbb/plupload/plupload.php +++ b/phpBB/phpbb/plupload/plupload.php @@ -263,24 +263,14 @@ class plupload $resize = ''; if ($this->config['img_max_height'] > 0 && $this->config['img_max_width'] > 0) { - if ($this->config['img_strip_metadata'] == 1) - { - $resize = sprintf( - 'resize: {width: %d, height: %d, quality: %d, preserve_headers: false},', - (int) $this->config['img_max_width'], - (int) $this->config['img_max_height'], - (int) $this->config['img_quality'] - ); - } - else - { - $resize = sprintf( - 'resize: {width: %d, height: %d, quality: %d},', - (int) $this->config['img_max_width'], - (int) $this->config['img_max_height'], - (int) $this->config['img_quality'] - ); - } + $preserve_headers_value = $this->config['img_strip_metadata'] ? 'false' : 'true'; + $resize = sprintf( + 'resize: {width: %d, height: %d, quality: %d, preserve_headers: %s},', + (int) $this->config['img_max_width'], + (int) $this->config['img_max_height'], + (int) $this->config['img_quality'], + $preserve_headers_value + ); } return $resize; diff --git a/tests/plupload/plupload_test.php b/tests/plupload/plupload_test.php index eb4657afbc..206029d8b8 100644 --- a/tests/plupload/plupload_test.php +++ b/tests/plupload/plupload_test.php @@ -19,12 +19,16 @@ class phpbb_plupload_test extends phpbb_test_case array( 0, 0, + 85, + 0, '', ), array( 130, 150, - 'resize: {width: 130, height: 150, quality: 85},' + 85, + 1, + 'resize: {width: 130, height: 150, quality: 85, preserve_headers: false},' ), ); } @@ -32,7 +36,7 @@ class phpbb_plupload_test extends phpbb_test_case /** * @dataProvider generate_resize_string_data */ - public function test_generate_resize_string($config_width, $config_height, $expected) + public function test_generate_resize_string($config_width, $config_height, $config_quality, $config_metadata, $expected) { global $phpbb_root_path, $phpEx; @@ -41,6 +45,8 @@ class phpbb_plupload_test extends phpbb_test_case $config = new \phpbb\config\config(array( 'img_max_width' => $config_width, 'img_max_height' => $config_height, + 'img_quality' => $config_quality, + 'img_strip_metadata' => $config_metadata, 'upload_path' => 'files', )); $plupload = new \phpbb\plupload\plupload( -- cgit v1.2.3-65-gdbad