126 lines
4.7 KiB
PHP

<?php
/**
* Observium Network Management and Monitoring System
* Copyright (C) 2006-2015, Adam Armstrong - http://www.observium.org
*
* @package observium
* @subpackage webui
* @author Adam Armstrong <adama@observium.org>
* @copyright (C) Adam Armstrong
*
*/
$navbar = [];
$navbar['brand'] = "EIGRP";
$navbar['class'] = "navbar-narrow";
if (!$vars['view']) {
$vars['view'] = "ports";
}
foreach (["vpn", "asn", "ports", "peers"] as $type) {
$navbar['options'][$type]['url'] = generate_url(['page' => 'device', 'device' => $device['device_id'], 'tab' => 'routing', 'proto' => 'eigrp', 'view' => $type]);
$navbar['options'][$type]['text'] = nicecase($type);
if ($vars['view'] == $type) {
$navbar['options'][$type]['class'] = "active";
}
}
foreach (dbFetchRows("SELECT * FROM `eigrp_vpns` WHERE `device_id` = ?", [$device['device_id']]) as $entry) {
if (!isset($vars['vpn'])) {
$vars['vpn'] = $entry['eigrp_vpn'];
}
if ($vars['vpn'] == $entry['eigrp_vpn']) {
$navbar['options']['vpn']['text'] .= " (" . $entry['eigrp_vpn_name'] . ")";
}
$navbar['options']['vpn']['suboptions'][$entry['eigrp_vpn_name']]['text'] = $entry['eigrp_vpn_name'];
$navbar['options']['vpn']['suboptions'][$entry['eigrp_vpn_name']]['url'] = generate_url($vars, ['vpn' => $entry['eigrp_vpn'], 'asn' => NULL]);
}
foreach (dbFetchRows("SELECT * FROM `eigrp_ases` WHERE `device_id` = ? AND `eigrp_vpn` = ?", [$device['device_id'], $vars['vpn']]) as $entry) {
if (!isset($vars['asn'])) {
$vars['asn'] = $entry['eigrp_as'];
}
if ($vars['asn'] == $entry['eigrp_as']) {
$navbar['options']['asn']['text'] .= " (" . $entry['eigrp_as'] . ")";
}
$navbar['options']['asn']['suboptions'][$entry['eigrp_as']]['text'] = "AS" . $entry['eigrp_as'];
$navbar['options']['asn']['suboptions'][$entry['eigrp_as']]['url'] = generate_url($vars, ['asn' => $entry['eigrp_as']]);
}
$navbar['options_right']['graphs'] = ['text' => "Graphs",
'icon' => $config['icon']['graphs'],
'url' => generate_url($vars, ['graphs' => ($vars['graphs'] == 'yes' ? NULL : 'yes')]),
'class' => ($vars['graphs'] == 'yes' ? 'active' : NULL)];
print_navbar($navbar);
unset($navbar);
echo generate_box_open();
foreach (dbFetchRows("SELECT * FROM `eigrp_ases` LEFT JOIN `eigrp_vpns` USING (`device_id`, `eigrp_vpn`) WHERE `device_id` =? AND `eigrp_vpn` = ? AND `eigrp_as` = ? ", [$device['device_id'], $vars['vpn'], $vars['asn']]) as $as) {
$port_count = dbFetchCell("SELECT COUNT(*) FROM `eigrp_ports` WHERE device_id = ? AND `eigrp_vpn` = ? AND `eigrp_as` = ?", [$as['device_id'], $as['eigrp_vpn'], $as['eigrp_as']]);
$peer_count = dbFetchCell("SELECT COUNT(*) FROM `eigrp_peers` WHERE device_id = ? AND `eigrp_vpn` = ? AND `eigrp_as` = ?", [$as['device_id'], $as['eigrp_vpn'], $as['eigrp_as']]);
?>
<table class="table table-hover table-striped vertical-align">
<tbody>
<tr class="up">
<td class="state-marker"></td>
<td style="padding: 10px 14px; width: 500px"><span
style="font-size: 20px; color: #193d7f;">VPN <?php echo $as['eigrp_vpn_name']; ?> / AS<?php echo($as['eigrp_as']); ?></span></td>
<td>
<div class="btn-group" style="margin: 5px;">
<div class="btn btn-sm btn-default"><strong>Router ID</strong></div>
<div class="btn btn-sm btn-default"> <?php echo $as['cEigrpAsRouterId']; ?></div>
</div>
</td>
<td style="text-align: right;">
<div class="btn-group" style="margin: 5px;">
<div class="btn btn-sm btn-default"><strong>Ports</strong></div>
<div class="btn btn-sm btn-danger"> <?php echo $port_count; ?></div>
</div>
<div class="btn-group" style="margin: 5px;">
<div class="btn btn-sm btn-default"><strong>Neighbours</strong></div>
<div class="btn btn-sm btn-info"> <?php echo $as['cEigrpNbrCount']; ?></div>
</div>
<div class="btn-group" style="margin: 5px;">
<div class="btn btn-sm btn-default"><strong>Routes</strong></div>
<div class="btn btn-sm btn-primary"> <?php echo $as['cEigrpTopoRoutes']; ?></div>
</div>
</td>
</tr>
</tbody>
</table>
<?php
}
echo generate_box_close();
switch ($vars['view']) {
case "ports":
case "peers":
include("eigrp/" . $vars['view'] . ".inc.php");
break;
}
// EOF