blob: eeaf1be863fd2eb95ac8f186efb8daf30bf5f88d [file] [log] [blame]
(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);