Exemple #1
0
function get_gatewaystats()
{
    $a_gateways = return_gateways_array();
    $gateways_status = array();
    $gateways_status = return_gateways_status(true);
    $data = "";
    $isfirst = true;
    foreach ($a_gateways as $gname => $gw) {
        if (!$isfirst) {
            $data .= ",";
        }
        $isfirst = false;
        $data .= $gw['name'] . ",";
        if ($gateways_status[$gname]) {
            $data .= lookup_gateway_ip_by_name($gname) . ",";
            $gws = $gateways_status[$gname];
            switch (strtolower($gws['status'])) {
                case "none":
                    $online = "Online";
                    $bgcolor = "#90EE90";
                    // lightgreen
                    break;
                case "down":
                    $online = "Offline";
                    $bgcolor = "#F08080";
                    // lightcoral
                    break;
                case "delay":
                    $online = "Latency";
                    $bgcolor = "#F0E68C";
                    // khaki
                    break;
                case "loss":
                    $online = "Packetloss";
                    $bgcolor = "#F0E68C";
                    // khaki
                    break;
                default:
                    $online = "Pending";
                    break;
            }
        } else {
            $data .= "~,";
            $gws['delay'] = "~";
            $gws['loss'] = "~";
            $online = "Unknown";
            $bgcolor = "#ADD8E6";
            // lightblue
        }
        $data .= $online == "Pending" ? "{$online},{$online}," : "{$gws['delay']},{$gws['loss']},";
        $data .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"2\" style=\"table-layout: fixed;\" summary=\"status\"><tr><td bgcolor=\"{$bgcolor}\">&nbsp;{$online}&nbsp;</td></tr></table>";
    }
    return $data;
}
Exemple #2
0
function get_gatewaystats()
{
    $a_gateways = return_gateways_array();
    $gateways_status = array();
    $gateways_status = return_gateways_status(true);
    $data = "";
    $isfirst = true;
    foreach ($a_gateways as $gname => $gw) {
        if (!$isfirst) {
            $data .= ",";
        }
        $isfirst = false;
        $data .= $gw['name'] . ",";
        if ($gateways_status[$gname]) {
            $data .= "<b>" . lookup_gateway_ip_by_name($gname) . "</b>,";
            $gws = $gateways_status[$gname];
            switch (strtolower($gws['status'])) {
                case "none":
                    $online = "Online";
                    $bgcolor = "#90EE90";
                    // lightgreen
                    break;
                case "down":
                    $online = "Offline";
                    $bgcolor = "#F08080";
                    // lightcoral
                    break;
                case "delay":
                    $online = "Latency";
                    $bgcolor = "#F0E68C";
                    // khaki
                    break;
                case "loss":
                    $online = "Packetloss";
                    $bgcolor = "#F0E68C";
                    // khaki
                    break;
                default:
                    $online = "Pending";
                    break;
            }
        } else {
            $data .= "~,";
            $gws['delay'] = "~";
            $gws['loss'] = "~";
            $online = "Unknown";
            $bgcolor = "#ADD8E6";
            // lightblue
        }
        $data .= $online == "Pending" ? "{$online},{$online}," : "{$gws['delay']},{$gws['loss']},";
        $data .= "{$online}^{$bgcolor}";
    }
    return $data;
}
function get_gatewaystats()
{
    $a_gateways = return_gateways_array();
    $gateways_status = array();
    $gateways_status = return_gateways_status(true);
    $data = "";
    $isfirst = true;
    foreach ($a_gateways as $gname => $gw) {
        if (!$isfirst) {
            $data .= ",";
        }
        $isfirst = false;
        $data .= $gw['name'] . ",";
        $data .= lookup_gateway_ip_by_name($gname) . ",";
        if ($gateways_status[$gname]) {
            $gws = $gateways_status[$gname];
            switch (strtolower($gws['status'])) {
                case "none":
                    $online = "Bağlandı";
                    $class = 'label label-success';
                    break;
                case "down":
                    $online = 'Bağlantı yok';
                    $class = 'label label-important';
                    break;
                case "delay":
                    $online = 'Uyarı: Gecikme';
                    $class = 'label label-warning';
                    break;
                case "loss":
                    $online = 'Uyarı, Paket kaybı';
                    $class = 'label label-warning';
                    break;
                default:
                    $online = 'Veri alınıyor.';
                    break;
            }
        } else {
            $online = 'Veri alınıyor.';
            $class = 'label';
        }
        $data .= $online == 'Veri alınıyor.' ? "{$online},{$online}," : "{$gws['delay']},{$gws['loss']},";
        $data .= "<span class=\"{$class}\">{$online}</span>";
    }
    return $data;
}
Exemple #4
0
function get_gatewaystats() {
	$a_gateways = return_gateways_array();
	$gateways_status = array();
	$gateways_status = return_gateways_status(true);
	$data = "";
	$isfirst = true;
	foreach($a_gateways as $gname => $gw) {
		if(!$isfirst) 
			$data .= ",";
		$isfirst = false;
		$data .= $gw['name'] . ",";
		$data .= lookup_gateway_ip_by_name($gname) . ",";
		if ($gateways_status[$gname]) {
			$gws = $gateways_status[$gname];
			switch(strtolower($gws['status'])) {
			case "none":
				$online = "Online";
				$bgcolor = "lightgreen";
				break;
			case "down":
				$online = "Offline";
				$bgcolor = "lightcoral";
				break;
			case "delay":
				$online = "Warning: Latency";
				$bgcolor = "khaki";
				break;
			case "loss":
				$online = "Warning: Packetloss";
				$bgcolor = "khaki";
				break;
			default:
				$online = "Gathering data";
				break;
			}
		} else {
			$online = "Gathering data";
			$bgcolor = "lightgray";
		}
		$data .= ($online == "Gathering data") ? "{$online},{$online}," : "{$gws['delay']},{$gws['loss']},";
		$data .= "<table><tr><td bgcolor=\"$bgcolor\" > $online </td></td></tr></table>";
	}
	return $data;
}
        if (!is_ipaddr($gateway['monitor'])) {
            return $gateway['gateway'];
        }
        return $gateway['monitor'];
    }
    return false;
}
if (!is_array($config['gateways'])) {
    $config['gateways'] = array();
}
if (!is_array($config['gateways']['gateway_group'])) {
    $config['gateways']['gateway_group'] = array();
}
$a_gateway_groups =& $config['gateways']['gateway_group'];
$changedesc = gettext("Gateway Groups") . ": ";
$gateways_status = return_gateways_status();
$pgtitle = array(gettext('System'), gettext('Gateways'), gettext('Group Status'));
$shortcut_section = "gateway-groups";
include "head.inc";
?>

<body>

<?php 
include "fbegin.inc";
?>

	<section class="page-content-main">
		<div class="container-fluid">
			<div class="row">
        AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
        SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
        CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        POSSIBILITY OF SUCH DAMAGE.
*/
$nocsrf = true;
require_once "guiconfig.inc";
require_once "pfsense-utils.inc";
require_once "functions.inc";
require_once "/usr/local/www/widgets/include/gateways.inc";
$a_gateways = return_gateways_array();
$gateways_status = array();
$gateways_status = return_gateways_status(true);
$counter = 1;
?>

<table bgcolor="#990000" width="100%" border="0" cellspacing="0" cellpadding="0" summary="gateway status">
	<tr>
		<td class="listhdrr" id="gatewayname" align="center">Name</td>
		<td class="listhdrr" align="center">RTT</td>
		<td class="listhdrr" align="center">Loss</td>
		<td class="listhdrr" align="center">Status</td>
	</tr>
	<?php 
foreach ($a_gateways as $gname => $gateway) {
    ?>
	<tr>
	<td class="listhdrr" id="gateway<?php 
function compose_table_body_contents()
{
    global $config;
    $rtnstr = '';
    $a_gateways = return_gateways_array();
    $gateways_status = array();
    $gateways_status = return_gateways_status(true);
    if (isset($config["widgets"]["gateways_widget"]["display_type"])) {
        $display_type = $config["widgets"]["gateways_widget"]["display_type"];
    } else {
        $display_type = "gw_ip";
    }
    foreach ($a_gateways as $gname => $gateway) {
        $rtnstr .= "<tr>\n";
        $rtnstr .= "<td>\n";
        $rtnstr .= htmlspecialchars($gateway['name']) . "<br />";
        $rtnstr .= '<div id="gateway' . $counter . '" style="display:inline"><b>';
        $monitor_address = "";
        $monitor_address_disp = "";
        if ($display_type == "monitor_ip" || $display_type == "both_ip") {
            $monitor_address = $gateway['monitor'];
            if ($monitor_address != "" && $display_type == "both_ip") {
                $monitor_address_disp = " (" . $monitor_address . ")";
            } else {
                $monitor_address_disp = $monitor_address;
            }
        }
        $if_gw = '';
        // If the user asked to display Gateway IP or both IPs, or asked for just monitor IP but the monitor IP is blank
        // then find the gateway IP (which is also the monitor IP if the monitor IP was not explicitly set).
        if ($display_type == "gw_ip" || $display_type == "both_ip" || $display_type == "monitor_ip" && $monitor_address == "") {
            if (is_ipaddr($gateway['gateway'])) {
                $if_gw = htmlspecialchars($gateway['gateway']);
            } else {
                if ($gateway['ipprotocol'] == "inet") {
                    $if_gw = htmlspecialchars(get_interface_gateway($gateway['friendlyiface']));
                }
                if ($gateway['ipprotocol'] == "inet6") {
                    $if_gw = htmlspecialchars(get_interface_gateway_v6($gateway['friendlyiface']));
                }
            }
            if ($if_gw == "") {
                $if_gw = "~";
            }
        }
        if ($monitor_address == $if_gw) {
            $monitor_address_disp = "";
        }
        $rtnstr .= $if_gw . $monitor_address_disp;
        unset($if_gw);
        unset($monitor_address);
        unset($monitor_address_disp);
        $counter++;
        $rtnstr .= "</b>";
        $rtnstr .= "</div>\n";
        $rtnstr .= "</td>\n";
        if ($gateways_status[$gname]) {
            if (stristr($gateways_status[$gname]['status'], "force_down")) {
                $online = gettext("Offline (forced)");
                $bgcolor = "danger";
                // lightcoral
            } elseif (stristr($gateways_status[$gname]['status'], "down")) {
                $online = gettext("Offline");
                $bgcolor = "danger";
                // lightcoral
            } elseif (stristr($gateways_status[$gname]['status'], "loss")) {
                $online = gettext("Packetloss");
                $bgcolor = "warning";
                // khaki
            } elseif (stristr($gateways_status[$gname]['status'], "delay")) {
                $online = gettext("Latency");
                $bgcolor = "warning";
                // khaki
            } elseif ($gateways_status[$gname]['status'] == "none") {
                $online = gettext("Online");
                $bgcolor = "success";
                // lightgreen
            } elseif ($gateways_status[$gname]['status'] == "") {
                $online = gettext("Pending");
                $bgcolor = "info";
                // lightgray
            }
        } else {
            $online = gettext("Unknown");
            $bgcolor = "info";
            // lightblue
        }
        $rtnstr .= "<td>" . ($gateways_status[$gname] ? htmlspecialchars($gateways_status[$gname]['delay']) : gettext("Pending")) . "</td>\n";
        $rtnstr .= "<td>" . ($gateways_status[$gname] ? htmlspecialchars($gateways_status[$gname]['stddev']) : gettext("Pending")) . "</td>\n";
        $rtnstr .= "<td>" . ($gateways_status[$gname] ? htmlspecialchars($gateways_status[$gname]['loss']) : gettext("Pending")) . "</td>\n";
        $rtnstr .= '<td class="bg-' . $bgcolor . '">' . $online . "</td>\n";
        $rtnstr .= "</tr>\n";
    }
    return $rtnstr;
}
function get_gatewaystats()
{
    global $config;
    if (isset($config["widgets"]["gateways_widget"]["display_type"])) {
        $display_type = $config["widgets"]["gateways_widget"]["display_type"];
    } else {
        $display_type = "gw_ip";
    }
    $a_gateways = return_gateways_array();
    $gateways_status = array();
    $gateways_status = return_gateways_status(true);
    $data = "";
    $isfirst = true;
    foreach ($a_gateways as $gname => $gw) {
        if (!$isfirst) {
            $data .= ",";
        }
        $isfirst = false;
        $data .= $gw['name'] . ",";
        $monitor_address = "";
        $monitor_address_disp = "";
        if ($display_type == "monitor_ip" || $display_type == "both_ip") {
            $monitor_address = $gw['monitor'];
            if ($monitor_address != "" && $display_type == "both_ip") {
                $monitor_address_disp = " (" . $monitor_address . ")";
            } else {
                $monitor_address_disp = $monitor_address;
            }
        }
        if ($gateways_status[$gname]) {
            if ($display_type == "gw_ip" || $display_type == "both_ip" || $display_type == "monitor_ip" && $monitor_address == "") {
                $if_gw = lookup_gateway_ip_by_name($gname);
            } else {
                $if_gw = "";
            }
            if ($monitor_address == $if_gw) {
                $monitor_address_disp = "";
            }
            $data .= "<b>" . $if_gw . $monitor_address_disp . "</b>,";
            $gws = $gateways_status[$gname];
            switch (strtolower($gws['status'])) {
                case "none":
                    $online = "Online";
                    $bgcolor = "#90EE90";
                    // lightgreen
                    break;
                case "down":
                    $online = "Offline";
                    $bgcolor = "#F08080";
                    // lightcoral
                    break;
                case "delay":
                    $online = "Latency";
                    $bgcolor = "#F0E68C";
                    // khaki
                    break;
                case "loss":
                    $online = "Packetloss";
                    $bgcolor = "#F0E68C";
                    // khaki
                    break;
                default:
                    $online = "Pending";
                    break;
            }
        } else {
            if ($display_type == "gw_ip" || $display_type == "both_ip" || $display_type == "monitor_ip" && $monitor_address == "") {
                $if_gw = "~";
            } else {
                $if_gw = "";
            }
            $data .= $if_gw . $monitor_address_disp . ",";
            $gws['delay'] = "~";
            $gws['loss'] = "~";
            $online = "Unknown";
            $bgcolor = "#ADD8E6";
            // lightblue
        }
        $data .= $online == "Pending" ? "{$online},{$online}," : "{$gws['delay']},{$gws['loss']},";
        $data .= "{$online}^{$bgcolor}";
    }
    return $data;
}
function outputled_gateway()
{
    /* Returns the status of the gateways. 
    			-1 = No gateway defined
    			0  = At least 1 gateway down or with issues
    			1  = All gateway up  */
    global $g;
    global $config;
    $gateways_status = array();
    $gateways_status = return_gateways_status(true);
    foreach ($a_gateways as $gname => $gateway) {
        if ($gateways_status[$gname]['status'] != "none") {
            return 0;
        }
    }
    return 1;
}