sensors()->where(function (Builder $query) use ($ent) { return $query->where('entPhysicalIndex', $ent['entPhysicalIndex']) ->orWhere('sensor_index', $ent['entPhysicalIndex']); })->get(); echo "
  • "; if ($ent['entPhysicalClass'] == 'chassis') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'module') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'port') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'container') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'sensor') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'backplane') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'stack') { echo ' '; } elseif ($ent['entPhysicalClass'] == 'powerSupply') { echo ' '; } if ($ent['entPhysicalParentRelPos'] > '-1') { echo '' . $ent['entPhysicalParentRelPos'] . '. '; } $display_entPhysicalName = $ent['entPhysicalName']; if ($ent['ifIndex']) { $interface = get_port_by_ifIndex($device['device_id'], $ent['ifIndex']); $interface = cleanPort($interface); $display_entPhysicalName = generate_port_link($interface); } if ($ent['entPhysicalModelName'] && $display_entPhysicalName) { echo '' . $ent['entPhysicalModelName'] . ' (' . $display_entPhysicalName . ')'; } elseif ($ent['entPhysicalModelName']) { echo '' . $ent['entPhysicalModelName'] . ''; } elseif (is_numeric($ent['entPhysicalName']) && $ent['entPhysicalVendorType']) { echo '' . $ent['entPhysicalName'] . ' ' . $ent['entPhysicalVendorType'] . ''; } elseif ($display_entPhysicalName) { echo '' . $display_entPhysicalName . ''; } elseif ($ent['entPhysicalDescr']) { echo '' . $ent['entPhysicalDescr'] . ''; } // Display matching sensor value (without descr, as we have only one) if ($sensors->count() == 1) { foreach ($sensors as $sensor) { echo "sensor_class . "/' onmouseover=\"return overlib('sensor_id . '&type=sensor_' . $sensor->sensor_class . '&from=-2d&to=now&width=400&height=150&a=' . $ent['entPhysical_id'] . "\'>sensor_id . '&type=sensor_' . $sensor->sensor_class . '&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();\">"; //echo "" . $sensor->sensor_class . ': ' . $sensor->sensor_descr . ''; echo ' '; echo $sensor->sensor_class == 'state' ? get_state_label($sensor->toArray()) : get_sensor_label_color($sensor->toArray()); echo ''; } } // display entity state $entState = dbFetchRow( 'SELECT * FROM `entityState` WHERE `device_id`=? && `entPhysical_id`=?', [$device['device_id'], $ent['entPhysical_id']] ); if (! empty($entState)) { $display_states = [ // 'entStateAdmin', 'entStateOper', 'entStateUsage', 'entStateStandby', ]; foreach ($display_states as $state_name) { $value = $entState[$state_name]; $display = parse_entity_state($state_name, $value); echo " "; echo $display['text']; echo ' '; } // ignore none and unavailable alarms if ($entState['entStateAlarm'] != '00' && $entState['entStateAlarm'] != '80') { $alarms = parse_entity_state_alarm($entState['entStateAlarm']); echo '
    '; echo "Alarms: "; foreach ($alarms as $alarm) { echo " {$alarm['text']}"; } echo ''; } } echo "
    " . $ent['entPhysicalDescr']; if ($ent['entPhysicalAlias'] && $ent['entPhysicalAssetID']) { echo '
    Alias: ' . $ent['entPhysicalAlias'] . ' - AssetID: ' . $ent['entPhysicalAssetID']; } elseif ($ent['entPhysicalAlias']) { echo '
    Alias: ' . $ent['entPhysicalAlias']; } elseif ($ent['entPhysicalAssetID']) { echo '
    AssetID: ' . $ent['entPhysicalAssetID']; } if ($ent['entPhysicalSerialNum']) { echo "
    Serial No. " . $ent['entPhysicalSerialNum'] . ' '; } // Display sensors values with their descr, as we have more than one attached to this entPhysical if ($sensors->count() > 1) { echo "
    Sensors:'; } echo '
    '; $count = dbFetchCell("SELECT COUNT(*) FROM `entPhysical` WHERE device_id = '" . $device['device_id'] . "' AND entPhysicalContainedIn = '" . $ent['entPhysicalIndex'] . "'"); if ($count) { echo ''; } echo '
  • '; }//end foreach }//end printEntPhysical() echo "
    Expand All Nodes Collapse All Nodes
    "; echo "
    '; $pagetitle = 'Inventory';