124 lines
4.4 KiB
PHP
124 lines
4.4 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) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
|
|
*
|
|
*/
|
|
|
|
$navbar = array();
|
|
$navbar['brand'] = "EIGRP";
|
|
$navbar['class'] = "navbar-narrow";
|
|
|
|
if (!$vars['view']) { $vars['view'] = "ports"; }
|
|
|
|
foreach (array("vpn", "asn", "ports", "peers") as $type)
|
|
{
|
|
$navbar['options'][$type]['url'] = generate_url(array('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` = ?", array($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, array('vpn' => $entry['eigrp_vpn'],'asn' => NULL));
|
|
|
|
}
|
|
|
|
foreach(dbFetchRows("SELECT * FROM `eigrp_ases` WHERE `device_id` = ? AND `eigrp_vpn` = ?", array($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, array('asn' => $entry['eigrp_as']));
|
|
|
|
}
|
|
|
|
$navbar['options_right']['graphs'] = array( 'text' => "Graphs",
|
|
'icon' => $config['icon']['graphs'],
|
|
'url' => generate_url($vars, array('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` = ? ", array($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` = ?", array($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` = ?", array($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
|