2010-12-03 15:56:57 +00:00
< ? php
2010-01-28 17:47:48 +00:00
2012-05-25 12:24:34 +00:00
// FIXME - this could do with some performance improvements, i think. possible rearranging some tables and setting flags at poller time (nothing changes outside of then anyways)
2012-04-20 10:36:59 +00:00
2011-05-12 20:09:10 +00:00
$service_alerts = dbFetchCell ( " SELECT COUNT(service_id) FROM services WHERE service_status = '0' " );
2012-05-16 13:25:50 +00:00
$if_alerts = dbFetchCell ( " SELECT COUNT(port_id) FROM `ports` WHERE `ifOperStatus` = 'down' AND `ifAdminStatus` = 'up' AND `ignore` = '0' " );
2011-05-12 20:09:10 +00:00
2010-07-27 20:49:31 +00:00
if ( isset ( $config [ 'enable_bgp' ]) && $config [ 'enable_bgp' ])
{
2012-04-05 13:21:27 +00:00
$bgp_alerts = dbFetchCell ( " SELECT COUNT(bgpPeer_id) FROM bgpPeers AS B where (bgpPeerAdminStatus = 'start' OR bgpPeerAdminStatus = 'running') AND bgpPeerState != 'established' " );
2010-07-27 20:49:31 +00:00
}
2010-01-28 17:47:48 +00:00
?>
2014-01-13 10:05:19 +00:00
< nav class = " navbar-wrapper navbar navbar-default navbar-fixed-top " role = " navigation " >
< div id = " container " >
< div class = " navbar-header " >
2014-01-14 19:40:59 +00:00
< ? php
if ( $config [ 'title_image' ])
{
echo ( '<a class="navbar-brand" href=""><img src="' . $config [ 'title_image' ] . '" /></a>' );
}
else
{
echo ( '<a class="navbar-brand" href="">' . $config [ 'project_name' ] . '</a>' );
}
?>
2014-01-13 10:05:19 +00:00
</ div >
< div class = " collapse navbar-collapse " >
< 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 " >< img src = " images/16/lightbulb.png " border = " 0 " align = " absmiddle " /> Overview < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
< ? php if ( isset ( $config [ 'enable_map' ]) && $config [ 'enable_map' ]) {
echo ( ' <li><a href="' . generate_url ( array ( 'page' => 'overview' )) . '"><img src="images/16/map.png" border="0" align="absmiddle" /> Network Map</a></li>' );
} ?>
< li >< a href = " <?php echo(generate_url(array('page'=>'eventlog'))); ?> " >< img src = " images/16/report.png " border = " 0 " align = " absmiddle " /> Eventlog </ a ></ li >
< ? php if ( isset ( $config [ 'enable_syslog' ]) && $config [ 'enable_syslog' ]) {
echo ( ' <li><a href="' . generate_url ( array ( 'page' => 'syslog' )) . '"><img src="images/16/page.png" border="0" align="absmiddle" /> Syslog</a></li>' );
} ?>
2011-09-19 11:15:01 +00:00
<!-- < li >< a href = " <?php echo(generate_url(array('page'=>'alerts'))); ?> " >< img src = " images/16/exclamation.png " border = " 0 " align = " absmiddle " /> Alerts </ a ></ li > -->
2014-01-13 10:05:19 +00:00
< li >< a href = " <?php echo(generate_url(array('page'=>'inventory'))); ?> " >< img src = " images/16/bricks.png " border = " 0 " align = " absmiddle " /> Inventory </ a ></ li >
< li role = " presentation " class = " divider " ></ li >
< li role = " presentation " class = " dropdown-header " > Search </ li >
< li >< a href = " <?php echo(generate_url(array('page'=>'search','search'=>'ipv4'))); ?> " >< img src = " images/icons/ipv4.png " border = " 0 " align = " absmiddle " /> IPv4 Search </ a ></ li >
< li >< a href = " <?php echo(generate_url(array('page'=>'search','search'=>'ipv6'))); ?> " >< img src = " images/icons/ipv6.png " border = " 0 " align = " absmiddle " /> IPv6 Search </ a ></ li >
< li >< a href = " <?php echo(generate_url(array('page'=>'search','search'=>'mac'))); ?> " >< img src = " images/16/email_link.png " border = " 0 " align = " absmiddle " /> MAC Search </ a ></ li >
< li >< a href = " <?php echo(generate_url(array('page'=>'search','search'=>'arp'))); ?> " >< img src = " images/16/email_link.png " border = " 0 " align = " absmiddle " /> ARP Tables </ a ></ li >
</ ul >
</ li >
< li class = " dropdown " >
< a href = " devices/ " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/16/server.png " border = " 0 " align = " absmiddle " /> Devices < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
< li >< a href = " devices/ " >< img src = " images/16/server.png " border = " 0 " align = " absmiddle " /> All Devices </ a ></ li >
< li role = " presentation " class = " divider " ></ li >
2010-01-28 17:47:48 +00:00
< ? php
2010-07-30 17:05:25 +00:00
foreach ( $config [ 'device_types' ] as $devtype )
{
2012-01-19 10:35:27 +00:00
if ( in_array ( $devtype [ 'type' ], array_keys ( $cache [ 'device_types' ])))
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="devices/type=' . $devtype [ 'type' ] . '/"><img src="images/icons/' . $devtype [ 'icon' ] . '" border="0" align="absmiddle" /> ' . $devtype [ 'text' ] . '</a></li>' );
2012-01-19 10:35:27 +00:00
}
2010-07-30 17:05:25 +00:00
}
2012-01-19 10:35:27 +00:00
if ( $_SESSION [ 'userlevel' ] >= '10' )
{
2012-04-21 00:30:55 +00:00
if ( count ( $cache [ 'device_types' ]))
{
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
2012-04-21 00:30:55 +00:00
}
2014-01-13 10:05:19 +00:00
if ( $config [ 'show_locations' ])
{
echo ( '
< li class = " dropdown-submenu " >
< a href = " # " >< img src = " images/16/building.png " border = " 0 " align = " absmiddle " /> Locations </ a >
2014-01-14 14:37:43 +00:00
< ul class = " dropdown-menu scrollable-menu " >
2014-01-13 10:05:19 +00:00
' );
if ( $config [ 'show_locations_dropdown' ])
{
foreach ( getlocations () as $location )
{
echo ( ' <li><a href="devices/location=' . urlencode ( $location ) . '/"><img src="images/16/building.png" border="0" align="absmiddle" /> ' . $location . ' </a></li>' );
}
}
echo ( '
</ ul >
</ li >
' );
}
2010-01-28 17:47:48 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " addhost/ " >< img src = " images/16/server_add.png " border = " 0 " align = " absmiddle " /> Add Device </ a ></ li >
< li >< a href = " delhost/ " >< img src = " images/16/server_delete.png " border = " 0 " align = " absmiddle " /> Delete Device </ a ></ li > ' );
2010-01-28 17:47:48 +00:00
}
?>
2011-09-02 19:25:54 +00:00
</ ul >
2014-01-13 10:05:19 +00:00
</ li >
2011-09-02 19:25:54 +00:00
< script class = " code " type = " text/javascript " >
2011-09-20 14:37:54 +00:00
$ ( document ) . ready ( function () {
2011-09-02 19:25:54 +00:00
var data = [
[ 'Up' , < ? php echo ( $devices [ 'up' ]); ?> ],
2011-09-20 09:55:11 +00:00
[ 'Down' , < ? php echo ( $devices [ 'down' ]); ?> ],
2011-09-03 10:13:13 +00:00
[ 'Ignored' , < ? php echo ( $devices [ 'ignored' ]); ?> ],
2011-09-02 19:25:54 +00:00
[ 'Disabled' , < ? php echo ( $devices [ 'disabled' ]); ?> ]
];
var plot1 = jQuery . jqplot ( 'devices_chart' , [ data ],
{
seriesDefaults : {
renderer : jQuery . jqplot . PieRenderer ,
rendererOptions : {
// Turn off filling of slices.
fill : true ,
showDataLabels : true ,
// Add a margin to seperate the slices.
sliceMargin : 0 ,
// stroke the slices with a little thicker line.
lineWidth : 5
}
},
legend : { show : true , location : 'e' }
}
);
});
</ script >
2011-09-06 10:07:17 +00:00
< ? php
if ( $config [ 'show_services' ])
{
?>
2014-01-13 10:05:19 +00:00
< li class = " dropdown " >
< a href = " services/ " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/16/cog.png " border = " 0 " align = " absmiddle " /> Services < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
< li >< a href = " services/ " >< img src = " images/16/cog.png " border = " 0 " align = " absmiddle " /> All Services </ a ></ li >
2011-09-02 19:25:54 +00:00
2012-01-19 10:35:27 +00:00
< ? php
if ( $service_alerts )
{
2014-01-13 10:05:19 +00:00
echo ( '
< li role = " presentation " class = " divider " ></ li >
< li >< a href = " services/status=0/ " >< img src = " images/16/cog_error.png " border = " 0 " align = " absmiddle " /> Alerts ( '.$service_alerts.' ) </ a ></ li > ' );
2012-01-19 10:35:27 +00:00
}
2010-01-28 17:47:48 +00:00
2012-01-19 10:35:27 +00:00
if ( $_SESSION [ 'userlevel' ] >= '10' )
{
2010-01-28 17:47:48 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li role = " presentation " class = " divider " ></ li >
< li >< a href = " addsrv/ " >< img src = " images/16/cog_add.png " border = " 0 " align = " absmiddle " /> Add Service </ a ></ li >
< li >< a href = " delsrv/ " >< img src = " images/16/cog_delete.png " border = " 0 " align = " absmiddle " /> Delete Service </ a ></ li > ' );
2010-01-28 17:47:48 +00:00
}
?>
2014-01-13 10:05:19 +00:00
</ ul >
</ li >
2011-09-02 19:25:54 +00:00
< script class = " code " type = " text/javascript " >
2011-09-20 14:37:54 +00:00
$ ( document ) . ready ( function () {
2011-09-02 19:25:54 +00:00
var data = [
[ 'Up' , < ? php echo ( $services [ 'up' ]); ?> ],
[ 'Down' , < ? php echo ( $services [ 'down' ]); ?> ],
];
var plot2 = jQuery . jqplot ( 'services_chart' , [ data ],
{
seriesDefaults : {
renderer : jQuery . jqplot . PieRenderer ,
rendererOptions : {
// Turn off filling of slices.
fill : true ,
showDataLabels : true ,
// Add a margin to seperate the slices.
sliceMargin : 0 ,
// stroke the slices with a little thicker line.
lineWidth : 5
}
},
legend : { show : true , location : 'e' }
}
);
});
</ script >
2010-01-28 17:47:48 +00:00
2011-09-02 19:25:54 +00:00
< ? php
2011-09-06 10:07:17 +00:00
}
2010-01-28 17:47:48 +00:00
?>
2011-09-02 19:25:54 +00:00
<!-- PORTS -->
2014-01-13 10:05:19 +00:00
< li class = " dropdown " >
< a href = " ports/ " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/16/connect.png " border = " 0 " align = " absmiddle " /> Ports < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
< li >< a href = " ports/ " >< img src = " images/16/connect.png " border = " 0 " align = " absmiddle " /> All Ports </ a ></ li >
2010-01-28 17:47:48 +00:00
< ? php
2010-12-03 15:56:57 +00:00
if ( $ports [ 'errored' ])
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="ports/errors=1/"><img src="images/16/chart_curve_error.png" border="0" align="absmiddle" /> Errored (' . $ports [ 'errored' ] . ')</a></li>' );
2010-01-28 17:47:48 +00:00
}
2010-12-03 15:56:57 +00:00
if ( $ports [ 'ignored' ])
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="ports/ignore=1/"><img src="images/16/chart_curve_link.png" border="0" align="absmiddle" /> Ignored (' . $ports [ 'ignored' ] . ')</a></li>' );
2010-02-25 22:23:48 +00:00
}
2014-01-13 10:05:19 +00:00
if ( $config [ 'enable_billing' ]) {
echo ( ' <li><a href="bills/"><img src="images/16/money.png" border="0" align="absmiddle" /> Traffic Bills</a></li>' ); $ifbreak = 1 ;
}
2010-01-28 17:47:48 +00:00
2014-01-13 10:05:19 +00:00
if ( $config [ 'enable_pseudowires' ]) {
echo ( ' <li><a href="pseudowires/"><img src="images/16/arrow_switch.png" border="0" align="absmiddle" /> Pseudowires</a></li>' ); $ifbreak = 1 ;
}
2010-01-28 17:47:48 +00:00
2010-12-03 15:56:57 +00:00
?>
2010-01-28 17:47:48 +00:00
< ? php
2010-12-03 15:56:57 +00:00
if ( $_SESSION [ 'userlevel' ] >= '5' )
{
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
if ( $config [ 'int_customers' ]) { echo ( ' <li><a href="customers/"><img src="images/16/group_link.png" border="0" align="absmiddle" /> Customers</a></li>' ); $ifbreak = 1 ; }
if ( $config [ 'int_l2tp' ]) { echo ( ' <li><a href="iftype/type=l2tp/"><img src="images/16/user.png" border="0" align="absmiddle" /> L2TP</a></li>' ); $ifbreak = 1 ; }
if ( $config [ 'int_transit' ]) { echo ( ' <li><a href="iftype/type=transit/"><img src="images/16/lorry_link.png" border="0" align="absmiddle" /> Transit</a></li>' ); $ifbreak = 1 ; }
if ( $config [ 'int_peering' ]) { echo ( ' <li><a href="iftype/type=peering/"><img src="images/16/bug_link.png" border="0" align="absmiddle" /> Peering</a></li>' ); $ifbreak = 1 ; }
if ( $config [ 'int_peering' ] && $config [ 'int_transit' ]) { echo ( ' <li><a href="iftype/type=peering,transit/"><img src="images/16/world_link.png" border="0" align="absmiddle" /> Peering + Transit</a></li>' ); $ifbreak = 1 ; }
if ( $config [ 'int_core' ]) { echo ( ' <li><a href="iftype/type=core/"><img src="images/16/brick_link.png" border="0" align="absmiddle" /> Core</a></li>' ); $ifbreak = 1 ; }
2010-01-28 17:47:48 +00:00
}
2014-01-13 10:05:19 +00:00
if ( $ifbreak ) {
echo ( ' <li role="presentation" class="divider"></li>' );
}
2010-01-28 17:47:48 +00:00
2010-12-03 15:56:57 +00:00
if ( isset ( $interface_alerts ))
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="ports/alerted=yes/"><img src="images/16/link_error.png" border="0" align="absmiddle" /> Alerts (' . $interface_alerts . ')</a></li>' );
2010-01-28 17:47:48 +00:00
}
2010-12-03 15:56:57 +00:00
$deleted_ports = 0 ;
2011-05-12 20:09:10 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ports` AS P, `devices` as D WHERE P.`deleted` = '1' AND D.device_id = P.device_id " ) as $interface )
2010-12-03 15:56:57 +00:00
{
2012-05-16 13:25:50 +00:00
if ( port_permitted ( $interface [ 'port_id' ], $interface [ 'device_id' ]))
2010-12-03 15:56:57 +00:00
{
$deleted_ports ++ ;
2010-04-24 22:58:36 +00:00
}
2010-12-03 15:56:57 +00:00
}
2010-01-28 17:47:48 +00:00
?>
2014-01-13 10:05:19 +00:00
< li >< a href = " ports/state=down/ " >< img src = " images/16/if-disconnect.png " border = " 0 " align = " absmiddle " /> Down </ a ></ li >
< li >< a href = " ports/state=admindown/ " >< img src = " images/16/if-disable.png " border = " 0 " align = " absmiddle " /> Disabled </ a ></ li >
2010-06-10 19:47:50 +00:00
< ? php
2010-04-24 22:58:36 +00:00
2014-01-13 10:05:19 +00:00
if ( $deleted_ports ) { echo ( ' <li><a href="deleted-ports/"><img src="images/16/cross.png" border="0" align="absmiddle" /> Deleted (' . $deleted_ports . ')</a></li>' ); }
2010-04-24 22:58:36 +00:00
?>
2011-09-02 19:25:54 +00:00
< script class = " code " type = " text/javascript " >
2011-09-20 14:37:54 +00:00
$ ( document ) . ready ( function () {
2011-09-02 19:25:54 +00:00
var data = [
[ 'Up' , < ? php echo ( $ports [ 'up' ]); ?> ],
[ 'Down' , < ? php echo ( $ports [ 'down' ]); ?> ],
[ 'Shutdown' , < ? php echo ( $ports [ 'admindown' ]); ?> ],
[ 'Ignored' , < ? php echo ( $ports [ 'ignored' ]); ?> ],
[ 'Deleted' , < ? php echo ( $ports [ 'deleted' ]); ?> ]
];
var plot3 = jQuery . jqplot ( 'ports_chart' , [ data ],
{
seriesDefaults : {
renderer : jQuery . jqplot . PieRenderer ,
rendererOptions : {
// Turn off filling of slices.
fill : true ,
showDataLabels : true ,
// Add a margin to seperate the slices.
sliceMargin : 0 ,
// stroke the slices with a little thicker line.
lineWidth : 5
}
},
legend : { show : true , location : 'e' }
}
);
});
</ script >
2014-01-13 10:05:19 +00:00
</ ul >
</ li >
2011-04-21 10:37:23 +00:00
< ? php
2012-05-25 12:24:34 +00:00
// FIXME does not check user permissions...
2011-05-12 20:09:10 +00:00
foreach ( dbFetchRows ( " SELECT sensor_class,COUNT(sensor_id) AS c FROM sensors GROUP BY sensor_class ORDER BY sensor_class " ) as $row )
2011-04-21 10:37:23 +00:00
{
$used_sensors [ $row [ 'sensor_class' ]] = $row [ 'c' ];
}
# Copy the variable so we can use $used_sensors later in other parts of the code
$menu_sensors = $used_sensors ;
?>
2010-02-11 23:37:41 +00:00
2014-01-13 10:05:19 +00:00
< li class = " dropdown " >
< a href = " health/ " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/icons/sensors.png " border = " 0 " align = " absmiddle " /> Health < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
< li >< a href = " health/metric=mempool/ " >< img src = " images/icons/memory.png " border = " 0 " align = " absmiddle " /> Memory </ a ></ li >
< li >< a href = " health/metric=processor/ " >< img src = " images/icons/processor.png " border = " 0 " align = " absmiddle " /> Processor </ a ></ li >
< li >< a href = " health/metric=storage/ " >< img src = " images/icons/storage.png " border = " 0 " align = " absmiddle " /> Storage </ a ></ li >
2011-04-21 10:37:23 +00:00
< ? php
if ( $menu_sensors )
{
$sep = 0 ;
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
2011-04-21 10:37:23 +00:00
}
foreach ( array ( 'fanspeed' , 'humidity' , 'temperature' ) as $item )
{
if ( $menu_sensors [ $item ])
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="health/metric=' . $item . '/"><img src="images/icons/' . $item . '.png" border="0" align="absmiddle" /> ' . nicecase ( $item ) . '</a></li>' );
2011-04-21 10:37:23 +00:00
unset ( $menu_sensors [ $item ]); $sep ++ ;
}
}
if ( $sep )
{
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
2011-09-19 13:59:08 +00:00
$sep = 0 ;
}
foreach ( array ( 'current' , 'frequency' , 'power' , 'voltage' ) as $item )
{
if ( $menu_sensors [ $item ])
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="health/metric=' . $item . '/"><img src="images/icons/' . $item . '.png" border="0" align="absmiddle" /> ' . nicecase ( $item ) . '</a></li>' );
2011-09-19 13:59:08 +00:00
unset ( $menu_sensors [ $item ]); $sep ++ ;
}
}
if ( $sep && array_keys ( $menu_sensors ))
{
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
2011-04-21 10:37:23 +00:00
$sep = 0 ;
}
2011-09-19 13:59:08 +00:00
2011-04-27 14:29:11 +00:00
foreach ( array_keys ( $menu_sensors ) as $item )
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="health/metric=' . $item . '/"><img src="images/icons/' . $item . '.png" border="0" align="absmiddle" /> ' . nicecase ( $item ) . '</a></li>' );
2011-04-27 14:29:11 +00:00
unset ( $menu_sensors [ $item ]); $sep ++ ;
}
2011-04-21 10:37:23 +00:00
?>
2014-01-13 10:05:19 +00:00
</ ul >
</ li >
2010-01-28 17:47:48 +00:00
< ? php
2011-04-30 22:20:11 +00:00
2012-04-20 10:36:59 +00:00
$app_count = dbFetchCell ( " SELECT COUNT(`app_id`) FROM `applications` " );
if ( $_SESSION [ 'userlevel' ] >= '5' && ( $app_count ) > " 0 " )
{
?>
2014-01-13 10:05:19 +00:00
< li class = " dropdown " >
< a href = " apps/ " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/icons/apps.png " border = " 0 " align = " absmiddle " /> Apps < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
2012-04-20 10:36:59 +00:00
< ? php
2012-04-20 17:37:58 +00:00
$app_list = dbFetchRows ( " SELECT `app_type` FROM `applications` GROUP BY `app_type` ORDER BY `app_type` " );
foreach ( $app_list as $app )
2012-04-20 10:36:59 +00:00
{
2012-04-22 12:24:12 +00:00
$image = $config [ 'html_dir' ] . " /images/icons/ " . $row [ 'app_type' ] . " .png " ;
$icon = ( file_exists ( $image ) ? $row [ 'app_type' ] : " apps " );
2012-04-20 10:36:59 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " apps/app='. $app['app_type'] .'/ " >< img src = " images/icons/'. $icon .'.png " border = " 0 " align = " absmiddle " /> '.nicecase($app[' app_type ']).' </ a ></ li > ' );
2012-04-20 10:36:59 +00:00
}
?>
</ ul >
2014-01-13 10:05:19 +00:00
</ li >
2012-04-20 10:36:59 +00:00
< ? php
}
2012-04-05 13:21:27 +00:00
$routing_count [ 'bgp' ] = dbFetchCell ( " SELECT COUNT(bgpPeer_id) from `bgpPeers` " );
$routing_count [ 'ospf' ] = dbFetchCell ( " SELECT COUNT(ospf_instance_id) FROM `ospf_instances` WHERE `ospfAdminStat` = 'enabled' " );
$routing_count [ 'cef' ] = dbFetchCell ( " SELECT COUNT(cef_switching_id) from `cef_switching` " );
$routing_count [ 'vrf' ] = dbFetchCell ( " SELECT COUNT(vrf_id) from `vrfs` " );
2011-04-30 22:20:11 +00:00
2011-05-05 14:23:09 +00:00
if ( $_SESSION [ 'userlevel' ] >= '5' && ( $routing_count [ 'bgp' ] + $routing_count [ 'ospf' ] + $routing_count [ 'cef' ] + $routing_count [ 'vrf' ]) > " 0 " )
2011-03-31 17:19:54 +00:00
{
2011-04-17 12:00:13 +00:00
2011-09-02 19:25:54 +00:00
?>
2014-01-13 10:05:19 +00:00
< li class = " dropdown " >
< a href = " routing/ " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/16/arrow_branch.png " border = " 0 " align = " absmiddle " /> Routing < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
2011-09-02 19:25:54 +00:00
< ? php
2012-02-15 20:59:40 +00:00
$separator = 0 ;
if ( $_SESSION [ 'userlevel' ] >= '5' && $routing_count [ 'vrf' ])
{
2014-01-13 10:05:19 +00:00
echo ( ' <li><a href="routing/protocol=vrf/"><img src="images/16/layers.png" border="0" align="absmiddle" /> VRFs</a></li>' );
2012-02-15 20:59:40 +00:00
$separator ++ ;
}
2011-04-30 22:20:11 +00:00
if ( $_SESSION [ 'userlevel' ] >= '5' && $routing_count [ 'ospf' ])
{
2012-04-08 16:09:58 +00:00
if ( $separator )
{
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
2012-04-08 16:09:58 +00:00
$separator = 0 ;
}
2011-04-30 22:20:11 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " routing/protocol=ospf/ " >< img src = " images/16/text_letter_omega.png " border = " 0 " align = " absmiddle " /> OSPF Devices </ a ></ li > ' );
2012-02-15 20:59:40 +00:00
$separator ++ ;
2011-04-30 22:20:11 +00:00
}
2012-05-25 12:24:34 +00:00
// BGP Sessions
2011-04-30 22:20:11 +00:00
if ( $_SESSION [ 'userlevel' ] >= '5' && $routing_count [ 'bgp' ])
2011-04-17 12:00:13 +00:00
{
2012-02-15 20:59:40 +00:00
if ( $separator )
{
2014-01-13 10:05:19 +00:00
echo ( ' <li role="presentation" class="divider"></li>' );
2012-02-15 20:59:40 +00:00
$separator = 0 ;
}
2011-04-17 12:00:13 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " routing/protocol=bgp/type=all/graph=NULL/ " >< img src = " images/16/link.png " border = " 0 " align = " absmiddle " /> BGP All Sessions </ a ></ li >
< li >< a href = " routing/protocol=bgp/type=external/graph=NULL/ " >< img src = " images/16/world_link.png " border = " 0 " align = " absmiddle " /> BGP External </ a ></ li >
< li >< a href = " routing/protocol=bgp/type=internal/graph=NULL/ " >< img src = " images/16/brick_link.png " border = " 0 " align = " absmiddle " /> BGP Internal </ a ></ li > ' );
2011-04-17 12:00:13 +00:00
}
2010-01-28 17:47:48 +00:00
2012-05-25 12:24:34 +00:00
// Do Alerts at the bottom
2011-04-17 12:00:13 +00:00
if ( $bgp_alerts )
2012-02-16 23:18:49 +00:00
{
2011-04-17 12:00:13 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li role = " presentation " class = " divider " ></ li >
< li >< a href = " routing/protocol=bgp/adminstatus=start/state=down/ " >< img src = " images/16/link_error.png " border = " 0 " align = " absmiddle " /> Alerted BGP ( ' . $bgp_alerts . ' ) </ a ></ li >
2011-04-17 12:00:13 +00:00
' );
}
2014-01-13 10:05:19 +00:00
echo ( ' </ul>' );
2011-09-20 09:55:11 +00:00
?>
2014-01-13 10:05:19 +00:00
</ li ><!-- End 4 columns container -->
2010-01-28 17:47:48 +00:00
2011-09-02 19:25:54 +00:00
< ? php
}
2012-04-05 13:11:20 +00:00
2012-04-21 00:30:55 +00:00
$packages = dbFetchCell ( " SELECT COUNT(pkg_id) from `packages` " );
2012-04-05 13:11:20 +00:00
if ( $packages )
{
2010-01-28 17:47:48 +00:00
?>
2014-01-13 10:05:19 +00:00
< li class = " dropdown " >
< a href = " <?php echo(generate_url(array('page'=>'packages'))); ?> " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/16/box.png " border = " 0 " align = " absmiddle " /> Packages < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
2012-03-26 16:04:16 +00:00
< li >< a href = " <?php echo(generate_url(array('page'=>'packages'))); ?> " >< img src = " images/16/box.png " border = " 0 " align = " absmiddle " /> All Packages </ a ></ li >
</ ul >
2014-01-13 10:05:19 +00:00
</ li >
2012-04-05 13:11:20 +00:00
< ? php
} # if ($packages)
2012-04-05 13:41:54 +00:00
2012-05-25 12:24:34 +00:00
// Custom menubar entries.
2012-04-05 13:41:54 +00:00
if ( is_file ( " includes/print-menubar-custom.inc.php " ))
{
include ( " includes/print-menubar-custom.inc.php " );
}
2012-04-05 13:11:20 +00:00
?>
2014-01-13 10:05:19 +00:00
</ ul >
< ul class = " nav navbar-nav navbar-right " >
< li style = " padding-top:10px " >
< form role = " form " class = " pull-left form-horizontal " >
< div class = " form-group row " >
< div class = " col-md-10 " >
< input class = " input-large search-query " type = " search " id = " gsearch " name = " gsearch " placeholder = " Global Search " style = " width: 250px " >
</ div >
< div class = " col-md-2 " >
& nbsp ;
</ div >
</ div >
</ form >
</ li >
< li class = " dropdown " >
< ? php
if ( $_SESSION [ 'widescreen' ] === 1 )
{
echo ( ' <a href="' . $toggle_url . 'widescreen=no" title="Switch to normal screen width layout">Normal width</a>' );
} else {
echo ( ' <a href="' . $toggle_url . 'widescreen=yes" title="Switch to wide screen layout">Widescreen</a>' );
}
2013-11-04 23:42:04 +00:00
2014-01-13 10:05:19 +00:00
?>
</ li >
< li class = " dropdown " >
< a href = " # " class = " dropdown-toggle " data - hover = " dropdown " data - toggle = " dropdown " >< img src = " images/16/wrench.png " border = " 0 " align = " absmiddle " /> System < b class = " caret " ></ b ></ a >
< ul class = " dropdown-menu " >
< li role = " presentation " class = " dropdown-header " > Settings </ li >
< li role = " presentation " class = " divider " ></ li >
2012-01-19 10:35:27 +00:00
< ? php
if ( $_SESSION [ 'userlevel' ] >= '10' )
{
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " settings/ " >< img src = " images/16/wrench.png " border = " 0 " align = " absmiddle " /> Global Settings </ a ></ li > ' );
2012-01-19 10:35:27 +00:00
}
?>
2014-01-13 10:05:19 +00:00
< li >< a href = " preferences/ " >< img src = " images/16/wrench_orange.png " border = " 0 " align = " absmiddle " /> My Settings </ a ></ li >
< li role = " presentation " class = " divider " ></ li >
< li role = " presentation " class = " dropdown-header " > Users </ li >
2011-09-02 19:25:54 +00:00
2012-05-03 13:52:34 +00:00
< ? php if ( $_SESSION [ 'userlevel' ] >= '10' )
{
2010-03-06 01:10:05 +00:00
if ( auth_usermanagement ())
{
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " adduser/ " >< img src = " images/16/user_add.png " border = " 0 " align = " absmiddle " /> Add User </ a ></ li >
< li >< a href = " deluser/ " >< img src = " images/16/user_delete.png " border = " 0 " align = " absmiddle " /> Remove User </ a ></ li >
2011-09-02 19:25:54 +00:00
' );
2010-03-06 01:10:05 +00:00
}
2010-11-20 14:04:07 +00:00
echo ( '
2014-01-13 10:05:19 +00:00
< li >< a href = " edituser/ " >< img src = " images/16/user_edit.png " border = " 0 " align = " absmiddle " /> Edit User </ a ></ li >
< li >< a href = " authlog/ " >< img src = " images/16/lock.png " border = " 0 " align = " absmiddle " /> Authlog </ a ></ li > ' );
2010-01-28 17:47:48 +00:00
} ?>
2014-01-13 10:05:19 +00:00
< ? php
if ( $_SESSION [ 'authenticated' ])
{
echo ( '
< li >< a href = " logout/ " > Logout </ a ></ li >
' );
}
?>
2011-09-02 19:25:54 +00:00
2014-01-13 10:05:19 +00:00
< li role = " presentation " class = " divider " ></ li >
< li >< a href = " about/ " >< img src = " images/16/information.png " border = " 0 " align = " absmiddle " /> About & nbsp ; < ? php echo ( $config [ 'project_name' ]); ?> </a></li>
</ ul >
</ li >
</ ul >
</ div >
</ div >
</ div >
</ nav >
< script >
$ ( '#gsearch' ) . typeahead ([
{
name : 'devices' ,
remote : 'ajax_search.php?search=%QUERY&type=device' ,
header : '<h5><strong>Devices</strong></h5>' ,
template : '<p"><img src="{{device_image}}" border="0" class="img_left"> <small><a href="{{url}}"><strong>{{name}}</strong> | {{device_os}} | {{version}} | {{device_hardware}} with {{device_ports}} port(s) | {{location}}</a></small></p>' ,
valueKey : " name " ,
engine : Hogan
},
{
name : 'ports' ,
remote : 'ajax_search.php?search=%QUERY&type=ports' ,
header : '<h5><strong>Ports</strong></h5>' ,
template : '<p><small><a href="{{url}}"><img src="images/icons/port.png" /> <strong>{{name}}</strong> – {{hostname}}</a></small></p>' ,
valueKey : " name " ,
engine : Hogan
}
]);
</ script >