From 68f291ffe2e8e6e5d9470076365fd1127e7f3655 Mon Sep 17 00:00:00 2001 From: Ermal Date: Thu, 9 Sep 2010 21:25:49 +0000 Subject: Ticket #876. Show all gateways even though apinger is not monitoring them, for various reasons, this removes user confusion in the status pages. --- usr/local/www/includes/functions.inc.php | 22 ++++++--- usr/local/www/status_gateways.php | 48 ++++++++++-------- usr/local/www/widgets/widgets/gateways.widget.php | 60 +++++++++++++---------- 3 files changed, 78 insertions(+), 52 deletions(-) (limited to 'usr/local/www') diff --git a/usr/local/www/includes/functions.inc.php b/usr/local/www/includes/functions.inc.php index 677c2fd..8eff06a 100644 --- a/usr/local/www/includes/functions.inc.php +++ b/usr/local/www/includes/functions.inc.php @@ -24,19 +24,22 @@ function get_stats() { } function get_gatewaystats() { + $a_gateways = return_gateways_array(); $gateways_status = array(); - $gateways_status = return_gateways_status(); + $gateways_status = return_gateways_status(true); $data = ""; $isfirst = true; - foreach($gateways_status as $gw) { + foreach($a_gateways as $gname => $gw) { if(!$isfirst) $data .= ","; $isfirst = false; $data .= $gw['name'] . ","; - $data .= lookup_gateway_ip_by_name($gw['name']) . ","; - $data .= $gw['delay'] . ","; - $data .= $gw['loss'] . ","; - switch(strtolower($gw['status'])) { + $data .= lookup_gateway_ip_by_name($gname) . ","; + if ($gateways_status[$gname]) { + $gws = $gateways_status[$gname]; + $data .= $gws['delay'] . ","; + $data .= $gws['loss'] . ","; + switch(strtolower($gws['status'])) { case "none": $online = "Online"; $bgcolor = "lightgreen"; @@ -55,6 +58,11 @@ function get_gatewaystats() { break; default: $online = "Gathering data"; + break; + } + } else { + $online = "Unknown"; + $bgcolor = "lightgray"; } $data .= "
$online
"; } @@ -257,4 +265,4 @@ function get_interfacestatus() { return $data; } -?> \ No newline at end of file +?> diff --git a/usr/local/www/status_gateways.php b/usr/local/www/status_gateways.php index eac1b2f..4faef8f 100755 --- a/usr/local/www/status_gateways.php +++ b/usr/local/www/status_gateways.php @@ -43,7 +43,7 @@ require("guiconfig.inc"); $a_gateways = return_gateways_array(); $gateways_status = array(); -$gateways_status = return_gateways_status(); +$gateways_status = return_gateways_status(true); $now = time(); $year = date("Y"); @@ -74,34 +74,44 @@ include("head.inc"); - - $gateway) { + + $gateway) { ?> - + - + "; ?>
$online "; $lastchange = $gateway['lastcheck']; @@ -111,14 +121,12 @@ include("head.inc"); array_shift($lastchange); $lastchange = implode(" ", $lastchange); printf(gettext("Last check %s"), $lastchange); - } else { - echo gettext("Gathering data"); } echo "
- + diff --git a/usr/local/www/widgets/widgets/gateways.widget.php b/usr/local/www/widgets/widgets/gateways.widget.php index 07b2397..bd643fb 100644 --- a/usr/local/www/widgets/widgets/gateways.widget.php +++ b/usr/local/www/widgets/widgets/gateways.widget.php @@ -30,8 +30,9 @@ require_once("guiconfig.inc"); require_once("pfsense-utils.inc"); require_once("functions.inc"); +$a_gateways = return_gateways_array(); $gateways_status = array(); -$gateways_status = return_gateways_status(); +$gateways_status = return_gateways_status(true); $counter = 1; @@ -44,50 +45,59 @@ $counter = 1; Loss Status - $gateway) { ?> - + $gateway) { ?> - + - - - + + + - - - + + + - "; - $counter++; - ?> + } + } else { + $online = "Unknown"; + $bgcolor = "lightgray"; + } + echo ""; + $counter++; + ?>
$online
$online
-- cgit v1.1