diff --git a/html/pages/front/default.php b/html/pages/front/default.php index 854d269381..cf0185ce5f 100644 --- a/html/pages/front/default.php +++ b/html/pages/front/default.php @@ -76,20 +76,23 @@ if (isset($config['enable_bgp']) && $config['enable_bgp']) } } -if ($_SESSION['userlevel'] == '10') +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) { -$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"); -} - -while ($device = mysql_fetch_assoc($sql)) -{ - generate_front_box("#aaffaa", "
|
+ 0)
+{
+ $uptimesql = " AND A.attrib_value < '" . $config['uptime_warning'] . "'";
+}
+
+$sql = mysql_query("SELECT * FROM `devices` AS D, `devices_attribs` AS A WHERE D.status = '1' AND A.device_id = D.device_id AND A.attrib_type = 'uptime' AND A.attrib_value > '0' " . $uptimesql);
+
+while ($device = mysql_fetch_assoc($sql)){
+ unset($already);
+ $i = 0;
+ while ($i <= count($nodes)) {
+ $thisnode = $device['device_id'];
+ if ($nodes[$i] == $thisnode) {
+ $already = "yes";
+ }
+ $i++;
+ }
+ if (!$already) { $nodes[] = $device['device_id']; }
+}
+
+
+$sql = mysql_query("SELECT * FROM `devices` WHERE `status` = '0' AND `ignore` = '0'");
+while ($device = mysql_fetch_assoc($sql)){
+ if (device_permitted($device['device_id'])) {
+ echo("
+ ".generate_device_link($device, shorthost($device['hostname']))." ");
+ }
+}
+
+if ($config['warn']['ifdown']) {
+
+$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'");
+while ($interface = mysql_fetch_assoc($sql)){
+ if (port_permitted($interface['interface_id'])) {
+ echo("+ Device Down + ".truncate($device['location'], 35)." +
+ ".generate_device_link($interface, shorthost($interface['hostname']))." ");
+ }
+}
+
+}
+
+$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'");
+while ($service = mysql_fetch_assoc($sql)){
+ if (device_permitted($service['device_id'])) {
+ echo("+ Port Down + ".generate_port_link($interface, makeshortif($interface['ifDescr']))." + ".truncate($interface['ifAlias'], 15)." +
+ ".generate_device_link($service, shorthost($service['hostname']))." ");
+ }
+}
+
+$sql = mysql_query("SELECT * FROM `devices` AS D, bgpPeers AS B WHERE bgpPeerAdminStatus = 'start' AND bgpPeerState != 'established' AND B.device_id = D.device_id");
+while ($peer = mysql_fetch_assoc($sql)){
+ if (device_permitted($peer['device_id'])) {
+ echo("+ Service Down + ".$service['service_type']." + ".truncate($interface['ifAlias'], 15)." +
+ ".generate_device_link($peer, shorthost($peer['hostname']))." ");
+ }
+}
+
+if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0)
+{
+ $sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE A.attrib_value < '" . $config['uptime_warning'] . "' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'");
+ while ($device = mysql_fetch_assoc($sql)){
+ if (device_permitted($device['device_id']) && $device['attrib_value'] < $config['uptime_warning'] && $device['attrib_type'] == "uptime") {
+ echo("+ BGP Down + ".$peer['bgpPeerIdentifier']." + AS".$peer['bgpPeerRemoteAs']." ".truncate($peer['astext'], 10)." +
+ ".generate_device_link($device, shorthost($device['hostname']))." ");
+ }
+ }
+}
+
+
+echo("
+
+ + Device Rebooted + ".formatUptime($device['attrib_value'])." + $errorboxes
+
+
+
+ Recent Syslog Messages+ +"); + +$sql = "SELECT *, DATE_FORMAT(timestamp, '%D %b %T') AS date from syslog,devices WHERE syslog.device_id = devices.device_id ORDER BY seq DESC LIMIT 20"; +$query = mysql_query($sql); +echo(" |
+ ");
+
+
+/// this stuff can be customised to show whatever you want....
+
+if ($_SESSION['userlevel'] >= '5')
+{
+
+ $sql = "select * from ports as I, devices as D WHERE `ifAlias` like 'Transit: %' AND I.device_id = D.device_id ORDER BY I.ifAlias";
+ $query = mysql_query($sql);
+ unset ($seperator);
+ while ($interface = mysql_fetch_assoc($query)) {
+ $ports['transit'] .= $seperator . $interface['interface_id'];
+ $seperator = ",";
+ }
+
+ $sql = "select * from ports as I, devices as D WHERE `ifAlias` like 'Peering: %' AND I.device_id = D.device_id ORDER BY I.ifAlias";
+ $query = mysql_query($sql);
+ unset ($seperator);
+ while ($interface = mysql_fetch_assoc($query)) {
+ $ports['peering'] .= $seperator . $interface['interface_id'];
+ $seperator = ",";
+ }
+
+ $sql = "select * from ports as I, devices as D WHERE `ifAlias` like 'Core: %' AND I.device_id = D.device_id ORDER BY I.ifAlias";
+ $query = mysql_query($sql);
+ unset ($seperator);
+ while ($interface = mysql_fetch_assoc($query)) {
+ $ports['core'] .= $seperator . $interface['interface_id'];
+ $seperator = ",";
+ }
+
+ echo(" ");
+
+ if ($ports['peering'] && $ports['transit']) {
+ echo("");
+ }
+
+ echo(" ");
+
+ echo("");
+
+ if ($ports['transit']) {
+ echo("");
+ }
+
+ if ($ports['peering']) {
+ echo("");
+ }
+
+
+ if ($ports['core']) {
+ echo("");
+ }
+
+ echo(" ");
+
+}
+
+?>
+ |
+
+