diff --git a/release/src-rt-6.x.4708/router/www/bwlimit.asp b/release/src-rt-6.x.4708/router/www/bwlimit.asp index 8bc754e279..be28a6cadc 100644 --- a/release/src-rt-6.x.4708/router/www/bwlimit.asp +++ b/release/src-rt-6.x.4708/router/www/bwlimit.asp @@ -198,54 +198,28 @@ function verifyFields(focused, quiet) { E('_wan_qos_ibw').disabled = a; E('_wan_qos_obw').disabled = a; - E('_f_bwl_br0_enable').disabled = (a || (nvram.lan_ifname.length < 1)); - E('_f_bwl_br1_enable').disabled = (a || (nvram.lan1_ifname.length < 1)); - E('_f_bwl_br2_enable').disabled = (a || (nvram.lan2_ifname.length < 1)); - E('_f_bwl_br3_enable').disabled = (a || (nvram.lan3_ifname.length < 1)); - - if (nvram.lan_ifname.length < 1) - E('_f_bwl_br0_enable').checked = 0; - if (nvram.lan1_ifname.length < 1) - E('_f_bwl_br1_enable').checked = 0; - if (nvram.lan2_ifname.length < 1) - E('_f_bwl_br2_enable').checked = 0; - if (nvram.lan3_ifname.length < 1) - E('_f_bwl_br3_enable').checked = 0; - - var b = !E('_f_bwl_br0_enable').checked; - var b1 = !E('_f_bwl_br1_enable').checked; - var b2 = !E('_f_bwl_br2_enable').checked; - var b3 = !E('_f_bwl_br3_enable').checked; - - E('_bwl_br0_dlr').disabled = b || a; - E('_bwl_br0_dlc').disabled = b || a; - E('_bwl_br0_ulr').disabled = b || a; - E('_bwl_br0_ulc').disabled = b || a; - E('_bwl_br0_tcp').disabled = b || a; - E('_bwl_br0_udp').disabled = b || a; - E('_bwl_br0_prio').disabled = b || a; - elem.display(PR('_bwl_br0_dlr'), PR('_bwl_br0_dlc'), PR('_bwl_br0_ulr'), PR('_bwl_br0_ulc'), PR('_bwl_br0_tcp'), PR('_bwl_br0_udp'), PR('_bwl_br0_prio'), !a && !b); - - E('_bwl_br1_dlr').disabled = b1 || a; - E('_bwl_br1_dlc').disabled = b1 || a; - E('_bwl_br1_ulr').disabled = b1 || a; - E('_bwl_br1_ulc').disabled = b1 || a; - E('_bwl_br1_prio').disabled = b1 || a; - elem.display(PR('_bwl_br1_dlr'), PR('_bwl_br1_dlc'), PR('_bwl_br1_ulr'), PR('_bwl_br1_ulc'), PR('_bwl_br1_prio'), !a && !b1); - - E('_bwl_br2_dlr').disabled = b2 || a; - E('_bwl_br2_dlc').disabled = b2 || a; - E('_bwl_br2_ulr').disabled = b2 || a; - E('_bwl_br2_ulc').disabled = b2 || a; - E('_bwl_br2_prio').disabled = b2 || a; - elem.display(PR('_bwl_br2_dlr'), PR('_bwl_br2_dlc'), PR('_bwl_br2_ulr'), PR('_bwl_br2_ulc'), PR('_bwl_br2_prio'), !a && !b2); - - E('_bwl_br3_dlr').disabled = b3 || a; - E('_bwl_br3_dlc').disabled = b3 || a; - E('_bwl_br3_ulr').disabled = b3 || a; - E('_bwl_br3_ulc').disabled = b3 || a; - E('_bwl_br3_prio').disabled = b3 || a; - elem.display(PR('_bwl_br3_dlr'), PR('_bwl_br3_dlc'), PR('_bwl_br3_ulr'), PR('_bwl_br3_ulc'), PR('_bwl_br3_prio'), !a && !b3); + + for (var i = 0; i <= MAX_BRIDGE_ID; i++) { + var j = (i == 0) ? '' : i.toString(); + E('_f_bwl_br'+i+'_enable').disabled = (a || (nvram['lan'+j+'_ifname'].length < 1)); + + if (nvram['lan'+j+'_ifname'].length < 1) + E('_f_bwl_br'+i+'_enable').checked = 0; + + var b = !E('_f_bwl_br'+i+'_enable').checked; + E('_bwl_br'+i+'_dlr').disabled = b || a; + E('_bwl_br'+i+'_dlc').disabled = b || a; + E('_bwl_br'+i+'_ulr').disabled = b || a; + E('_bwl_br'+i+'_ulc').disabled = b || a; + E('_bwl_br'+i+'_prio').disabled = b || a; + elem.display(PR('_bwl_br'+i+'_dlr'), PR('_bwl_br'+i+'_dlc'), PR('_bwl_br'+i+'_ulr'), PR('_bwl_br'+i+'_ulc'), PR('_bwl_br'+i+'_prio'), !a && !b); + + if (i == 0){ + E('_bwl_br0_tcp').disabled = b || a; + E('_bwl_br0_udp').disabled = b || a; + elem.display(PR('_bwl_br0_tcp'), PR('_bwl_br0_udp'), !a && !b); + } + } return 1; } @@ -267,10 +241,11 @@ function save() { var fom = E('t_fom'); fom.bwl_enable.value = fom._f_bwl_enable.checked ? 1 : 0; - fom.bwl_br0_enable.value = fom._f_bwl_br0_enable.checked ? 1 : 0; - fom.bwl_br1_enable.value = fom._f_bwl_br1_enable.checked ? 1 : 0; - fom.bwl_br2_enable.value = fom._f_bwl_br2_enable.checked ? 1 : 0; - fom.bwl_br3_enable.value = fom._f_bwl_br3_enable.checked ? 1 : 0; + + for (var i = 0; i <= MAX_BRIDGE_ID; i++) { + fom['bwl_br'+i+'_enable'].value = fom['_f_bwl_br'+i+'_enable'].checked ? 1 : 0; + } + fom.bwl_rules.value = bwllimitrules; form.submit(fom, 1); } @@ -321,10 +296,12 @@ function init() { - - - - + + @@ -359,96 +336,50 @@ function init() { -