From 059c4f45280e6a7bc7bfbe6fd29f89000164e854 Mon Sep 17 00:00:00 2001 From: RD WebDesign Date: Sun, 10 Jul 2022 18:46:32 -0300 Subject: [PATCH 1/2] Add the new "integrity check" option to debug log page Signed-off-by: RD WebDesign --- debug.php | 21 ++++++++++++++++----- scripts/pi-hole/js/debug.js | 14 +++++++++++--- scripts/pi-hole/php/debug.php | 15 ++++++++++++--- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/debug.php b/debug.php index 6b9a01da..02556d14 100644 --- a/debug.php +++ b/debug.php @@ -1,20 +1,31 @@ -
- - +

Options:

+
+ + +
+
+ + +
+

Once you click this button a debug log will be generated and can automatically be uploaded if we detect a working internet connection.

diff --git a/scripts/pi-hole/js/debug.js b/scripts/pi-hole/js/debug.js index 9d1d1c61..314588ba 100644 --- a/scripts/pi-hole/js/debug.js +++ b/scripts/pi-hole/js/debug.js @@ -8,18 +8,25 @@ function eventsource() { var ta = $("#output"); var upload = $("#upload"); + var dbcheck = $("#dbcheck"); var checked = ""; var token = encodeURIComponent($("#token").text()); if (upload.prop("checked")) { - checked = "upload"; + // add upload option + checked += "&upload"; + } + + if (dbcheck.prop("checked")) { + // add db integrity check option + checked += "&dbcheck"; } // IE does not support EventSource - load whole content at once if (typeof EventSource !== "function") { $.ajax({ method: "GET", - url: "scripts/pi-hole/php/debug.php?IE&token=" + token + "&" + checked, + url: "scripts/pi-hole/php/debug.php?IE&token=" + token + checked, async: false, }).done(function (data) { ta.show(); @@ -29,7 +36,7 @@ function eventsource() { return; } - var source = new EventSource("scripts/pi-hole/php/debug.php?&token=" + token + "&" + checked); + var source = new EventSource("scripts/pi-hole/php/debug.php?&token=" + token + checked); // Reset and show field ta.empty(); @@ -60,6 +67,7 @@ function eventsource() { $("#debugBtn").on("click", function () { $("#debugBtn").prop("disabled", true); $("#upload").prop("disabled", true); + $("#dbcheck").prop("disabled", true); $("#output").addClass("loading"); eventsource(); }); diff --git a/scripts/pi-hole/php/debug.php b/scripts/pi-hole/php/debug.php index 60286b9b..eb50ef60 100644 --- a/scripts/pi-hole/php/debug.php +++ b/scripts/pi-hole/php/debug.php @@ -49,12 +49,21 @@ function echoEvent($datatext) { } } +// Execute "pihole" using Web option +$command = "export TERM=dumb && sudo pihole -d -w"; + +// Add auto-upload option if (isset($_GET["upload"])) { - $proc = popen("export TERM=dumb && sudo pihole -d -a -w", "r"); -} else { - $proc = popen("export TERM=dumb && sudo pihole -d -w", "r"); + $command .= " -a"; } +// Execute database integrity_check +if (isset($_GET["dbcheck"])) { + $command .= " -c"; +} + +$proc = popen($command, "r"); + while (!feof($proc)) { echoEvent(fread($proc, 4096)); } From 993128a2f5dcb50273fd5dc7ab3dd702c85a3514 Mon Sep 17 00:00:00 2001 From: RD WebDesign Date: Mon, 11 Jul 2022 01:12:24 -0300 Subject: [PATCH 2/2] Better format for log options Signed-off-by: RD WebDesign --- debug.php | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/debug.php b/debug.php index 02556d14..6479ca26 100644 --- a/debug.php +++ b/debug.php @@ -14,15 +14,21 @@ require "scripts/pi-hole/php/header.php"; -
-

Options:

-
- - -
-
- - +
+

Options:

+
+
+ + +
+
+ + +