Merge pull request #3018 from jmacul2/mapgroups

Initial adds for map group functionality.
This commit is contained in:
Neil Lathwood
2016-03-04 23:30:54 +00:00
2 changed files with 43 additions and 13 deletions
+17
View File
@@ -39,6 +39,20 @@ $tmp_link_ids = array();
$ports = array();
$devices = array();
$where = "";
if (is_numeric($vars['group'])) {
$group = dbFetchRows('SELECT `pattern`, `name`, `description` FROM `device_groups` WHERE id = '.$vars['group']);
$group_pattern = rtrim($group['pattern'], '&&');
$group_pattern = rtrim($group_pattern, '||');
$group_name = $group['name'];
$group_description = $group['group_descriptio'];
$device_id_sql = GenGroupSQL($group_pattern);
if ($device_id_sql) {
$where .= " AND D1.device_id IN ($device_id_sql) OR D2.device_id IN ($device_id_sql)";
}
}
if (in_array('mac',$config['network_map_items'])) {
$ports = dbFetchRows("SELECT
`D1`.`device_id` AS `local_device_id`,
@@ -74,6 +88,7 @@ if (in_array('mac',$config['network_map_items'])) {
`P1`.`port_id` IS NOT NULL AND
`P2`.`port_id` IS NOT NULL AND
`D1`.`device_id` != `D2`.`device_id`
$where
$sql
GROUP BY `P1`.`port_id`,`P2`.`port_id`
", $sql_array);
@@ -115,6 +130,7 @@ if (in_array('xdp', $config['network_map_items'])) {
`remote_device_id` != 0 AND
`local_device_id` IS NOT NULL AND
`remote_device_id` IS NOT NULL
$where
$sql
GROUP BY `P1`.`port_id`,`P2`.`port_id`
", $sql_array);
@@ -232,4 +248,5 @@ else {
}
if (is_numeric($vars['group'])) {
$pagetitle[] = "Map";
+26 -13
View File
@@ -48,14 +48,14 @@ else {
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="<?php echo(generate_url(array('page'=>'overview'))); ?>" class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown"><i class="fa fa-lightbulb-o fa-fw fa-lg fa-nav-icons hidden-md"></i> <span class="hidden-sm">Overview</span></a>
<ul class="dropdown-menu">
<li><a href="<?php echo(generate_url(array('page'=>'overview'))); ?>"><i class="fa fa-lightbulb-o fa-fw fa-lg"></i> Overview</a></li>
<li class="dropdown-submenu">
<a><i class="fa fa-exclamation-circle fa-fw fa-lg"> </i> Alerts</a>
<ul class="dropdown-menu scrollable-menu">
<li><a href="<?php echo(generate_url(array('page'=>'alerts'))); ?>"><i class="fa fa-bell fa-fw fa-lg"></i> Notifications</a></li>
<li><a href="<?php echo(generate_url(array('page'=>'alert-log'))); ?>"><i class="fa fa-th-list fa-fw fa-lg"></i> Historical Log</a></li>
<li><a href="<?php echo(generate_url(array('page'=>'alert-stats'))); ?>"><i class="fa fa-bar-chart fa-fw fa-lg"></i> Statistics</a></li>
<ul class="dropdown-menu multi-level" role="menu">
<li><a href="<?php echo(generate_url(array('page'=>'overview'))); ?>"><i class="fa fa-lightbulb-o fa-fw fa-lg"></i> Overview</a></li>
<li class="dropdown-submenu">
<a><i class="fa fa-exclamation-circle fa-fw fa-lg"> </i> Alerts</a>
<ul class="dropdown-menu scrollable-menu">
<li><a href="<?php echo(generate_url(array('page'=>'alerts'))); ?>"><i class="fa fa-bell fa-fw fa-lg"></i> Notifications</a></li>
<li><a href="<?php echo(generate_url(array('page'=>'alert-log'))); ?>"><i class="fa fa-th-list fa-fw fa-lg"></i> Historical Log</a></li>
<li><a href="<?php echo(generate_url(array('page'=>'alert-stats'))); ?>"><i class="fa fa-bar-chart fa-fw fa-lg"></i> Statistics</a></li>
<?php
if ($_SESSION['userlevel'] >= '10') {
?>
@@ -70,9 +70,24 @@ if ($_SESSION['userlevel'] >= '10') {
</li>
<li class="dropdown-submenu">
<a href="<?php echo(generate_url(array('page'=>'overview'))); ?>"><i class="fa fa-sitemap fa-fw fa-lg"></i> Maps</a>
<ul class="dropdown-menu scrollable-menu">
<li><a href="<?php echo(generate_url(array('page'=>'availability-map'))); ?>"><i class="fa fa-arrow-circle-up fa-fw fa-lg"></i> Availability</a></li>
<li><a href="<?php echo(generate_url(array('page'=>'map'))); ?>"><i class="fa fa-desktop fa-fw fa-lg"></i> Network</a></li>
<ul class="dropdown-menu">
<li><a href="<?php echo(generate_url(array('page'=>'availability-map'))); ?>"><i class="fa fa-arrow-circle-up fa-fw fa-lg"></i> Availability</a></li>
<li>
<a href="<?php echo(generate_url(array('page'=>'map'))); ?>"><i class="fa fa-desktop fa-fw fa-lg"></i> Network</a>
</li>
<?php
require_once '../includes/device-groups.inc.php';
$devices_groups = GetDeviceGroups();
if (count($devices_groups) > 0 ){
echo '<li class="dropdown-submenu"><a href="#"><i class="fa fa-th fa-fw fa-lg"></i> Device Groups Maps</a><ul class="dropdown-menu scrollable-menu">';
foreach( $devices_groups as $group ) {
echo '<li><a href="'.generate_url(array('page'=>'map','group'=>$group['id'])).'" alt="'.$group['desc'].'"><i class="fa fa-th fa-fw fa-lg"></i> '.ucfirst($group['name']).'</a></li>';
}
unset($group);
echo '</ul></li>';
}
?>
</ul>
</li>
<li class="dropdown-submenu">
@@ -145,8 +160,6 @@ foreach (dbFetchRows($sql,$param) as $devtype) {
echo ('</ul>
</li>');
require_once '../includes/device-groups.inc.php';
$devices_groups = GetDeviceGroups();
if (count($devices_groups) > 0 ){
echo '<li class="dropdown-submenu"><a href="#"><i class="fa fa-th fa-fw fa-lg"></i> Device Groups</a><ul class="dropdown-menu scrollable-menu">';
foreach( $devices_groups as $group ) {