fix(settings): explicitly initialize unchecked checkbox settings to 0 in POST handler before saving to DB

This commit is contained in:
nertyog 2026-08-07 05:33:59 +03:00
parent 9d2bd1c2ed
commit 7277ecc621
2 changed files with 23 additions and 0 deletions

View File

@ -31,6 +31,29 @@ class ControllerModuleImgOpti extends Controller {
if (!isset($this->request->post['module_img_opti_wm_brands'])) { if (!isset($this->request->post['module_img_opti_wm_brands'])) {
$this->request->post['module_img_opti_wm_brands'] = array(); $this->request->post['module_img_opti_wm_brands'] = array();
} }
$checkbox_keys = array(
'module_img_opti_status',
'module_img_opti_wm_status',
'module_img_opti_ph_status',
'module_img_opti_support_svg',
'module_img_opti_support_webp',
'module_img_opti_webp_on_fly',
'module_img_opti_lazy_load',
'module_img_opti_auto_fake_jpg_guard',
'module_img_opti_broken_fallback',
'module_img_opti_sz_translit',
'module_img_opti_sz_spaces',
'module_img_opti_sz_special',
'module_img_opti_sz_lowercase_name',
'module_img_opti_sz_lowercase_ext',
'module_img_opti_sz_normalize_ext',
'module_img_opti_disk_status'
);
foreach ($checkbox_keys as $chk) {
if (!isset($this->request->post[$chk])) {
$this->request->post[$chk] = 0;
}
}
$quality_keys = array('module_img_opti_jpg_quality', 'module_img_opti_png_quality', 'module_img_opti_webp_quality', 'module_img_opti_max_width', 'module_img_opti_max_height', 'module_img_opti_engine'); $quality_keys = array('module_img_opti_jpg_quality', 'module_img_opti_png_quality', 'module_img_opti_webp_quality', 'module_img_opti_max_width', 'module_img_opti_max_height', 'module_img_opti_engine');
$quality_changed = false; $quality_changed = false;
foreach ($quality_keys as $qk) { foreach ($quality_keys as $qk) {