[ticket/16329] Add configuration options for Plupload

PHPBB3-16329
PHPBB3-16330
This commit is contained in:
KYPREO 2020-01-20 22:16:38 +11:00
parent a1617548cf
commit 0b03fa963a
3 changed files with 21 additions and 27 deletions

View file

@ -17,16 +17,14 @@ class enable_plupload_config extends \phpbb\db\migration\migration
{ {
static public function depends_on() static public function depends_on()
{ {
return array( return ['\phpbb\db\migration\data\v32x\v329',];
'\phpbb\db\migration\data\v32x\v329',
);
} }
public function update_data() public function update_data()
{ {
return array( return [
array('config.add', array('img_quality', '90')), ['config.add', ['img_quality', '90']],
array('config.add', array('img_strip_metadata', '1')), ['config.add', ['img_strip_metadata', '1']],
); ];
} }
} }

View file

@ -263,24 +263,14 @@ class plupload
$resize = ''; $resize = '';
if ($this->config['img_max_height'] > 0 && $this->config['img_max_width'] > 0) if ($this->config['img_max_height'] > 0 && $this->config['img_max_width'] > 0)
{ {
if ($this->config['img_strip_metadata'] == 1) $preserve_headers_value = $this->config['img_strip_metadata'] ? 'false' : 'true';
{ $resize = sprintf(
$resize = sprintf( 'resize: {width: %d, height: %d, quality: %d, preserve_headers: %s},',
'resize: {width: %d, height: %d, quality: %d, preserve_headers: false},', (int) $this->config['img_max_width'],
(int) $this->config['img_max_width'], (int) $this->config['img_max_height'],
(int) $this->config['img_max_height'], (int) $this->config['img_quality'],
(int) $this->config['img_quality'] $preserve_headers_value
); );
}
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']
);
}
} }
return $resize; return $resize;

View file

@ -19,12 +19,16 @@ class phpbb_plupload_test extends phpbb_test_case
array( array(
0, 0,
0, 0,
85,
0,
'', '',
), ),
array( array(
130, 130,
150, 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 * @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; global $phpbb_root_path, $phpEx;
@ -41,6 +45,8 @@ class phpbb_plupload_test extends phpbb_test_case
$config = new \phpbb\config\config(array( $config = new \phpbb\config\config(array(
'img_max_width' => $config_width, 'img_max_width' => $config_width,
'img_max_height' => $config_height, 'img_max_height' => $config_height,
'img_quality' => $config_quality,
'img_strip_metadata' => $config_metadata,
'upload_path' => 'files', 'upload_path' => 'files',
)); ));
$plupload = new \phpbb\plupload\plupload( $plupload = new \phpbb\plupload\plupload(