mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-03-28 17:42:57 +01:00
fixes #2411 disable 3xl and 4xl by default
- Add 3XL and 4XL sizes to defaults but keep them disabled by default - Update admin restore default derivatives resets sizes and clears cache - Update migration 177 => updates existing installs: set 3XL/4XL as disabled
This commit is contained in:
@@ -11,54 +11,25 @@ if (!defined('PHPWG_ROOT_PATH'))
|
||||
die('Hacking attempt!');
|
||||
}
|
||||
|
||||
global $conf;
|
||||
$upgrade_description = 'Add 3XL and 4XL sizes (disabled by default)';
|
||||
|
||||
load_conf_from_db();
|
||||
|
||||
$upgrade_description = 'Add 3XL and 4XL sizes';
|
||||
|
||||
//Get predefined image sizes
|
||||
$derivatives = unserialize($conf['derivatives']);
|
||||
|
||||
//get default sizes from derivative_std_params
|
||||
$default_sizes = ImageStdParams::get_default_sizes();
|
||||
|
||||
//Get 3XL and 4XL from default values
|
||||
$default_derivative_3XL = $default_sizes['3xlarge'];
|
||||
$default_derivative_4XL = $default_sizes['4xlarge'];
|
||||
// set new derivatives to add
|
||||
$new_derivatives = array(IMG_3XLARGE, IMG_4XLARGE);
|
||||
|
||||
//We need to make sure that a user hasn't redefined the XXL size bigger than the default 3XL
|
||||
//Get xxl size
|
||||
$xxl = $derivatives['d']['xxlarge'];
|
||||
$xxl_height = $xxl->sizing->ideal_size[0];
|
||||
$xxl_width = $xxl->sizing->ideal_size[1];
|
||||
// get current disabled derivative_std_params
|
||||
$disabled_derivatives = safe_unserialize(ImageStdParams::get_disabled_type_map());
|
||||
|
||||
//get 3xl size
|
||||
$triple_xl_height = $default_sizes['3xlarge']->sizing->ideal_size[0];
|
||||
$triple_xl_width = $default_sizes['3xlarge']->sizing->ideal_size[1];
|
||||
// get the new derivative_std_params and merge with current disabled derivative_std_params
|
||||
$new_disabled_derivatives = array_intersect_key($default_sizes, array_flip($new_derivatives));
|
||||
$disabled = array_merge($disabled_derivatives, $new_disabled_derivatives);
|
||||
|
||||
//Get 4xl size
|
||||
$quad_xl_height = $default_sizes['3xlarge']->sizing->ideal_size[0];
|
||||
$quad_xl_width = $default_sizes['3xlarge']->sizing->ideal_size[1];
|
||||
|
||||
//Set 3XL and 4xl size to be bigger than XXL if needed
|
||||
if ($triple_xl_height < $xxl_height or $triple_xl_width < $xxl_width)
|
||||
{
|
||||
$new_3xl_height = ceil($xxl_height*1.5);
|
||||
$new_3xl_width = ceil($xxl_width*1.5);
|
||||
|
||||
$default_sizes['3xlarge']->sizing->ideal_size[0] = $new_3xl_height;
|
||||
$default_sizes['3xlarge']->sizing->ideal_size[1] = $new_3xl_width;
|
||||
|
||||
$default_sizes['4xlarge']->sizing->ideal_size[0] = ceil($new_3xl_width*1.5);
|
||||
$default_sizes['4xlarge']->sizing->ideal_size[1] = ceil($new_3xl_width*1.5);
|
||||
}
|
||||
|
||||
//Add new 3xl and 4xl to derivatives sizes config
|
||||
$derivatives['d'][IMG_3XLARGE] = $default_sizes['3xlarge'];
|
||||
$derivatives['d'][IMG_4XLARGE] = $default_sizes['4xlarge'];
|
||||
|
||||
// Save derivative new settings
|
||||
ImageStdParams::set_and_save($derivatives['d']);
|
||||
// set and set new derivative_std_params in disabled list
|
||||
ImageStdParams::set_and_save_disabled($disabled);
|
||||
|
||||
echo "\n".$upgrade_description."\n";
|
||||
?>
|
||||
Reference in New Issue
Block a user