} if (!match_network($addy . "/" . $mask, $interface['ipv4_address'])) { $ignore = 1; } } if (!$ignore) { if (is_integer($row / 2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } $speed = humanspeed($interface['ifSpeed']); $type = humanmedia($interface['ifType']); list($prefix, $length) = explode("/", $interface['ipv4_network']); if ($interface['in_errors'] > 0 || $interface['out_errors'] > 0) { $error_img = generateiflink($interface, "<img src='images/16/chart_curve_error.png' alt='Interface Errors' border=0>", errors); } else { $error_img = ""; } if (interfacepermitted($interface['interface_id'])) { echo '<tr bgcolor="' . $row_colour . '"> <td class="list-bold">' . generatedevicelink($interface) . '</td> <td class="list-bold">' . generateiflink($interface, makeshortif(fixifname($interface['ifDescr']))) . ' ' . $error_img . '</td> <td>' . $interface['ipv4_address'] . '/' . $length . '</td> <td>' . $interface['ifAlias'] . "</td>\n </tr>\n"; $row++; } } unset($ignore); } echo "</table>";
<?php if ($device['status'] == '0') { $class = "list-device-down"; } else { $class = "list-device"; } if ($device['ignore'] == '1') { $class = "list-device-ignored"; if ($device['status'] == '1') { $class = "list-device-ignored-up"; } } $type = strtolower($device['os']); unset($image); $image = getImage($device['device_id']); echo "\n <tr bgcolor={$device_colour}>\n <td width='40' align=center valign=middle>{$image}</td>\n <td valign=middle><span style='font-weight: bold; font-size: 20px;'>" . generatedevicelink($device) . "</span>\n " . generatedevicemgmntlink($device) . "\n <br />" . $device['location'] . "</td>\n <td></td>\n </tr>";
<th width="100">Alert</th> <th>Notes</th> </tr>'; $row = 1; while ($fan = mysql_fetch_array($query)) { if (is_integer($row / 2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } $weekly_fan = "graph.php?id=" . $fan['fan_id'] . "&type=fanspeed&from={$week}&to={$now}&width=500&height=150"; $fan_popup = "<a onmouseover=\"return overlib('<img src=\\'{$weekly_fan}\\'>', LEFT);\" onmouseout=\"return nd();\">\n " . $fan['fan_descr'] . "</a>"; if ($fan['fan_current'] <= $fan['fan_limit']) { $alert = '<img src="images/16/flag_red.png" alt="alert" />'; } else { $alert = ""; } $fan_day = "graph.php?id=" . $fan['fan_id'] . "&type=fanspeed&from={$day}&to={$now}&width=300&height=100"; $fan_week = "graph.php?id=" . $fan['fan_id'] . "&type=fanspeed&from={$week}&to={$now}&width=300&height=100"; $fan_month = "graph.php?id=" . $fan['fan_id'] . "&type=fanspeed&from={$month}&to={$now}&width=300&height=100"; $fan_year = "graph.php?id=" . $fan['fan_id'] . "&type=fanspeed&from={$year}&to={$now}&width=300&height=100"; $fan_minigraph = "<img src='graph.php?id=" . $fan['fan_id'] . "&type=fanspeed&from={$day}&to={$now}&width=100&height=20'"; $fan_minigraph .= " onmouseover=\"return overlib('<div class=list-large>" . $fan['hostname'] . " - " . $fan['fan_descr']; $fan_minigraph .= "</div><div style=\\'width: 750px\\'><img src=\\'{$fan_day}\\'><img src=\\'{$fan_week}\\'><img src=\\'{$fan_month}\\'><img src=\\'{$fan_year}\\'></div>', RIGHT" . $config['overlib_defaults'] . ");\" onmouseout=\"return nd();\" >"; echo "<tr bgcolor={$row_colour}>\n <td class=list-bold>" . generatedevicelink($fan) . "</td>\n <td>{$fan_popup}</td>\n\t <td>{$fan_minigraph}</td>\n\t <td width=100>{$alert}</td>\n <td style='text-align: center; font-weight: bold;'>" . $fan['fan_current'] . " rpm</td>\n <td style='text-align: center'>" . $fan['fan_limit'] . " rpm</td>\n <td>" . (isset($fan['fan_notes']) ? $fan['fan_notes'] : '') . "</td>\n </tr>\n"; $row++; } echo "</table>"; ?>
$where .= " AND I.ifAlias LIKE '%" . $_POST['ifAlias'] . "%'"; } if ($_POST['deleted'] || $_GET['type'] == "deleted") { $where .= " AND I.deleted = '1'"; } $sql = "SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id {$where} ORDER BY D.hostname, I.ifIndex"; $query = mysql_query($sql); echo "<tr class=tablehead><td></td><th>Device</a></th><th>Interface</th><th>Speed</th><th>Media</th><th>Description</th></tr>"; $row = 1; while ($interface = mysql_fetch_array($query)) { if (is_integer($row / 2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } $speed = humanspeed($interface['ifSpeed']); $type = humanmedia($interface['ifType']); if ($interface['in_errors'] > 0 || $interface['out_errors'] > 0) { $error_img = generateiflink($interface, "<img src='images/16/chart_curve_error.png' alt='Interface Errors' border=0>", errors); } else { $error_img = ""; } if (interfacepermitted($interface['interface_id'])) { echo "<tr bgcolor={$row_colour}>\n <td width=5></td>\n <td width=200 class=list-bold>" . generatedevicelink($interface) . "</td>\n <td width=150 class=list-bold>" . generateiflink($interface, makeshortif(fixifname($interface['ifDescr']))) . " {$error_img}</td>\n <td width=110 >{$speed}</td>\n <td width=200>{$type}</td>\n <td>" . $interface['ifAlias'] . "</td>\n </tr>\n"; $row++; } } echo "</table>"; ?>
include "includes/print-interface-graphs.inc.php"; echo "</td></tr>"; $sql = "select * from ports as I, devices as D WHERE {$type_where} AND I.device_id = D.device_id ORDER BY I.ifAlias"; $query = mysql_query($sql); while ($interface = mysql_fetch_array($query)) { $done = "yes"; unset($class); $interface['ifAlias'] = str_ireplace($type . ": ", "", $interface['ifAlias']); $interface['ifAlias'] = str_ireplace("[PNI]", "Private", $interface['ifAlias']); $ifclass = ifclass($interface['ifOperStatus'], $interface['ifAdminStatus']); if ($bg == "#ffffff") { $bg = "#e5e5e5"; } else { $bg = "#ffffff"; } echo "<tr bgcolor='{$bg}'>\n <td><span class=list-large>" . generateiflink($interface, $interface['ifAlias']) . "</span><br /> \n <span class=interface-desc style='float: left;'>" . generatedevicelink($interface) . " " . generateiflink($interface) . " </span>"; if (mysql_result(mysql_query("SELECT count(*) FROM mac_accounting WHERE interface_id = '" . $interface['interface_id'] . "'"), 0)) { echo "<span style='float: right;'><a href='" . $config['base_url'] . "/device/" . $interface['device_id'] . "/interface/" . $interface['interface_id'] . "/macaccounting/'><img src='/images/16/chart_curve.png' align='absmiddle'> MAC Accounting</a></span>"; } echo "</td></tr><tr bgcolor='{$bg}'><td>"; if (file_exists($config['rrd_dir'] . "/" . $interface['hostname'] . "/" . $interface['ifIndex'] . ".rrd")) { $graph_type = "port_bits"; include "includes/print-interface-graphs.inc.php"; } echo "</td></tr>"; } #} echo "</table>"; if (!$done) { echo "None found."; }
echo " <b style='color: #a10000;'>v6</b>"; } if ($int_links_v4[$int_link]) { echo " <b style='color: #00a100'>v4</b>"; } $br = "<br />"; } # unset($int_links, $int_links_v6, $int_links_v4, $int_links_phys, $br); } $pseudowires = mysql_query("SELECT * FROM `pseudowires` WHERE `interface_id` = '" . $interface['interface_id'] . "'"); while ($pseudowire = mysql_fetch_array($pseudowires)) { #`interface_id`,`peer_device_id`,`peer_ldp_id`,`cpwVcID`,`cpwOid` $pw_peer_dev = mysql_fetch_array(mysql_query("SELECT * from `devices` WHERE `device_id` = '" . $pseudowire['peer_device_id'] . "'")); $pw_peer_int = mysql_fetch_array(mysql_query("SELECT * from `ports` AS I, pseudowires AS P WHERE I.device_id = '" . $pseudowire['peer_device_id'] . "' AND\n P.cpwVcID = '" . $pseudowire['cpwVcID'] . "' AND\n P.interface_id = I.interface_id")); $pw_peer_int = ifNameDescr($pw_peer_int); echo "{$br}<img src='images/16/arrow_switch.png' align=absmiddle><b> " . generateiflink($pw_peer_int, makeshortif($pw_peer_int['label'])) . " on " . generatedevicelink($pw_peer_dev, shorthost($pw_peer_dev['hostname'])) . "</b>"; $br = "<br />"; } $members = mysql_query("SELECT * FROM `ports` WHERE `pagpGroupIfIndex` = '" . $interface['ifIndex'] . "' and `device_id` = '" . $device['device_id'] . "'"); while ($member = mysql_fetch_array($members)) { echo "{$br}<img src='images/16/brick_link.png' align=absmiddle> <strong>" . generateiflink($member) . " (PAgP)</strong>"; $br = "<br />"; } if ($interface['pagpGroupIfIndex'] && $interface['pagpGroupIfIndex'] != $interface['ifIndex']) { $parent = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE `ifIndex` = '" . $interface['pagpGroupIfIndex'] . "' and `device_id` = '" . $device['device_id'] . "'")); echo "{$br}<img src='images/16/bricks.png' align=absmiddle> <strong>" . generateiflink($parent) . " (PAgP)</strong>"; $br = "<br />"; } unset($int_links, $int_links_v6, $int_links_v4, $int_links_phys, $br); echo "</td></tr>"; // If we're showing graphs, generate the graph and print the img tags
} if ($peer['bgpPeerRemoteAs'] == $peer['bgpLocalAs']) { $peer_type = "<span style='color: #00f;'>iBGP</span>"; } else { $peer_type = "<span style='color: #0a0;'>eBGP</span>"; if ($peer['bgpPeerRemoteAS'] >= '64512' && $peer['bgpPeerRemoteAS'] <= '65535') { $peer_type = "<span style='color: #f00;'>Priv eBGP</span>"; } } $peerhost = mysql_fetch_array(mysql_query("SELECT * FROM ipaddr AS A, ports AS I, devices AS D WHERE A.addr = '" . $peer['bgpPeerIdentifier'] . "' AND I.interface_id = A.interface_id AND D.device_id = I.device_id")); if ($peerhost) { $peername = generatedevicelink($peerhost, shorthost($peerhost['hostname'])); } else { unset($peername); } echo "<tr bgcolor={$bg_colour} background={$bg_image}>\n <td></td>\n <td width=150><span class=list-large>" . $peer['bgpLocalAddr'] . "</span><br />" . generatedevicelink($peer, shorthost($peer['hostname'])) . "</td>\n\t <td width=30>-></td>\n <td width=150><span class=list-large>" . $peer['bgpPeerIdentifier'] . "</span><br />" . $peername . "</td>\n\t <td width=50><b>{$peer_type}</b></td>\n <td><strong>AS" . $peer['bgpPeerRemoteAs'] . "</strong><br />" . $peer['astext'] . "</td>\n <td><strong><span style='color: {$admin_col};'>" . $peer['bgpPeerAdminStatus'] . "<span><br /><span style='color: {$col};'>" . $peer['bgpPeerState'] . "</span></strong></td>\n <td>" . formatUptime($peer['bgpPeerFsmEstablishedTime']) . "<br />\n Updates <img src='images/16/arrow_down.png' align=absmiddle> " . format_si($peer['bgpPeerInUpdates']) . " \n <img src='images/16/arrow_up.png' align=absmiddle> " . format_si($peer['bgpPeerOutUpdates']) . "</td></tr>"; if ($graphs) { $graph_type = "bgpupdates"; $daily_traffic = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$day}&to={$now}&width=210&height=100"; $daily_url = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$day}&to={$now}&width=500&height=150"; $weekly_traffic = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$week}&to={$now}&width=210&height=100"; $weekly_url = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$week}&to={$now}&width=500&height=150"; $monthly_traffic = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$month}&to={$now}&width=210&height=100"; $monthly_url = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$month}&to={$now}&width=500&height=150"; $yearly_traffic = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$year}&to={$now}&width=210&height=100"; $yearly_url = "graph.php?peer=" . $peer['bgpPeer_id'] . "&type={$graph_type}&from={$year}&to={$now}&width=500&height=150"; echo "<tr><td colspan=6>"; echo "<a href='?page=interface&id=" . $peer['bgpPeer_id'] . "' onmouseover=\"return overlib('<img src=\\'{$daily_url}\\'>', LEFT" . $config['overlib_defaults'] . ");\" onmouseout=\"return nd();\">\n <img src='{$daily_traffic}' border=0></a> "; echo "<a href='?page=interface&id=" . $peer['bgpPeer_id'] . "' onmouseover=\"return overlib('<img src=\\'{$weekly_url}\\'>', LEFT" . $config['overlib_defaults'] . ");\" onmouseout=\"return nd();\">\n <img src='{$weekly_traffic}' border=0></a> "; echo "<a href='?page=interface&id=" . $peer['bgpPeer_id'] . "' onmouseover=\"return overlib('<img src=\\'{$monthly_url}\\'>', LEFT" . $config['overlib_defaults'] . ", WIDTH, 350);\" onmouseout=\"return nd();\">\n <img src='{$monthly_traffic}' border=0></a> "; echo "<a href='?page=interface&id=" . $peer['bgpPeer_id'] . "' onmouseover=\"return overlib('<img src=\\'{$yearly_url}\\'>', LEFT" . $config['overlib_defaults'] . ", WIDTH, 350);\" onmouseout=\"return nd();\">\n <img src='{$yearly_traffic}' border=0></a>";
list(, $customer) = preg_split("/[\\:\\[\\]\\{\\}\\(\\)]/", $interface['ifAlias']); list(, $circuit) = preg_split("/[\\{\\}]/", $interface['ifAlias']); list(, $notes) = preg_split("/[\\(\\)]/", $interface['ifAlias']); list(, $speed) = preg_split("/[\\[\\]]/", $interface['ifAlias']); $customer = trim($customer); if ($customer == $prev_customer) { unset($customer); } else { if (isset($prev_customer)) { echo "<tr bgcolor='{$bg_colour}'><td></td><td colspan=6>\n <img src='" . $config['base_url'] . "/graph.php?cust=" . rawurlencode($prev_customer) . "&type=customer_bits&from={$day}&to={$now}&width=215&height=100'>\n <img src='" . $config['base_url'] . "/graph.php?cust=" . rawurlencode($prev_customer) . "&type=customer_bits&from={$week}&to={$now}&width=215&height=100'>\n <img src='" . $config['base_url'] . "/graph.php?cust=" . rawurlencode($prev_customer) . "&type=customer_bits&from={$month}&to={$now}&width=215&height=100'>\n <img src='" . $config['base_url'] . "/graph.php?cust=" . rawurlencode($prev_customer) . "&type=customer_bits&from={$year}&to={$now}&width=215&height=100'>\n </td></tr>"; } if (is_integer($customers / 2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; } $customers++; $prev_customer = $customer; } if ($device['os'] == "ios") { if ($interface['ifTrunk']) { $vlan = "<span class=box-desc><span class=red>" . $interface['ifTrunk'] . "</span></span>"; } elseif ($interface['ifVlan']) { $vlan = "<span class=box-desc><span class=blue>VLAN " . $interface['ifVlan'] . "</span></span>"; } else { $vlan = ""; } } echo "\n <tr bgcolor='{$bg_colour}'>\n <td width='7'></td>\n <td width='250'><span style='font-weight: bold;' class=interface>{$customer}</span></td>\n <td width='150'>" . generatedevicelink($device) . "</td>\n <td width='100'>" . generateiflink($interface, makeshortif($interface['ifDescr'])) . "</td>\n <td width='100'>{$speed}</td>\n <td width='100'>{$circuit}</td>\n <td>{$notes}</td>\n </tr>\n "; } echo "</table>";
<?php $sql = "SELECT * FROM ipv4_mac AS M, ports AS I WHERE I.interface_id = M.interface_id AND I.device_id = '" . $device['device_id'] . "'"; $query = mysql_query($sql); echo "<table border=0 cellspacing=0 cellpadding=5 width=100%>"; $i = "1"; while ($arp = mysql_fetch_array($query)) { if (!is_integer($i / 2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; } $arp_host = mysql_fetch_array(mysql_query("SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D WHERE A.ipv4_address = '" . $arp['ipv4_address'] . "' AND I.interface_id = A.interface_id AND D.device_id = I.device_id")); if ($arp_host) { $arp_name = generatedevicelink($arp_host); } else { unset($arp_name); } if ($arp_host) { $arp_if = generateiflink($arp_host); } else { unset($arp_if); } if ($arp_host['device_id'] == $device['device_id']) { $arp_name = "Localhost"; } if ($arp_host['interface_id'] == $arp['interface_id']) { $arp_if = "Local Port"; } echo "\n <tr bgcolor={$bg_colour}>\n <td width=200><b>" . generateiflink(array_merge($arp, $device)) . "</b></td>\n <td width=160>" . formatmac($arp['mac_address']) . "</td>\n <td width=140>" . $arp['ipv4_address'] . "</td>\n <td width=200>{$arp_name}</td>\n <td>{$arp_if}</td>\n </tr>"; $i++;
$pw_b = mysql_fetch_array(mysql_query("SELECT * from `devices` AS D, `ports` AS I, `pseudowires` AS P WHERE D.device_id = '" . $pw_a['peer_device_id'] . "' AND\n D.device_id = I.device_id AND\n P.cpwVcID = '" . $pw_a['cpwVcID'] . "' AND\n P.interface_id = I.interface_id")); if (!interfacepermitted($pw_a['interface_id'])) { $skip = "yes"; } if (!interfacepermitted($pw_b['interface_id'])) { $skip = "yes"; } if ($skip) { unset($skip); } else { if ($bg == "ffffff") { $bg = "e5e5e5"; } else { $bg = "ffffff"; } echo "<tr style=\"background-color: #{$bg};\"><td rowspan=2 style='font-size:18px; padding:4px;'>" . $pw_a['cpwVcID'] . "</td><td>" . generatedevicelink($pw_a) . "</td><td>" . generateiflink($pw_a) . "</td>\n <td rowspan=2> <img src='" . $config['base_url'] . "/images/16/arrow_right.png'> </td>\n <td>" . generatedevicelink($pw_b) . "</td><td>" . generateiflink($pw_b) . "</td></tr>"; echo "<tr style=\"background-color: #{$bg};\"><td colspan=2>" . $pw_a['ifAlias'] . "</td><td colspan=2>" . $pw_b['ifAlias'] . "</td></tr>"; if ($opta == "graphs") { echo "<tr style=\"background-color: #{$bg};\"><td></td><td colspan=2>"; if (!$optb) { $optb = "mini"; } if ($pw_a) { $pw_a['width'] = "150"; $pw_a['height'] = "30"; $pw_a['from'] = $day; $pw_a['to'] = $now; $pw_a['bg'] = $bg; $types = array('bits', 'pkts', 'errors'); foreach ($types as $graph_type) { $pw_a['graph_type'] = $graph_type;
<th width="250">Range limit</th> <th>Notes</th> </tr>'; $row = 1; while ($volt = mysql_fetch_array($query)) { if (is_integer($row / 2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } $weekly_volt = "graph.php?id=" . $volt['volt_id'] . "&type=voltage&from={$week}&to={$now}&width=500&height=150"; $volt_popup = "<a onmouseover=\"return overlib('<img src=\\'{$weekly_volt}\\'>', LEFT);\" onmouseout=\"return nd();\">\n " . $volt['volt_descr'] . "</a>"; if ($volt['volt_current'] >= $volt['volt_limit']) { $alert = '<img src="images/16/flag_red.png" alt="alert" />'; } else { $alert = ""; } $volt_day = "graph.php?id=" . $volt['volt_id'] . "&type=voltage&from={$day}&to={$now}&width=300&height=100"; $volt_week = "graph.php?id=" . $volt['volt_id'] . "&type=voltage&from={$week}&to={$now}&width=300&height=100"; $volt_month = "graph.php?id=" . $volt['volt_id'] . "&type=voltage&from={$month}&to={$now}&width=300&height=100"; $volt_year = "graph.php?id=" . $volt['volt_id'] . "&type=voltage&from={$year}&to={$now}&width=300&height=100"; $volt_minigraph = "<img src='graph.php?id=" . $volt['volt_id'] . "&type=voltage&from={$day}&to={$now}&width=100&height=20'"; $volt_minigraph .= " onmouseover=\"return overlib('<div class=list-large>" . $volt['hostname'] . " - " . $volt['volt_descr']; $volt_minigraph .= "</div><div style=\\'width: 750px\\'><img src=\\'{$volt_day}\\'><img src=\\'{$volt_week}\\'><img src=\\'{$volt_month}\\'><img src=\\'{$volt_year}\\'></div>', RIGHT" . $config['overlib_defaults'] . ");\" onmouseout=\"return nd();\" >"; echo "<tr bgcolor={$row_colour}>\n <td class=list-bold>" . generatedevicelink($volt) . "</td>\n <td>{$volt_popup}</td>\n\t <td>{$volt_minigraph}</td>\n\t <td width=100>{$alert}</td>\n <td style='text-align: center; font-weight: bold;'>" . $volt['volt_current'] . "V</td>\n <td style='text-align: center'>" . $volt['volt_limit_low'] . "V - " . $volt['volt_limit'] . "V</td>\n <td>" . (isset($volt['volt_notes']) ? $volt['volt_notes'] : '') . "</td>\n </tr>\n"; $row++; } echo "</table>"; ?>
$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_array($sql)) { if (devicepermitted($service['device_id'])) { echo "<div style='text-align: center; margin: 2px; border: solid 2px #D0D0D0; float: left; margin-right: 2px; padding: 3px; width: 118px; height: 85px; background: #ffddaa;'>\n <strong>" . generatedevicelink($service, shorthost($service['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>Service Down</span><br />\n <strong>" . $service['service_type'] . "</strong><br />\n <span class=body-date-1>" . truncate($interface['ifAlias'], 15) . "</span>\n </center></div>"; } } $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_array($sql)) { if (devicepermitted($peer['device_id'])) { echo "<div style='text-align: center; margin: 2px; border: solid 2px #D0D0D0; float: left; margin-right: 2px; padding: 3px; width: 118px; height: 85px; background: #ffddaa;'>\n <strong>" . generatedevicelink($peer, shorthost($peer['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>BGP Down</span><br /> \n <strong>" . $peer['bgpPeerIdentifier'] . "</strong><br />\n <span class=body-date-1>AS" . $peer['bgpPeerRemoteAs'] . " " . truncate($peer['astext'], 10) . "</span>\n </div>"; } } $sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE A.attrib_value < '84600' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'"); while ($device = mysql_fetch_array($sql)) { if (devicepermitted($device['device_id']) && $device['attrib_value'] < "84600" && $device['attrib_type'] == "uptime") { echo "<div style='text-align: center; margin: 2px; border: solid 2px #D0D0D0; float: left; margin-right: 2px; padding: 3px; width: 118px; height: 85px; background: #ddffdd;'>\n <strong>" . generatedevicelink($device, shorthost($device['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #090;'>Device<br />Rebooted</span><br />\n <span class=body-date-1>" . formatUptime($device['attrib_value']) . "</span>\n </div>"; } } echo "\n\n\t<div style='clear: both;'>{$errorboxes}</div> <div style='margin: 0px; clear: both;'> \n\n<h3>Recent Syslog Messages</h3>\n\n"; $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 "<table cellspacing=0 cellpadding=2 width=100%>"; while ($entry = mysql_fetch_array($query)) { include "includes/print-syslog.inc"; } echo "</table>"; echo "</div>\n\n </td>\n <td bgcolor=#e5e5e5 width=470 valign=top>"; /// 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);
} if ($_POST['part']) { $where .= " AND E.entPhysicalModelName = '" . $_POST['part'] . "'"; } if ($_POST['serial']) { $where .= " AND E.entPhysicalSerialNum LIKE '%" . $_POST['serial'] . "%'"; } if ($_POST['device']) { $where .= " AND D.device_id = '" . $_POST['device'] . "'"; } if ($_SESSION['userlevel'] >= '5') { $sql = "SELECT * from entPhysical AS E, devices AS D WHERE E.device_id = D.device_id {$where} ORDER BY D.hostname"; } else { $sql = "SELECT * from entPhysical AS E, devices AS D, devices_perms AS P \n WHERE E.device_id = D.device_id AND D.device_id = P.device_id {$where} ORDER BY D.hostname"; } $query = mysql_query($sql); echo "<table cellspacing=0 cellpadding=2 width=100%>"; echo "<tr><th>Hostname</th><th>Description</th><th>Name</th><th>Part No</th><th>Serial No</th></tr>"; while ($entry = mysql_fetch_array($query)) { if ($bg == $list_colour_a) { $bg = $list_colour_b; } else { $bg = $list_colour_a; } echo "<tr style=\"background-color: {$bg}\"><td>" . generatedevicelink($entry, shortHost($entry['hostname'])) . "</td><td>" . $entry['entPhysicalDescr'] . "</td><td>" . $entry['entPhysicalName'] . "</td><td>" . $entry['entPhysicalModelName'] . "</td><td>" . $entry['entPhysicalSerialNum'] . "</td></tr>"; } echo "</table>"; ?> </table>
} $perc = round($drive['storage_perc'], 0); $total = formatStorage($drive['storage_size']); $free = formatStorage($drive['storage_free']); $used = formatStorage($drive['storage_used']); $store_url = "graph.php?id=" . $drive['storage_id'] . "&type=storage&from={$month}&to={$now}&width=400&height=125"; $store_popup = "onmouseover=\"return overlib('<img src=\\'{$store_url}\\'>', LEFT);\" onmouseout=\"return nd();\""; $mini_graph = $config['base_url'] . "/graph.php?id=" . $drive['storage_id'] . "&type=storage&from=" . $day . "&to=" . $now . "&width=80&height=20&bg=f4f4f4"; if ($perc > '90') { $left_background = 'c4323f'; $right_background = 'C96A73'; } elseif ($perc > '75') { $left_background = 'bf5d5b'; $right_background = 'd39392'; } elseif ($perc > '50') { $left_background = 'bf875b'; $right_background = 'd3ae92'; } elseif ($perc > '25') { $left_background = '5b93bf'; $right_background = '92b7d3'; } else { $left_background = '9abf5b'; $right_background = 'bbd392'; } echo "<tr bgcolor='{$row_colour}'><td>" . generatedevicelink($drive) . "</td><td class=tablehead>" . $drive['storage_descr'] . "</td>\n <td><img src='{$mini_graph}'></td>\n <td>\n <a href='#' {$store_popup}>" . print_percentage_bar(400, 20, $perc, "{$used} / {$total}", "ffffff", $left_background, formatStorage($free), "ffffff", $right_background) . "</a>\n </td><td>{$perc}" . "%</td></tr>"; $row++; } echo "</table></div>"; ?>
</tr>'; $row = 1; while ($temp = mysql_fetch_array($query)) { if (is_integer($row / 2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } $weekly_temp = "graph.php?id=" . $temp['temp_id'] . "&type=temperature&from={$week}&to={$now}&width=500&height=150"; $temp_popup = "<a onmouseover=\"return overlib('<img src=\\'{$weekly_temp}\\'>', LEFT);\" onmouseout=\"return nd();\">\n " . (empty($temp['user_descr']) ? $temp['temp_descr'] : $temp['user_descr']) . "</a>"; $temp_perc = $temp['temp_current'] / $temp['temp_limit'] * 100; $temp_colour = percent_colour($temp_perc); if ($temp['temp_current'] >= $temp['temp_limit']) { $alert = '<img src="images/16/flag_red.png" alt="alert" />'; } else { $alert = ""; } $temp_day = "graph.php?id=" . $temp['temp_id'] . "&type=temperature&from={$day}&to={$now}&width=300&height=100"; $temp_week = "graph.php?id=" . $temp['temp_id'] . "&type=temperature&from={$week}&to={$now}&width=300&height=100"; $temp_month = "graph.php?id=" . $temp['temp_id'] . "&type=temperature&from={$month}&to={$now}&width=300&height=100"; $temp_year = "graph.php?id=" . $temp['temp_id'] . "&type=temperature&from={$year}&to={$now}&width=300&height=100"; $temp_minigraph = "<img src='graph.php?id=" . $temp['temp_id'] . "&type=temperature&from={$day}&to={$now}&width=100&height=20'"; $temp_minigraph .= " onmouseover=\"return overlib('<div class=list-large>" . $temp['hostname'] . " - " . (empty($temp['user_descr']) ? $temp['temp_descr'] : $temp['user_descr']); $temp_minigraph .= "</div><div style=\\'width: 750px\\'><img src=\\'{$temp_day}\\'><img src=\\'{$temp_week}\\'><img src=\\'{$temp_month}\\'><img src=\\'{$temp_year}\\'></div>', RIGHT" . $config['overlib_defaults'] . ");\" onmouseout=\"return nd();\" >"; echo "<tr bgcolor={$row_colour}>\n <td class=list-bold>" . generatedevicelink($temp) . "</td>\n <td>{$temp_popup}</td>\n\t <td>{$temp_minigraph}</td>\n\t <td width=100>{$alert}</td>\n <td style='color: {$temp_colour}; text-align: center; font-weight: bold;'>" . $temp['temp_current'] . " °C</td>\n <td style='text-align: center'>" . $temp['temp_limit'] . " °C</td>\n <td>" . (isset($temp['temp_notes']) ? $temp['temp_notes'] : '') . "</td>\n </tr>\n"; $row++; } echo "</table>"; ?>
$x = 1; while ($device = mysql_fetch_array($devices)) { if (!is_integer($i / 2)) { if (!is_integer($x / 2)) { $dev_colour = $list_colour_a_a; } else { $dev_colour = $list_colour_a_b; } } else { if (!is_integer($x / 2)) { $dev_colour = $list_colour_b_b; } else { $dev_colour = $list_colour_b_a; } } echo "<tr bgcolor='{$dev_colour}'><td width=150>" . generatedevicelink($device, shorthost($device['hostname'])); if ($device['vrf_name'] != $vrf['vrf_name']) { echo "<a href='#' onmouseover=\" return overlib('Expected Name : " . $vrf['vrf_name'] . "<br />Configured : " . $device['vrf_name'] . "', CAPTION, '<span class=list-large>VRF Inconsistency</span>' ,FGCOLOR,'#e5e5e5', BGCOLOR, '#c0c0c0', BORDER, 5, CELLPAD, 4, CAPCOLOR, '#050505');\" onmouseout=\"return nd();\"> <img align=absmiddle src=images/16/exclamation.png></a>"; } echo "</td><td>"; $ports = mysql_query("SELECT * FROM `ports` WHERE `ifVrf` = '" . $device['vrf_id'] . "' and device_id = '" . $device['device_id'] . "'"); unset($seperator); while ($port = mysql_fetch_array($ports)) { $port = array_merge($device, $port); if ($_GET['opta']) { $port['width'] = "130"; $port['height'] = "30"; $port['from'] = $day; $port['to'] = $now; $port['bg'] = "#" . $bg; $port['graph_type'] = $_GET['opta'];
} $sql = mysql_query("SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id AND D.status = '1' AND ifOperStatus = 'down' AND ifAdminStatus = 'up' AND D.ignore = '0' AND I.ignore = '0'"); while ($interface = mysql_fetch_array($sql)) { echo "<div style='border: solid 2px #D0D0D0; float: left; padding: 5px; width: 120px; height: 90px; background: #ffddaa; margin: 4px;'>\n <center><strong>" . generatedevicelink($interface, shorthost($interface['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>Port Down</span> \n <strong>" . generateiflink($interface, makeshortif($interface['ifDescr'])) . "</strong> <br />\n <span class=body-date-1>" . truncate($interface['ifAlias'], 20) . "</span>\n </center></div>"; } $sql = mysql_query("SELECT * FROM `services` AS S, `devices` AS D WHERE S.device_id = D.device_id AND D.status = '1' AND service_status = 'down' AND D.ignore = '0' AND S.service_ignore = '0'"); while ($service = mysql_fetch_array($sql)) { echo "<div style='border: solid 2px #D0D0D0; float: left; padding: 5px; width: 120px; height: 90px; background: #ffddaa; margin: 4px;'>\n <center><strong>" . generatedevicelink($service, shorthost($service['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>Service Down</span> \n <strong>" . $service['service_type'] . "</strong><br />\n <span class=body-date-1>" . truncate($interface['ifAlias'], 20) . "</span>\n </center></div>"; } $sql = mysql_query("SELECT * FROM `devices` AS D, bgpPeers AS B WHERE D.status = '1' AND bgpPeerState != 'established' AND B.device_id = D.device_id"); while ($peer = mysql_fetch_array($sql)) { echo "<div style='border: solid 2px #d0D0D0; float: left; padding: 5px; width: 120px; height: 90px; background: #ffddaa; margin: 4px;'>\n <center><strong>" . generatedevicelink($peer, shorthost($peer['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>BGP Down</span> \n <strong>" . $peer['bgpPeerIdentifier'] . "</strong> <br />\n <span class=body-date-1>AS" . $peer['bgpPeerRemoteAs'] . " " . truncate($peer['astext'], 10) . "</span>\n </center></div>"; } $sql = mysql_query("SELECT * FROM `devices` WHERE status = '1' AND `uptime` < '84600'"); while ($device = mysql_fetch_array($sql)) { echo "<div style='border: solid 2px #d0D0D0; float: left; padding: 5px; width: 120px; height: 90px; background: #ddffdd; margin: 4px;'>\n <center><strong>" . generatedevicelink($device, shorthost($device['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #090;'>Device<br />Rebooted</span><br /> \n <span class=body-date-1>" . formatUptime($device['uptime']) . "</span>\n </center></div>"; } echo "\n\n\t<div style='clear: both;'>{$errorboxes}</div> <div style='margin: 4px; clear: both;'> \n\n<h3>Recent Syslog Messages</h3>\n\n"; $sql = "SELECT *, DATE_FORMAT(timestamp, '%D %b %T') AS date from syslog AS S, devices AS D \n WHERE S.device_id = D.device_id ORDER BY timestamp DESC LIMIT 20"; $query = mysql_query($sql); echo "<table cellspacing=0 cellpadding=2 width=100%>"; while ($entry = mysql_fetch_array($query)) { include "includes/print-syslog.inc"; } echo "</table>"; echo "</div>\n\n </td>\n <td bgcolor=#e5e5e5 width=275 valign=top>"; /// this stuff can be customised to show whatever you want.... #if($_SESSION['userlevel'] >= '5') { echo "<a onmouseover=\"return overlib('<img src=\\'graph.php?type=bits&if=36" . "&from=" . $day . "&to=" . $now . "&width=400&height=150\\'>', CENTER, LEFT, FGCOLOR, '#e5e5e5', BGCOLOR, '#e5e5e5', WIDTH, 400, HEIGHT, 250);\" onmouseout=\"return nd();\" >" . "<div style='font-size: 18px; font-weight: bold;'>Alpha Traffic</div>" . "<img src='graph.php?type=bits&if=36" . "&from=" . $day . "&to=" . $now . "&width=200&height=100'></a>"; echo "<div style='clear: both; margin-top: 10px;'></div>"; echo "<a onmouseover=\"return overlib('<img src=\\'graph.php?type=hrstorage&id=54" . "&from=" . $day . "&to=" . $now . "&width=400&height=150\\'>', CENTER, LEFT, FGCOLOR, '#e5e5e5', BGCOLOR, '#e5e5e5', WIDTH, 400, HEIGHT, 250);\" onmouseout=\"return nd();\" >" . "<div style='font-size: 18px; font-weight: bold;'>Alpha Storage</div>" . "<img src='graph.php?type=hrstorage&id=54" . "&from=" . $day . "&to=" . $now . "&width=200&height=100'></a>";
if (!$mask) { $mask = "128"; } if (!Net_IPv6::isInNetmask($interface['ipv6_address'], $addy, $mask)) { $ignore = 1; } else { $ignore = 0; } } if (!$ignore) { if (is_integer($row / 2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; } $speed = humanspeed($interface['ifSpeed']); $type = humanmedia($interface['ifType']); list($prefix, $length) = explode("/", $interface['ipv6_network']); if ($interface['in_errors'] > 0 || $interface['out_errors'] > 0) { $error_img = generateiflink($interface, "<img src='images/16/chart_curve_error.png' alt='Interface Errors' border=0>", errors); } else { $error_img = ""; } if (interfacepermitted($interface['interface_id'])) { echo "<tr bgcolor={$row_colour}><td></td>\n <td class=list-bold>" . generatedevicelink($interface) . "</td>\n <td class=list-bold>" . generateiflink($interface, makeshortif(fixifname($interface['ifDescr']))) . " {$error_img}</td>\n <td>" . Net_IPv6::compress($interface['ipv6_address']) . "/" . $length . "</td>\n <td>" . $interface['ifAlias'] . "</td>\n </tr>\n"; $row++; } } unset($ignore); } echo "</table>";
} if ($_SESSION['userlevel'] == '10') { $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"); } else { $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"); } while ($peer = mysql_fetch_array($sql)) { generate_front_box("alert", "<center><strong>" . generatedevicelink($peer, shorthost($peer['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #c00;'>BGP Down</span> \n <span style='" . (strstr($peer['bgpPeerIdentifier'], ':') ? 'font-size: 10px' : '') . "'><strong>" . $peer['bgpPeerIdentifier'] . "</strong></span><br />\n <span title='" . $peer['astext'] . "' class=body-date-1>AS" . $peer['bgpPeerRemoteAs'] . " " . truncate($peer['astext'], 10) . "</span>\n </center>"); } 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"); } while ($device = mysql_fetch_array($sql)) { generate_front_box("info", "<center><strong>" . generatedevicelink($device, shorthost($device['hostname'])) . "</strong><br />\n <span style='font-size: 14px; font-weight: bold; margin: 5px; color: #009;'>Device<br />Rebooted</span><br />\n <span class=body-date-1>" . formatUptime($device['uptime'], 'short') . "</span>\n </center>"); } if ($config['enable_syslog']) { ## Open Syslog Div echo "<div style='margin: 4px; clear: both; padding: 5px;'> \n <h3>Recent Syslog Messages</h3>\n "; if ($_SESSION['userlevel'] == '10') { $sql = "SELECT *,DATE_FORMAT(timestamp, '%D %b %T') as date FROM `syslog` ORDER BY `timestamp` DESC LIMIT 0,15"; } else { $sql = "SELECT *,DATE_FORMAT(timestamp, '%D %b %T') as date FROM `syslog` AS E, devices_perms AS P WHERE\n E.device_id = P.device_id AND P.user_id = " . $_SESSION['user_id'] . " ORDER BY `timestamp` DESC LIMIT 0,15"; } $query = mysql_query($sql); echo "<table cellspacing=0 cellpadding=2 width=100%>"; while ($entry = mysql_fetch_array($query)) { $entry = array_merge($entry, device_by_id_cache($entry['device_id'])); include "includes/print-syslog.inc"; }
$query .= "(A.ipv4_address = '" . $peer['bgpPeerIdentifier'] . "' AND I.interface_id = A.interface_id)"; $query .= " AND D.device_id = I.device_id"; $ipv4_host = mysql_fetch_array(mysql_query($query)); $query = "SELECT * FROM ipv6_addresses AS A, ports AS I, devices AS D WHERE "; $query .= "(A.ipv6_address = '" . $peer['bgpPeerIdentifier'] . "' AND I.interface_id = A.interface_id)"; $query .= " AND D.device_id = I.device_id"; $ipv6_host = mysql_fetch_array(mysql_query($query)); if ($ipv4_host) { $peerhost = $ipv4_host; } elseif ($ipv6_host) { $peerhost = $ipv6_host; } else { unset($peerhost); } if ($peerhost) { $peername = generatedevicelink($peerhost); } else { $peername = gethostbyaddr($peer['bgpPeerIdentifier']); if ($peername == $peer['bgpPeerIdentifier']) { unset($peername); } else { $peername = "<i>" . $peername . "<i>"; } } $af_query = mysql_query("SELECT * FROM `bgpPeers_cbgp` WHERE `device_id` = '" . $device['device_id'] . "' AND bgpPeerIdentifier = '" . $peer['bgpPeerIdentifier'] . "'"); unset($peer_af); while ($afisafi = mysql_fetch_array($af_query)) { $afi = $afisafi['afi']; $safi = $afisafi['safi']; $peer_af .= $sep . $config['afi'][$afi][$safi]; ##### CLEAN ME UP, I AM MESSY AND I SMELL OF CHEESE!