From fd34d6a97c31ae79f13d0018bec5ed56e234f227 Mon Sep 17 00:00:00 2001 From: Ermal Date: Tue, 26 Mar 2013 10:53:21 +0000 Subject: Simplify a bit code branching no change on functionality --- etc/inc/gwlb.inc | 64 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 31 deletions(-) (limited to 'etc/inc/gwlb.inc') diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc index 13cde22..3088a38 100644 --- a/etc/inc/gwlb.inc +++ b/etc/inc/gwlb.inc @@ -304,37 +304,39 @@ function return_gateways_status($byname = false) { * or are down, which could cause gateway groups to fail */ $gateways_arr = return_gateways_array(); foreach($gateways_arr as $gwitem) { - if(isset($gwitem['monitor_disable'])) { - if(!is_ipaddr($gwitem['monitorip'])) { - $realif = $gwitem['interface']; - $tgtip = get_interface_gateway($realif); - $srcip = find_interface_ip($realif); - } else { - $tgtip = $gwitem['monitorip']; - $srcip = find_interface_ip($realif); - } - if($byname == true) - $target = $gwitem['name']; - else - $target = $tgtip; - - /* failsafe for down interfaces */ - if($target == "") { - $target = $gwitem['name']; - $status[$target]['name'] = $gwitem['name']; - $status[$target]['lastcheck'] = date('r'); - $status[$target]['delay'] = "0.0ms"; - $status[$target]['loss'] = "100.0%"; - $status[$target]['status'] = "down"; - } else { - $status[$target]['monitorip'] = $tgtip; - $status[$target]['srcip'] = $srcip; - $status[$target]['name'] = $gwitem['name']; - $status[$target]['lastcheck'] = date('r'); - $status[$target]['delay'] = "0.0ms"; - $status[$target]['loss'] = "0.0%"; - $status[$target]['status'] = "none"; - } + if(isset($gwitem['monitor_disable'])) + continue; + if(!is_ipaddr($gwitem['monitorip'])) { + $realif = $gwitem['interface']; + $tgtip = get_interface_gateway($realif); + if (!is_ipaddr($tgtip)) + $tgtip = "none"; + $srcip = find_interface_ip($realif); + } else { + $tgtip = $gwitem['monitorip']; + $srcip = find_interface_ip($realif); + } + if($byname == true) + $target = $gwitem['name']; + else + $target = $tgtip; + + /* failsafe for down interfaces */ + if($target == "none") { + $target = $gwitem['name']; + $status[$target]['name'] = $gwitem['name']; + $status[$target]['lastcheck'] = date('r'); + $status[$target]['delay'] = "0.0ms"; + $status[$target]['loss'] = "100.0%"; + $status[$target]['status'] = "down"; + } else { + $status[$target]['monitorip'] = $tgtip; + $status[$target]['srcip'] = $srcip; + $status[$target]['name'] = $gwitem['name']; + $status[$target]['lastcheck'] = date('r'); + $status[$target]['delay'] = "0.0ms"; + $status[$target]['loss'] = "0.0%"; + $status[$target]['status'] = "none"; } } return($status); -- cgit v1.1