Files
web/scripts/pi-hole/js/debug.js
XhmikosR ae13014565 Adapt to the new rules.
Signed-off-by: XhmikosR <xhmikosr@gmail.com>
2020-04-10 18:34:47 +00:00

78 lines
1.8 KiB
JavaScript

/* Pi-hole: A black hole for Internet advertisements
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
* Network-wide ad blocking via your own hardware.
*
* This file is copyright under the latest version of the EUPL.
* Please see LICENSE file for your rights under this license. */
/* global ActiveXObject: false */
// Credit: http://stackoverflow.com/a/10642418/2087442
function httpGet(ta, theUrl) {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
ta.show();
ta.empty();
ta.append(xmlhttp.responseText);
}
};
xmlhttp.open("GET", theUrl, false);
xmlhttp.send();
}
function eventsource() {
var ta = $("#output");
var upload = $("#upload");
var checked = "";
var token = encodeURIComponent($("#token").text());
if (upload.prop("checked")) {
checked = "upload";
}
// IE does not support EventSource - load whole content at once
if (typeof EventSource !== "function") {
httpGet(ta, "scripts/pi-hole/php/debug.php?IE&token=" + token + "&" + checked);
return;
}
var source = new EventSource("scripts/pi-hole/php/debug.php?&token=" + token + "&" + checked);
// Reset and show field
ta.empty();
ta.show();
source.addEventListener(
"message",
function (e) {
ta.append(e.data);
},
false
);
// Will be called when script has finished
source.addEventListener(
"error",
function () {
source.close();
},
false
);
}
$("#debugBtn").on("click", function () {
$("#debugBtn").attr("disabled", true);
$("#upload").attr("disabled", true);
eventsource();
});