Project

General

Profile

Download (5.02 KB) Statistics
| Branch: | Tag: | Revision:
1 ffd1a240 Seth Mos
<?php
2
/*
3 c5d81585 Renato Botelho
 * status_gateways.php
4 191cb31d Stephen Beaver
 *
5 c5d81585 Renato Botelho
 * part of pfSense (https://www.pfsense.org)
6 38809d47 Renato Botelho do Couto
 * Copyright (c) 2004-2013 BSD Perimeter
7
 * Copyright (c) 2013-2016 Electric Sheep Fencing
8 8f585441 Luiz Souza
 * Copyright (c) 2014-2021 Rubicon Communications, LLC (Netgate)
9 c5d81585 Renato Botelho
 * Copyright (c) 2010 Seth Mos <seth.mos@dds.nl>
10
 * All rights reserved.
11 191cb31d Stephen Beaver
 *
12 b12ea3fb Renato Botelho
 * Licensed under the Apache License, Version 2.0 (the "License");
13
 * you may not use this file except in compliance with the License.
14
 * You may obtain a copy of the License at
15 191cb31d Stephen Beaver
 *
16 b12ea3fb Renato Botelho
 * http://www.apache.org/licenses/LICENSE-2.0
17 191cb31d Stephen Beaver
 *
18 b12ea3fb Renato Botelho
 * Unless required by applicable law or agreed to in writing, software
19
 * distributed under the License is distributed on an "AS IS" BASIS,
20
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
 * See the License for the specific language governing permissions and
22
 * limitations under the License.
23 191cb31d Stephen Beaver
 */
24 ffd1a240 Seth Mos
25 6b07c15a Matthew Grooms
##|+PRIV
26
##|*IDENT=page-status-gateways
27 5230f468 jim-p
##|*NAME=Status: Gateways
28 6b07c15a Matthew Grooms
##|*DESCR=Allow access to the 'Status: Gateways' page.
29
##|*MATCH=status_gateways.php*
30
##|-PRIV
31
32 c81ef6e2 Phil Davis
require_once("guiconfig.inc");
33 ffd1a240 Seth Mos
34 73e8bbe4 Seth Mos
$a_gateways = return_gateways_array();
35 68f291ff Ermal
$gateways_status = return_gateways_status(true);
36 ffd1a240 Seth Mos
37 c2f7d555 luckman212
$pgtitle = array(gettext("Status"), gettext("Gateways"));
38
$pglinks = array("", "@self");
39 b32dd0a6 jim-p
$shortcut_section = "gateways";
40 ffd1a240 Seth Mos
include("head.inc");
41
42 fff68385 sbeaver
/* active tabs */
43
$tab_array = array();
44
$tab_array[] = array(gettext("Gateways"), true, "status_gateways.php");
45
$tab_array[] = array(gettext("Gateway Groups"), false, "status_gateway_groups.php");
46
display_top_tabs($tab_array);
47 ffd1a240 Seth Mos
?>
48 ac950976 Colin Fleming
<div class="panel panel-default">
49
	<div class="panel-heading"><h2 class="panel-title"><?=gettext('Gateways')?></h2></div>
50
	<div class="panel-body">
51 fff68385 sbeaver
52 961ffe14 sbeaver
<div class="table-responsive">
53 10fe1eb5 Stephen Beaver
	<table class="table table-striped table-hover table-condensed sortable-theme-bootstrap" data-sortable>
54 961ffe14 sbeaver
		<thead>
55
			<tr>
56 0843bc20 sbeaver
				<th><?=gettext("Name"); ?></th>
57
				<th><?=gettext("Gateway"); ?></th>
58
				<th><?=gettext("Monitor"); ?></th>
59
				<th><?=gettext("RTT"); ?></th>
60 b90e4de2 Denny Page
				<th><?=gettext("RTTsd"); ?></th>
61 0843bc20 sbeaver
				<th><?=gettext("Loss"); ?></th>
62
				<th><?=gettext("Status"); ?></th>
63
				<th><?=gettext("Description"); ?></th>
64 961ffe14 sbeaver
			</tr>
65
		</thead>
66
		<tbody>
67 c2f7d555 luckman212
<?php		foreach ($a_gateways as $i => $gateway) {
68 fff68385 sbeaver
?>
69 961ffe14 sbeaver
			<tr>
70
				<td>
71 8ebf884f jim-p
					<?=htmlspecialchars($gateway['name']);?>
72 c2f7d555 luckman212
<?php		
73
					if (isset($gateway['isdefaultgw'])) {
74
						echo " <strong>(default)</strong>";
75
					}
76
?>			
77 961ffe14 sbeaver
				</td>
78
				<td>
79 c2f7d555 luckman212
					<?=lookup_gateway_ip_by_name($i);?>
80 961ffe14 sbeaver
				</td>
81
				<td>
82 3e0a4bbb Phil Davis
<?php
83 c2f7d555 luckman212
					if ($gateways_status[$i]) {
84
						if ($gateway['monitor_disable'] || ($gateway['monitorip'] == "none")) {
85
							echo "(unmonitored)";
86
						} else {
87
							echo $gateways_status[$i]['monitorip'];
88
						}
89 3e0a4bbb Phil Davis
					}
90 fff68385 sbeaver
?>
91 961ffe14 sbeaver
				</td>
92
				<td>
93 3e0a4bbb Phil Davis
<?php
94 c2f7d555 luckman212
					if ($gateways_status[$i]) {
95 7ebc7c51 Chris Buechler
						if (!isset($gateway['monitor_disable'])) {
96 c2f7d555 luckman212
							echo $gateways_status[$i]['delay'];
97 179377b0 robjarsen
						}
98 3e0a4bbb Phil Davis
					} else {
99
						echo gettext("Pending");
100
					}
101 fff68385 sbeaver
?>
102 961ffe14 sbeaver
				</td>
103
				<td>
104 b90e4de2 Denny Page
<?php
105 c2f7d555 luckman212
					if ($gateways_status[$i]) {
106 7ebc7c51 Chris Buechler
						if (!isset($gateway['monitor_disable'])) {
107 c2f7d555 luckman212
							echo $gateways_status[$i]['stddev'];
108 7ebc7c51 Chris Buechler
						}
109 b90e4de2 Denny Page
					} else {
110
						echo gettext("Pending");
111
					}
112
?>
113
				</td>
114
				<td>
115 3e0a4bbb Phil Davis
<?php
116 c2f7d555 luckman212
					if ($gateways_status[$i]) {
117 7ebc7c51 Chris Buechler
						if (!isset($gateway['monitor_disable'])) {
118 c2f7d555 luckman212
							echo $gateways_status[$i]['loss'];
119 7ebc7c51 Chris Buechler
						}
120 3e0a4bbb Phil Davis
					} else {
121 961ffe14 sbeaver
						echo gettext("Pending");
122 3e0a4bbb Phil Davis
					}
123 961ffe14 sbeaver
?>
124
				</td>
125 fff68385 sbeaver
<?php
126 c2f7d555 luckman212
					$status = $gateways_status[$i];
127 04a72a97 vsquared56
					if (stristr($status['status'], "online")) {
128
						switch ($status['substatus']) {
129
							case "highloss":
130
								$online = gettext("Danger, Packetloss") . ': ' . $status['loss'];
131
								$bgcolor = "bg-danger";
132
								break;
133
							case "highdelay":
134
								$online = gettext("Danger, Latency") . ': ' . $status['delay'];
135
								$bgcolor = "bg-danger";
136
								break;
137
							case "loss":
138
								$online = gettext("Warning, Packetloss") . ': ' . $status['loss'];
139
								$bgcolor = "bg-warning";
140
								break;
141
							case "delay":
142
								$online = gettext("Warning, Latency") . ': ' . $status['delay'];
143
								$bgcolor = "bg-warning";
144
								break;
145
							default:
146
								if ($status['monitor_disable'] || ($status['monitorip'] == "none")) {
147
									$online = gettext("Online <br/>(unmonitored)");
148
								} else {
149
									$online = gettext("Online");
150
								}
151
								$bgcolor = "bg-success";
152
						}
153
					} elseif (stristr($status['status'], "down")) {
154
						$bgcolor = "bg-danger";
155
						switch ($status['substatus']) {
156
							case "force_down":
157
								$online = gettext("Offline (forced)");
158
								break;
159
							case "highloss":
160
								$online = gettext("Offline, Packetloss") . ': ' . $status['loss'];
161
								break;
162
							case "highdelay":
163
								$online = gettext("Offline, Latency") . ': ' . $status['delay'];
164
								break;
165
							default:
166
								$online = gettext("Offline");
167
						}
168
					} else {
169
						$online = gettext("Pending");
170
						$bgcolor = "bg-info";
171 961ffe14 sbeaver
					}
172 fff68385 sbeaver
?>
173 5a331169 Jared Dillard
				<td class="<?=$bgcolor?>">
174 c2f7d555 luckman212
					<strong><?=$online?></strong>
175 961ffe14 sbeaver
				</td>
176
				<td>
177 8ebf884f jim-p
					<?=htmlspecialchars($gateway['descr']); ?>
178 961ffe14 sbeaver
				</td>
179
			</tr>
180
<?php	} ?>	<!-- End-of-foreach -->
181
		</tbody>
182 fff68385 sbeaver
	</table>
183
</div>
184
185 ac950976 Colin Fleming
	</div>
186
</div>
187
188 fff68385 sbeaver
<?php include("foot.inc"); ?>