get( "SELECT id, name, svg_path FROM floors ORDER BY name", "", [] ); $where = ''; $types = ''; $params = []; if ($floorId > 0) { $where = "WHERE p.floor_id = ?"; $types = 'i'; $params[] = $floorId; } $patchPanels = $sql->get( "SELECT p.*, f.name AS floor_name FROM floor_patchpanels p LEFT JOIN floors f ON f.id = p.floor_id $where ORDER BY f.name, p.name", $types, $params ); $networkOutlets = $sql->get( "SELECT o.id, o.room_id, o.name, o.x, o.y, o.comment, r.name AS room_name, r.number AS room_number, f.name AS floor_name, f.id AS floor_id, GROUP_CONCAT(nop.name ORDER BY nop.name SEPARATOR ', ') AS port_names FROM network_outlets o LEFT JOIN rooms r ON r.id = o.room_id LEFT JOIN floors f ON f.id = r.floor_id LEFT JOIN network_outlet_ports nop ON nop.outlet_id = o.id GROUP BY o.id ORDER BY f.name, r.name, o.name", "", [] ); $floorMap = []; foreach ($floors as $floor) { $id = (int)$floor['id']; $svgPath = trim((string)($floor['svg_path'] ?? '')); $floorMap[$id] = [ 'id' => $id, 'name' => (string)($floor['name'] ?? ''), 'svg_url' => $svgPath !== '' ? '/' . ltrim($svgPath, '/\\') : '' ]; } $editorFloor = ($floorId > 0 && isset($floorMap[$floorId])) ? $floorMap[$floorId] : null; $editorPatchPanels = []; $editorOutlets = []; if ($editorFloor) { foreach ($patchPanels as $panel) { if ((int)$panel['floor_id'] !== $floorId) { continue; } $editorPatchPanels[] = [ 'id' => (int)$panel['id'], 'name' => (string)$panel['name'], 'x' => (int)$panel['pos_x'], 'y' => (int)$panel['pos_y'], 'width' => max(1, (int)$panel['width']), 'height' => max(1, (int)$panel['height']), 'port_count' => (int)$panel['port_count'], 'comment' => (string)($panel['comment'] ?? '') ]; } foreach ($networkOutlets as $outlet) { if ((int)$outlet['floor_id'] !== $floorId) { continue; } $editorOutlets[] = [ 'id' => (int)$outlet['id'], 'name' => (string)$outlet['name'], 'x' => (int)$outlet['x'], 'y' => (int)$outlet['y'], 'room_name' => (string)($outlet['room_name'] ?? ''), 'room_number' => (string)($outlet['room_number'] ?? ''), 'port_names' => (string)($outlet['port_names'] ?? ''), 'comment' => (string)($outlet['comment'] ?? '') ]; } } ?>

Stockwerksinfrastruktur

+ Patchpanel hinzufuegen + Wandbuchse hinzufuegen
Zuruecksetzen

Stockwerkskarte

Bitte ein Stockwerk auswaehlen, um die Karte anzuzeigen.

Gewaehltes Stockwerk wurde nicht gefunden.

Das gewaehlte Stockwerk hat keinen SVG-Plan hinterlegt.

Read-only Vorschau fuer . Alle Objekte werden angezeigt; Hover zeigt Details.

Stockwerksplan

Blau: Patchpanel | Gruen: Wandbuchse. Hover zeigt Name, Raum und Ports (Browser-Tooltip).

Patchpanels

Name Stockwerk Position Groesse Ports Aktionen
Bearbeiten

Noch keine Patchpanels definiert.

Wandbuchsen

Name Stockwerk Raum Koordinaten Ports Kommentar Aktionen
Bearbeiten

Noch keine Wandbuchsen angelegt.