From ec593ed9280ab41c309e5a4f2f8315c621f2a9ee Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 16 Dec 2017 20:31:59 +0530 Subject: [PATCH] Dns WebApp: implemented new update check feature. Implemented log queries ui setting option. --- DnsServerCore/www/index.html | 66 ++++++++++++++++++++++-------------- DnsServerCore/www/js/main.js | 36 +++++++++++++------- 2 files changed, 64 insertions(+), 38 deletions(-) diff --git a/DnsServerCore/www/index.html b/DnsServerCore/www/index.html index 27add454..717f15d8 100644 --- a/DnsServerCore/www/index.html +++ b/DnsServerCore/www/index.html @@ -111,7 +111,7 @@
+
+
+
+ +
+ +
Use this option to log every query received by this Dns Server and the corresponding response answers into the log file. Enabling this option will significantly increase the log file size. Error and audit logs are enabled by default.
+
+
+
diff --git a/DnsServerCore/www/js/main.js b/DnsServerCore/www/js/main.js index ac17b768..c3de4bb1 100644 --- a/DnsServerCore/www/js/main.js +++ b/DnsServerCore/www/js/main.js @@ -60,7 +60,8 @@ $(function () { $("#footer").html(""); //dropdown list box support - $('.dropdown').on('click', 'a', function () { + $('.dropdown').on('click', 'a', function (e) { + e.preventDefault(); $(this).closest('.dropdown').find('input').val($(this).text()); }); @@ -189,7 +190,12 @@ function checkForUpdate() { var lnkNewVersionAvailable = $("#lnkNewVersionAvailable"); if (responseJSON.response.updateAvailable) { - lnkNewVersionAvailable.attr("href", responseJSON.response.landingPage); + + if (responseJSON.response.displayText == null) + responseJSON.response.displayText = "New Version Available!"; + + lnkNewVersionAvailable.text(responseJSON.response.displayText); + lnkNewVersionAvailable.attr("href", responseJSON.response.downloadLink); lnkNewVersionAvailable.show(); } else { @@ -215,6 +221,7 @@ function loadDnsSettings() { HTTPRequest({ url: "/api/getDnsSettings?token=" + token, success: function (responseJSON) { + document.title = "Technitium DNS Server " + responseJSON.response.version + " - " + responseJSON.response.serverDomain; $("#txtServerDomain").val(responseJSON.response.serverDomain); $("#lblServerDomain").text(" - " + responseJSON.response.serverDomain); @@ -222,6 +229,7 @@ function loadDnsSettings() { $("#txtWebServicePort").val(responseJSON.response.webServicePort); $("#chkPreferIPv6").prop("checked", responseJSON.response.preferIPv6); + $("#chkLogQueries").prop("checked", responseJSON.response.logQueries); $("#chkAllowRecursion").prop("checked", responseJSON.response.allowRecursion); var forwarders = responseJSON.response.forwarders; @@ -266,6 +274,7 @@ function saveDnsSettings() { } var preferIPv6 = $("#chkPreferIPv6").prop('checked'); + var logQueries = $("#chkLogQueries").prop('checked'); var allowRecursion = $("#chkAllowRecursion").prop('checked'); var forwarders = $("#txtForwarders").val().replace(/\n/g, ","); @@ -287,9 +296,11 @@ function saveDnsSettings() { var btn = $("#btnSaveDnsSettings").button('loading'); HTTPRequest({ - url: "/api/setDnsSettings?token=" + token + "&serverDomain=" + serverDomain + "&webServicePort=" + webServicePort + "&preferIPv6=" + preferIPv6 + "&allowRecursion=" + allowRecursion + "&forwarders=" + forwarders, + url: "/api/setDnsSettings?token=" + token + "&serverDomain=" + serverDomain + "&webServicePort=" + webServicePort + "&preferIPv6=" + preferIPv6 + "&logQueries=" + logQueries + "&allowRecursion=" + allowRecursion + "&forwarders=" + forwarders, success: function (responseJSON) { - $("#lblServerDomain").text(" - " + serverDomain); + document.title = "Technitium DNS Server " + responseJSON.response.version + " - " + responseJSON.response.serverDomain; + $("#lblServerDomain").text(" - " + responseJSON.response.serverDomain); + $("#txtServerDomain").val(responseJSON.response.serverDomain) btn.button('reset'); showAlert("success", "Settings Saved!", "Dns server settings were saved successfully."); @@ -465,7 +476,7 @@ function refreshZonesList(hideLoader) { for (var i = 0; i < zones.length; i++) { var zoneName = htmlEncode(zones[i].zoneName); - list += "" + list += "" } lstZones.html(list); @@ -515,7 +526,7 @@ function addZone() { function deleteZone() { - var domain = $("#txtZoneViewerTitle").text(); + var domain = $("#spanZoneViewerTitle").text(); if (!confirm("Are you sure you want to permanently delete the zone '" + domain + "' and all its records?")) return false; @@ -546,7 +557,7 @@ function deleteZone() { function enableZone() { - var domain = $("#txtZoneViewerTitle").text(); + var domain = $("#spanZoneViewerTitle").text(); if (!confirm("Are you sure you want to enable the zone '" + domain + "'?")) return false; @@ -579,7 +590,7 @@ function enableZone() { function disableZone() { - var domain = $("#txtZoneViewerTitle").text(); + var domain = $("#spanZoneViewerTitle").text(); if (!confirm("Are you sure you want to disable the zone '" + domain + "'?")) return false; @@ -613,11 +624,10 @@ function disableZone() { function viewZone(domain, disabled) { var divZoneViewer = $("#divZoneViewer"); - var txtZoneViewerTitle = $("#txtZoneViewerTitle"); var divZoneViewerBody = $("#divZoneViewerBody"); var divZoneViewerLoader = $("#divZoneViewerLoader"); - txtZoneViewerTitle.text(domain); + $("#spanZoneViewerTitle").text(domain); if (disabled) { $("#btnEnableZone").show(); @@ -628,6 +638,8 @@ function viewZone(domain, disabled) { $("#btnDisableZone").show(); } + $("#spanZoneViewerTitleLink").html(""); + divZoneViewerLoader.show(); divZoneViewerBody.hide(); divZoneViewer.show(); @@ -1042,7 +1054,7 @@ function modifyAddRecordForm() { function addResourceRecord() { - var domain = $("#txtZoneViewerTitle").text(); + var domain = $("#spanZoneViewerTitle").text(); var type = $("#optAddRecordType").val(); var subDomain = $("#txtAddRecordName").val(); @@ -1165,7 +1177,7 @@ function updateResourceRecord(objBtn) { var id = btnUpdate.attr("data-id"); var divData = $("#data" + id); - var domain = $("#txtZoneViewerTitle").text(); + var domain = $("#spanZoneViewerTitle").text(); var type = $("#optType" + id).val(); var oldName;