コード例 #1
0
ファイル: entphysical.inc.php プロジェクト: awlx/librenms
function printEntPhysical($ent, $level, $class)
{
    global $device;
    $ents = dbFetchRows('SELECT * FROM `entPhysical` WHERE device_id = ? AND entPhysicalContainedIn = ? ORDER BY entPhysicalContainedIn,entPhysicalIndex', array($device['device_id'], $ent));
    foreach ($ents as $ent) {
        echo "\n <li class='{$class}'>";
        if ($ent['entPhysicalClass'] == 'chassis') {
            echo "<img src='images/16/server.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == 'module') {
            echo "<img src='images/16/drive.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == 'port') {
            echo "<img src='images/16/connect.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == 'container') {
            echo "<img src='images/16/box.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == 'sensor') {
            echo "<img src='images/16/contrast.png' style='vertical-align:middle'/> ";
            $sensor = dbFetchRow('SELECT * FROM `sensors` WHERE `device_id` = ? AND (`entPhysicalIndex` = ? OR `sensor_index` = ?)', array($device['device_id'], $ent['entPhysicalIndex'], $ent['entPhysicalIndex']));
            if (count($sensor)) {
                $link = " href='device/device=" . $device['device_id'] . '/tab=health/metric=' . $sensor['sensor_class'] . "/' onmouseover=\"return overlib('<img src=\\'graph.php?id=" . $sensor['sensor_id'] . '&amp;type=sensor_' . $sensor['sensor_class'] . '&amp;from=-2d&amp;to=now&amp;width=400&amp;height=150&amp;a=' . $ent['entPhysical_id'] . "\\'><img src=\\'graph.php?id=" . $sensor['sensor_id'] . '&amp;type=sensor_' . $sensor['sensor_class'] . '&amp;from=-2w&amp;to=now&amp;width=400&amp;height=150&amp;a=' . $ent['entPhysical_id'] . "\\'>', LEFT,FGCOLOR,'#e5e5e5', BGCOLOR, '#c0c0c0', BORDER, 5, CELLPAD, 4, CAPCOLOR, '#050505');\" onmouseout=\"return nd();\"";
            }
        } else {
            unset($link);
        }
        if ($ent['entPhysicalClass'] == 'backplane') {
            echo "<img src='images/16/brick.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalParentRelPos'] > '-1') {
            echo '<strong>' . $ent['entPhysicalParentRelPos'] . '.</strong> ';
        }
        if ($link) {
            echo "<a {$link}>";
        }
        if ($ent['ifIndex']) {
            $interface = dbFetchRow('SELECT * FROM `ports` WHERE ifIndex = ? AND device_id = ?', array($ent['ifIndex'], $device['device_id']));
            $ent['entPhysicalName'] = generate_port_link($interface);
        }
        if ($ent['entPhysicalModelName'] && $ent['entPhysicalName']) {
            echo '<strong>' . $ent['entPhysicalModelName'] . '</strong> (' . $ent['entPhysicalName'] . ')';
        } elseif ($ent['entPhysicalModelName']) {
            echo '<strong>' . $ent['entPhysicalModelName'] . '</strong>';
        } elseif (is_numeric($ent['entPhysicalName']) && $ent['entPhysicalVendorType']) {
            echo '<strong>' . $ent['entPhysicalName'] . ' ' . $ent['entPhysicalVendorType'] . '</strong>';
        } elseif ($ent['entPhysicalName']) {
            echo '<strong>' . $ent['entPhysicalName'] . '</strong>';
        } elseif ($ent['entPhysicalDescr']) {
            echo '<strong>' . $ent['entPhysicalDescr'] . '</strong>';
        }
        if ($ent['entPhysicalClass'] == 'sensor') {
            echo ' (' . $ent['entSensorValue'] . ' ' . $ent['entSensorType'] . ')';
        }
        echo "<br /><div class='interface-desc' style='margin-left: 20px;'>" . $ent['entPhysicalDescr'];
        if ($link) {
            echo '</a>';
        }
        if ($ent['entPhysicalSerialNum']) {
            echo " <br /><span style='color: #000099;'>Serial No. " . $ent['entPhysicalSerialNum'] . '</span> ';
        }
        echo '</div>';
        $count = dbFetchCell("SELECT COUNT(*) FROM `entPhysical` WHERE device_id = '" . $device['device_id'] . "' AND entPhysicalContainedIn = '" . $ent['entPhysicalIndex'] . "'");
        if ($count) {
            echo '<ul>';
            printEntPhysical($ent['entPhysicalIndex'], $level + 1, '');
            echo '</ul>';
        }
        echo '</li>';
    }
    //end foreach
}
コード例 #2
0
function printEntPhysical($ent, $level, $class)
{
    global $device;
    $query = mysql_query("SELECT * FROM `entPhysical` WHERE device_id = '" . $_GET['id'] . "' AND entPhysicalContainedIn = '" . $ent . "' ORDER BY entPhysicalContainedIn,entPhysicalIndex");
    while ($ent = mysql_fetch_array($query)) {
        echo "\n    <li class='{$class}'>";
        if ($ent['entPhysicalClass'] == "chassis") {
            echo "<img src='images/16/server.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == "module") {
            echo "<img src='images/16/drive.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == "port") {
            echo "<img src='images/16/connect.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == "container") {
            echo "<img src='images/16/box.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalClass'] == "sensor") {
            echo "<img src='images/16/contrast.png' style='vertical-align:middle'/> ";
            $link = " href='" . $config['base_url'] . "/device/" . $device['device_id'] . "/ciscosensors/" . $ent['entSensorType'] . "/' onmouseover=\"return overlib('<img src=\\'graph.php?host=49&type=cisco_entity_sensor&from=-2d&to=now&width=400&height=150&a=" . $ent['entPhysical_id'] . "\\'><img src=\\'graph.php?host=49&type=cisco_entity_sensor&from=-2w&to=now&width=400&height=150&a=" . $ent['entPhysical_id'] . "\\'>', LEFT,FGCOLOR,'#e5e5e5', BGCOLOR, '#c0c0c0', BORDER, 5, CELLPAD, 4, CAPCOLOR, '#050505');\" onmouseout=\"return nd();\"";
        } else {
            unset($link);
        }
        if ($ent['entPhysicalClass'] == "backplane") {
            echo "<img src='images/16/brick.png' style='vertical-align:middle'/> ";
        }
        if ($ent['entPhysicalParentRelPos'] > '-1') {
            echo "<strong>" . $ent['entPhysicalParentRelPos'] . ".</strong> ";
        }
        if ($link) {
            echo "<a {$link}>";
        }
        if ($ent['ifIndex']) {
            $interface = mysql_fetch_array(mysql_query("SELECT * FROM `ports` WHERE ifIndex = '" . $ent['ifIndex'] . "' AND device_id = '" . $device['device_id'] . "'"));
            $ent['entPhysicalName'] = generateiflink($interface);
        }
        if ($ent['entPhysicalModelName'] && $ent['entPhysicalName']) {
            echo "<strong>" . $ent['entPhysicalModelName'] . "</strong> (" . $ent['entPhysicalName'] . ")";
        } elseif ($ent['entPhysicalModelName']) {
            echo "<strong>" . $ent['entPhysicalModelName'] . "</strong>";
        } elseif ($ent['entPhysicalName']) {
            echo "<strong>" . $ent['entPhysicalName'] . "</strong>";
        } elseif ($ent['entPhysicalDescr']) {
            echo "<strong>" . $ent['entPhysicalDescr'] . "</strong>";
        }
        if ($ent['entPhysicalClass'] == "sensor") {
            echo " (" . $ent['entSensorValue'] . " " . $ent['entSensorType'] . ")";
        }
        echo "<br /><div class='interface-desc' style='margin-left: 20px;'>" . $ent['entPhysicalDescr'];
        if ($link) {
            echo "</a>";
        }
        if ($ent['entPhysicalSerialNum']) {
            echo " <br /><span style='color: #000099;'>Serial No. " . $ent['entPhysicalSerialNum'] . "</span> ";
        }
        echo "</div>";
        $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `entPhysical` WHERE device_id = '" . $_GET['id'] . "' AND entPhysicalContainedIn = '" . $ent['entPhysicalIndex'] . "'"), 0);
        if ($count) {
            echo "<ul>";
            printEntPhysical($ent['entPhysicalIndex'], $level + 1, '');
            echo "</ul>";
        }
        echo "</li>";
    }
}