From 85f88f52863fb49e110cb5edc5f8ada3b09706eb Mon Sep 17 00:00:00 2001 From: Amit sharma Date: Wed, 8 Apr 2026 12:13:48 +0530 Subject: [PATCH] Improve bulk module enable/disable handling in BO modules list --- .../template/controllers/modules/js.tpl | 38 +++----- .../template/controllers/modules/list.tpl | 4 +- controllers/admin/AdminModulesController.php | 91 +++++++++++-------- 3 files changed, 72 insertions(+), 61 deletions(-) diff --git a/admin/themes/default/template/controllers/modules/js.tpl b/admin/themes/default/template/controllers/modules/js.tpl index e1d8e4d65..2491c13fa 100644 --- a/admin/themes/default/template/controllers/modules/js.tpl +++ b/admin/themes/default/template/controllers/modules/js.tpl @@ -48,42 +48,34 @@ function modules_management(action) { var modules = document.getElementsByName('modules'); - var module_list = ''; + var module_list = []; for (var i = 0; i < modules.length; i++) { - if (modules[i].checked == true) + if (modules[i].checked) { - rel = modules[i].getAttribute('data-rel'); + var rel = modules[i].getAttribute('data-rel'); if (rel != "false" && action == "uninstall") { if (!confirm(rel)) return false; } - module_list += '|'+modules[i].value; + module_list.push(modules[i].value); } } - document.location.href=currentIndex+'&token='+token+'&'+action+'='+module_list.substring(1, module_list.length); - } - // Module bulk enable/disable - function update_modules_activation_bulk(action) - { - var modules = document.getElementsByName('modules'); - var module_list = ''; - var type = 'enabled'; - - for (var i = 0; i < modules.length; i++) - { - if (modules[i].checked == true) - { - module_list += '|'+modules[i].value; - } - } - if(action=='bulkDisable'){ - type = 'disabled'; + if (!module_list.length) { + return false; } - document.location.href=currentIndex+'&token='+token+'&bulkEnable=1&type='+type+'&modules='+module_list.substring(1, module_list.length); + module_list = encodeURIComponent(module_list.join('|')); + if (action == 'bulk_enable' || action == 'bulk_disable') { + var type = action == 'bulk_disable' ? 'disabled' : 'enabled'; + document.location.href = currentIndex+'&token='+token+'&bulk_enable=1&type='+type+'&modules='+module_list; + return false; + } + + document.location.href = currentIndex+'&token='+token+'&'+action+'='+module_list; + return false; } diff --git a/admin/themes/default/template/controllers/modules/list.tpl b/admin/themes/default/template/controllers/modules/list.tpl index 3674543fe..6b0db2f51 100644 --- a/admin/themes/default/template/controllers/modules/list.tpl +++ b/admin/themes/default/template/controllers/modules/list.tpl @@ -191,13 +191,13 @@