blob: eeaf1be863fd2eb95ac8f186efb8daf30bf5f88d [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001
2(function($) {
3 $.fn.objWifiDmzSet = function() {
4 var gDMZHostIpAdrrCtrl;
5 var dmzMode;
6 this.onLoad = function(flag) {
7 if(flag) {
8 LoadWebPage("html/wifi/wifiDmzSet.html");
9
10 $("#selDmzSwitch").change(function() {
11 if("1"==$(this).val()) {
12 $("#divDmzIpAddr").hide();
13 } else {
14 $("#divDmzIpAddr").show();
15 }
16 });
17
18 $("#lt_dmz_btnAddDmzIpAddr").click(function() {
19 AddDmzIpAddr();
20 });
21
22 $("#lt_dmz_btnDeleteDmzIpAddr").click(function() {
23 DeleteDmzIpAddr();
24 });
25
26 $("#lt_dmz_btnEditDmzIpAddr").click(function() {
27 ModifyDmzIpAddr();
28 });
29
30 gDMZHostIpAdrrCtrl = $("#divhostIpAddrctrl").ip_address("divhostIpAddrctrl");
31
32 } //end flag
33
34 GetFWDmzInfo();
35 }
36
37 function DeleteDmzIpAddr() {
38 //enable DMZ
39 if(dmzMode != $("#selDmzSwitch").val()) {
40 var configMap = new Map();
41 configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
42 var retXml = PostXml("firewall","fw_set_disable_info",configMap);
43 }
44
45 var retXml = PostXml("firewall","delete_dmz");
46 if("OK" != $(retXml).find("setting_response").text()) {
47 alert("delete dmz ip failed.");
48 }
49 GetFWDmzInfo();
50 }
51
52
53 function AddDmzIpAddr() {
54
55 ShowDlg("divDmzSetDlg",300,100);
56 var dmzdlgipctl = $("#divdmzdlgipControl").ip_address("divdmzdlgipControl");
57
58 $("#lt_btnSave").click(function() {
59 var ipAddr = dmzdlgipctl.getIP();
60 if(!IsIPv4(ipAddr)) {
61 $("#lt_dmz_ipAddrError").show().text(jQuery.i18n.prop("lt_ipAddrFormatError"));
62 return;
63 }
64
65
66 //enable DMZ
67 if(dmzMode != $("#selDmzSwitch").val()) {
68 var configMap = new Map();
69 configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
70 var retXml = PostXml("firewall","fw_set_disable_info",configMap);
71 }
72
73
74 var entryMap = new Map();
75 entryMap.put("RGW/firewall/dmz_dest_ip",ipAddr);
76 CloseDlg();
77 var retXml = PostXml("firewall","fw_add_dmz_entry",entryMap);
78 if("OK" != $(retXml).find("setting_response").text()) {
79 alert("add dmz ip addr failed.");
80 }
81 GetFWDmzInfo();
82 });
83 }
84
85 function GetFWDmzInfo() {
86 var retXml = PostXml("firewall","fw_get_disable_info");
87 dmzMode = $(retXml).find("dmz_disable").text();
88 $("#selDmzSwitch").val(dmzMode);
89 if(1 == dmzMode) {
90 $("#divDmzIpAddr").hide();
91 } else {
92 $("#divDmzIpAddr").show();
93 GetDmzIpAddr();
94 }
95
96 }
97
98 function GetDmzIpAddr() {
99 var retXml = PostXml("firewall","fw_get_dmz_info");
100 var hostIpAddr = $(retXml).find("dmz_dest_ip").text();
101 if(""==hostIpAddr) {
102 $("#divIpAddr").hide();
103 $("#lt_dmz_btnAddDmzIpAddr").show();
104 $("#lt_dmz_btnDeleteDmzIpAddr").hide();
105 $("#lt_dmz_btnEditDmzIpAddr").hide();
106 } else {
107 $("#divIpAddr").show();
108 $("#lt_dmz_btnAddDmzIpAddr").hide();
109 $("#lt_dmz_btnDeleteDmzIpAddr").show();
110 $("#lt_dmz_btnEditDmzIpAddr").show();
111
112 gDMZHostIpAdrrCtrl.setIP(hostIpAddr);
113 }
114 }
115
116 function ModifyDmzIpAddr() {
117 ShowDlg("divDmzSetDlg",100,100);
118 var dmzdlgipctl = $("#divdmzdlgipControl").ip_address("divdmzdlgipControl");
119 var curIpAddr = gDMZHostIpAdrrCtrl.getIP();
120 dmzdlgipctl.setIP(curIpAddr);
121
122 $("#lt_btnSave").click(function() {
123 var newIpAddr = dmzdlgipctl.getIP();
124 CloseDlg();
125 if(newIpAddr == curIpAddr) {
126 return;
127 }
128
129 //enable DMZ
130 if(dmzMode != $("#selDmzSwitch").val()) {
131 var configMap = new Map();
132 configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
133 var retXml = PostXml("firewall","fw_set_disable_info",configMap);
134 }
135
136 var entryMap = new Map();
137 entryMap.put("RGW/firewall/dmz_dest_ip", newIpAddr);
138
139
140 var retXml = PostXml("firewall","fw_edit_dmz_entry",entryMap);
141 if("OK" != $(retXml).find("setting_response").text()) {
142 alert("edit ip filter entry failed.");
143 }
144 GetFWDmzInfo();
145 });
146 }
147
148 this.SaveData = function() {
149 if(dmzMode == $("#selDmzSwitch").val()) {
150 return;
151 }
152
153 var configMap = new Map();
154 configMap.put("RGW/firewall/dmz_disable",$("#selDmzSwitch").val());
155 var retXml = PostXml("firewall","fw_set_disable_info",configMap);
156 if("OK" == $(retXml).find("setting_response").text()) {
157 GetFWDmzInfo();
158 } else {
159 alert("dsm set failed.");
160 }
161 }
162
163
164
165 return this;
166 }
167})(jQuery);
168
169
170
171
172