$sql->single("SELECT COUNT(*) as cnt FROM devices", "", [])['cnt'] ?? 0, 'device_types' => $sql->single("SELECT COUNT(*) as cnt FROM device_types", "", [])['cnt'] ?? 0, 'racks' => $sql->single("SELECT COUNT(*) as cnt FROM racks", "", [])['cnt'] ?? 0, 'floors' => $sql->single("SELECT COUNT(*) as cnt FROM floors", "", [])['cnt'] ?? 0, 'locations' => $sql->single("SELECT COUNT(*) as cnt FROM locations", "", [])['cnt'] ?? 0, ]; $recentDevices = $sql->get( "SELECT d.id, d.name, dt.name as type_name, r.name as rack_name, f.name as floor_name FROM devices d LEFT JOIN device_types dt ON d.device_type_id = dt.id LEFT JOIN racks r ON d.rack_id = r.id LEFT JOIN floors f ON r.floor_id = f.id ORDER BY d.id DESC LIMIT 5", "", [] ); $topologyDevices = $sql->get( "SELECT d.id AS device_id, d.name AS device_name, dt.name AS device_type_name, r.id AS rack_id, r.name AS rack_name, f.id AS floor_id, f.name AS floor_name FROM devices d LEFT JOIN device_types dt ON dt.id = d.device_type_id LEFT JOIN racks r ON r.id = d.rack_id LEFT JOIN floors f ON f.id = r.floor_id ORDER BY floor_name, rack_name, device_name", "", [] ); $topologyPayload = array_map(static function (array $row): array { return [ 'device_id' => (int)($row['device_id'] ?? 0), 'device_name' => (string)($row['device_name'] ?? ''), 'device_type_name' => (string)($row['device_type_name'] ?? ''), 'rack_id' => (int)($row['rack_id'] ?? 0), 'rack_name' => (string)($row['rack_name'] ?? ''), 'floor_id' => (int)($row['floor_id'] ?? 0), 'floor_name' => (string)($row['floor_name'] ?? ''), ]; }, $topologyDevices); ?>

Dashboard

Gesamt-Topologie-Wand

Mausrad zoomt, Ziehen verschiebt. Klick auf einen Punkt zoomt auf den Rack-Kontext und oeffnet die Detailkarte.

Standorte

Verwalten ->

Geraetetypen

Verwalten ->

Geraete

Verwalten ->

Racks

Verwalten ->

Zuletzt hinzugefuegt

Name Typ Rack Stockwerk
Bearbeiten

Noch keine Geraete vorhanden. Starten Sie mit Geraetetypen.