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);

+

+

+

+

+