mirror of
https://github.com/pi-hole/web.git
synced 2025-12-24 20:55:28 +00:00
Merge branch 'devel' into mobile-query-log2
This commit is contained in:
@@ -14,6 +14,8 @@ var from = moment(start__).utc().valueOf()/1000;
|
||||
var end__ = moment();
|
||||
var until = moment(end__).utc().valueOf()/1000;
|
||||
|
||||
var timeoutWarning = $("#timeoutWarning");
|
||||
|
||||
$(function () {
|
||||
$("#querytime").daterangepicker(
|
||||
{
|
||||
@@ -80,6 +82,7 @@ function compareNumbers(a, b) {
|
||||
|
||||
function updateQueriesOverTime() {
|
||||
$("#queries-over-time .overlay").show();
|
||||
timeoutWarning.show();
|
||||
$.getJSON("api_db.php?getGraphData&from="+from+"&until="+until, function(data) {
|
||||
|
||||
// convert received objects to arrays
|
||||
@@ -135,6 +138,7 @@ function updateQueriesOverTime() {
|
||||
|
||||
timeLineChart.options.scales.xAxes[0].display=true;
|
||||
$("#queries-over-time .overlay").hide();
|
||||
timeoutWarning.hide();
|
||||
timeLineChart.update();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -14,6 +14,9 @@ var from = moment(start__).utc().valueOf()/1000;
|
||||
var end__ = moment();
|
||||
var until = moment(end__).utc().valueOf()/1000;
|
||||
|
||||
var timeoutWarning = $("#timeoutWarning");
|
||||
var listsStillLoading = 0;
|
||||
|
||||
$(function () {
|
||||
$("#querytime").daterangepicker(
|
||||
{
|
||||
@@ -97,6 +100,10 @@ function updateTopClientsChart() {
|
||||
}
|
||||
|
||||
$("#client-frequency .overlay").hide();
|
||||
|
||||
listsStillLoading--;
|
||||
if(listsStillLoading === 0)
|
||||
timeoutWarning.hide();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -135,6 +142,10 @@ function updateTopDomainsChart() {
|
||||
}
|
||||
|
||||
$("#domain-frequency .overlay").hide();
|
||||
|
||||
listsStillLoading--;
|
||||
if(listsStillLoading === 0)
|
||||
timeoutWarning.hide();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -171,10 +182,16 @@ function updateTopAdsChart() {
|
||||
}
|
||||
|
||||
$("#ad-frequency .overlay").hide();
|
||||
|
||||
listsStillLoading--;
|
||||
if(listsStillLoading === 0)
|
||||
timeoutWarning.hide();
|
||||
});
|
||||
}
|
||||
|
||||
$("#querytime").on("apply.daterangepicker", function(ev, picker) {
|
||||
timeoutWarning.show();
|
||||
listsStillLoading = 3;
|
||||
updateTopClientsChart();
|
||||
updateTopDomainsChart();
|
||||
updateTopAdsChart();
|
||||
|
||||
@@ -16,6 +16,8 @@ var until = moment(end__).utc().valueOf()/1000;
|
||||
var instantquery = false;
|
||||
var daterange;
|
||||
|
||||
var timeoutWarning = $("#timeoutWarning");
|
||||
|
||||
// Do we want to filter queries?
|
||||
var GETDict = {};
|
||||
location.search.substr(1).split("&").forEach(function(item) {GETDict[item.split("=")[0]] = item.split("=")[1];});
|
||||
@@ -141,6 +143,7 @@ function handleAjaxError( xhr, textStatus, error ) {
|
||||
|
||||
var reloadCallback = function()
|
||||
{
|
||||
timeoutWarning.hide();
|
||||
statistics = [0,0,0,0];
|
||||
var data = tableApi.rows().data();
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
@@ -171,6 +174,7 @@ var reloadCallback = function()
|
||||
};
|
||||
|
||||
function refreshTableData() {
|
||||
timeoutWarning.show();
|
||||
var APIstring = "api_db.php?getAllQueries&from="+from+"&until="+until;
|
||||
statistics = [0,0,0];
|
||||
tableApi.ajax.url(APIstring).load(reloadCallback);
|
||||
|
||||
@@ -135,37 +135,66 @@ $(document).ready(function() {
|
||||
{
|
||||
$(row).css("color","red");
|
||||
$("td:eq(4)", row).html( "Pi-holed" );
|
||||
$("td:eq(5)", row).html( "<button style=\"color:green; white-space: nowrap;\"><i class=\"fa fa-pencil-square-o\"></i> Whitelist</button>" );
|
||||
$("td:eq(6)", row).html( "<button style=\"color:green; white-space: nowrap;\"><i class=\"fa fa-pencil-square-o\"></i> Whitelist</button>" );
|
||||
}
|
||||
else if (data[4] === "2")
|
||||
{
|
||||
$(row).css("color","green");
|
||||
$("td:eq(4)", row).html( "OK <br class='hidden-lg'>(forwarded)" );
|
||||
$("td:eq(5)", row).html( "<button style=\"color:red; white-space: nowrap;\"><i class=\"fa fa-ban\"></i> Blacklist</button>" );
|
||||
$("td:eq(6)", row).html( "<button style=\"color:red; white-space: nowrap;\"><i class=\"fa fa-ban\"></i> Blacklist</button>" );
|
||||
}
|
||||
else if (data[4] === "3")
|
||||
{
|
||||
$(row).css("color","green");
|
||||
$("td:eq(4)", row).html( "OK <br class='hidden-lg'>(cached)" );
|
||||
$("td:eq(5)", row).html( "<button style=\"color:red; white-space: nowrap;\"><i class=\"fa fa-ban\"></i> Blacklist</button>" );
|
||||
|
||||
$("td:eq(6)", row).html( "<button style=\"color:red; white-space: nowrap;\"><i class=\"fa fa-ban\"></i> Blacklist</button>" );
|
||||
}
|
||||
else if (data[4] === "4")
|
||||
{
|
||||
$(row).css("color","red");
|
||||
$("td:eq(4)", row).html( "Pi-holed <br class='hidden-lg'>(wildcard)" );
|
||||
$("td:eq(5)", row).html( "" );
|
||||
$("td:eq(6)", row).html( "" );
|
||||
}
|
||||
else if (data[4] === "5")
|
||||
{
|
||||
$(row).css("color","red");
|
||||
$("td:eq(4)", row).html( "Pi-holed <br class='hidden-lg'>(blacklist)" );
|
||||
$("td:eq(5)", row).html( "<button style=\"color:green; white-space: nowrap;\"><i class=\"fa fa-pencil-square-o\"></i> Whitelist</button>" );
|
||||
$("td:eq(6)", row).html( "<button style=\"color:green; white-space: nowrap;\"><i class=\"fa fa-pencil-square-o\"></i> Whitelist</button>" );
|
||||
}
|
||||
else
|
||||
{
|
||||
$("td:eq(4)", row).html( "Unknown" );
|
||||
$("td:eq(5)", row).html( "" );
|
||||
$("td:eq(6)", row).html( "" );
|
||||
}
|
||||
if (data[5] === "1")
|
||||
{
|
||||
$("td:eq(5)", row).css("color","green");
|
||||
$("td:eq(5)", row).html( "SECURE" );
|
||||
}
|
||||
else if (data[5] === "2")
|
||||
{
|
||||
$("td:eq(5)", row).css("color","orange");
|
||||
$("td:eq(5)", row).html( "INSECURE" );
|
||||
}
|
||||
else if (data[5] === "3")
|
||||
{
|
||||
$("td:eq(5)", row).css("color","red");
|
||||
$("td:eq(5)", row).html( "BOGUS" );
|
||||
}
|
||||
else if (data[5] === "4")
|
||||
{
|
||||
$("td:eq(5)", row).css("color","red");
|
||||
$("td:eq(5)", row).html( "ABANDONED" );
|
||||
}
|
||||
else if (data[5] === "5")
|
||||
{
|
||||
$("td:eq(5)", row).css("color","red");
|
||||
$("td:eq(5)", row).html( "?" );
|
||||
}
|
||||
else
|
||||
{
|
||||
$("td:eq(5)", row).css("color","black");
|
||||
$("td:eq(5)", row).html( "-" );
|
||||
}
|
||||
},
|
||||
dom: "<'row'<'col-sm-12'f>>" +
|
||||
@@ -179,10 +208,11 @@ $(document).ready(function() {
|
||||
"columns": [
|
||||
{ "width" : "15%", "render": function (data, type, full, meta) { if(type === "display"){return moment.unix(data).format("Y-MM-DD [<br class='hidden-lg'>]HH:mm:ss z");}else{return data;} }},
|
||||
{ "width" : "10%" },
|
||||
{ "width" : "40%", "render": $.fn.dataTable.render.text() },
|
||||
{ "width" : "20%", "render": $.fn.dataTable.render.text() },
|
||||
{ "width" : "37%", "render": $.fn.dataTable.render.text() },
|
||||
{ "width" : "8%", "render": $.fn.dataTable.render.text() },
|
||||
{ "width" : "10%" },
|
||||
{ "width" : "5%" },
|
||||
{ "width" : "10%" }
|
||||
],
|
||||
"lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
|
||||
"columnDefs": [ {
|
||||
@@ -195,22 +225,22 @@ $(document).ready(function() {
|
||||
// Query type IPv4 / IPv6
|
||||
api.$("td:eq(1)").click( function () { if(autofilter()){ api.search( this.innerHTML ).draw(); $("#resetButton").show(); }});
|
||||
api.$("td:eq(1)").hover(
|
||||
function () { this.title="Click to show only "+this.innerHTML+" queries"; this.style.color="#72afd2" },
|
||||
function () { this.style.color="" }
|
||||
function () { this.title="Click to show only "+this.innerHTML+" queries"; this.style.color="#72afd2"; },
|
||||
function () { this.style.color=""; }
|
||||
);
|
||||
api.$("td:eq(1)").css("cursor","pointer");
|
||||
// Domain
|
||||
api.$("td:eq(2)").click( function () { if(autofilter()){ api.search( this.innerHTML ).draw(); $("#resetButton").show(); }});
|
||||
api.$("td:eq(2)").hover(
|
||||
function () { this.title="Click to show only queries with domain "+this.innerHTML; this.style.color="#72afd2" },
|
||||
function () { this.style.color="" }
|
||||
function () { this.title="Click to show only queries with domain "+this.innerHTML; this.style.color="#72afd2"; },
|
||||
function () { this.style.color=""; }
|
||||
);
|
||||
api.$("td:eq(2)").css("cursor","pointer");
|
||||
// Client
|
||||
api.$("td:eq(3)").click( function () { if(autofilter()){ api.search( this.innerHTML ).draw(); $("#resetButton").show(); }});
|
||||
api.$("td:eq(3)").hover(
|
||||
function () { this.title="Click to show only queries made by "+this.innerHTML; this.style.color="#72afd2" },
|
||||
function () { this.style.color="" }
|
||||
function () { this.title="Click to show only queries made by "+this.innerHTML; this.style.color="#72afd2"; },
|
||||
function () { this.style.color=""; }
|
||||
);
|
||||
api.$("td:eq(3)").css("cursor","pointer");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user