mirror of
https://github.com/pi-hole/web.git
synced 2024-12-06 19:36:21 +01:00
Merge pull request #455 from pi-hole/tweak/noFTL
Tweaks for when FTL is not running
This commit is contained in:
@@ -62,13 +62,20 @@ elseif (isset($_GET['disable']) && $auth)
|
||||
}
|
||||
|
||||
// Other API functions
|
||||
if(testFTL() && !isset($_GET["PHP"]))
|
||||
if(!testFTL() && !isset($_GET["PHP"]))
|
||||
{
|
||||
require("api_FTL.php");
|
||||
$data = array_merge($data, array("FTLnotrunning" => true));
|
||||
}
|
||||
else
|
||||
{
|
||||
require("api_PHP.php");
|
||||
if(!isset($_GET["PHP"]))
|
||||
{
|
||||
require("api_FTL.php");
|
||||
}
|
||||
else
|
||||
{
|
||||
require("api_PHP.php");
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_GET["jsonForceObject"]))
|
||||
|
||||
+101
-37
@@ -29,39 +29,15 @@ function objectToArray(p){
|
||||
|
||||
// Functions to update data in page
|
||||
|
||||
|
||||
function updateSummaryData(runOnce) {
|
||||
var setTimer = function(timeInSeconds) {
|
||||
if (!runOnce) {
|
||||
setTimeout(updateSummaryData, timeInSeconds * 1000);
|
||||
}
|
||||
};
|
||||
$.getJSON("api.php?summary", function LoadSummaryData(data) {
|
||||
|
||||
["ads_blocked_today", "dns_queries_today", "ads_percentage_today"].forEach(function(today) {
|
||||
var todayElement = $("h3#" + today);
|
||||
todayElement.text() !== data[today] && todayElement.addClass("glow");
|
||||
});
|
||||
|
||||
window.setTimeout(function() {
|
||||
["ads_blocked_today", "dns_queries_today", "domains_being_blocked", "ads_percentage_today"].forEach(function(header, idx) {
|
||||
var textData = idx === 3 ? data[header] + "%" : data[header];
|
||||
$("h3#" + header).text(textData);
|
||||
});
|
||||
$("h3.statistic.glow").removeClass("glow");
|
||||
}, 500);
|
||||
|
||||
updateSessionTimer();
|
||||
}).done(function() {
|
||||
setTimer(10);
|
||||
}).fail(function() {
|
||||
setTimer(300);
|
||||
});
|
||||
}
|
||||
|
||||
var failures = 0;
|
||||
function updateQueriesOverTime() {
|
||||
$.getJSON("api.php?overTimeData10mins", function(data) {
|
||||
|
||||
if("FTLnotrunning" in data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// convert received objects to arrays
|
||||
data.domains_over_time = objectToArray(data.domains_over_time);
|
||||
data.ads_over_time = objectToArray(data.ads_over_time);
|
||||
@@ -93,7 +69,7 @@ function updateQueriesOverTime() {
|
||||
timeLineChart.data.datasets[1].data.push(data.ads_over_time[1][hour]);
|
||||
}
|
||||
}
|
||||
$("#queries-over-time .overlay").remove();
|
||||
$("#queries-over-time .overlay").hide();
|
||||
timeLineChart.update();
|
||||
}).done(function() {
|
||||
// Reload graph after 10 minutes
|
||||
@@ -112,6 +88,12 @@ function updateQueriesOverTime() {
|
||||
|
||||
function updateForwardedOverTime() {
|
||||
$.getJSON("api.php?overTimeDataForwards&getForwardDestinationNames", function(data) {
|
||||
|
||||
if("FTLnotrunning" in data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// convert received objects to arrays
|
||||
data.over_time = objectToArray(data.over_time);
|
||||
var timestamps = data.over_time[0];
|
||||
@@ -177,7 +159,7 @@ function updateForwardedOverTime() {
|
||||
var d = new Date(1000*parseInt(timestamps[j]));
|
||||
forwardDestinationChart.data.labels.push(d);
|
||||
}
|
||||
$("#forward-destinations .overlay").remove();
|
||||
$("#forward-destinations .overlay").hide();
|
||||
forwardDestinationChart.update();
|
||||
}).done(function() {
|
||||
// Reload graph after 10 minutes
|
||||
@@ -196,6 +178,12 @@ function updateForwardedOverTime() {
|
||||
|
||||
function updateQueryTypes() {
|
||||
$.getJSON("api.php?getQueryTypes", function(data) {
|
||||
|
||||
if("FTLnotrunning" in data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var colors = [];
|
||||
// Get colors from AdminLTE
|
||||
$.each($.AdminLTE.options.colors, function(key, value) { colors.push(value); });
|
||||
@@ -219,7 +207,7 @@ function updateQueryTypes() {
|
||||
// and push it at once
|
||||
queryTypeChart.data.datasets[0] = dd;
|
||||
queryTypeChart.data.labels = k;
|
||||
$("#query-types .overlay").remove();
|
||||
$("#query-types .overlay").hide();
|
||||
queryTypeChart.update();
|
||||
queryTypeChart.chart.config.options.cutoutPercentage=50;
|
||||
queryTypeChart.update();
|
||||
@@ -245,6 +233,12 @@ function escapeHtml(text) {
|
||||
|
||||
function updateTopClientsChart() {
|
||||
$.getJSON("api.php?summaryRaw&getQuerySources", function(data) {
|
||||
|
||||
if("FTLnotrunning" in data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Clear tables before filling them with data
|
||||
$("#client-frequency td").parent().remove();
|
||||
var clienttable = $("#client-frequency").find("tbody:last");
|
||||
@@ -275,14 +269,20 @@ function updateTopClientsChart() {
|
||||
|
||||
}
|
||||
|
||||
$("#client-frequency .overlay").remove();
|
||||
// Update top clients list data every 10 seconds
|
||||
$("#client-frequency .overlay").hide();
|
||||
// Update top clients list data every ten seconds
|
||||
setTimeout(updateTopClientsChart, 10000);
|
||||
});
|
||||
}
|
||||
|
||||
function updateTopLists() {
|
||||
$.getJSON("api.php?summaryRaw&topItems", function(data) {
|
||||
|
||||
if("FTLnotrunning" in data)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Clear tables before filling them with data
|
||||
$("#domain-frequency td").parent().remove();
|
||||
$("#ad-frequency td").parent().remove();
|
||||
@@ -325,13 +325,77 @@ function updateTopLists() {
|
||||
$("#ad-frequency").parent().remove();
|
||||
}
|
||||
|
||||
$("#domain-frequency .overlay").remove();
|
||||
$("#ad-frequency .overlay").remove();
|
||||
$("#domain-frequency .overlay").hide();
|
||||
$("#ad-frequency .overlay").hide();
|
||||
// Update top lists data every 10 seconds
|
||||
setTimeout(updateTopLists, 10000);
|
||||
});
|
||||
}
|
||||
|
||||
var FTLoffline = false;
|
||||
function updateSummaryData(runOnce) {
|
||||
var setTimer = function(timeInSeconds) {
|
||||
if (!runOnce) {
|
||||
setTimeout(updateSummaryData, timeInSeconds * 1000);
|
||||
}
|
||||
};
|
||||
$.getJSON("api.php?summary", function LoadSummaryData(data) {
|
||||
|
||||
updateSessionTimer();
|
||||
|
||||
if("FTLnotrunning" in data)
|
||||
{
|
||||
data["ads_blocked_today"] = "Lost";
|
||||
data["dns_queries_today"] = "connection";
|
||||
data["ads_percentage_today"] = "to";
|
||||
data["domains_being_blocked"] = "API";
|
||||
// Adjust text
|
||||
$("#temperature").html("<i class=\"fa fa-circle\" style=\"color:#FF0000\"></i> FTL offline");
|
||||
// Show spinner
|
||||
$("#queries-over-time .overlay").show();
|
||||
$("#forward-destinations .overlay").show();
|
||||
$("#query-types .overlay").show();
|
||||
$("#client-frequency .overlay").show();
|
||||
$("#domain-frequency .overlay").show();
|
||||
$("#ad-frequency .overlay").show();
|
||||
|
||||
FTLoffline = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(FTLoffline)
|
||||
{
|
||||
// FTL was previously offline
|
||||
FTLoffline = false;
|
||||
$("#temperature").text(" ");
|
||||
updateQueriesOverTime();
|
||||
updateForwardedOverTime();
|
||||
updateQueryTypes();
|
||||
updateTopClientsChart();
|
||||
updateTopLists();
|
||||
}
|
||||
}
|
||||
|
||||
["ads_blocked_today", "dns_queries_today", "ads_percentage_today"].forEach(function(today) {
|
||||
var todayElement = $("h3#" + today);
|
||||
todayElement.text() !== data[today] && todayElement.addClass("glow");
|
||||
});
|
||||
|
||||
window.setTimeout(function() {
|
||||
["ads_blocked_today", "dns_queries_today", "domains_being_blocked", "ads_percentage_today"].forEach(function(header, idx) {
|
||||
var textData = (idx === 3 && data[header] !== "to") ? data[header] + "%" : data[header];
|
||||
$("h3#" + header).text(textData);
|
||||
});
|
||||
$("h3.statistic.glow").removeClass("glow");
|
||||
}, 500);
|
||||
|
||||
}).done(function() {
|
||||
setTimer(1);
|
||||
}).fail(function() {
|
||||
setTimer(300);
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var isMobile = {
|
||||
|
||||
@@ -323,7 +323,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<a><i class="fa fa-circle" style="color:#FF0000"></i> FTL offline</a>';
|
||||
echo '<a id=\"temperature\"><i class="fa fa-circle" style="color:#FF0000"></i> FTL offline</a>';
|
||||
}
|
||||
?>
|
||||
<br/>
|
||||
|
||||
Reference in New Issue
Block a user