[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()
{
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']],
];
}
}

View file

@ -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;

View file

@ -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(