diff --git a/groups-adlists.lp b/groups-lists.lp similarity index 84% rename from groups-adlists.lp rename to groups-lists.lp index 953dedf4b..8b212791f 100644 --- a/groups-adlists.lp +++ b/groups-lists.lp @@ -12,7 +12,7 @@ mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
Health status of this list: | ' + + ' | ||
Type of this list: | ' + + data.type + + 'list | ||
Health status of this list: | ' + statusText + ' | ||
This list was added to Pi-hole | ' + utils.datetimeRelative(data.date_added) + @@ -143,6 +146,7 @@ function initTable() { rowCallback: function (row, data) { var dataId = utils.hexEncode(data.address); $(row).attr("data-id", dataId); + $(row).attr("data-type", data.type); var statusCode = 0, statusIcon; @@ -170,9 +174,22 @@ function initTable() { break; } + // Add red minus sign icon if data["type"] is "block" + // Add green plus sign icon if data["type"] is "allow" + let status = + ""; + if (data.type === "block") { + status = ""; + } else if (data.type === "allow") { + status = ""; + } + $("td:eq(1)", row).addClass("list-status-" + statusCode); $("td:eq(1)", row).html( - "" + "" + + status ); if (data.address.startsWith("file://")) { @@ -480,17 +497,18 @@ function delItems(ids) { }); } -function addAdlist() { +function addAdlist(event) { + const type = event.data.type; const address = utils.escapeHtml($("#new_address").val()); const comment = utils.escapeHtml($("#new_comment").val()); utils.disableAll(); - utils.showAlert("info", "", "Adding adlist...", address); + utils.showAlert("info", "", "Adding subscribed " + type + "list...", address); if (address.length === 0) { // enable the ui elements again utils.enableAll(); - utils.showAlert("warning", "", "Warning", "Please specify an adlist address"); + utils.showAlert("warning", "", "Warning", "Please specify " + type + "list address"); return; } @@ -498,10 +516,10 @@ function addAdlist() { url: "/api/lists", method: "post", dataType: "json", - data: JSON.stringify({ address: address, comment: comment }), + data: JSON.stringify({ address: address, comment: comment, type: type }), success: function () { utils.enableAll(); - utils.showAlert("success", "fas fa-plus", "Successfully added list", address); + utils.showAlert("success", "fas fa-plus", "Successfully added " + type + "list", address); table.ajax.reload(null, false); table.rows().deselect(); @@ -511,7 +529,7 @@ function addAdlist() { error: function (data, exception) { apiFailure(data); utils.enableAll(); - utils.showAlert("error", "", "Error while adding new list", data.responseText); + utils.showAlert("error", "", "Error while adding new " + type + "list", data.responseText); console.log(exception); // eslint-disable-line no-console }, }); @@ -520,6 +538,7 @@ function addAdlist() { function editAdlist() { const elem = $(this).attr("id"); const tr = $(this).closest("tr"); + const type = tr.attr("data-type"); const address = tr.attr("data-id"); const status = tr.find("#enabled_" + address).is(":checked"); const comment = utils.escapeHtml(tr.find("#comment_" + address).val()); @@ -567,6 +586,7 @@ function editAdlist() { groups: groups, comment: comment, enabled: enabled, + type: type, }), success: function () { utils.enableAll(); diff --git a/scripts/pi-hole/js/queries.js b/scripts/pi-hole/js/queries.js index 1b95f8e4e..4be813863 100644 --- a/scripts/pi-hole/js/queries.js +++ b/scripts/pi-hole/js/queries.js @@ -83,8 +83,7 @@ function parseQueryStatus(data) { buttontext, icon = null, colorClass = false, - isCNAME = false, - regexLink = false; + isCNAME = false; switch (data.status) { case "GRAVITY": colorClass = "text-red"; @@ -111,7 +110,6 @@ function parseQueryStatus(data) { colorClass = "text-red"; icon = "fa-solid fa-ban"; fieldtext = "Blocked (regex)"; - regexLink = data.regex_id > 0; buttontext = ''; break; @@ -152,7 +150,6 @@ function parseQueryStatus(data) { colorClass = "text-red"; icon = "fa-solid fa-ban"; fieldtext = "Blocked (regex denied, CNAME)"; - regexLink = data.regex_id > 0; buttontext = ''; isCNAME = true; @@ -160,7 +157,7 @@ function parseQueryStatus(data) { case "DENYLIST_CNAME": colorClass = "text-red"; icon = "fa-solid fa-ban"; - fieldtext = "Blocked (exact diened, CNAME)"; + fieldtext = "Blocked (exact denied, CNAME)"; buttontext = ''; isCNAME = true; @@ -198,13 +195,16 @@ function parseQueryStatus(data) { buttontext = ""; } + var matchText = + colorClass === "text-green" ? "allowed" : colorClass === "text-red" ? "blocked" : "matched"; + return { fieldtext: fieldtext, buttontext: buttontext, colorClass: colorClass, icon: icon, isCNAME: isCNAME, - regexLink: regexLink, + matchText: matchText, }; } @@ -248,14 +248,15 @@ function formatInfo(data) { var regexInfo = "", cnameInfo = ""; - if (queryStatus.regexLink) { + if (data.regex_id !== null && data.regex_id > -1) { var regexLink = 'Regex ID ' + + '" target="_blank">regex ID ' + data.regex_id + ""; - regexInfo = divStart + "Query was blocked by: | " + regexLink + ""; + regexInfo = + divStart + "Query was " + queryStatus.matchText + " by | " + regexLink + "";
}
if (queryStatus.isCNAME) {
diff --git a/scripts/pi-hole/lua/sidebar.lp b/scripts/pi-hole/lua/sidebar.lp
index 4087c2882..7f7166352 100644
--- a/scripts/pi-hole/lua/sidebar.lp
+++ b/scripts/pi-hole/lua/sidebar.lp
@@ -66,12 +66,12 @@
- |