From 9ea015859172f70f9263be0767aa18ecf778ba1f Mon Sep 17 00:00:00 2001 From: DL6ER Date: Thu, 29 Dec 2016 14:46:21 +0000 Subject: [PATCH] Interpret lease time and show in table --- settings.php | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/settings.php b/settings.php index 80d6044e..a16d7f26 100644 --- a/settings.php +++ b/settings.php @@ -192,7 +192,7 @@ disabled> -

Hint: 0 = infinite, 24 = one day, 168 = one week, 5208 = one month, 1900920 = one year

+

Hint: 0 = infinite, 24 = one day, 168 = one week, 744 = one month, 8760 = one year

@@ -204,12 +204,26 @@ $dhcpleases = fopen('/etc/pihole/dhcp.leases', 'r') or $leasesfile = false; $dhcp_leases = []; + function convertseconds($seconds) { + $t = round($seconds); + return sprintf('%02d:%02d:%02d', ($t/3600),($t/60%60), $t%60); +} + while(!feof($dhcpleases) && $leasesfile) { $line = explode(" ",trim(fgets($dhcpleases))); - if(count($line) > 1) + if(count($line) == 5) { - array_push($dhcp_leases,["MAC"=>$line[1], "IP"=>$line[2], "NAME"=>$line[3]]); + $counter = intval($line[0]); + if($counter <= 315360000) // 10 years in seconds + { + $time = convertseconds($counter); + } + else // Assume time stamp + { + $time = convertseconds($counter-time()); + } + array_push($dhcp_leases,["TIME"=>$time, "MAC"=>$line[1], "IP"=>$line[2], "NAME"=>$line[3]]); } } ?> @@ -228,10 +242,11 @@ IP address Hostname MAC address + Lease valid for - +