ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiDmzSet.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiDmzSet.js
new file mode 100644
index 0000000..eeaf1be
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiDmzSet.js
@@ -0,0 +1,172 @@
+
+(function($) {
+ $.fn.objWifiDmzSet = function() {
+ var gDMZHostIpAdrrCtrl;
+ var dmzMode;
+ this.onLoad = function(flag) {
+ if(flag) {
+ LoadWebPage("html/wifi/wifiDmzSet.html");
+
+ $("#selDmzSwitch").change(function() {
+ if("1"==$(this).val()) {
+ $("#divDmzIpAddr").hide();
+ } else {
+ $("#divDmzIpAddr").show();
+ }
+ });
+
+ $("#lt_dmz_btnAddDmzIpAddr").click(function() {
+ AddDmzIpAddr();
+ });
+
+ $("#lt_dmz_btnDeleteDmzIpAddr").click(function() {
+ DeleteDmzIpAddr();
+ });
+
+ $("#lt_dmz_btnEditDmzIpAddr").click(function() {
+ ModifyDmzIpAddr();
+ });
+
+ gDMZHostIpAdrrCtrl = $("#divhostIpAddrctrl").ip_address("divhostIpAddrctrl");
+
+ } //end flag
+
+ GetFWDmzInfo();
+ }
+
+ function DeleteDmzIpAddr() {
+ //enable DMZ
+ if(dmzMode != $("#selDmzSwitch").val()) {
+ var configMap = new Map();
+ configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
+ var retXml = PostXml("firewall","fw_set_disable_info",configMap);
+ }
+
+ var retXml = PostXml("firewall","delete_dmz");
+ if("OK" != $(retXml).find("setting_response").text()) {
+ alert("delete dmz ip failed.");
+ }
+ GetFWDmzInfo();
+ }
+
+
+ function AddDmzIpAddr() {
+
+ ShowDlg("divDmzSetDlg",300,100);
+ var dmzdlgipctl = $("#divdmzdlgipControl").ip_address("divdmzdlgipControl");
+
+ $("#lt_btnSave").click(function() {
+ var ipAddr = dmzdlgipctl.getIP();
+ if(!IsIPv4(ipAddr)) {
+ $("#lt_dmz_ipAddrError").show().text(jQuery.i18n.prop("lt_ipAddrFormatError"));
+ return;
+ }
+
+
+ //enable DMZ
+ if(dmzMode != $("#selDmzSwitch").val()) {
+ var configMap = new Map();
+ configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
+ var retXml = PostXml("firewall","fw_set_disable_info",configMap);
+ }
+
+
+ var entryMap = new Map();
+ entryMap.put("RGW/firewall/dmz_dest_ip",ipAddr);
+ CloseDlg();
+ var retXml = PostXml("firewall","fw_add_dmz_entry",entryMap);
+ if("OK" != $(retXml).find("setting_response").text()) {
+ alert("add dmz ip addr failed.");
+ }
+ GetFWDmzInfo();
+ });
+ }
+
+ function GetFWDmzInfo() {
+ var retXml = PostXml("firewall","fw_get_disable_info");
+ dmzMode = $(retXml).find("dmz_disable").text();
+ $("#selDmzSwitch").val(dmzMode);
+ if(1 == dmzMode) {
+ $("#divDmzIpAddr").hide();
+ } else {
+ $("#divDmzIpAddr").show();
+ GetDmzIpAddr();
+ }
+
+ }
+
+ function GetDmzIpAddr() {
+ var retXml = PostXml("firewall","fw_get_dmz_info");
+ var hostIpAddr = $(retXml).find("dmz_dest_ip").text();
+ if(""==hostIpAddr) {
+ $("#divIpAddr").hide();
+ $("#lt_dmz_btnAddDmzIpAddr").show();
+ $("#lt_dmz_btnDeleteDmzIpAddr").hide();
+ $("#lt_dmz_btnEditDmzIpAddr").hide();
+ } else {
+ $("#divIpAddr").show();
+ $("#lt_dmz_btnAddDmzIpAddr").hide();
+ $("#lt_dmz_btnDeleteDmzIpAddr").show();
+ $("#lt_dmz_btnEditDmzIpAddr").show();
+
+ gDMZHostIpAdrrCtrl.setIP(hostIpAddr);
+ }
+ }
+
+ function ModifyDmzIpAddr() {
+ ShowDlg("divDmzSetDlg",100,100);
+ var dmzdlgipctl = $("#divdmzdlgipControl").ip_address("divdmzdlgipControl");
+ var curIpAddr = gDMZHostIpAdrrCtrl.getIP();
+ dmzdlgipctl.setIP(curIpAddr);
+
+ $("#lt_btnSave").click(function() {
+ var newIpAddr = dmzdlgipctl.getIP();
+ CloseDlg();
+ if(newIpAddr == curIpAddr) {
+ return;
+ }
+
+ //enable DMZ
+ if(dmzMode != $("#selDmzSwitch").val()) {
+ var configMap = new Map();
+ configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
+ var retXml = PostXml("firewall","fw_set_disable_info",configMap);
+ }
+
+ var entryMap = new Map();
+ entryMap.put("RGW/firewall/dmz_dest_ip", newIpAddr);
+
+
+ var retXml = PostXml("firewall","fw_edit_dmz_entry",entryMap);
+ if("OK" != $(retXml).find("setting_response").text()) {
+ alert("edit ip filter entry failed.");
+ }
+ GetFWDmzInfo();
+ });
+ }
+
+ this.SaveData = function() {
+ if(dmzMode == $("#selDmzSwitch").val()) {
+ return;
+ }
+
+ var configMap = new Map();
+ configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
+ var retXml = PostXml("firewall","fw_set_disable_info",configMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWDmzInfo();
+ } else {
+ alert("dsm set failed.");
+ }
+ }
+
+
+
+ return this;
+ }
+})(jQuery);
+
+
+
+
+
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiDnfilter.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiDnfilter.js
new file mode 100644
index 0000000..6226017
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiDnfilter.js
@@ -0,0 +1,248 @@
+
+(function($) {
+
+ $.fn.objWifiDnfilter = function() {
+
+
+ var gDisbaledDnFilter;
+ this.onLoad = function(flag) {
+ if(flag) {
+ LoadWebPage("html/wifi/wifiDnfilter.html");
+
+ $("#lt_dnfilter_btnAddDnfilter").click(function() {
+ AddDnfilterEntry();
+ });
+
+ $("#lt_dnfilter_btnDeleteDnfilter").click(function() {
+ DelDnFilterEntry();
+ });
+
+
+
+ $("#selOpenDnFilterSwitch").change(function() {
+ if(1 == $(this).val()) {
+
+ $("#divDnFilterList").hide();
+ } else {
+
+ $("#divDnFilterList").show();
+ }
+ });
+ } //end flag
+
+ GetFWDnfilterInfo();
+ }
+
+ function DelDnFilterEntry() {
+ var entryIdxList = "";
+ $("tbody tr td :checked").each(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length + 1;
+ entryIdxList = entryIdxList + entryIdx + ",";
+ });
+
+ if(""==entryIdxList) {
+ return;
+ }
+
+ var entryMap = new Map();
+ entryMap.put("RGW/firewall/del_dn_filter_index",entryIdxList);
+ var retXml = PostXml("firewall","delete_dn_filter_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWDnfilterInfolist();
+ } else {
+ alert("delete dn filter entry failed.");
+ }
+ }
+
+
+ function AddDnfilterEntry() {
+ ShowDnfilterConfigDlg();
+
+ $("#lt_btnSave").click(function() {
+
+ var validateMsg = ValidateDnfilterEntry();
+ if("ok" != validateMsg){
+ $("#lDnFilterSetError").show().text(validateMsg);
+ return;
+ }
+
+ var entryId = $("tbody tr").size() + 1;
+ var preTag = "RGW/firewall/dn_filter/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/start_time",GetTimeFromElementEx("txtStartTime"));
+ entryMap.put(preTag+"/stop_time",GetTimeFromElementEx("txtStopTime"));
+ entryMap.put(preTag+"/domain_name",$("#txtDomainName").val() );
+ entryMap.put(preTag+"/enabled", $("#selDnfilterStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","add_dn_filter_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWDnfilterInfolist();
+ } else {
+ alert("add port map entry failed.");
+ }
+ });
+ }
+
+
+ function GetFWDnfilterInfo() {
+
+
+ var retXml = PostXml("firewall","fw_get_disable_info");
+ gDisbaledDnFilter = $(retXml).find("dn_filter_disable").text();
+ $("#selOpenDnFilterSwitch").val(gDisbaledDnFilter);
+ if(1 == gDisbaledDnFilter) {
+ $("#divDnFilterList").hide();
+ return;
+
+ } else {
+ $("#divDnFilterList").show();
+ GetFWDnfilterInfolist();
+ }
+ }
+
+
+ function GetFWDnfilterInfolist() {
+
+ $("#tbodydnfilter").empty();
+ $("#DeleteAlldnfilterEntry").attr("checked",false);
+ $("#lt_dnfilter_btnDeleteDnfilter").hide();
+
+ var retXml = PostXml("firewall","fw_get_dn_filter_info");
+
+ var bFoundEntry = true;
+ var idx = 1;
+ while(bFoundEntry) {
+ var entryIdx = "entry_" + idx;
+ bFoundEntry = false;
+ $(retXml).find(entryIdx).each(function() {
+ bFoundEntry = true;
+ var startTime = $(this).find("start_time").text();
+ var StopTime = $(this).find("stop_time").text();
+ var domainName = $(this).find("domain_name").text();
+ var enabled = $(this).find("enabled").text();
+ var dnfilterEntryInfo = startTime + ";" + StopTime + ";" + domainName + ";" + enabled;
+ if(0 == enabled) {
+ statusString = jQuery.i18n.prop("lt_optDisabledSwitch");
+ } else {
+ statusString = jQuery.i18n.prop("lt_optEnableSwitch");
+ }
+
+ var htmlTxt = "<tr style='cursor: pointer;'name='" + dnfilterEntryInfo + "'><td>" + startTime + "</td><td>"+ StopTime+ "</td><td>"
+ + domainName + "</td><td>"+ statusString + "</td> <td><input type='checkbox'></td></tr>";
+ $("#tbodydnfilter").append(htmlTxt);
+ });
+ ++idx;
+ $("tbody tr:last td:lt(4)").click(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length;
+ ModifyDnfilterEntry(entryIdx);
+ });
+ }
+
+ $("#DeleteAlldnfilterEntry").click(function() {
+ if($(this).attr("checked")) {
+ $("tbody :checkbox").attr("checked",true);
+ } else {
+ $("tbody :checkbox").attr("checked",false);
+ }
+ if($("tbody :checked").length>0){
+ $("#lt_dnfilter_btnDeleteDnfilter").show();
+ }else{
+ $("#lt_dnfilter_btnDeleteDnfilter").hide();
+ }
+ });
+
+ $("tbody :checkbox").click(function() {
+ if($("tbody :checked").length == $("tbody tr").length) {
+ $("#DeleteAlldnfilterEntry").attr("checked",true);
+ } else {
+ $("#DeleteAlldnfilterEntry").attr("checked",false);
+ }
+ if($("tbody :checked").length>0){
+ $("#lt_dnfilter_btnDeleteDnfilter").show();
+ }else{
+ $("#lt_dnfilter_btnDeleteDnfilter").hide();
+ }
+ });
+ }
+
+ function ModifyDnfilterEntry(entryIdx) {
+ ShowDnfilterConfigDlg();
+ var entryId = entryIdx + 1;
+ var selector = "tbody tr:eq(" + entryIdx+ ")";
+ var dnfilterEntryInfo = $(selector).attr("name").split(";");
+
+ SetTimeToElementEx("txtStartTime",dnfilterEntryInfo[0]);
+ SetTimeToElementEx("txtStopTime",dnfilterEntryInfo[1]);
+ $("#txtDomainName").val(dnfilterEntryInfo[2]);
+ $("#selDnfilterStatus").val(dnfilterEntryInfo[3]);
+
+ $("#lt_btnSave").click(function() {
+ var validateMsg = ValidateDnfilterEntry();
+ if("ok" != validateMsg){
+ $("#lDnFilterSetError").show().text(validateMsg);
+ return;
+ }
+
+ if(dnfilterEntryInfo[0] == GetTimeFromElementEx("txtStartTime") && dnfilterEntryInfo[1] == GetTimeFromElementEx("txtStopTime")
+ &&dnfilterEntryInfo[0] == $("#txtDomainName").val()&& dnfilterEntryInfo[3] == $("#selDnfilterStatus").val()) {
+ CloseDlg();
+ return;
+ }
+
+ var preTag = "RGW/firewall/dn_filter/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/start_time",GetTimeFromElementEx("txtStartTime"));
+ entryMap.put(preTag+"/stop_time",GetTimeFromElementEx("txtStopTime"));
+ entryMap.put(preTag+"/domain_name",$("#txtDomainName").val());
+ entryMap.put(preTag+"/enabled", $("#selDnfilterStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","edit_dn_filter_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWDnfilterInfolist();
+ } else {
+ alert("edit dn filter entry failed.");
+ }
+ });//$("#lt_btnSave").click(function(){
+ }
+
+ function ShowDnfilterConfigDlg(){
+ ShowDlg("divDnfilterSetDlg",300,100);
+ $("[name='time']").keyup(function() {
+ $("#lDnFilterSetError").hide();
+ if($(this).val().length == 2) {
+ $(this).nextAll(":eq(1)").focus();
+ }
+ });
+
+ }
+
+
+ this.SaveData = function() {
+ if(gDisbaledDnFilter == $("#selOpenDnFilterSwitch").val()) {
+ return;
+ }
+
+ var configMap = new Map();
+ configMap.put("RGW/firewall/dn_filter_disable",$("#selOpenDnFilterSwitch").val());
+ var retXml = PostXml("firewall","fw_set_disable_info",configMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWDnfilterInfo();
+ } else {
+ alert("Dnfilter set failed.");
+ }
+ }
+
+
+ function ValidateDnfilterEntry(){
+ if(!IsTimeEx(GetTimeFromElementEx("txtStartTime")) || !IsTimeEx(GetTimeFromElementEx("txtStopTime"))){
+ return jQuery.i18n.prop("lt_TimeFormatError");
+ }
+ return "ok";
+ }
+
+
+ return this;
+ }
+})(jQuery);
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiIpFilter.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiIpFilter.js
new file mode 100644
index 0000000..401a30a
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiIpFilter.js
@@ -0,0 +1,458 @@
+
+(function($) {
+
+ $.fn.objWifiIpFilter = function() {
+ var gDisbaledipFilter;
+ var gIpFilterPolicy;
+ this.onLoad = function(flag) {
+ if(flag) {
+ LoadWebPage("html/wifi/wifiIpFilter.html");
+
+
+ $("#selOpenIpFilterSwitch").change(function() {
+ if(1 == $(this).val()) {
+ $("#divIpFilterPolicySwitch").hide();
+ $("#divIpFilterList").hide();
+ } else {
+ $("#divIpFilterPolicySwitch").show();
+ $("#divIpFilterList").show();
+ }
+ });
+
+ $("#selIpFilterPolicySwitch").change(function() {
+ $("#divIpFilterList").show();
+
+ if("ACCEPT"==$(this).val()) {
+ $("#lIpFilterListLabel").text(jQuery.i18n.prop('lt_ipFilter_AcceptHelper'));
+ } else {
+ $("#lIpFilterListLabel").text(jQuery.i18n.prop('lt_ipFilter_rejectHelper'));
+ }
+
+ //$("#lIpFilterListLabel").text(jQuery.i18n.prop('lt_ipFilter_ruleHelper'));
+ });
+
+ $("#lt_ipFilter_btnAddIpFilter").click(function() {
+ AddIpFilterEntry();
+ });
+
+ $("#lt_ipFilter_btnDeleteIpFilter").click(function() {
+ DelIpFilterEntry();
+ });
+ } //end flag
+
+ GetFWIpFilterInfo();
+ }
+
+ function DelIpFilterEntry() {
+ var entryIdxList = "";
+ $("tbody tr td :checked").each(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length + 1;
+ entryIdxList = entryIdxList + entryIdx + ",";
+ });
+
+ if(""==entryIdxList) {
+ return;
+ }
+
+ var entryMap = new Map();
+ entryMap.put("RGW/firewall/delete_ipfilter_index",entryIdxList);
+ var retXml = PostXml("firewall","delete_ip_filter_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWIpFilterInfo();
+ } else {
+ alert("delete ip filter entry failed.");
+ }
+ }
+
+ function AddIpFilterEntry() {
+ ShowDlg("divIpFilterSetDlg",300,100);
+ var ipControl_source = 0;
+ var ipControl_dest = 0;
+
+ $("#selIpFilterSrc").change(function() {
+ if(1 == $(this).val()) {
+ $("#divIpFilterSrcCustom").show();
+ getID("divipControl_source").innerHTML = "";
+ ipControl_source = $("#divipControl_source").ip_address("divipControl_source");
+ }
+ else {
+ $("#divIpFilterSrcCustom").hide();
+ }
+ });
+
+ $("#selIpFilterDst").change(function() {
+ if(1 == $(this).val()) {
+ $("#divIpFilterDstCustom").show();
+ getID("divipControl_dest").innerHTML = "";
+ ipControl_dest = $("#divipControl_dest").ip_address("divipControl_dest");
+ }
+ else {
+ $("#divIpFilterDstCustom").hide();
+ }
+ });
+
+ $("[name='time']").keyup(function() {
+ if($(this).val().length == 2) {
+ $(this).nextAll(":eq(1)").focus();
+ }
+ });
+
+ $("#lt_btnSave").click(function() {
+ var srcIpSel = $("#selIpFilterSrc").val();
+ var dstIpSel = $("#selIpFilterDst").val();
+
+ if (0 == srcIpSel) {
+ ipControl_source = 0;
+ }
+
+ if (0 == dstIpSel) {
+ ipControl_dest = 0;
+ }
+ var validateMsg = ValidateIPFilterEntry(ipControl_source,ipControl_dest);
+ if("ok" != validateMsg){
+ $("#lIpFilterSetError").show().text(validateMsg);
+ return;
+ }
+
+ var entryId = $("tbody tr").size() + 1;
+ var preTag = "RGW/firewall/ip_filter/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/start_time",GetTimeFromElement("txtStartTime"));
+ entryMap.put(preTag+"/stop_time",GetTimeFromElement("txtEndTime"));
+
+ if (0 == srcIpSel)
+ entryMap.put(preTag+"/src_ip", "0");
+ else
+ entryMap.put(preTag+"/src_ip", ipControl_source.getIP());
+
+ if (0 == dstIpSel)
+ entryMap.put(preTag+"/dest_ip", "0");
+ else
+ entryMap.put(preTag+"/dest_ip", ipControl_dest.getIP());
+
+ entryMap.put(preTag+"/src_port", GetPortFromElement("txtSrcPort"));
+ entryMap.put(preTag+"/dest_port", GetPortFromElement("txtDestPort"));
+ entryMap.put(preTag+"/proto", $("#selIpFilterProtocol").val());
+ //entryMap.put(preTag+"/target", $("#selIpFilterAction").val());
+ if ($("#selIpFilterPolicySwitch").val() == "ACCEPT")
+ entryMap.put(preTag+"/target", "REJECT");
+ else
+ entryMap.put(preTag+"/target", "ACCEPT");
+
+ entryMap.put(preTag+"/enabled", $("#selIpFilterStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","add_ip_filter_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWIpFilterInfo();
+ } else {
+ alert("add ip filter entry failed.");
+ }
+
+ });
+ }
+
+ function GetFWIpFilterInfo() {
+ var retXml = PostXml("firewall","fw_get_disable_info");
+ gDisbaledipFilter = $(retXml).find("ip_filter_disable").text();
+ $("#selOpenIpFilterSwitch").val(gDisbaledipFilter);
+ if(1 == gDisbaledipFilter) {
+ $("#divIpFilterList").hide();
+ $("#divIpFilterPolicySwitch").hide();
+ } else {
+ $("#divIpFilterList").show();
+ $("#divIpFilterPolicySwitch").show();
+ GetIpFilterDefaultPolicyInfo();
+ }
+
+ }
+
+ function GetIpFilterDefaultPolicyInfo() {
+
+ var retXml = PostXml("firewall","fw_get_ip_filter_info");
+ gIpFilterPolicy = $(retXml).find("default_policy").text();
+
+
+ $("#selIpFilterPolicySwitch").val(gIpFilterPolicy);
+ if("ACCEPT"==$("#selIpFilterPolicySwitch").val()) {
+ $("#lIpFilterListLabel").text(jQuery.i18n.prop('lt_ipFilter_AcceptHelper'));
+ } else {
+ $("#lIpFilterListLabel").text(jQuery.i18n.prop('lt_ipFilter_rejectHelper'));
+ }
+
+ //$("#lIpFilterListLabel").text(jQuery.i18n.prop('lt_ipFilter_ruleHelper'));
+ $("#tbodyIpFilter").empty();
+ $("#DeleteAllIpEntry").attr("checked",false);
+ $("#lt_ipFilter_btnDeleteIpFilter").hide();
+
+ var bFoundEntry = true;
+ var idx = 1;
+ while(bFoundEntry) {
+ var entryIdx = "entry_" + idx;
+ bFoundEntry = false;
+ $(retXml).find(entryIdx).each(function() {
+ bFoundEntry = true;
+ var startTime = $(this).find("start_time").text();
+ var stopTime = $(this).find("stop_time").text();
+ var srcIp = $(this).find("src_ip").text();
+ var srcPort = $(this).find("src_port").text();
+ var destIp = $(this).find("dest_ip").text();
+ var destPort = $(this).find("dest_port").text();
+ var proto = $(this).find("proto").text();
+ var target = $(this).find("target").text();
+ var enabled = $(this).find("enabled").text();
+ var ipFilterEntryInfo = startTime + ";" + stopTime + ";" + srcIp + ";" + srcPort + ";"
+ + destIp + ";" + destPort + ";" + proto + ";" + target + ";" + enabled;
+
+ var timeRange = startTime + "-" + stopTime;
+ var strStatus;
+ if(1==enabled) {
+ strStatus = jQuery.i18n.prop("lt_optEnableSwitch");
+ } else {
+ strStatus = jQuery.i18n.prop("lt_optDisabledSwitch");
+ }
+
+ if (srcIp == "0")
+ srcIp = jQuery.i18n.prop("ltIpFilterLanAll");
+
+ if (destIp == "0")
+ destIp = jQuery.i18n.prop("ltIpFilterWanAll");
+
+ var htmlTxt = "<tr style='cursor: pointer;'name='" + ipFilterEntryInfo + "'><td>" + timeRange + "</td><td>" + srcIp + "</td><td>"
+ + destIp + "</td><td>" + srcPort + "</td><td>" + destPort + "</td><td>" + proto + "</td><td>" + strStatus + "</td> <td><input type='checkbox'></td></tr>";
+ $("#tbodyIpFilter").append(htmlTxt);
+ });
+ ++idx;
+
+ $("tbody tr:last td:lt(8)").click(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length;
+ ModifyIpFilterEntry(entryIdx);
+ });
+
+ }
+
+ $("#DeleteAllIpEntry").click(function() {
+ var ii = $(this).attr("checked");
+ if($(this).attr("checked")) {
+ $("tbody :checkbox").attr("checked",true);
+ } else {
+ $("tbody :checkbox").attr("checked",false);
+ }
+
+ if($("tbody :checked").length>0){
+ $("#lt_ipFilter_btnDeleteIpFilter").show();
+ }else{
+ $("#lt_ipFilter_btnDeleteIpFilter").hide();
+ }
+ });
+
+ $("tbody :checkbox").click(function() {
+ if($("tbody :checked").length == $("tbody tr").length) {
+ $("#DeleteAllIpEntry").attr("checked",true);
+ }else{
+ $("#DeleteAllIpEntry").attr("checked",false);
+ }
+
+ if($("tbody :checked").length>0){
+ $("#lt_ipFilter_btnDeleteIpFilter").show();
+ }else{
+ $("#lt_ipFilter_btnDeleteIpFilter").hide();
+ }
+ });
+
+
+ }//function GetIpFilterDefaultPolicyInfo()
+
+ function ModifyIpFilterEntry(entryIdx) {
+ ShowDlg("divIpFilterSetDlg",400,200);
+ var entryId = entryIdx + 1;
+ var selector = "tbody tr:eq(" + entryIdx+ ")";
+ var ipFilterEntryInfo = $(selector).attr("name").split(";");
+ var ipControl_source = 0;
+ var ipControl_dest = 0;
+
+ $("#selIpFilterSrc").change(function() {
+ if(1 == $(this).val()) {
+ $("#divIpFilterSrcCustom").show();
+ getID("divipControl_source").innerHTML = "";
+ ipControl_source = $("#divipControl_source").ip_address("divipControl_source");
+ }
+ else {
+ $("#divIpFilterSrcCustom").hide();
+ }
+ });
+
+ $("#selIpFilterDst").change(function() {
+ if(1 == $(this).val()) {
+ $("#divIpFilterDstCustom").show();
+ getID("divipControl_dest").innerHTML = "";
+ ipControl_dest = $("#divipControl_dest").ip_address("divipControl_dest");
+ }
+ else {
+ $("#divIpFilterDstCustom").hide();
+ }
+ });
+
+ SetTimeToElement("txtStartTime",ipFilterEntryInfo[0]);
+ SetTimeToElement("txtEndTime",ipFilterEntryInfo[1]);
+ $("#ltIpFilterLanAll").text(jQuery.i18n.prop('ltIpFilterLanAll'));
+ $("#ltIpFilterLanCustom").text(jQuery.i18n.prop('ltIpFilterLanCustom'));
+
+ $("#ltIpFilterWanAll").text(jQuery.i18n.prop('ltIpFilterWanAll'));
+ $("#ltIpFilterWanCustom").text(jQuery.i18n.prop('ltIpFilterWanCustom'));
+
+ if (ipFilterEntryInfo[2] != "0") {
+ $("#selIpFilterSrc").val("1");
+ $("#divIpFilterSrcCustom").show();
+ if ( 0 == ipControl_source)
+ ipControl_source = $("#divipControl_source").ip_address("divipControl_source");
+ ipControl_source.setIP(ipFilterEntryInfo[2]);
+ }
+ else {
+ $("#selIpFilterSrc").val("0");
+ $("#divIpFilterSrcCustom").hide();
+ }
+
+ SetPortToElement("txtSrcPort",ipFilterEntryInfo[3]);
+
+ if (ipFilterEntryInfo[4] != "0") {
+ $("#selIpFilterDst").val("1");
+ $("#divIpFilterDstCustom").show();
+ if ( 0 == ipControl_dest)
+ ipControl_dest = $("#divipControl_dest").ip_address("divipControl_dest");
+ ipControl_dest.setIP(ipFilterEntryInfo[4]);
+ }
+ else {
+ $("#selIpFilterDst").val("0");
+ $("#divIpFilterDstCustom").hide();
+ }
+
+ SetPortToElement("txtDestPort",ipFilterEntryInfo[5]);
+
+
+ $("#selIpFilterProtocol").val(ipFilterEntryInfo[6]);
+ //$("#selIpFilterAction").val(ipFilterEntryInfo[7]);
+ $("#selIpFilterStatus").val(ipFilterEntryInfo[8]);
+
+ $("#lt_btnSave").click(function() {
+ var srcIpSel = $("#selIpFilterSrc").val();
+ var dstIpSel = $("#selIpFilterDst").val();
+
+ if (0 == srcIpSel)
+ ipControl_source = 0;
+
+ if (0 == dstIpSel)
+ ipControl_dest = 0;
+
+ if(ipFilterEntryInfo[0] == GetTimeFromElement("txtStartTime") && ipFilterEntryInfo[1] == GetTimeFromElement("txtEndTime")
+ &&((ipFilterEntryInfo[2] == "0" && ipControl_source == "0") ||(ipControl_source != 0 && ipFilterEntryInfo[2] == ipControl_source.getIP()))
+ &&ipFilterEntryInfo[3] == GetPortFromElement("txtSrcPort")
+ &&((ipFilterEntryInfo[4] == "0" && ipControl_dest == "0") || (ipControl_dest != 0 && ipFilterEntryInfo[4] == ipControl_dest.getIP()))
+ &&ipFilterEntryInfo[5] == GetPortFromElement("txtDestPort")
+ && ipFilterEntryInfo[6] == $("#selIpFilterProtocol").val()
+ //&& ipFilterEntryInfo[7] == $("#selIpFilterAction").val()
+ && ipFilterEntryInfo[8] == $("#selIpFilterStatus").val()) {
+ CloseDlg();
+ return;
+ }
+
+ var validateMsg = ValidateIPFilterEntry(ipControl_source, ipControl_dest);
+ if("ok" != validateMsg){
+ $("#lIpFilterSetError").show().text(validateMsg);
+ return;
+ }
+ var preTag = "RGW/firewall/ip_filter/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/start_time",GetTimeFromElement("txtStartTime"));
+ entryMap.put(preTag+"/stop_time",GetTimeFromElement("txtEndTime"));
+
+ if (0 == srcIpSel)
+ entryMap.put(preTag+"/src_ip", "0");
+ else
+ entryMap.put(preTag+"/src_ip", ipControl_source.getIP());
+
+ if (0 == dstIpSel)
+ entryMap.put(preTag+"/dest_ip", "0");
+ else
+ entryMap.put(preTag+"/dest_ip", ipControl_dest.getIP());
+
+ entryMap.put(preTag+"/src_port", $("#txtSrcPort1").val()+":"+$("#txtSrcPort2").val());
+ entryMap.put(preTag+"/dest_port", $("#txtDestPort1").val()+":"+$("#txtDestPort2").val());
+ entryMap.put(preTag+"/proto", $("#selIpFilterProtocol").val());
+ //entryMap.put(preTag+"/target", $("#selIpFilterAction").val());
+ if ($("#selIpFilterPolicySwitch").val() == "ACCEPT")
+ entryMap.put(preTag+"/target", "REJECT");
+ else
+ entryMap.put(preTag+"/target", "ACCEPT");
+
+ entryMap.put(preTag+"/enabled", $("#selIpFilterStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","edit_ip_filter_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWIpFilterInfo();
+ } else {
+ alert("edit ip filter entry failed.");
+ }
+ });//$("#lt_btnSave").click(function(){
+ }
+
+ this.SaveData = function() {
+ if(gDisbaledipFilter != $("#selOpenIpFilterSwitch").val()) {
+ var ipFilterConfigMap = new Map();
+ ipFilterConfigMap.put("RGW/firewall/ip_filter_disable", $("#selOpenIpFilterSwitch").val());
+ var retXml = PostXml("firewall","fw_set_disable_info",ipFilterConfigMap);
+ if("OK" == $(retXml).find("setting_response").text() ) {
+ if (1 == $("#selOpenIpFilterSwitch").val()) {
+ $("#divIpFilterList").hide();
+ $("#divIpFilterPolicySwitch").hide();
+ }
+ // GetFWIpFilterInfo();
+ } else {
+ alert("disabled ip filter failed.");
+ }
+ }
+
+ if(0 == $("#selOpenIpFilterSwitch").val()) {
+ // && gIpFilterPolicy != $("#selIpFilterPolicySwitch").val()) {
+ var ipFilterConfigMap = new Map();
+ ipFilterConfigMap.put("RGW/firewall/ip_filter/default_policy",$("#selIpFilterPolicySwitch").val());
+ var retXml = PostXml("firewall","set_ip_filter_default_pol",ipFilterConfigMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ $("#divIpFilterList").show();
+ $("#divIpFilterPolicySwitch").show();
+ GetIpFilterDefaultPolicyInfo();
+ } else {
+ alert("disabled ip filter failed.");
+ }
+ }
+ }
+
+
+ function ValidateIPFilterEntry(IPControlsrc,IPControldst){
+ if(!IsTime(GetTimeFromElement("txtStartTime")) || !IsTime(GetTimeFromElement("txtEndTime"))){
+ return jQuery.i18n.prop("lt_TimeFormatError");
+ }
+
+ if (IPControlsrc != 0 && !IPControlsrc.validIPV4()) {
+ return jQuery.i18n.prop("lt_ipAddrFormatError");
+ }
+ if (IPControldst!=0 && !IPControldst.validIPV4()){
+ return jQuery.i18n.prop("lt_ipAddrFormatError");
+ }
+ if(!IsPort(GetPortFromElement("txtSrcPort")))
+ return jQuery.i18n.prop("lt_PortFormatError");
+ if(!IsPort(GetPortFromElement("txtDestPort")))
+ return jQuery.i18n.prop("lt_PortFormatError");
+
+ return "ok";
+ }
+
+ return this;
+ }
+})(jQuery);
+
+
+
+
+
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiMacFilter.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiMacFilter.js
new file mode 100644
index 0000000..a402283
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiMacFilter.js
@@ -0,0 +1,250 @@
+
+(function($) {
+
+ $.fn.objWifiMACFilter = function() {
+
+ var gMacDenyListStr = "";
+ var gMacAllowListStr = "";
+ var gMacFilterMode = "";
+ var gMacDenyListStr1 = "";
+ var gMacAllowListStr1 = "";
+ var gMacFilterMode1 = "";
+
+
+ this.onLoad = function(flag) {
+ if (flag) {
+ LoadWebPage("html/wifi/wifiMacFilter.html");
+
+ $("#selMacFilterSwitch").change(function() {
+ if (0 == $("#SelWifiModule").val()) {
+ gMacFilterMode = $(this).val();
+ } else {
+ gMacFilterMode1 = $(this).val();
+ };
+ RefreshData($("#SelWifiModule").val());
+ });
+
+ $("#SelWifiModule").change(function() {
+ RefreshData($(this).val());
+ });
+
+ $("#lt_macFilter_btnAddMacFilter").click(function() {
+ AddMacFilterAddr();
+ });
+
+ $("#lt_macFilter_btnDeleteMacFilter").click(function() {
+ DeleteMacFilterAddr();
+ });
+ } //end flag
+
+ GetMacFilterConfig();
+ }
+
+ function AddMacFilterAddr() {
+ ShowDlg("divMACFilterDlg", 400, 100);
+
+ $("[name='txtmac']").keyup(function() {
+ if ($(this).val().length == 2) {
+ $(this).nextAll(":eq(1)").focus();
+ }
+ });
+
+ $("#lt_btnSave").click(function() {
+ var macAddr = $("#txtMac1").val() + ":" + $("#txtMac2").val() + ":" + $("#txtMac3").val() + ":"
+ + $("#txtMac4").val() + ":" + $("#txtMac5").val() + ":" + $("#txtMac6").val();
+
+ if (!IsMACAddr(macAddr)) {
+ $("#lt_macFilter_MacError").show();
+ return;
+ }
+
+
+ var macFilterConfigMap = new Map();
+ macFilterConfigMap.put("RGW/wireless/wifi_device", $("#SelWifiModule").val());
+ if ("allow" == $("#selMacFilterSwitch").val()) {
+ if ("" == GetAllMacAddr()) {
+ macFilterConfigMap.put("RGW/wireless/maclist_allow", macAddr);
+
+ } else {
+ macFilterConfigMap.put("RGW/wireless/maclist_allow", GetAllMacAddr() + " " + macAddr);
+ }
+ } else {
+ if ("" == GetAllMacAddr()) {
+ macFilterConfigMap.put("RGW/wireless/maclist_deny", macAddr);
+
+ } else {
+ macFilterConfigMap.put("RGW/wireless/maclist_deny", GetAllMacAddr() + " " + macAddr);
+ }
+ }
+
+ CloseDlg();
+ var retXml = PostXml("wireless", "wifi_set_mac_filter", macFilterConfigMap);
+ if ("OK" == $(retXml).find("setting_response").text()) {
+ GetMacFilterConfig();
+ } else {
+ alert("config mac filter error.");
+ }
+ });
+ }
+
+ function DeleteMacFilterAddr() {
+ var macFilterConfigMap = new Map();
+ macFilterConfigMap.put("RGW/wireless/wifi_device", $("#SelWifiModule").val());
+ if ("allow" == $("#selMacFilterSwitch").val()) {
+ macFilterConfigMap.put("RGW/wireless/maclist_allow", GetUnCheckedMacAddr());
+ } else {
+ macFilterConfigMap.put("RGW/wireless/maclist_deny", GetUnCheckedMacAddr());
+ }
+
+ var retXml = PostXml("wireless", "wifi_set_mac_filter", macFilterConfigMap);
+ if ("OK" == $(retXml).find("setting_response").text()) {
+ GetMacFilterConfig();
+ } else {
+ alert("config mac filter error.");
+ }
+ }
+
+
+ function GetMacFilterConfig() {
+ var retXml = PostXml("wireless", "wifi_get_mac_filter");
+ var wirelessAPNum = $(retXml).find("wireless_num").text();
+ if (wirelessAPNum == 0) {
+ $("#divWifiMacFilter").hide();
+ $("#lt_NoWifi").show().text(jQuery.i18n.prop('lNoWiFiCardError'));
+ return;
+ }
+
+ $(retXml).find("AP0").each(function() {
+ gMacFilterMode = $(this).find("macfilter").text();
+ gMacDenyListStr = $(this).find("maclist_deny").text();
+ gMacAllowListStr = $(this).find("maclist_allow").text();
+ }
+ );
+
+ if (2 == $(retXml).find("wireless_num").text()) {
+ $("#lt_macFilter_wifiModule1").show();
+ $(retXml).find("AP1").each(function() {
+ gMacFilterMode1 = $(this).find("macfilter").text();
+ gMacDenyListStr1 = $(this).find("maclist_deny").text();
+ gMacAllowListStr1 = $(this).find("maclist_allow").text();
+ });
+ } else {
+ $("#lt_macFilter_wifiModule1").hide();
+ }
+
+ RefreshData($("#SelWifiModule").val());
+ }
+
+ function RefreshData(wifiModuleIdx) {
+ var macFilterMode = wifiModuleIdx == 0 ? gMacFilterMode : gMacFilterMode1;
+ var macAllowListStr = wifiModuleIdx == 0 ? gMacAllowListStr : gMacAllowListStr1;
+ var macDenyListStr = wifiModuleIdx == 0 ? gMacDenyListStr : gMacDenyListStr1;
+
+ //$("#SelWifiModule").val(wifiModuleIdx);
+ $("#selMacFilterSwitch").val(macFilterMode);
+ $("#tbodyMacAddrList").empty();
+ $("#DeleteAllIpEntry").attr("checked", false);
+ $("#lt_macFilter_btnDeleteMacFilter").hide();
+
+
+ var macListStr = "";
+ if ("disable" == macFilterMode) {
+ $("#divMacFilterList").hide();
+ } else if ("allow" == macFilterMode) {
+ $("#divMacFilterList").show();
+ $("#lMacFilterListLabel").text(jQuery.i18n.prop('lt_macFilter_AllowMacAddrList'));
+ macListStr = macAllowListStr;
+ } else {
+ $("#divMacFilterList").show();
+ $("#lMacFilterListLabel").text(jQuery.i18n.prop('lt_macFilter_DenyMacAddrList'));
+ macListStr = macDenyListStr;
+ }
+
+ if ("" == macListStr) {
+ return;
+ }
+
+ var macAddrArr = macListStr.split(" ");
+ for (var idx = 0; idx < macAddrArr.length; ++idx) {
+ if ("" == macAddrArr[idx]) continue;
+ $("#tbodyMacAddrList").append("<tr><td>" + macAddrArr[idx] + "</td> <td><input type='checkbox'></td></tr>");
+ }
+
+ $("#DeleteAllIpEntry").click(function() {
+ var ii = $(this).attr("checked");
+ if ($(this).attr("checked")) {
+ $("tbody :checkbox").attr("checked", true);
+ }
+ else {
+ $("tbody :checkbox").attr("checked",false);
+ }
+ if ($("tbody :checked").length > 0) {
+ $("#lt_macFilter_btnDeleteMacFilter").show();
+ } else {
+ $("#lt_macFilter_btnDeleteMacFilter").hide();
+ }
+ });
+
+ $("tbody :checkbox").click(function() {
+ if ($("tbody :checked").length == $("tbody tr").length) {
+ $("#DeleteAllIpEntry").attr("checked", true);
+ } else {
+ $("#DeleteAllIpEntry").attr("checked", false);
+ }
+
+ if ($("tbody :checked").length > 0) {
+ $("#lt_macFilter_btnDeleteMacFilter").show();
+ } else {
+ $("#lt_macFilter_btnDeleteMacFilter").hide();
+ }
+ });
+ }
+
+ this.SaveData = function() {
+ var macFilterConfigMap = new Map();
+ macFilterConfigMap.put("RGW/wireless/wifi_device", $("#SelWifiModule").val());
+
+// var macFilterMode = $("#SelWifiModule").val() == 0 ? gMacFilterMode : gMacFilterMode1;
+
+// if (macFilterMode == $("#selMacFilterSwitch").val()) {
+// return;
+// }
+
+ macFilterConfigMap.put("RGW/wireless/macfilter", $("#selMacFilterSwitch").val());
+
+ var retXml = PostXml("wireless", "wifi_set_mac_filter", macFilterConfigMap);
+ if ("OK" == $(retXml).find("setting_response").text()) {
+ this.onLoad(false);
+ } else {
+ alert("config mac filter error.");
+ }
+ }
+
+ function GetAllMacAddr() {
+ var strMacList = "";
+ $("tbody tr").each(function() {
+ strMacList = strMacList + $(this).children("td:first").text() + " ";
+ });
+ return strMacList.substr(0, strMacList.length - 1);
+ }
+
+ function GetUnCheckedMacAddr() {
+ var strMacList = "";
+ $("tbody tr td :not(:checked)").each(function() {
+ strMacList = strMacList + $(this).parent().prev().text() + " ";
+ });
+ if ("" == strMacList) {
+
+ strMacList = " ";
+ }
+ return strMacList.substr(0, strMacList.length - 1);
+ }
+
+ return this;
+ }
+})(jQuery);
+
+
+
+
+
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiPortMap.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiPortMap.js
new file mode 100644
index 0000000..5b313b4
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiPortMap.js
@@ -0,0 +1,227 @@
+
+(function($) {
+
+ $.fn.objWifiPortMap = function() {
+
+ this.onLoad = function(flag) {
+ if(flag) {
+ LoadWebPage("html/wifi/wifiPortMap.html");
+
+ $("#lt_portMap_btnAddPortMap").click(function() {
+ AddPortMapEntry();
+ });
+
+ $("#lt_portMap_btnDeletePortMap").click(function() {
+ DelPortMapEntry();
+ });
+
+ } //end flag
+
+ GetFWPortMapInfo();
+ }
+
+ function DelPortMapEntry() {
+ var entryIdxList = "";
+ $("tbody tr td :checked").each(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length + 1;
+ entryIdxList = entryIdxList + entryIdx + ",";
+ });
+
+ if(""==entryIdxList) {
+ return;
+ }
+
+ var entryMap = new Map();
+ entryMap.put("RGW/firewall/del_port_mapping_index",entryIdxList);
+ var retXml = PostXml("firewall","delete_port_mapping_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWPortMapInfo();
+ } else {
+ alert("delete port map entry failed.");
+ }
+ }
+
+
+ function AddPortMapEntry() {
+ ShowPortMapConfigDlg();
+ var ipportMapIP_dest = $("#divportMapIP_dest").ip_address("divportMapIP_dest");
+ $("#lt_btnSave").click(function() {
+ var validateMsg = ValidatePortMapEntry(ipportMapIP_dest);
+ if("ok" != validateMsg) {
+ $("#lIpFilterSetError").show().text(validateMsg);
+ return;
+ }
+
+ var entryId = $("tbody tr").size() + 1;
+ var preTag = "RGW/firewall/port_mapping/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/start_time",GetTimeFromElement("txtStartTime"));
+ entryMap.put(preTag+"/stop_time",GetTimeFromElement("txtEndTime"));
+ entryMap.put(preTag+"/dest_ip", ipportMapIP_dest.getIP());
+ entryMap.put(preTag+"/src_dport", GetPortFromElement("txtDestPort"));
+ entryMap.put(preTag+"/proto", $("#selPortMapProtocol").val());
+ entryMap.put(preTag+"/enabled", $("#selPortMapStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","add_port_mapping_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWPortMapInfo();
+ } else {
+ alert("add port map entry failed.");
+ }
+ });
+ }
+
+
+ function GetFWPortMapInfo() {
+ $("#tbodyPortMap").empty();
+ $("#DeleteAllIpEntry").attr("checked",false);
+ $("#lt_portMap_btnDeletePortMap").hide();
+
+ var retXml = PostXml("firewall","fw_get_port_mapping_info");
+
+ var bFoundEntry = true;
+ var idx = 1;
+ while(bFoundEntry) {
+ var entryIdx = "entry_" + idx;
+ bFoundEntry = false;
+ $(retXml).find(entryIdx).each(function() {
+ bFoundEntry = true;
+ var startTime = $(this).find("start_time").text();
+ var stopTime = $(this).find("stop_time").text();
+ var destPort = $(this).find("src_dport").text();
+ var destIp = $(this).find("dest_ip").text();
+ var proto = $(this).find("proto").text();
+ var enabled = $(this).find("enabled").text();
+ var portMapEntryInfo = startTime + ";" + stopTime + ";" + destIp + ";" + destPort + ";" + proto + ";" + enabled;
+
+ var timeRange = startTime + "-" + stopTime;
+ var statusString;
+ if(0 == enabled) {
+ statusString = jQuery.i18n.prop("lt_optDisabledSwitch");
+ } else {
+ statusString = jQuery.i18n.prop("lt_optEnableSwitch");
+ }
+
+ var htmlTxt = "<tr style='cursor: pointer;'name='" + portMapEntryInfo + "'><td>" + timeRange + "</td><td>"
+ + destIp + "</td><td>" + destPort + "</td><td>" + proto + "</td><td>"
+ + statusString + "</td> <td><input type='checkbox'></td></tr>";
+ $("#tbodyPortMap").append(htmlTxt);
+ });
+ ++idx;
+ $("tbody tr:last td:lt(5)").click(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length;
+ ModifyPortMapEntry(entryIdx);
+ });
+ }
+
+ $("#DeleteAllIpEntry").click(function() {
+ if($(this).attr("checked")) {
+ $("tbody :checkbox").attr("checked",true);
+ } else {
+ $("tbody :checkbox").attr("checked",false);
+ }
+ if($("tbody :checked").length>0) {
+ $("#lt_portMap_btnDeletePortMap").show();
+ } else {
+ $("#lt_portMap_btnDeletePortMap").hide();
+ }
+ });
+
+ $("tbody :checkbox").click(function() {
+ if($("tbody :checked").length == $("tbody tr").length) {
+ $("#DeleteAllIpEntry").attr("checked",true);
+ } else {
+ $("#DeleteAllIpEntry").attr("checked",false);
+ }
+ if($("tbody :checked").length>0) {
+ $("#lt_portMap_btnDeletePortMap").show();
+ } else {
+ $("#lt_portMap_btnDeletePortMap").hide();
+ }
+ });
+ }
+
+ function ModifyPortMapEntry(entryIdx) {
+ ShowPortMapConfigDlg();
+ var ipportMapIP_dest = $("#divportMapIP_dest").ip_address("divportMapIP_dest");
+ var entryId = entryIdx + 1;
+ var selector = "tbody tr:eq(" + entryIdx+ ")";
+ var portMapEntryInfo = $(selector).attr("name").split(";");
+
+ SetTimeToElement("txtStartTime",portMapEntryInfo[0]);
+ SetTimeToElement("txtEndTime",portMapEntryInfo[1]);
+
+ ipportMapIP_dest.setIP(portMapEntryInfo[2]);
+ SetPortToElement("txtDestPort",portMapEntryInfo[3]);
+
+ $("#selPortMapProtocol").val(portMapEntryInfo[4]);
+ $("#selPortMapStatus").val(portMapEntryInfo[5]);
+
+ $("#lt_btnSave").click(function() {
+ var validateMsg = ValidatePortMapEntry(ipportMapIP_dest);
+ if("ok" != validateMsg) {
+ $("#lIpFilterSetError").show().text(validateMsg);
+ return;
+ }
+
+ if(portMapEntryInfo[0] == GetTimeFromElement("txtStartTime") && portMapEntryInfo[1] == GetTimeFromElement("txtEndTime")
+ && portMapEntryInfo[2] == ipportMapIP_dest.getIP()&& portMapEntryInfo[3] == GetPortFromElement("txtDestPort")
+ && portMapEntryInfo[4] == $("#selPortMapProtocol").val() && portMapEntryInfo[5] == $("#selPortMapStatus").val()) {
+ CloseDlg();
+ return;
+ }
+
+ var preTag = "RGW/firewall/port_mapping/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/start_time",GetTimeFromElement("txtStartTime"));
+ entryMap.put(preTag+"/stop_time",GetTimeFromElement("txtEndTime"));
+ entryMap.put(preTag+"/dest_ip",ipportMapIP_dest.getIP());
+ entryMap.put(preTag+"/src_dport", GetPortFromElement("txtDestPort"));
+
+ entryMap.put(preTag+"/proto", $("#selPortMapProtocol").val());
+ entryMap.put(preTag+"/enabled", $("#selPortMapStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","edit_port_mapping_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWPortMapInfo();
+ } else {
+ alert("edit port mapping entry failed.");
+ }
+ });//$("#lt_btnSave").click(function(){
+ }
+
+ function ShowPortMapConfigDlg() {
+ ShowDlg("divPortMapSetDlg",300,100);
+ $("[name='time']").keyup(function() {
+ $("#lIpFilterSetError").hide();
+ if($(this).val().length == 2) {
+ $(this).nextAll(":eq(1)").focus();
+ }
+ });
+
+ }
+
+ function ValidatePortMapEntry(IPControl) {
+ if(!IsTime(GetTimeFromElement("txtStartTime")) || !IsTime(GetTimeFromElement("txtEndTime"))) {
+ return jQuery.i18n.prop("lt_TimeFormatError");
+ }
+ if(!IPControl.validIPV4()) {
+ return jQuery.i18n.prop("lt_ipAddrFormatError");
+ }
+ if(!IsPort(GetPortFromElement("txtDestPort")))
+ return jQuery.i18n.prop("lt_PortFormatError");
+
+ return "ok";
+ }
+
+
+ return this;
+ }
+})(jQuery);
+
+
+
+
+
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiPortTrigger.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiPortTrigger.js
new file mode 100644
index 0000000..d4013b0
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiPortTrigger.js
@@ -0,0 +1,216 @@
+
+(function($) {
+
+ $.fn.objWifiPortTrigger = function() {
+
+ this.onLoad = function(flag) {
+ if(flag) {
+ LoadWebPage("html/wifi/wifiPortTrigger.html");
+
+ $("#lt_portTrigger_btnAdd").click(function() {
+ AddPortTriggerEntry();
+ });
+
+ $("#lt_portTrigger_btnDelete").click(function() {
+ DelPortTriggerEntry();
+ });
+
+ } //end flag
+
+ GetFWPortTriggerInfo();
+ }
+
+ function DelPortTriggerEntry() {
+ var entryIdxList = "";
+ $("tbody tr td :checked").each(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length + 1;
+ entryIdxList = entryIdxList + entryIdx + ",";
+ });
+
+ if(""==entryIdxList) {
+ return;
+ }
+
+ var entryMap = new Map();
+ entryMap.put("RGW/firewall/del_port_trigger_index",entryIdxList);
+ var retXml = PostXml("firewall","delete_port_trigger_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWPortTriggerInfo();
+ } else {
+ alert("delete port map entry failed.");
+ }
+ }
+
+
+ function AddPortTriggerEntry() {
+ ShowDlg("divPortTriggerSetDlg",300,100);
+
+ $("#lt_btnSave").click(function() {
+
+ if(!IsPort(GetPortFromElement("txtOutPort")) || !IsPort(GetPortFromElement("txtInPort"))) {
+ $("#lPortTriggerSetError").show();
+ $("#lPortTriggerSetError").text(jQuery.i18n.prop("lt_PortFormatError"));
+ return;
+ }
+
+ if(!IsRuleName( $("#txtPortTriggerRule").val())) {
+ $("#lPortTriggerSetError").show();
+ $("#lPortTriggerSetError").text(jQuery.i18n.prop("lt_RuleNameError"));
+ return;
+ }
+
+
+ var entryId = $("tbody tr").size() + 1;
+ var preTag = "RGW/firewall/port_trigger/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/rule_name", $("#txtPortTriggerRule").val());
+ entryMap.put(preTag+"/out_port",GetPortFromElement("txtOutPort"));
+ entryMap.put(preTag+"/in_port",GetPortFromElement("txtInPort"));
+ entryMap.put(preTag+"/out_proto", $("#selPortTriggerOutProtocol").val());
+ entryMap.put(preTag+"/in_proto", $("#selPortTriggerInProtocol").val());
+ entryMap.put(preTag+"/enabled", $("#selPortTriggerStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","add_port_trigger_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWPortTriggerInfo();
+ } else {
+ alert("edit port mapping entry failed.");
+ }
+
+ });
+ }
+
+
+ function GetFWPortTriggerInfo() {
+ $("#tbodyPortTrigger").empty();
+ $("#DeleteAllIpEntry").attr("checked",false);
+ $("#lt_portTrigger_btnDelete").hide();
+
+ var retXml = PostXml("firewall","fw_get_port_trigger_info");
+
+ var bFoundEntry = true;
+ var idx = 1;
+ while(bFoundEntry) {
+ var entryIdx = "entry_" + idx;
+ bFoundEntry = false;
+ $(retXml).find(entryIdx).each(function() {
+ bFoundEntry = true;
+ var rule = $(this).find("rule_name").text();
+ var outPort = $(this).find("out_port").text();
+ var inPort = $(this).find("in_port").text();
+ var outProto = $(this).find("out_proto").text();
+ var inProto = $(this).find("in_proto").text();
+ var enabled = $(this).find("enabled").text();
+ var portEntryInfo = rule + ";" + outPort + ";" + inPort + ";" + outProto + ";"
+ + inProto + ";" + enabled;
+
+ var strStatus="";
+ if(1 == enabled) {
+ strStatus = jQuery.i18n.prop("lt_optEnableSwitch");
+ } else {
+ strStatus = jQuery.i18n.prop("lt_optDisabledSwitch");
+ }
+
+ var htmlTxt = "<tr style='cursor: pointer;'name='" + portEntryInfo + "'><td>" + rule + "</td><td>"
+ + outPort + "</td><td>" + inPort + "</td><td>" + outProto + "</td><td>" + inProto + "</td><td>"
+ + strStatus + "</td> <td><input type='checkbox'></td></tr>";
+ $("#tbodyPortTrigger").append(htmlTxt);
+ });
+ ++idx;
+ $("tbody tr:last td:lt(6)").click(function() {
+ var entryIdx = $(this).parents("tr").prevAll("tr").length;
+ ModifyPortTriggerEntry(entryIdx);
+ });
+ }
+
+ $("#DeleteAllIpEntry").click(function() {
+ if($(this).attr("checked")) {
+ $("tbody :checkbox").attr("checked",true);
+ } else {
+ $("tbody :checkbox").attr("checked",false);
+ }
+ if($("tbody :checked").length>0) {
+ $("#lt_portTrigger_btnDelete").show();
+ } else {
+ $("#lt_portTrigger_btnDelete").hide();
+ }
+ });
+
+ $("tbody :checkbox").click(function() {
+ if($("tbody :checked").length == $("tbody tr").length) {
+ $("#DeleteAllIpEntry").attr("checked",true);
+ } else {
+ $("#DeleteAllIpEntry").attr("checked",false);
+ }
+ if($("tbody :checked").length>0) {
+ $("#lt_portTrigger_btnDelete").show();
+ } else {
+ $("#lt_portTrigger_btnDelete").hide();
+ }
+ });
+ }
+
+ function ModifyPortTriggerEntry(entryIdx) {
+ ShowDlg("divPortTriggerSetDlg",300,100);
+ var entryId = entryIdx + 1;
+ var selector = "tbody tr:eq(" + entryIdx+ ")";
+ var portTriggerEntryInfo = $(selector).attr("name").split(";");
+
+ $("#txtPortTriggerRule").val(portTriggerEntryInfo[0]);
+ SetPortToElement("txtOutPort",portTriggerEntryInfo[1]);
+ SetPortToElement("txtInPort",portTriggerEntryInfo[2]);
+ $("#selPortTriggerOutProtocol").val(portTriggerEntryInfo[3]);
+ $("#selPortTriggerInProtocol").val(portTriggerEntryInfo[4]);
+ $("#selPortTriggerStatus").val(portTriggerEntryInfo[5]);
+
+
+ $("#lt_btnSave").click(function() {
+
+ if(!IsPort(GetPortFromElement("txtOutPort")) || !IsPort(GetPortFromElement("txtInPort"))) {
+ $("#lPortTriggerSetError").show();
+ $("#lPortTriggerSetError").text(jQuery.i18n.prop("lt_PortFormatError"));
+ return;
+ }
+
+ if(!IsRuleName( $("#txtPortTriggerRule").val())) {
+ $("#lPortTriggerSetError").show();
+ $("#lPortTriggerSetError").text(jQuery.i18n.prop("lt_RuleNameError"));
+ return;
+ }
+
+
+ if(portTriggerEntryInfo[0] == $("#txtPortTriggerRule").val() && portTriggerEntryInfo[1] == GetPortFromElement("txtOutPort")
+ && portTriggerEntryInfo[2] == GetPortFromElement("txtInPort")&& portTriggerEntryInfo[3] == $("#selPortTriggerOutProtocol").val()
+ && portTriggerEntryInfo[4] == $("#selPortTriggerInProtocol").val() && portTriggerEntryInfo[5] == $("#selPortTriggerStatus").val()) {
+ CloseDlg();
+ return;
+ }
+
+ var preTag = "RGW/firewall/port_trigger/entry_list/entry_" + entryId;
+ var entryMap = new Map();
+ entryMap.put(preTag+"/rule_name", $("#txtPortTriggerRule").val());
+ entryMap.put(preTag+"/out_port",GetPortFromElement("txtOutPort"));
+ entryMap.put(preTag+"/in_port",GetPortFromElement("txtInPort"));
+ entryMap.put(preTag+"/out_proto", $("#selPortTriggerOutProtocol").val());
+ entryMap.put(preTag+"/in_proto", $("#selPortTriggerInProtocol").val());
+ entryMap.put(preTag+"/enabled", $("#selPortTriggerStatus").val());
+
+ CloseDlg();
+ var retXml = PostXml("firewall","edit_port_trigger_entry",entryMap);
+ if("OK" == $(retXml).find("setting_response").text()) {
+ GetFWPortTriggerInfo();
+ } else {
+ alert("edit port mapping entry failed.");
+ }
+ });//$("#lt_btnSave").click(function(){
+ }
+
+ return this;
+ }
+})(jQuery);
+
+
+
+
+
diff --git a/marvell/webui/wwwLegacy/js/panel/wifi/wifiSetting.js b/marvell/webui/wwwLegacy/js/panel/wifi/wifiSetting.js
new file mode 100644
index 0000000..e5890bc
--- /dev/null
+++ b/marvell/webui/wwwLegacy/js/panel/wifi/wifiSetting.js
@@ -0,0 +1,1536 @@
+var gCurrentssidItem =0;
+var IsWpsMatch = false;
+var gCurrentAPItem = 0;
+var callCount = 0;
+var g24gAuthType;
+var g24gEncryAlg;
+var g24gPassword;
+var gWifiBSEnable = 0;
+
+(function($) {
+
+ $.fn.objWifiSet = function() {
+ var gAutoOffEnable;
+ var gAutoOffTimeout;
+ var wifiDetailedInfoMap = new Map();
+ var gMultiplessidenable;
+ //var gCurrentssidItem =0;
+ var gWirelessAPNum = 0;
+ var gWirelessSSIDNum = 0;
+ var gChangeSSID = false;
+ var gWirelessType = 0;
+ var gWifi6Support = 0;
+ var gWifiBSSupport = 0;
+
+ this.onLoad = function(flag) {
+ if(flag) {
+ LoadWebPage("html/wifi/wireless_settings.html");
+
+ $("#selWifiBandSteering").change(function() {
+ if(1==$(this).val()) {
+ RefreshssidInfo();
+ } else {
+ RefreshssidInfo();
+ }
+ });
+
+ $("#selWifiEnabledSwitch").change(function() {
+ if(1==$(this).val()) {
+ $("#divDisabledWifi").show();
+ RefreshWifiRFSwitch(1);
+ RefreshFreqBandData();
+ GetWifiAutoOffSetting();
+ } else {
+ $("#divDisabledWifi").hide();
+ }
+ });
+
+ $("#selWifiAPList").change(function() {
+ gCurrentAPItem =$(this).val();
+ RefreshWifiRFSwitch(0);
+ RefreshFreqBandData();
+ GetWifiAutoOffSetting();
+ });
+
+
+ $("#lt_wifiSet_EditSSID").click(function() {
+/*
+ if(gChangeSSID){
+ $("#divSSIDchange").show();
+ gChangeSSID = true;
+ }else{
+ $("#divSSIDchange").hide();
+ gChangeSSID = false;
+ }
+*/
+ $("#divSSIDchange").show();
+ $("#selMultiSSID").change(function() {
+ gCurrentssidItem =$(this).val();
+ RefreshssidInfo();
+ });
+ });
+
+ //根据认证类型,生成加密方式下拉列表
+ $("#selWifiAuthType").change(function() {
+ UpdateWifiEncryAlg($(this).val());
+ if ($("#selRfBand").val() == 1)
+ g24gAuthType = $(this).val();
+
+ if("none" == $(this).val()) {
+ $("#divEncryAlg").hide();
+ $("#divPassWd").hide();
+ $("#divwepKeyFormat").hide();
+ } else if("WEP" == $(this).val()) {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").show();
+ } else if ("WAPI-PSK" == $(this).val()) {
+ $("#divEncryAlg").hide();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").hide();
+ } else {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").hide();
+ }
+
+ if ("WPA-PSK" == $(this).val() || "WEP" == $(this).val() || "WPA3-SAE" == $(this).val() || "none" == $(this).val())
+ $("#divWpsCfgDlg").hide();
+ else
+ $("#divWpsCfgDlg").show();
+
+
+ /*
+ if("Mixed" == $(this).val() || "WPA-PSK" == $(this).val()) {
+ $("#divWpaGroupKey").show();
+ } else {
+ $("#divWpaGroupKey").hide();
+ }
+ */
+ });
+ $("#selEncryAlg").change(function() {
+ if ($("#selRfBand").val() == 1)
+ g24gEncryAlg = $(this).val();
+
+ if ("TKIP" == $(this).val()) {
+ if ($("#selWifiAuthType").val() == "WPA-PSK")
+ $("#divWpsCfgDlg").hide();
+ else
+ $("#divWpsCfgDlg").show();
+ } else {
+ if ($("#selWifiAuthType").val() == "WPA-PSK" || $("#selWifiAuthType").val() == "WEP")
+ $("#divWpsCfgDlg").hide();
+ else
+ $("#divWpsCfgDlg").show();
+ }
+ });
+
+ $("#selRfBand").change(function() {
+ if(1 == $(this).val()) {
+ $("#div5G80211Protocol").hide();
+ $("#div2_4G80211Protocol").show();
+ $("#selWifi24GChannel").show();
+ $("#selWifi5GChannel").hide();
+ } else {
+ $("#div5G80211Protocol").show();
+ $("#div2_4G80211Protocol").hide();
+ $("#selWifi24GChannel").hide();
+ $("#selWifi5GChannel").show();
+ }
+ RefreshFreqBandData();
+ });
+
+ $("#sel2_4G80211Protocol").change(function() {
+ if("11ng" == $(this).val()) {
+ $("#div80211nBandWidth").show();
+ if (gWifi6Support == 1) {
+ //$("#div80211nBW40Extend").show();
+ if ($("#sel80211nBandWidth option").length < 3) {
+ $("#sel80211nBandWidth").append("<option value='HT40-'>HT40-</option>");
+ $("#sel80211nBandWidth").append("<option value='HT40+'>HT40+</option>");
+ }
+ }
+ else {
+ // $("#div80211nBW40Extend").hide();
+ $("#sel80211nBandWidth option[value='HT40-']").remove();
+ $("#sel80211nBandWidth option[value='HT40+']").remove();
+ }
+ $("#div80211acBandWidth").hide();
+ $("#div80211axBandWidth").hide();
+ } else if("11ax" == $(this).val() || "11bgnax" == $(this).val()) {
+ $("#div80211axBandWidth").show();
+ $("#sel80211axBandWidth option[value='HE80']").remove();
+ $("#div80211nBandWidth").hide();
+ $("#div80211acBandWidth").hide();
+ } else {
+ $("#div80211axBandWidth").hide();
+ $("#div80211nBandWidth").hide();
+ $("#div80211acBandWidth").hide();
+ }
+
+ });
+
+ $("#sel5G80211Protocol").change(function() {
+ if("11na" == $(this).val()) {
+ $("#div80211acBandWidth").hide();
+ $("#div80211axBandWidth").hide();
+ $("#div80211nBandWidth").show();
+ if (gWifi6Support == 1) {
+ //$("#div80211nBW40Extend").show();
+ if ($("#sel80211nBandWidth option").length < 3) {
+ $("#sel80211nBandWidth").append("<option value='HT40-'>HT40-</option>");
+ $("#sel80211nBandWidth").append("<option value='HT40+'>HT40+</option>");
+ }
+ }
+ else {
+ // $("#div80211nBW40Extend").hide();
+ $("#sel80211nBandWidth option[value='HT40-']").remove();
+ $("#sel80211nBandWidth option[value='HT40+']").remove();
+ }
+ } else if("11ac" == $(this).val()) {
+ $("#div80211nBandWidth").hide();
+ $("#div80211axBandWidth").hide();
+ $("#div80211acBandWidth").show();
+ } else if ("11ax" == $(this).val() || "11anacax" == $(this).val()) {
+ $("#div80211nBandWidth").hide();
+ $("#div80211acBandWidth").hide();
+ $("#div80211axBandWidth").show();
+ if ($("#sel80211axBandWidth option").length < 3)
+ $("#sel80211axBandWidth").append("<option value='HE80'>HE80</option>");
+ }
+ else {
+ $("#div80211acBandWidth").hide();
+ $("#div80211nBandWidth").hide();
+ $("#div80211axBandWidth").hide();
+ }
+ });
+
+ $("#sel24GSSIDList").change(function() {
+ gCurrentssidItem =$(this).val();
+ RefreshssidInfo();
+ if("none" == $("#selWifiAuthType").val()) {
+ $("#divEncryAlg").hide();
+ $("#divPassWd").hide();
+ $("#divwepKeyFormat").hide();
+ } else if("WEP" == $("#selWifiAuthType").val()) {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").show();
+ } else {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").hide();
+ }
+ });
+
+ /*
+ $("#txtPasswd,#txtAutoOffWifiTimeout,#txtWifiSSID,#txtWpaGroupKeyUpdateInterval").click(function() {
+ $("#wifiSetErrorLogs").hide().text("");
+ });
+ */
+
+ $("#selAutoOffWifiSwitch").click(function() {
+ if(1 == $(this).val()) {
+ $("#divWifiAutoOffTimeout").show();
+ } else {
+ $("#divWifiAutoOffTimeout").hide();
+ }
+ });
+ } //end flag
+
+ if (GetWifiDetailedInfo() == true) {
+ RefreshWifiRFSwitch(0);
+ RefreshFreqBandData();
+ GetWifiAutoOffSetting();
+ }
+ }
+
+
+
+ this.SaveData = function() {
+ var retCode;
+ entryIdx = "AP" + gCurrentAPItem;
+
+ var entry24GSwitch = "RGW/wireless/"+entryIdx+"/wifi_if_24G/switch";
+ var entry5GSwitch = "RGW/wireless/"+entryIdx+"/wifi_if_5G/switch";
+ if(0 == $("#selWifiEnabledSwitch").val()) {
+ if("on" == wifiDetailedInfoMap.get(entry24GSwitch)
+ || "on" == wifiDetailedInfoMap.get(entry5GSwitch) ) {
+ CloseWifi();
+ } else {
+ return;
+ }
+ } else {
+ if(!ValidateData()) {
+ return;
+ }
+ ModifyWifiConfig();
+ SetWifiAutoOffSetting();
+ }
+ }
+
+ function GetWifiAutoOffSetting() {
+ var retXml = PostXml("wireless","wifi_get_auto_off_setting");
+
+ var entryIdx;
+
+ entryIdx = "AP" + gCurrentAPItem;;
+
+ $(retXml).find(entryIdx).each(function() {
+ gAutoOffEnable = $(this).find("auto_off_enable").text();
+ gAutoOffTimeout = $(this).find("auto_off_timeout").text();
+ });
+
+
+ $("#selAutoOffWifiSwitch").val(gAutoOffEnable);
+ if(1 == gAutoOffEnable) {
+ $("#divWifiAutoOffTimeout").show();
+ $("#txtAutoOffWifiTimeout").val(gAutoOffTimeout);
+ } else {
+ $("#divWifiAutoOffTimeout").hide();
+ }
+ }
+
+ function SetWifiAutoOffSetting() {
+ var configMap = new Map();
+ var curAutoOffEnable = $("#selAutoOffWifiSwitch").val();
+ var curTimeout = $("#txtAutoOffWifiTimeout").val();
+ if(1 == curAutoOffEnable && ("" == curTimeout || !IsNumber(curTimeout) || curTimeout <= 0 || curTimeout > 2147483647)) {
+ $("#wifiSetErrorLogs").show().text(jQuery.i18n.prop('lAutoOffTimeoutError'));
+ return;
+ } else {
+ $("#wifiSetErrorLogs").hide().text("");
+ }
+
+ if(curAutoOffEnable != gAutoOffEnable) {
+ configMap.put("RGW/wireless/wifi_device", gCurrentAPItem);
+ configMap.put("RGW/wireless/auto_off_enable",curAutoOffEnable);
+ if(1 == curAutoOffEnable) {
+ configMap.put("RGW/wireless/auto_off_timeout",curTimeout);
+ }
+ } else if (1 == curAutoOffEnable && curTimeout != gAutoOffTimeout) {
+ configMap.put("RGW/wireless/wifi_device", gCurrentAPItem);
+ configMap.put("RGW/wireless/auto_off_enable",1);
+ configMap.put("RGW/wireless/auto_off_timeout",curTimeout);
+ }
+
+ if(configMap.isEmpty()) {
+ return;
+ }
+ var retXml = PostXml("wireless","wifi_set_auto_off_setting",configMap);
+
+ if("OK" != $(retXml).find("setting_response").text()) {
+ alert("wifi_set_auto_off_setting failed.");
+ }
+ GetWifiAutoOffSetting();
+ }
+
+
+ function ValidateData() {
+ //验证Wep模式下密码长度
+ var strPasswd = $("#txtPasswd").val();
+ var authType = $("#selWifiAuthType").val();
+ var ret = true;
+ var strErrMsg;
+
+ var regex = /\s/;
+ if (regex.test(strPasswd)) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_PasswdSpaceError');
+ ret = false;
+ }
+
+ if("WEP" == authType) {
+ switch($("#selWepKeyFormat").val()) {
+ case "5":
+ if(!IsASCIIStr(strPasswd) || 5 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd5AsciiError');
+ ret = false;
+ }
+ break;
+ case "13":
+ if(!IsASCIIStr(strPasswd) || 13 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd13AsciiError');
+ ret = false;
+ }
+ break;
+ case "10":
+ if(!IsHexStr(strPasswd) || 10 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd10HexError');
+ ret = false;
+ }
+ break;
+ case "26":
+ if(!IsHexStr(strPasswd) || 26 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd26HexError');
+ ret = false;
+ }
+ break;
+ }
+ } else if("WPA2-PSK" == authType || "Mixed" == authType || "WPA3-SAE" == authType || "WPA2-WPA3" == authType || "WPA-PSK" == authType) {
+ if(IsChineseChar(strPasswd) || strPasswd.length > 64 || strPasswd.length < 8) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WPA2PSKPasswdError');
+ ret = false;
+ }
+ }
+
+ /*
+ if("WPA-PSK" == authType || "Mixed" == authType) {
+ var WpaGroupKeyUpdateInterval = $("#txtWpaGroupKeyUpdateInterval").val();
+ if("" == WpaGroupKeyUpdateInterval || !IsNumber(WpaGroupKeyUpdateInterval ||
+ parseInt(WpaGroupKeyUpdateInterval)>100 || parseInt(WpaGroupKeyUpdateInterval)<1)) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WPAGroupRekeyError');
+ ret = false;
+ }
+ }
+ */
+
+ if($("#txtWifiSSID").val()== "") {
+ strErrMsg = jQuery.i18n.prop('lt_wifiSet_SsidIsEmpty');
+ ret = false;
+ } else if (checkSsidLength(32) == false) {
+ ret = false;
+ }
+
+ if(!ret) {
+ $("#wifiSetErrorLogs").show().text(strErrMsg);
+ return false;
+ }
+
+ return true;
+ }
+
+
+
+ function CloseWifi() {
+ var configMap = new Map();
+ var retXml;
+
+ var i=gCurrentAPItem;
+ //for(;i<gWirelessAPNum;i++){
+ if("on" == wifiDetailedInfoMap.get("RGW/wireless/AP"+ i +"/wifi_if_24G/switch")) {
+ configMap.put("RGW/wireless/wifi_if_24G/switch","off");
+ configMap.put("RGW/wireless/wifi_device",i);
+ retXml = PostXml("wireless","wifi_set_2.4g",configMap);
+ }
+
+ if("on" == wifiDetailedInfoMap.get("RGW/wireless/AP"+ i +"/wifi_if_5G/switch")) {
+ configMap.put("RGW/wireless/wifi_if_5G/switch","off");
+ configMap.put("RGW/wireless/wifi_device",i);
+ retXml = PostXml("wireless","wifi_set_5g",configMap);
+ }
+
+ if("OK" != $(retXml).find("setting_response").text()) {
+ alert("Close Wifi failed.");
+ }
+ //}
+
+ GetWifiDetailedInfo();
+ RefreshWifiRFSwitch(0);
+ RefreshFreqBandData();
+ }
+
+ function ModifyWifiConfig() {
+ var retXml;
+ var curWifiConfigMap = new Map();
+ var post_type = 0;
+ var ssid_5g;
+
+ if (gWifiBSSupport == 1) {
+ if (gWifiBSEnable != $("#selWifiBandSteering").val() ||1 == $("#selWifiBandSteering").val()) {
+ curWifiConfigMap.put("RGW/wireless/bs_enable", $("#selWifiBandSteering").val());
+ if ($("#selWifiBandSteering").val() == 1)
+ post_type = 1;
+ else
+ post_type = 2;
+ }
+ }
+ curWifiConfigMap.put("RGW/wireless/wifi_device", gCurrentAPItem);
+ if(1 == $("#selRfBand").val()) { //24G
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/switch", "on");
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/net_mode", $("#sel2_4G80211Protocol").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/channel",$("#selWifi24GChannel").val());
+
+ if("11ng" == $("#sel2_4G80211Protocol").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/bandwidth",$("#sel80211nBandWidth").val());
+ } else if ("11ax" == $("#sel2_4G80211Protocol").val() || "11bgnax" == $("#sel2_4G80211Protocol").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/bandwidth",$("#sel80211axBandWidth").val());
+ }
+
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/hidden",$("#selHideSSID").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/isolate",$("#selApIsolateSwitch").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/ssid",$("#txtWifiSSID").val());
+ // curWifiConfigMap.put("RGW/wireless/wifi_if_24G/wpa_group_rekey",$("#txtWpaGroupKeyUpdateInterval").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/encryption",GetEncryptionTag( $("#selWifiAuthType").val(),$("#selEncryAlg").val()));
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/multi_ssid", $("#selMultiSSIDSwitch").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/ssid_index", $("#sel24GSSIDList").val());
+ //if(gChangeSSID){
+
+ // curWifiConfigMap.put("RGW/wireless/wifi_if_24G/ssid",$("#txtWifiSSID").val());
+
+ //}
+
+ if("WEP" == $("#selWifiAuthType").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/key",1);
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/key1",$("#txtPasswd").val());
+ } else {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_24G/key",$("#txtPasswd").val());
+ }
+
+ if (post_type == 0) {
+ var configMap = curWifiConfigMap.getChange(wifiDetailedInfoMap);
+ if(0 == configMap.size()) {
+ return true;
+ }
+ //ShowDlg("PleaseWait", 120, 100);
+ retXml = PostXml("wireless","wifi_set_2.4g",configMap);
+ //CloseDlg();
+ }
+ }
+ if (2 == $("#selRfBand").val() || post_type != 0) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/switch", "on");
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/net_mode", $("#sel5G80211Protocol").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/channel",$("#selWifi5GChannel").val());
+
+ if("11na" == $("#sel5G80211Protocol").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/bandwidth",$("#sel80211nBandWidth").val());
+ } else if("11ac" == $("#sel5G80211Protocol").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/bandwidth",$("#sel80211acBandWidth").val());
+ } else if ("11ax" == $("#sel5G80211Protocol").val() || "11anacax" == $("#sel5G80211Protocol").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/bandwidth",$("#sel80211axBandWidth").val());
+ }
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/hidden",$("#selHideSSID").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/isolate",$("#selApIsolateSwitch").val());
+
+ ssid_5g = $("#txtWifiSSID").val();
+ if (post_type == 2)
+ ssid_5g += "_5g";
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/ssid", ssid_5g);
+ //curWifiConfigMap.put("RGW/wireless/wifi_if_5G/wpa_group_rekey",$("#txtWpaGroupKeyUpdateInterval").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/encryption",GetEncryptionTag( $("#selWifiAuthType").val(),$("#selEncryAlg").val()));
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/multi_ssid", $("#selMultiSSIDSwitch").val());
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/ssid_index", $("#sel5GSSIDList").val());
+ //if(gChangeSSID){
+
+ //curWifiConfigMap.put("RGW/wireless/wifi_if_5G/ssid",$("#txtWifiSSID").val());
+
+ //}
+ if("WEP" == $("#selWifiAuthType").val()) {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/key",1);
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/key1",$("#txtPasswd").val());
+ } else {
+ curWifiConfigMap.put("RGW/wireless/wifi_if_5G/key",$("#txtPasswd").val());
+ }
+ if (post_type == 0) {
+ var configMap = curWifiConfigMap.getChange(wifiDetailedInfoMap);
+ if(0 == configMap.size()) {
+ return true;
+ }
+ retXml = PostXml("wireless","wifi_set_5g",configMap);
+ }
+ }//end wifi_set_5g
+
+ if (post_type != 0) {
+ var configMap = curWifiConfigMap.getChange(wifiDetailedInfoMap);
+ if(0 == configMap.size()) {
+ return true;
+ }
+ retXml = PostXml("wireless","wifi_set_all",configMap);
+ }
+
+ if("OK" != $(retXml).find("setting_response").text()) {
+ alert("config wifi failed.");
+ }
+ if(gChangeSSID){
+ gChangeSSID = false;
+ }
+
+ GetWifiDetailedInfo();
+ RefreshWifiRFSwitch(0);
+ RefreshFreqBandData();
+ }
+
+ function UpdateWifiEncryAlg(strAuthType) {
+ $("#selEncryAlg").empty();
+ switch(strAuthType) {
+ case "WPA-PSK":
+ $("#selEncryAlg").append("<option value='AES-CCMP'>AES-CCMP</option>");
+ $("#selEncryAlg").append("<option value='TKIP'>TKIP</option>");
+ $("#selEncryAlg").append("<option value='TKIP/AES-CCMP'>TKIP/AES-CCMP</option>");
+
+ break;
+ case "WPA2-PSK":
+ $("#selEncryAlg").append("<option value='AES-CCMP'>AES-CCMP</option>");
+ $("#selEncryAlg").append("<option value='TKIP/AES-CCMP'>TKIP/AES-CCMP</option>");
+ break;
+ case "Mixed":
+ $("#selEncryAlg").append("<option value='AES-CCMP'>AES-CCMP</option>");
+ $("#selEncryAlg").append("<option value='AES-CCMP/TKIP'>AES-CCMP/TKIP</option>");
+
+ break;
+ case "WEP":
+ $("#selEncryAlg").append("<option value='Open'>Open</option>");
+ $("#selEncryAlg").append("<option value='Shared-key'>Shared-key</option>");
+ break;
+ case "WPA3-SAE":
+ case "WPA2-WPA3":
+ $("#selEncryAlg").append("<option value='AES-CCMP'>AES-CCMP</option>");
+ break;
+ }
+ }
+
+ function Updatehwmode(bandType, wifi6) {
+ $("#sel2_4G80211Protocol").empty();
+ $("#sel5G80211Protocol").empty();
+ switch(bandType) {
+ case 1:
+ $("#sel2_4G80211Protocol").append("<option id='lt_wifiSet_opt80211n' value='11ng'>802.11b/g/n</option>");
+ $("#sel2_4G80211Protocol").append("<option id='lt_wifiSet_opt80211gb' value='11bg'>802.11b/g</option>");
+ $("#sel2_4G80211Protocol").append("<option id='lt_wifiSet_opt80211b_only' value='11b'>802.11b</option>");
+ $("#sel2_4G80211Protocol").append("<option id='lt_wifiSet_opt80211g_only' value='11g'>802.11g</option>");
+
+ if (wifi6 == "1") {
+ $("#sel2_4G80211Protocol").append("<option id='lt_wifiSet_opt80211bgnax' value='11bgnax'>802.11b/g/n/ax</option>");
+ $("#sel2_4G80211Protocol").append("<option id='lt_wifiSet_opt80211ax' value='11ax'>802.11ax</option>");
+ }
+ break;
+ case 2:
+ $("#sel5G80211Protocol").append("<option value='11a'>802.11a</option>");
+ $("#sel5G80211Protocol").append("<option value='11na'>802.11n</option>");
+ $("#sel5G80211Protocol").append("<option value='11ac'>802.11ac</option>");
+ if (wifi6 == "1") {
+ $("#sel5G80211Protocol").append("<option value='11anacax'>802.11a/n/ac/ax</option>");
+ $("#sel5G80211Protocol").append("<option value='11ax'>802.11ax</option>");
+ }
+ break;
+ }
+ }
+
+ function GetWifiBasicInfo() {
+ wifiDetailedInfoMap.clear();
+ var retXml = PostXml("wireless","wifi_get_basic_info");
+ var wifi24GStatus,wifi5GStatus;
+ $(retXml).find("wifi_if_24G").each(function() {
+ wifi24GStatus = $(this).find("switch").text();
+ });
+ $(retXml).find("wifi_if_5G").each(function() {
+ wifi5GStatus = $(this).find("switch").text();
+ });
+
+ if("off" == wifi24GStatus && "off" == wifi5GStatus) {
+ $("#selWifiEnabledSwitch").val(0);
+ $("#divDisabledWifi").hide();
+ return;
+ } else {
+ $("#selWifiEnabledSwitch").val(1);
+ $("#divDisabledWifi").show();
+ if("on" == wifi24GStatus) {
+ $("#selRfBand").val(1);
+ } else {
+ $("#selRfBand").val(2);
+ }
+ }
+
+ GetWifiDetailedInfo();
+ //RefreshFreqBandData();
+ }
+
+ function BandSteeringSupport() {
+ var ret = 0;
+
+ if ("1" == wifiDetailedInfoMap.get("RGW/wireless/bs_support"))
+ {
+ if ("on" == wifiDetailedInfoMap.get("RGW/wireless/AP0/wifi_if_24G/switch")
+ && "on" == wifiDetailedInfoMap.get("RGW/wireless/AP1/wifi_if_5G/switch") )
+ ret = 1;
+ else if ("on" == wifiDetailedInfoMap.get("RGW/wireless/AP0/wifi_if_5G/switch")
+ && "on" == wifiDetailedInfoMap.get("RGW/wireless/AP1/wifi_if_24G/switch") )
+ ret = 2;
+ }
+
+ return ret;
+ }
+
+ function RefreshWifiRFSwitch(onlyBandType) {
+
+ var band24GSupport = 0;
+ var band5GSupport = 0;
+ if (null != wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_24G/switch"))
+ band24GSupport = 1;
+
+ if (null != wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_5G/switch"))
+ band5GSupport = 1;
+
+ if (onlyBandType == 1)
+ {
+ if (band24GSupport && band5GSupport) {
+ $("#optRfBand24G").show();
+ $("#optRfBand5G").show();
+ } else if (band24GSupport) {
+ $("#selRfBand").val(1);
+ $("#optRfBand5G").hide();
+ } else if (band5GSupport) {
+ $("#selRfBand").val(2);
+ $("#optRfBand24G").hide();
+ }
+
+ return;
+ }
+
+ if (band24GSupport && band5GSupport) {
+ if("off" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_24G/switch")
+ && "off" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_5G/switch") ) {
+ $("#selWifiEnabledSwitch").val(0);
+ $("#divDisabledWifi").hide();
+ } else {
+ $("#selWifiEnabledSwitch").val(1);
+ $("#divDisabledWifi").show();
+ if("on" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_24G/switch")) {
+ $("#selRfBand").val(1);
+ } else {
+ $("#selRfBand").val(2);
+ }
+ }
+ } else if (band24GSupport) {
+ if("off" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_24G/switch")) {
+ $("#selWifiEnabledSwitch").val(0);
+ $("#divDisabledWifi").hide();
+ } else {
+ $("#selWifiEnabledSwitch").val(1);
+ $("#divDisabledWifi").show();
+ $("#selRfBand").val(1);
+ $("#optRfBand5G").hide();
+ }
+
+ } else if (band5GSupport) {
+ if("off" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_5G/switch")) {
+ $("#selWifiEnabledSwitch").val(0);
+ $("#divDisabledWifi").hide();
+ } else {
+ $("#selWifiEnabledSwitch").val(1);
+ $("#divDisabledWifi").show();
+ $("#selRfBand").val(2);
+ $("#optRfBand24G").hide();
+ }
+ } else {
+ $("#selWifiEnabledSwitch").val(0);
+ $("#divDisabledWifi").hide();
+ }
+ }
+
+ function RefreshssidInfo(){
+ var bs_enable = $("#selWifiBandSteering").val();
+ if(1 == $("#selRfBand").val()) { //24G
+
+ if ("1" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_24G/unsupport_multi_ssid"))
+ $("#divMultiSSID").hide();
+ else
+ $("#divMultiSSID").show();
+
+ $("#selHideSSID").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/hidden"));
+ $("#selApIsolateSwitch").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/isolate"));
+ if(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/n_ssid")>1)
+ $("#selMultiSSIDSwitch").val("1");
+ else
+ $("#selMultiSSIDSwitch").val("0");
+
+ $("#txtWifiSSID").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/ssid"));
+ //$("#txtWpaGroupKeyUpdateInterval").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/wpa_group_rekey"));
+ $("#txtPasswd").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/key"));
+
+ var encryptionMap = ParseEncryption(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/encryption"));
+ UpdateWifiEncryAlg(encryptionMap.get("authType"));
+ $("#selWifiAuthType").val(encryptionMap.get("authType"));
+ $("#selEncryAlg").val(encryptionMap.get("ciphers"));
+ if("WEP" == encryptionMap.get("authType")) {
+ $("#divwepKeyFormat").show();
+ $("#selWepKeyFormat").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/ssid"+gCurrentssidItem+"/key").length);
+ }
+
+ $("#lt_wifiSet_EditSSID").show();
+ $("#txtWifiSSID").attr("disabled", false);
+ $("#txtPasswd").attr("disabled", false);
+ $("#selWifiAuthType").attr("disabled", false);
+ $("#selEncryAlg").attr("disabled", false);
+ $("#selWepKeyFormat").attr("disabled", false);
+
+ if (bs_enable) {
+ $("#divSSIDSetting").show();
+ $("#divAuthTypeSetting").show();
+ }
+ } else {
+ var bs_support = BandSteeringSupport();
+ var APIndex;
+ var wifi_if_ssid;
+ var add_suffix = 0;
+ var ssid_str;
+ var ssid_unify = 0;
+ var ssid_num = 0;
+
+ if ("1" == wifiDetailedInfoMap.get("RGW/wireless/AP" + gCurrentAPItem+"/wifi_if_5G/unsupport_multi_ssid"))
+ $("#divMultiSSID").hide();
+ else
+ $("#divMultiSSID").show();
+
+ if (bs_enable == 1) {
+ if (bs_support == 1) {
+ APIndex = 0;
+ wifi_if_ssid = "/wifi_if_24G/ssid";
+ ssid_unify = 1;
+ }
+ else if (bs_support == 2) {
+ APIndex = 1;
+ wifi_if_ssid = "/wifi_if_24G/ssid";
+ ssid_unify = 1;
+ }
+ else {
+ APIndex = gCurrentAPItem;
+ wifi_if_ssid = "wifi_if_5G/ssid";
+ }
+ }
+ else {
+ APIndex = gCurrentAPItem;
+ wifi_if_ssid = "/wifi_if_5G/ssid";
+ if (bs_support == 1) {
+ if (wifiDetailedInfoMap.get("RGW/wireless/AP0/wifi_if_24G/ssid"+gCurrentssidItem+"/ssid") ==
+ wifiDetailedInfoMap.get("RGW/wireless/AP1/wifi_if_5G/ssid"+gCurrentssidItem+"/ssid"))
+ add_suffix = 1;
+ } else if (bs_support == 2) {
+ if (wifiDetailedInfoMap.get("RGW/wireless/AP1/wifi_if_24G/ssid"+gCurrentssidItem+"/ssid") ==
+ wifiDetailedInfoMap.get("RGW/wireless/AP0/wifi_if_5G/ssid"+gCurrentssidItem+"/ssid"))
+ add_suffix = 1;
+ }
+ }
+
+ $("#selHideSSID").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/hidden"));
+ $("#selApIsolateSwitch").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/isolate"));
+
+ /* should use current AP 5G config */
+ ssid_num = wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/n_ssid");
+ if(ssid_num > 1)
+ $("#selMultiSSIDSwitch").val("1");
+ else
+ $("#selMultiSSIDSwitch").val("0");
+
+ ssid_str = wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/ssid");
+
+ if (add_suffix == 1)
+ ssid_str += "_5g";
+
+ if (bs_support > 0) {
+ $("#sel5GSSIDList").empty();
+ if($("#sel5GSSIDList option").size() != ssid_num) {
+ var idx =0;
+ for ( ; idx < ssid_num; idx++ ) {
+ var opt_ap = document.createElement("option");
+ document.getElementById("sel5GSSIDList").options.add(opt_ap);
+ opt_ap.id = "opt5GSSID"+idx;
+ opt_ap.text = ssid_str;
+ opt_ap.value = idx;
+ }
+ $("#sel5GSSIDList").val(gCurrentssidItem);
+ }
+ }
+ //$("#txtWifiSSID").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/ssid"));
+ $("#txtWifiSSID").val(ssid_str);
+ //$("#txtWpaGroupKeyUpdateInterval").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/ssid"+gCurrentssidItem+"/wpa_group_rekey"));
+ $("#txtPasswd").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/key"));
+
+ var encryptionMap = ParseEncryption(wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/encryption"));
+ UpdateWifiEncryAlg(encryptionMap.get("authType"));
+ $("#selWifiAuthType").val(encryptionMap.get("authType"));
+ $("#selEncryAlg").val(encryptionMap.get("ciphers"));
+ if("WEP" == encryptionMap.get("authType")) {
+ $("#divwepKeyFormat").show();
+ $("#selWepKeyFormat").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+APIndex+wifi_if_ssid+gCurrentssidItem+"/key").length);
+ }
+
+ if (ssid_unify == 1) {
+ $("#divSSIDSetting").hide();
+ $("#divAuthTypeSetting").hide();
+ $("#divEncryAlg").hide();
+ $("#divwepKeyFormat").hide();
+ $("#divPassWd").hide();
+ $("#divWpsCfgDlg").hide();
+
+ $("#lt_wifiSet_EditSSID").hide();
+ $("#sel5GSSIDList").attr("disabled", true);
+ $("#txtWifiSSID").attr("disabled", true);
+ $("#txtPasswd").attr("disabled", true);
+ $("#selWifiAuthType").attr("disabled", true);
+ $("#selEncryAlg").attr("disabled", true);
+ $("#selWepKeyFormat").attr("disabled", true);
+ }
+ else {
+ $("#divSSIDSetting").show();
+ $("#divAuthTypeSetting").show();
+ $("#divEncryAlg").show();
+ $("#divwepKeyFormat").show();
+ $("#divPassWd").show();
+
+ $("#lt_wifiSet_EditSSID").show();
+ $("#sel5GSSIDList").attr("disabled", false);
+ $("#txtWifiSSID").attr("disabled", false);
+ $("#txtPasswd").attr("disabled", false);
+ $("#selWifiAuthType").attr("disabled", false);
+ $("#selEncryAlg").attr("disabled", false);
+ $("#selWepKeyFormat").attr("disabled", false);
+ }
+
+ if (gWirelessType == 1)
+ $("#lt_wifiSet_WAPI").hide();
+
+ if (1 == $("#selRfBand").val() || 0 == $("#selWifiBandSteering").val()) {
+ if("none" == $("#selWifiAuthType").val()) {
+ $("#divEncryAlg").hide();
+ $("#divPassWd").hide();
+ $("#divwepKeyFormat").hide();
+ } else if("WEP" == $("#selWifiAuthType").val()) {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").show();
+ } else {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").hide();
+ }
+
+ if("WPA-PSK" == $("#selWifiAuthType").val() || "WEP" == $("#selWifiAuthType").val()) {
+ $("#divWpsCfgDlg").hide();
+ } else {
+ $("#divWpsCfgDlg").show();
+ }
+ }
+ }
+ }
+
+ function RefreshFreqBandData() {
+ var net_mode;
+
+ $("#div80211nBandWidth").hide();
+ $("#div80211acBandWidth").hide();
+ $("#div80211axBandWidth").hide();
+ $("#div5G80211Protocol").hide();
+ $("#div2_4G80211Protocol").hide();
+ $("#divwepKeyFormat").hide();
+
+ if(1 == $("#selRfBand").val()) { //24G
+ Updatehwmode(1, gWifi6Support);
+ $("#div2_4G80211Protocol").show();
+ $("#sel2_4G80211Protocol").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/net_mode"));
+ $("#selWifi24GChannel").show();
+ $("#selWifi5GChannel").hide();
+
+ var first_channel = parseInt(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/first_channel"));
+ var last_channel = parseInt(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/last_channel"));
+
+ /*hide below than first channel*/
+ for (var channelIdx = 1; channelIdx < first_channel; channelIdx++) {
+ var optionId = "#lt_wifiSet_optCH" + channelIdx;
+ $(optionId).hide();
+ }
+
+ /*hide higer than last channel*/
+ for (var channelIdx = last_channel + 1; channelIdx <= 14; channelIdx++) {
+ var optionId = "#lt_wifiSet_optCH" + channelIdx;
+ $(optionId).hide();
+ }
+
+ /*allowed rangel*/
+ for (var channelIdx = first_channel; channelIdx < last_channel; channelIdx++) {
+ var optionId = "#lt_wifiSet_optCH" + channelIdx;
+ $(optionId).show();
+ }
+
+ $("#selWifi24GChannel").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/channel"));
+ net_mode = wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/net_mode");
+ if("11ng" == net_mode) {
+ $("#div80211nBandWidth").show();
+ if (gWifi6Support == 1) {
+ //$("#div80211nBW40Extend").show();
+ if ($("#sel80211nBandWidth option").length < 3) {
+ $("#sel80211nBandWidth").append("<option value='HT40-'>HT40-</option>");
+ $("#sel80211nBandWidth").append("<option value='HT40+'>HT40+</option>");
+ }
+ }
+ else {
+ // $("#div80211nBW40Extend").hide();
+ $("#sel80211nBandWidth option[value='HT40-']").remove();
+ $("#sel80211nBandWidth option[value='HT40+']").remove();
+ }
+ $("#sel80211nBandWidth").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/bandwidth"));
+ } else if("11ax" == net_mode ||"11bgnax" == net_mode) {
+ $("#div80211axBandWidth").show();
+ $("#sel80211axBandWidth option[value='HE80']").remove();
+ $("#sel80211axBandWidth").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_24G/bandwidth"));
+ }
+ $("#sel24GSSIDList").show();
+ $("#sel5GSSIDList").hide();
+
+ } else {
+ Updatehwmode(2, gWifi6Support);
+ $("#div5G80211Protocol").show();
+ $("#sel5G80211Protocol").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/net_mode"));
+
+ $("#selWifi24GChannel").hide();
+ $("#selWifi5GChannel").show();
+ $("#selWifi5GChannel").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/channel"));
+ net_mode = wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/net_mode");
+ if("11na" == net_mode) {
+ $("#div80211nBandWidth").show();
+ if (gWifi6Support == 1) {
+ //$("#div80211nBW40Extend").show();
+ if ($("#sel80211nBandWidth option").length < 3) {
+ $("#sel80211nBandWidth").append("<option value='HT40-'>HT40-</option>");
+ $("#sel80211nBandWidth").append("<option value='HT40+'>HT40+</option>");
+ }
+ }
+ else {
+ // $("#div80211nBW40Extend").hide();
+ $("#sel80211nBandWidth option[value='HT40-']").remove();
+ $("#sel80211nBandWidth option[value='HT40+']").remove();
+ }
+ $("#sel80211nBandWidth").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"wifi_if_5G/bandwidth"));
+ } else if("11ac" == net_mode) {
+ $("#div80211acBandWidth").show();
+ $("#sel80211acBandWidth").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/bandwidth"));
+ } else if("11ax" == net_mode || "11anacax" == net_mode) {
+ $("#div80211axBandWidth").show();
+ if ($("#sel80211axBandWidth option").length < 3)
+ $("#sel80211axBandWidth").append("<option value='HE80'>HE80</option>");
+ $("#sel80211axBandWidth").val(wifiDetailedInfoMap.get("RGW/wireless/AP"+gCurrentAPItem+"/wifi_if_5G/bandwidth"));
+ }
+ $("#sel5GSSIDList").show();
+ $("#sel24GSSIDList").hide();
+
+ }
+
+ RefreshssidInfo();
+
+ if (gWirelessType == 1)
+ $("#lt_wifiSet_WAPI").hide();
+
+ if (1 == $("#selRfBand").val() || 0 == $("#selWifiBandSteering").val()) {
+ if("none" == $("#selWifiAuthType").val()) {
+ $("#divEncryAlg").hide();
+ $("#divPassWd").hide();
+ $("#divwepKeyFormat").hide();
+ } else if("WEP" == $("#selWifiAuthType").val()) {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").show();
+ } else {
+ $("#divEncryAlg").show();
+ $("#divPassWd").show();
+ $("#divwepKeyFormat").hide();
+ }
+
+ /*
+ if("Mixed" == $("#selWifiAuthType").val() || "WPA-PSK" == $("#selWifiAuthType").val()) {
+ $("#divWpaGroupKey").show();
+ } else {
+ $("#divWpaGroupKey").hide();
+ }
+ */
+ if ("WPA-PSK" == $("#selWifiAuthType").val() || "WEP" == $("#selWifiAuthType").val() || "WPA3-SAE" == $("#selWifiAuthType").val() || "none" == $("#selWifiAuthType").val() || "1" == $("#selHideSSID").val())
+ $("#divWpsCfgDlg").hide();
+ else
+ $("#divWpsCfgDlg").show();
+ }
+ }
+
+
+ function GetWifiDetailedInfo() {
+ wifiDetailedInfoMap.clear();
+ $("#selWifiAPList").empty();
+ var idx =0;
+ var retXml = PostXml("wireless","wifi_get_detail");
+ var wirelessAPNum = $(retXml).find("wireless_num").text();
+ gWirelessAPNum = wirelessAPNum;
+ gWirelessType = $(retXml).find("wireless_type").text();
+ gWifi6Support = $(retXml).find("wifi6_support").text();
+ gCurrentAPItem = $(retXml).find("current_ap").text();
+ gWifiBSSupport = $(retXml).find("bs_support").text();
+ gWifiBSEnable = $(retXml).find("bs_enable").text();
+ var ssidNum;
+ if (wirelessAPNum == 0) {
+ $("#divWireless").hide();
+ $("#wifiSetErrorLogs").show().text(jQuery.i18n.prop('lNoWiFiCardError'));
+ return false;
+ }
+
+ if (gWifiBSSupport == 1) {
+ $("#divWifiBandSteering").show();
+ $("#selWifiBandSteering").val(gWifiBSEnable);
+ }
+ else {
+ $("#divWifiBandSteering").hide();
+ }
+
+ if (gWirelessType == 1) {
+ $("#dropdownBW40").hide();
+ // $("#div80211nBW40Extend").hide();
+ $("#sel80211nBandWidth option[value='HT40-']").remove();
+ $("#sel80211nBandWidth option[value='HT40+']").remove();
+ $("#lt_wifiSet_WAPI").hide();
+ }
+
+ if($("#selWifiAPList option").size()!=wirelessAPNum){
+ for ( ; idx < wirelessAPNum; idx++ ){
+ var opt_ap = document.createElement("option");
+ document.getElementById("selWifiAPList").options.add(opt_ap);
+ opt_ap.id = "optWifiAP"+idx;
+ opt_ap.text = "AP"+idx;
+ opt_ap.value = idx;
+ }
+ if (gCurrentAPItem == 0)
+ $("#selWifiAPList").val("0");
+ else
+ $("#selWifiAPList").val("1");
+ }
+
+ wifiDetailedInfoMap.put("RGW/wireless/wireless_num", $(retXml).find("wireless_num").text());
+ wifiDetailedInfoMap.put("RGW/wireless/bs_support", $(retXml).find("bs_support").text());
+ var i=0;
+ for(;i<wirelessAPNum;i++){
+ $(retXml).find("AP"+i).each(function() {
+ /*24G info start*/
+ $(this).find("wifi_if_24G").each(function(){
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/switch",$(this).find("switch").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/net_mode",$(this).find("net_mode").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/channel",$(this).find("channel").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/first_channel",$(this).find("first_channel").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/last_channel",$(this).find("last_channel").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/bandwidth",$(this).find("bandwidth").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/unsupport_multi_ssid",$(this).find("unsupport_multi_ssid").text());
+
+ var j=0;
+ ssidNum = $(this).find("n_ssid").text();
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_24G/n_ssid",ssidNum);
+ for(;j<ssidNum;j++){
+ $(this).find("ssid"+j).each(function(){
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/hidden",$(this).find("hidden").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/isolate",$(this).find("isolate").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/ssid",$(this).find("ssid").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/encryption",$(this).find("encryption").text());
+ if (j == 0) {
+ var encryptionMap = ParseEncryption($(this).find("encryption").text());
+ g24gAuthType = encryptionMap.get("authType");
+ g24gEncryAlg = encryptionMap.get("ciphers");
+ }
+
+ if ("none" != $(this).find("encryption").text()) {
+ if ($(this).find("encryption").text().indexOf("psk") >= 0){
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/wpa_group_rekey",$(this).find("wpa_group_rekey").text());
+ if (j == 0)
+ g24gRekey = $(this).find("wpa_group_rekey").text();
+ }
+ //In WEP mode, this can be an integer specifying which key index to use (key1, key2, key3, or key4.)
+ if("wep+shared" == $(this).find("encryption").text()
+ || "wep" == $(this).find("encryption").text()) {
+ var WepKeyTag = "key" + $(this).find("key").text();
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/key",$(this).find(WepKeyTag).text());
+ if (j == 0)
+ g24gPassword = $(this).find(WepKeyTag).text();
+ } else {
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ j +"/key",$(this).find("key").text());
+ if (j == 0)
+ g24gPassword = $(this).find("key").text();
+ }
+ }
+ });
+ }
+ $("#sel24GSSIDList").empty();
+ if($("#sel24GSSIDList option").size()!=ssidNum){
+ idx = 0;
+ for ( ; idx < ssidNum; idx++ ){
+ var opt_ap = document.createElement("option");
+ document.getElementById("sel24GSSIDList").options.add(opt_ap);
+ opt_ap.id = "opt24GSSID"+idx;
+ opt_ap.text = wifiDetailedInfoMap.get("RGW/wireless/AP"+ i +"/wifi_if_24G/ssid"+ idx +"/ssid") ;
+ opt_ap.value = idx;
+ }
+
+ $("#sel24GSSIDList").val("0");
+ gCurrentssidItem = 0;
+ }
+ });
+ /*24G info end*/
+
+ /*5G info start*/
+ $(this).find("wifi_if_5G").each(function(){
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_5G/switch",$(this).find("switch").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_5G/net_mode",$(this).find("net_mode").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_5G/channel",$(this).find("channel").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_5G/bandwidth",$(this).find("bandwidth").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_5G/unsupport_multi_ssid",$(this).find("unsupport_multi_ssid").text());
+
+ var j=0;
+ ssidNum = $(this).find("n_ssid").text();
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+i+"/wifi_if_5G/n_ssid",ssidNum);
+ for(;j<ssidNum;j++){
+ $(this).find("ssid"+j).each(function(){
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/hidden",$(this).find("hidden").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/isolate",$(this).find("isolate").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/ssid",$(this).find("ssid").text());
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/encryption",$(this).find("encryption").text());
+ if ("none" != $(this).find("encryption").text()) {
+ if ($(this).find("encryption").text().indexOf("psk") >= 0) {
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/wpa_group_rekey",$(this).find("wpa_group_rekey").text());
+ }
+ //In WEP mode, this can be an integer specifying which key index to use (key1, key2, key3, or key4.)
+ if("wep+shared" == $(this).find("encryption").text()
+ || "wep" == $(this).find("encryption").text()) {
+ var WepKeyTag = "key" + $(this).find("key").text();
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/key",$(this).find(WepKeyTag).text());
+ } else {
+ wifiDetailedInfoMap.put("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ j +"/key",$(this).find("key").text());
+ }
+ }
+ });
+ }
+
+ $("#sel5GSSIDList").empty();
+ if($("#sel5GSSIDList option").size()!=ssidNum){
+ idx =0;
+ for ( ; idx < ssidNum; idx++ ){
+ var opt_ap = document.createElement("option");
+ document.getElementById("sel5GSSIDList").options.add(opt_ap);
+ opt_ap.id = "opt5GSSID"+idx;
+ opt_ap.text = wifiDetailedInfoMap.get("RGW/wireless/AP"+ i +"/wifi_if_5G/ssid"+ idx +"/ssid") ;
+ opt_ap.value = idx;
+ }
+ $("#sel5GSSIDList").val("0");
+ gCurrentssidItem = 0;
+ }
+ });
+ /*5G info end*/
+ });
+ }
+ return true;
+ }
+
+ //由认证类型和加密方式获取 encryption tag
+ function GetEncryptionTag(authType,ciphers) {
+ switch(authType) {
+ case "WPA-PSK":
+ if("AES-CCMP" == ciphers) return "psk+ccmp";
+ else if("TKIP" == ciphers) return "psk";
+ else if("TKIP/AES-CCMP" == ciphers) return "psk+tkip+ccmp";
+ break;
+ case "WPA2-PSK":
+ if("AES-CCMP" == ciphers) return "psk2";
+ else if("TKIP/AES-CCMP" == ciphers) return "psk2+tkip+ccmp";
+ break;
+ case "Mixed":
+ if("AES-CCMP/TKIP" == ciphers) return "psk-mixed";
+ else if("AES-CCMP" == ciphers) return "psk-mixed+aes";
+ break;
+ case "WEP":
+ if("Open" == ciphers) return "wep";
+ else if("Shared-key" == ciphers) return "wep+shared";
+ break;
+ case "none":
+ return "none";
+ break;
+ case "WPA3-SAE":
+ return "sae";
+ case "WPA2-WPA3":
+ return "sae-mixed";
+ default:
+ return "";
+ }
+ }
+
+ //解析 encryption tag 得到认证类型和加密方式
+ function ParseEncryption(encryptInfo) {
+ var encryptInfoMap = new Map();
+ switch(encryptInfo) {
+ //WPA-PSK
+ case "psk+ccmp":
+ case "psk+aes":
+ encryptInfoMap.put("authType","WPA-PSK");
+ encryptInfoMap.put("ciphers","AES-CCMP");
+ break;
+ case "psk":
+ case "psk+tkip":
+ encryptInfoMap.put("authType","WPA-PSK");
+ encryptInfoMap.put("ciphers","TKIP");
+ break;
+ case "psk+tkip+ccmp":
+ case "psk+tkip+aes":
+ encryptInfoMap.put("authType","WPA-PSK");
+ encryptInfoMap.put("ciphers","TKIP/AES-CCMP");
+ break;
+ //WPA2-PSK
+ case "psk2":
+ case "psk2+ccmp":
+ case "psk2+aes":
+ encryptInfoMap.put("authType","WPA2-PSK");
+ encryptInfoMap.put("ciphers","AES-CCMP");
+ break;
+ case "psk2+tkip+ccmp":
+ case "psk2+tkip+aes":
+ encryptInfoMap.put("authType","WPA2-PSK");
+ encryptInfoMap.put("ciphers","TKIP/AES-CCMP");
+ break;
+ //WPA/WPA2-MIXED
+ case "psk-mixed":
+ case "psk-mixed+tkip+aes":
+ case "psk-mixed+tkip+ccmp":
+ encryptInfoMap.put("authType","Mixed");
+ encryptInfoMap.put("ciphers","AES-CCMP/TKIP");
+ break;
+ case "psk-mixed+aes":
+ case "psk-mixed+ccmp":
+ encryptInfoMap.put("authType","Mixed");
+ encryptInfoMap.put("ciphers","AES-CCMP");
+ break;
+ //MEP
+ case "wep":
+ encryptInfoMap.put("authType","WEP");
+ encryptInfoMap.put("ciphers","Open");
+ break;
+ case "wep+shared":
+ encryptInfoMap.put("authType","WEP");
+ encryptInfoMap.put("ciphers","Shared-key");
+ break;
+ case "none":
+ encryptInfoMap.put("authType","none");
+ encryptInfoMap.put("ciphers","");
+ break;
+ //WPA3
+ case "sae":
+ encryptInfoMap.put("authType","WPA3-SAE");
+ encryptInfoMap.put("ciphers","AES-CCMP");
+ break;
+ //WPA2/WPA3-MIXED
+ case "sae-mixed":
+ encryptInfoMap.put("authType","WPA2-WPA3");
+ encryptInfoMap.put("ciphers","AES-CCMP");
+ break;
+ default:
+ encryptInfoMap.put("authType","");
+ encryptInfoMap.put("ciphers","");
+ break;
+ }
+ return encryptInfoMap;
+
+ }
+
+ return this;
+ }
+})(jQuery);
+
+function ShowWPSCfgDlg() {
+ ShowDlg("MBAddWPSClient", 300, 200);
+ localizeWPSDialog();
+ $("#lWPSStatus").text("");
+ if(IsWpsMatch) {
+ DisabledWPSBtn();
+ }
+}
+
+function DisabledWPSBtn() {
+ $("#btnRegister").attr("disabled", true);
+ $("#btnPush").attr("disabled", true);
+ $("#txtRouterPinMB").attr("disabled", true);
+ $("#divcancel_session").show();
+
+}
+
+function EnabledWPSBtn() {
+ $("#btnRegister").attr("disabled", false);
+ $("#btnPush").attr("disabled", false);
+ $("#txtRouterPinMB").attr("disabled", false);
+ $("#divcancel_session").hide();
+
+}
+
+function localizeWPSDialog() {
+ $("#h1AddWPSClient").text(jQuery.i18n.prop("h1AddWPSClient"));
+ $("#lWPStext").text(jQuery.i18n.prop("lWPStext"));
+ $("#lCancelWpsSession").text(jQuery.i18n.prop("lCancelWpsSession"));
+ $("#spanWPSPushButton").text(jQuery.i18n.prop("spanWPSPushButton"));
+ $("#spanEnterPin").text(jQuery.i18n.prop("spanEnterPin"));
+ $("#btnPush").text(jQuery.i18n.prop("btnPush"));
+ $("#btnRegister").text(jQuery.i18n.prop("btnRegister"));
+ $("#btnClose").text(jQuery.i18n.prop("btnClose"));
+}
+function WPSClientClose() {
+ hm();
+}
+
+function QueryWpsStatus() {
+ var retXml = PostXml("wireless","wifi_call_wps_status");
+ var WPSStatus;
+
+ WPSStatus = $(retXml).find("wps_status").text();
+
+ if (WPSStatus == 0) {
+ callCount++;
+ if ((callCount < 10) && IsWpsMatch) {
+ $("#lWPSStatus").text(jQuery.i18n.prop("lWpsMatchWait"));
+ showAlert("lWpsMatchWait");
+ setTimeout(QueryWpsStatus, 3000);
+ } else {
+ $("#lWPSStatus").text(jQuery.i18n.prop("lWpsMatchFailed"));
+ showAlert("lWpsMatchFailed");
+ callCount = 0;
+ EnabledWPSBtn();
+ IsWpsMatch = false;
+ }
+ } else if ((WPSStatus == 1 ||"" == WPSStatus) && IsWpsMatch) {
+ $("#lWPSStatus").text(jQuery.i18n.prop("lWpsMatchPro"));
+ setTimeout(QueryWpsStatus, 3000);
+ } else if (WPSStatus == 2) {
+ $("#lWPSStatus").text(jQuery.i18n.prop("lWpsMatchSuccess"));
+ showAlert("lWpsMatchSuccess");
+ callCount = 0;
+ EnabledWPSBtn();
+ IsWpsMatch = false;
+ } else if (WPSStatus == 3) {
+ $("#lWPSStatus").text(jQuery.i18n.prop("lWpsMatchFailed"));
+ showAlert("lWpsMatchFailed");
+ callCount = 0;
+ EnabledWPSBtn();
+ IsWpsMatch = false;
+ }
+}
+
+function btnPushClicked() {
+ var mapData = new Map();
+ mapData.put("RGW/wps/wifi_iface_index", gCurrentAPItem);
+ if (gWifiBSEnable == "1")
+ mapData.put("RGW/wps/wifi_5g_prefer", 1);
+
+ var retXml = PostXml("wireless","wifi_call_wps_pbc", mapData);
+
+ if("OK" != $(retXml).find("wps_call_pbc_result").text()) {
+ showAlert("lt_WpsPushButtonFail");
+ return;
+ }
+ IsWpsMatch = true;
+ setTimeout(QueryWpsStatus, 3000);
+}
+
+function btnRegisterClicked() {
+ var mapData = new Map();
+ var client_pin = $("#txtRouterPinMB").val();
+ if("-" == client_pin.substr(4,1)) {
+ client = client_pin.replace("-","");
+ }
+
+ if((client_pin.length == 8 || client_pin.length == 4) && IsNumber(client_pin)) {
+ mapData.put("RGW/wps/wps_enable", 1);
+ mapData.put("RGW/wps/wps_pin", client_pin);
+ mapData.put("RGW/wps/wifi_iface_index", gCurrentAPItem);
+ if (gWifiBSEnable == "1")
+ mapData.put("RGW/wps/wifi_5g_prefer", 1);
+
+ var retXml = PostXml("wireless","wifi_call_wps_pin", mapData);
+ if("OK" != $(retXml).find("wps_call_pin_result").text()) {
+ showAlert("lt_WpsPinFail");
+ return;
+ }
+ IsWpsMatch = true;
+ setTimeout(QueryWpsStatus, 3000);
+ }
+ else {
+ $("#lWPSError").show();
+ $("#lWPSError").text(jQuery.i18n.prop("lWPSPinError"));
+ }
+}
+
+function RouterPinMBChange() {
+ $("#lWPSError").hide();
+}
+
+function AutoOffWifiTimeoutChange() {
+ $("#wifiSetErrorLogs").hide().text("");
+}
+
+function cancelSessionClicked() {
+ var retXml = PostXml("wireless","wifi_call_wps_cancle");
+
+ if("OK" != $(retXml).find("wps_call_cancel_result").text()) {
+ showAlert("lt_WpsCancelFail");
+ return;
+ }
+ IsWpsMatch = false;
+}
+
+function lengthInUtf8Bytes(str) {
+ var m = encodeURIComponent(str).match(/%[89ABab]/g);
+ return str.length + (m ? m.length : 0);
+}
+
+function checkSsidLength(maxLength) {
+ var inputLen = lengthInUtf8Bytes($("#txtWifiSSID").val());
+ if (inputLen > maxLength)
+ {
+ showAlert("lt_ssidLenError");
+ return false;
+ }
+ else
+ return true;
+}
+
+function checkPassWDLength() {
+ var strPasswd = $("#txtPasswd").val();
+ var authType = $("#selWifiAuthType").val();
+ var ret = true;
+ var strErrMsg;
+
+ var regex = /\s/;
+ if (regex.test(strPasswd)) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_PasswdSpaceError');
+ ret = false;
+ }
+
+ if("WEP" == authType) {
+ switch($("#selWepKeyFormat").val()) {
+ case "5":
+ if(!IsASCIIStr(strPasswd) || 5 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd5AsciiError');
+ ret = false;
+ }
+ break;
+ case "13":
+ if(!IsASCIIStr(strPasswd) || 13 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd13AsciiError');
+ ret = false;
+ }
+ break;
+ case "10":
+ if(!IsHexStr(strPasswd) || 10 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd10HexError');
+ ret = false;
+ }
+ break;
+ case "26":
+ if(!IsHexStr(strPasswd) || 26 != strPasswd.length) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WepPasswd26HexError');
+ ret = false;
+ }
+ break;
+ }
+ } else if("WPA2-PSK" == authType || "Mixed" == authType || "WPA3-SAE" == authType || "WPA2-WPA3" == authType || "WPA-PSK" == authType) {
+ if(IsChineseChar(strPasswd) || strPasswd.length > 64 || strPasswd.length < 8) {
+ strErrMsg = jQuery.i18n.prop('lt_wifiset_WPA2PSKPasswdError');
+ ret = false;
+ }
+ }
+
+ if(!ret) {
+ $("#wifiSetErrorLogs").show().text(strErrMsg);
+ ret = false;
+ }
+ else
+ {
+ $("#wifiSetErrorLogs").hide().text("");
+ if ($("#selRfBand").val() == 1)
+ g24gPassword= strPasswd;
+ }
+
+ return ret;
+}