2008-11-04 12:34:30 +00:00
<? php
function generate_front_box ( $type , $content ) {
2009-11-21 15:07:09 +00:00
echo ( "<div style='float: left; padding: 5px; width: 135px; margin: 0px;'>
<b class='box-" . $type . "'>
2010-01-09 00:17:02 +00:00
<b class='box-" . $type . "1'></b>
<b class='box-" . $type . "2'></b>
2009-11-21 15:07:09 +00:00
<b class='box-" . $type . "3'></b>
<b class='box-" . $type . "4'></b>
<b class='box-" . $type . "5'></b></b>
<div class='box-" . $type . "fg' style='height: 90px;'>
" . $content . "
</div>
<b class='box-" . $type . "'>
<b class='box-" . $type . "5'></b>
<b class='box-" . $type . "4'></b>
<b class='box-" . $type . "3'></b>
2010-01-09 00:17:02 +00:00
<b class='box-" . $type . "2'></b>
<b class='box-" . $type . "1'></b></b>
2009-11-21 15:07:09 +00:00
</div>" );
2008-11-04 12:34:30 +00:00
}
2009-11-21 15:07:09 +00:00
echo ( "<div style='padding: 3px 10px; background: #fff;'>" );
2008-11-04 12:34:30 +00:00
2009-12-31 19:06:05 +00:00
if ( $_SESSION [ 'userlevel' ] == '10' ) {
2008-11-04 12:34:30 +00:00
$sql = mysql_query ( "SELECT * FROM `devices` WHERE `status` = '0' AND `ignore` = '0'" );
2009-12-31 19:06:05 +00:00
} else {
$sql = mysql_query ( "SELECT * FROM `devices` AS D, devices_perms AS P WHERE D.device_id = P.device_id AND P.user_id = '" . $_SESSION [ 'user_id' ] . "' AND D.status = '0' AND D.ignore = '0'" );
}
2008-11-04 12:34:30 +00:00
while ( $device = mysql_fetch_array ( $sql )){
generate_front_box ( "alert" , "<center><strong>" . generatedevicelink ( $device , shorthost ( $device [ 'hostname' ])) . "</strong><br />
2010-03-15 15:26:20 +00:00
<span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>Device Down</span> <br />
2008-11-04 12:34:30 +00:00
<span class=body-date-1>" . truncate ( $device [ 'location' ], 20 ) . "</span>
</center>" );
}
2009-12-31 19:06:05 +00:00
if ( $_SESSION [ 'userlevel' ] == '10' ) {
2010-02-20 17:22:22 +00:00
$sql = mysql_query ( "SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id AND ifOperStatus = 'down' AND ifAdminStatus = 'up' AND D.ignore = '0' AND I.ignore = '0'" );
2009-12-31 19:06:05 +00:00
} else {
2010-02-20 17:22:22 +00:00
$sql = mysql_query ( "SELECT * FROM `ports` AS I, `devices` AS D, devices_perms AS P WHERE D.device_id = P.device_id AND P.user_id = '" . $_SESSION [ 'user_id' ] . "' AND I.device_id = D.device_id AND ifOperStatus = 'down' AND ifAdminStatus = 'up' AND D.ignore = '0' AND I.ignore = '0'" );
2009-12-31 19:06:05 +00:00
}
2010-07-01 12:34:01 +00:00
### These things need to become more generic, and more manageable across different frontpages... rewrite inc :>
2008-11-04 12:34:30 +00:00
while ( $interface = mysql_fetch_array ( $sql )){
2010-07-01 12:34:01 +00:00
if ( ! $interface [ 'deleted' ]){
2010-01-06 08:54:51 +00:00
$interface = ifNameDescr ( $interface );
2008-11-04 12:34:30 +00:00
generate_front_box ( "warn" , "<center><strong>" . generatedevicelink ( $interface , shorthost ( $interface [ 'hostname' ])) . "</strong><br />
2009-11-21 15:18:09 +00:00
<span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>Port Down</span><br />
2008-11-04 12:34:30 +00:00
<!-- <img src='graph.php?type=bits&if=" . $interface [ 'interface_id' ] . "&from= $day &to= $now &width=100&height=32' /> -->
2010-01-06 08:54:51 +00:00
<strong>" . generateiflink ( $interface , truncate ( makeshortif ( $interface [ 'label' ]), 13 , '' )) . "</strong> <br />
2010-01-10 18:19:15 +00:00
" . ( $interface [ 'ifAlias' ] ? '<span class="body-date-1">' . truncate ( $interface [ 'ifAlias' ], 20 , '' ) . '</span>' : '' ) . "
2008-11-04 12:34:30 +00:00
</center>" );
2010-07-01 12:34:01 +00:00
}
2008-11-04 12:34:30 +00:00
}
2009-12-31 19:06:05 +00:00
/* FIXME service permissions? seem nonexisting now.. */
2010-02-21 19:32:08 +00:00
$sql = mysql_query ( "SELECT * FROM `services` AS S, `devices` AS D WHERE S.device_id = D.device_id AND service_status = 'down' AND D.ignore = '0' AND S.service_ignore = '0'" );
2008-11-04 12:34:30 +00:00
while ( $service = mysql_fetch_array ( $sql )){
generate_front_box ( "alert" , "<center><strong>" . generatedevicelink ( $service , shorthost ( $service [ 'hostname' ])) . "</strong><br />
<span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>Service Down</span>
<strong>" . $service [ 'service_type' ] . "</strong><br />
<span class=body-date-1>" . truncate ( $interface [ 'ifAlias' ], 20 ) . "</span>
</center>" );
}
2009-12-31 19:06:05 +00:00
if ( $_SESSION [ 'userlevel' ] == '10' ) {
2010-01-15 22:18:54 +00:00
$sql = mysql_query ( "SELECT * FROM `devices` AS D, bgpPeers AS B WHERE bgpPeerState != 'established' AND bgpPeerState != '' AND B.device_id = D.device_id AND D.ignore = 0" );
2009-12-31 19:06:05 +00:00
} else {
2010-01-15 22:18:54 +00:00
$sql = mysql_query ( "SELECT * FROM `devices` AS D, bgpPeers AS B, devices_perms AS P WHERE D.device_id = P.device_id AND P.user_id = '" . $_SESSION [ 'user_id' ] . "' AND bgpPeerState != 'established' AND bgpPeerState != '' AND B.device_id = D.device_id AND D.ignore = 0" );
2009-12-31 19:06:05 +00:00
}
2008-11-04 12:34:30 +00:00
while ( $peer = mysql_fetch_array ( $sql )){
generate_front_box ( "alert" , "<center><strong>" . generatedevicelink ( $peer , shorthost ( $peer [ 'hostname' ])) . "</strong><br />
<span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>BGP Down</span>
2010-01-06 09:46:29 +00:00
<span style='" . ( strstr ( $peer [ 'bgpPeerIdentifier' ], ':' ) ? 'font-size: 10px' : '' ) . "'><strong>" . $peer [ 'bgpPeerIdentifier' ] . "</strong></span><br />
2010-01-06 09:39:35 +00:00
<span title='" . $peer [ 'astext' ] . "' class=body-date-1>AS" . $peer [ 'bgpPeerRemoteAs' ] . " " . truncate ( $peer [ 'astext' ], 10 ) . "</span>
2008-11-04 12:34:30 +00:00
</center>" );
}
2009-12-31 19:06:05 +00:00
if ( $_SESSION [ 'userlevel' ] == '10' ) {
$sql = mysql_query ( "SELECT * FROM `devices` AS D WHERE D.status = '1' AND D.uptime < '84600' AND D.ignore = 0" );
} else {
$sql = mysql_query ( "SELECT * FROM `devices` AS D, devices_perms AS P WHERE D.device_id = P.device_id AND P.user_id = '" . $_SESSION [ 'user_id' ] . "' AND D.status = '1' AND D.uptime < '84600' AND D.ignore = 0" );
}
2008-11-04 12:34:30 +00:00
while ( $device = mysql_fetch_array ( $sql )){
generate_front_box ( "info" , "<center><strong>" . generatedevicelink ( $device , shorthost ( $device [ 'hostname' ])) . "</strong><br />
<span style='font-size: 14px; font-weight: bold; margin: 5px; color: #009;'>Device<br />Rebooted</span><br />
2009-11-28 09:48:23 +00:00
<span class=body-date-1>" . formatUptime ( $device [ 'uptime' ], 'short' ) . "</span>
2008-11-04 12:34:30 +00:00
</center>" );
}
2010-01-16 23:16:58 +00:00
if ( $config [ 'enable_syslog' ]) {
2008-11-04 12:34:30 +00:00
## Open Syslog Div
echo ( "<div style='margin: 4px; clear: both; padding: 5px;'>
<h3>Recent Syslog Messages</h3>
" );
2010-02-19 01:40:38 +00:00
$sql = "SELECT *, DATE_FORMAT(timestamp, '%D %b %T') AS date from syslog ORDER BY timestamp DESC LIMIT 20" ;
2008-11-04 12:34:30 +00:00
$query = mysql_query ( $sql );
echo ( "<table cellspacing=0 cellpadding=2 width=100%>" );
2010-01-29 21:10:05 +00:00
while ( $entry = mysql_fetch_array ( $query )) {
$entry = array_merge ( $entry , device_by_id_cache ( $entry [ 'device_id' ]));
include ( "includes/print-syslog.inc" );
}
2008-11-04 12:34:30 +00:00
echo ( "</table>" );
echo ( "</div>" ); ## Close Syslog Div
} else {
## Open eventlog Div
echo ( "<div style='margin: 4px; clear: both; padding: 5px;'>
<h3>Recent Eventlog Entries</h3>
" );
if ( $_SESSION [ 'userlevel' ] == '10' ) {
$query = "SELECT *,DATE_FORMAT(datetime, '%D %b %T') as humandate FROM `eventlog` ORDER BY `datetime` DESC LIMIT 0,15" ;
} else {
$query = "SELECT *,DATE_FORMAT(datetime, '%D %b %T') as humandate FROM `eventlog` AS E, devices_perms AS P WHERE E.host =
P.device_id AND P.user_id = " . $_SESSION [ 'user_id' ] . " ORDER BY `datetime` DESC LIMIT 0,15" ;
}
$data = mysql_query ( $query );
echo ( "<table cellspacing=0 cellpadding=1 width=100%>" );
while ( $entry = mysql_fetch_array ( $data )) {
include ( "includes/print-event.inc" );
}
echo ( "</table>" );
echo ( "</div>" ); ## Close Syslog Div
}
echo ( "</div>" );
?>