diff --git a/api_FTL.php b/api_FTL.php index 14602e2a..e67405dc 100644 --- a/api_FTL.php +++ b/api_FTL.php @@ -31,6 +31,7 @@ else if (isset($_GET['summary']) || isset($_GET['summaryRaw']) || !count($_GET)) { + require_once("scripts/pi-hole/php/gravity.php"); sendRequestFTL("stats"); $return = getResponseFTL(); @@ -61,6 +62,7 @@ else $stats[$tmp[0]] = floatval($tmp[1]); } } + $stats['gravity_last_updated'] = gravity_last_update(true); $data = array_merge($data,$stats); } diff --git a/api_PHP.php b/api_PHP.php index dc7a1d2b..52bbd613 100644 --- a/api_PHP.php +++ b/api_PHP.php @@ -13,6 +13,7 @@ } include('scripts/pi-hole/php/data.php'); + include_once('scripts/pi-hole/php/gravity.php'); // Non-Auth @@ -34,6 +35,7 @@ $sum['dns_queries_today'] = number_format( $sum['dns_queries_today']); $sum['ads_percentage_today'] = number_format( $sum['ads_percentage_today'], 1, '.', ''); $sum['domains_being_blocked'] = number_format( $sum['domains_being_blocked']); + $sum['gravity_last_updated'] = gravity_last_update(true); $data = array_merge($data, $sum); } diff --git a/index.php b/index.php index 55c7e4f7..fe028232 100644 --- a/index.php +++ b/index.php @@ -7,6 +7,7 @@ * Please see LICENSE file for your rights under this license. */ $indexpage = true; require "scripts/pi-hole/php/header.php"; + require_once("scripts/pi-hole/php/gravity.php"); ?>
@@ -48,27 +49,10 @@
-d > 1) - $gravitydate = $gravitydiff->format("Blocking list updated %a days, %H:%I ago"); - elseif($gravitydiff->d == 1) - $gravitydate = $gravitydiff->format("Blocking list updated one day, %H:%I ago"); - else - $gravitydate = $gravitydiff->format("Blocking list updated %H:%I ago"); -} -else -{ - $gravitydate = "Blocking list not found"; -} -?>
-
+

Domains on Blocklist

---

@@ -229,11 +213,11 @@ else
diff --git a/scripts/pi-hole/php/gravity.php b/scripts/pi-hole/php/gravity.php new file mode 100644 index 00000000..cb3c3404 --- /dev/null +++ b/scripts/pi-hole/php/gravity.php @@ -0,0 +1,51 @@ + | April 23rd, 2018: + Checks when the gravity list was last updated, if it exists at all. + Returns the info in human-readable format for use on the dashboard, + or raw for use by the API. + */ + $gravitylist = "/etc/pihole/gravity.list"; + if (file_exists($gravitylist)){ + $date_file_created_unix = filemtime($gravitylist); + $date_file_created = date_create("@".$date_file_created_unix); + $date_now = date_create("now"); + $gravitydiff = date_diff($date_file_created,$date_now); + if($raw){ + $output = array( + "file_exists"=> true, + "absolute" => $date_file_created_unix, + "relative" => array( + "days" => $gravitydiff->format("%a"), + "hours" => $gravitydiff->format("%H"), + "minutes" => $gravitydiff->format("%I"), + ) + ); + }else{ + if($gravitydiff->d > 1){ + $output = $gravitydiff->format("Blocking list updated %a days, %H:%I ago"); + }elseif($gravitydiff->d == 1){ + $output = $gravitydiff->format("Blocking list updated one day, %H:%I ago"); + }else{ + $output = $gravitydiff->format("Blocking list updated %H:%I ago"); + } + } + }else{ + if($raw){ + $output = array("file_exists"=>false); + }else{ + $output = "Blocking list not found"; + } + } + return $output; +} + +?> \ No newline at end of file