2009-09-07 11:07:59 +00:00
< ? php
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
if ( $_GET [ 'id' ]) { $_GET [ 'id' ] = mres ( $_GET [ 'id' ]); }
2008-07-22 08:24:34 +00:00
2011-03-07 16:23:45 +00:00
if ( $_GET [ 'section' ] == " interface " && is_numeric ( $_GET [ 'opta' ]) && port_permitted ( $_GET [ 'opta' ]))
{
2010-07-19 11:12:28 +00:00
$check_device = get_device_id_by_interface_id ( $_GET [ 'opta' ]);
$permit_ports = 1 ;
}
2011-03-07 16:23:45 +00:00
if ( device_permitted ( $_GET [ 'id' ]) || $check_device == $_GET [ 'id' ])
{
$selected [ 'iface' ] = " selected " ;
2010-06-12 18:09:58 +00:00
2011-03-07 16:23:45 +00:00
$section = str_replace ( " . " , " " , mres ( $_GET [ 'section' ]));
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
if ( ! $section )
{
$section = " overview " ;
}
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
$select [ $section ] = " selected " ;
2009-05-11 13:43:59 +00:00
2011-03-07 16:23:45 +00:00
$device_query = mysql_query ( " SELECT * FROM `devices` WHERE `device_id` = ' " . $_GET [ 'id' ] . " ' " );
2011-03-17 00:09:20 +00:00
while ( $device = mysql_fetch_array ( $device_query ))
2011-03-07 16:23:45 +00:00
{
if ( $config [ 'os' ][ $device [ 'os' ]][ 'group' ]) { $device [ 'os_group' ] = $config [ 'os' ][ $device [ 'os' ]][ 'group' ]; }
2007-04-15 14:38:26 +00:00
2011-03-07 16:23:45 +00:00
echo ( '<table cellpadding="15" cellspacing="0" class="devicetable" width="100%">' );
include ( " includes/device-header.inc.php " );
echo ( '</table>' );
2009-03-11 15:30:01 +00:00
2011-03-07 16:23:45 +00:00
echo ( '<div class="mainpane">' );
echo ( ' <ul id="maintab" class="shadetabs">' );
2010-07-19 11:12:28 +00:00
2011-03-07 16:23:45 +00:00
if ( device_permitted ( $_GET [ 'id' ]))
{
if ( $config [ 'show_overview_tab' ])
{
echo ( '
< li class = " ' . $select['overview'] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/overview/ " >
< img src = " images/16/server_lightning.png " align = " absmiddle " border = " 0 " > Overview
2010-07-19 11:12:28 +00:00
</ a >
</ li > ' );
2011-03-07 16:23:45 +00:00
}
2007-04-15 14:38:26 +00:00
2011-03-07 16:23:45 +00:00
echo ( '<li class="' . $select [ 'graphs' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/graphs/ " >
< img src = " images/16/server_chart.png " align = " absmiddle " border = " 0 " > Graphs
</ a >
</ li > ' );
2009-04-23 21:13:56 +00:00
2011-03-07 16:23:45 +00:00
$health = mysql_result ( mysql_query ( " select count(*) from storage WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(sensor_id) from sensors WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(*) from cempMemPool WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(*) from cpmCPU WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(*) from processors WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(current_id) from current WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(freq_id) from frequencies WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(volt_id) from voltage WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) +
mysql_result ( mysql_query ( " select count(fan_id) from fanspeed WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 );
if ( $health )
{
echo ( '<li class="' . $select [ 'health' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/health/ " >
< img src = " images/icons/sensors.png " align = " absmiddle " border = " 0 " /> Health
</ a >
</ li > ' );
}
if ( @ mysql_result ( mysql_query ( " select count(app_id) from applications WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'apps' ] . ' " >
< a href = " ' . $config['base_url'] . '/device/' . $device['device_id'] . '/apps/ " >
< img src = " images/icons/apps.png " align = " absmiddle " border = " 0 " /> Apps
</ a >
</ li > ' );
}
2009-03-11 14:46:55 +00:00
2011-03-26 19:12:24 +00:00
if ( is_dir ( $config [ 'collectd_dir' ] . " / " . $device [ 'hostname' ] . " / " ))
{
2011-03-07 16:23:45 +00:00
echo ( '<li class="' . $select [ 'collectd' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/collectd/ " >
< img src = " images/16/chart_line.png " align = " absmiddle " border = " 0 " /> CollectD
</ a >
</ li > ' );
}
2007-11-21 14:26:24 +00:00
2011-03-26 19:12:24 +00:00
if ( @ mysql_result ( mysql_query ( " select count(interface_id) from ports WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) > '0' )
{
2011-03-07 16:23:45 +00:00
echo ( '<li class="' . $select [ 'ports' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/ports/' . $config['ports_page_default'] . ' " >
< img src = " images/16/connect.png " align = " absmiddle " border = " 0 " /> Ports
</ a >
</ li > ' );
}
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
if ( @ mysql_result ( mysql_query ( " select count(vlan_id) from vlans WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'vlans' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/vlans/ " >
< img src = " images/16/vlans.png " align = " absmiddle " border = " 0 " /> VLANs
</ a >
</ li > ' );
}
2010-03-12 17:46:25 +00:00
2011-03-26 17:16:09 +00:00
if ( @ mysql_result ( mysql_query ( " SELECT COUNT(id) FROM vmware_vminfo WHERE device_id = ' " . $device [ " device_id " ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'vm' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/vm/ " >
< img src = " images/16/server_cog.png " align = " absmiddle " border = " 0 " /> Virtual Machines
</ a >
</ li > ' );
}
2011-03-07 16:23:45 +00:00
if ( @ mysql_result ( mysql_query ( " select count(*) from vrfs WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'vrfs' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/vrfs/ " >
< img src = " images/16/layers.png " align = " absmiddle " border = " 0 " /> VRFs
2010-07-19 11:12:28 +00:00
</ a >
</ li > ' );
2011-03-07 16:23:45 +00:00
}
2010-03-12 17:46:25 +00:00
2011-03-07 16:23:45 +00:00
if ( $config [ 'enable_bgp' ] && $device [ 'bgpLocalAs' ])
{
echo ( '<li class="' . $select [ 'bgp' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/bgp/ " >
< img src = " images/16/link.png " align = " absmiddle " border = " 0 " /> BGP
</ a >
</ li > ' );
}
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
if ( $_SESSION [ 'userlevel' ] >= " 5 " && mysql_result ( mysql_query ( " SELECT count(*) FROM links AS L, ports AS I WHERE I.device_id = ' " . $device [ 'device_id' ] . " ' AND I.interface_id = L.local_interface_id " ), 0 ))
{
echo ( '<li class="' . $select [ 'map' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/map/ " >
< img src = " images/16/chart_organisation.png " align = " absmiddle " border = " 0 " /> Map
</ a >
</ li > ' );
}
2010-02-16 20:45:40 +00:00
2011-03-07 16:23:45 +00:00
if ( $config [ 'enable_inventory' ] && @ mysql_result ( mysql_query ( " SELECT * FROM `entPhysical` WHERE device_id = ' " . $_GET [ 'id' ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'entphysical' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/entphysical/ " >
< img src = " images/16/bricks.png " align = " absmiddle " border = " 0 " /> Inventory
</ a >
</ li > ' );
}
2011-03-17 00:09:20 +00:00
elseif ( device_permitted ( $_GET [ 'id' ]) && $config [ 'enable_inventory' ] && @ mysql_result ( mysql_query ( " SELECT * FROM `hrDevice` WHERE device_id = ' " . $_GET [ 'id' ] . " ' " ), 0 ) > '0' )
2011-03-07 16:23:45 +00:00
{
echo ( '<li class="' . $select [ 'hrdevice' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/hrdevice/ " >
< img src = " images/16/bricks.png " align = " absmiddle " border = " 0 " /> Inventory
</ a >
</ li > ' );
}
2011-03-17 00:09:20 +00:00
2011-03-07 16:23:45 +00:00
if ( mysql_result ( mysql_query ( " select count(service_id) from services WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'srv' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/srv/ " >
< img src = " images/icons/services.png " align = " absmiddle " border = " 0 " /> Services
</ a >
</ li > ' );
}
2010-02-16 20:45:40 +00:00
2011-03-07 16:23:45 +00:00
if ( @ mysql_result ( mysql_query ( " select count(toner_id) from toner WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ), 0 ) > '0' )
{
echo ( '<li class="' . $select [ 'toner' ] . ' " >
< a href = " '. $config['base_url'] .'/device/' . $device['device_id'] . '/toner/ " >
< img src = " images/icons/toner.png " align = " absmiddle " border = " 0 " /> Toner
</ a >
</ li > ' );
}
if ( device_permitted ( $_GET [ 'id' ]))
{
echo ( '<li class="' . $select [ 'events' ] . ' " >
< a href = " '. $config['base_url'] . " / device / " . $device['device_id'] . '/events/ " >
< img src = " images/16/report_magnify.png " align = " absmiddle " border = " 0 " /> Events
</ a >
</ li > ' );
}
if ( $config [ 'enable_syslog' ])
{
echo ( '<li class="' . $select [ 'syslog' ] . ' " >
< a href = " '. $config['base_url'] . " / device / " . $device['device_id'] . '/syslog/ " >
< img src = " images/16/printer.png " align = " absmiddle " border = " 0 " /> Syslog
</ a >
</ li >
' );
}
2010-02-16 20:45:40 +00:00
}
2007-04-03 14:10:23 +00:00
2011-03-26 19:12:24 +00:00
if ( $_SESSION [ 'userlevel' ] >= " 7 " )
{
2011-03-07 16:23:45 +00:00
if ( ! is_array ( $config [ 'rancid_configs' ])) { $config [ 'rancid_configs' ] = array ( $config [ 'rancid_configs' ]); }
2011-03-26 19:12:24 +00:00
foreach ( $config [ 'rancid_configs' ] as $configs )
{
2011-03-07 16:23:45 +00:00
if ( $configs [ strlen ( $configs ) - 1 ] != '/' ) { $configs .= '/' ; }
if ( is_file ( $configs . $device [ 'hostname' ])) { $device_config_file = $configs . $device [ 'hostname' ]; }
}
}
2011-03-26 19:12:24 +00:00
if ( $device_config_file )
{
2011-03-07 16:23:45 +00:00
echo ( '<li class="' . $select [ 'showconfig' ] . ' " >
< a href = " '. $config['base_url'] . " / device / " . $device['device_id'] . '/showconfig/ " >
< img src = " images/16/page_white_text.png " align = " absmiddle " border = " 0 " /> Config
</ a >
</ li >
' );
}
2011-03-26 19:12:24 +00:00
if ( $_SESSION [ 'userlevel' ] >= " 7 " )
{
2011-03-07 16:23:45 +00:00
echo ( '<li class="' . $select [ 'edit' ] . ' " >
< a href = " '. $config['base_url'] . " / device / " . $device['device_id'] . '/edit/ " >
< img src = " images/16/server_edit.png " align = " absmiddle " border = " 0 " /> Settings
</ a >
</ li >
' );
}
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
echo ( " </ul> " );
echo ( '<div class="contentstyle">' );
2007-04-03 14:10:23 +00:00
2011-03-07 16:23:45 +00:00
## FIXME safe??
include ( " pages/device/ " . mres ( $section ) . " .inc.php " );
2009-02-06 14:53:33 +00:00
2011-03-07 16:23:45 +00:00
echo ( " </div> " );
}
}
else
{
include ( " includes/error-no-perm.inc.php " );
2007-04-03 14:10:23 +00:00
}
2011-03-26 17:16:09 +00:00
?>