# TODO Zentrale Sammlung aller TODO-Markierungen im Repository (Stand: 13. Februar 2026). Hinweis: Die Eintraege sind direkt aus den Quelldateien aggregiert. ## app\api\connections.php - [ ] L15: // TODO: Single-User-Auth prüfen - [ ] L61: // TODO: Kontext definieren (Standort, Rack, Floor, gesamtes Netz) - [ ] L117: // TODO: Validierung - [ ] L182: // TODO: Prüfen, ob Verbindung existiert ## app\api\device_type_ports.php - [ ] L15: // TODO: Single-User-Auth prüfen - [ ] L96: // TODO: Transaktion starten (falls SQL-Klasse das unterstützt) - [ ] L100: // TODO: Validierung: - [ ] L163: // TODO: Prüfen, ob Port existiert und nicht verwendet wird ## app\api\upload.php - [ ] L18: // TODO: Single-User-Auth prüfen - [ ] L25: // TODO: Upload-Basisverzeichnis aus config.php - [ ] L35: // TODO: Max. Dateigröße festlegen (z.B. 5MB) - [ ] L77: // TODO: Kategorie definieren (device_types, floors, racks, etc.) - [ ] L95: // TODO: Eindeutigen Namen besser definieren (UUID?) - [ ] L114: // TODO: Optional in Tabelle `uploads` speichern ## app\assets\js\app.js - [ ] L15: deviceTypes: [], // TODO: alle Gerätetypen laden - [ ] L16: devices: [], // TODO: alle Geräte laden - [ ] L17: racks: [], // TODO: alle Racks laden - [ ] L18: floors: [], // TODO: alle Floors laden - [ ] L19: connections: [], // TODO: alle Verbindungen laden - [ ] L33: // TODO: import / init svg-editor.js - [ ] L39: // TODO: import / init network-view.js - [ ] L45: // TODO: init drag & drop logic - [ ] L59: // TODO: Save-Button Device-Type - [ ] L64: // TODO: Save Device-Type via AJAX - [ ] L68: // TODO: Save-Button Device - [ ] L73: // TODO: Save Device via AJAX - [ ] L77: // TODO: Save-Button Floor - [ ] L82: // TODO: Save Floor via AJAX - [ ] L86: // TODO: Save-Button Rack - [ ] L91: // TODO: Save Rack via AJAX - [ ] L95: // TODO: Weitere Event-Handler (Import, Export, Filter) - [ ] L132: // TODO: weitere Utility-Funktionen (DOM-Helper, SVG-Helper, etc.) ## app\assets\js\dashboard.js - [ ] L75: // TODO: Dashboard-Container ermitteln - [ ] L78: // TODO: Module rendern - [ ] L81: // TODO: Optional: Status-Daten laden (Counts, Warnings) - [ ] L117: // TODO: loadStats() → Anzahl Geräte, offene Ports, unverbundene Dosen - [ ] L118: // TODO: showWarnings() → unverbundene Ports, VLAN-Konflikte - [ ] L119: // TODO: RecentChanges() → letzte Änderungen ## app\assets\js\network-view.js - [ ] L20: // TODO: Standort / Rack / View-Kontext vom Backend setzen - [ ] L23: // TODO: API-Endpunkte definieren - [ ] L79: // TODO: Datenstruktur validieren - [ ] L123: // TODO: Gerätetyp (SVG oder JPG) korrekt laden - [ ] L144: // TODO: Ports als kleine Kreise anlegen (Position aus Portdefinition) - [ ] L145: // TODO: Ports klickbar machen (für Verbindungs-Erstellung) - [ ] L157: // TODO: Quell- & Ziel-Port-Koordinaten berechnen - [ ] L158: // TODO: unterschiedliche Verbindungstypen (Farbe, Strichart, Dicke) - [ ] L217: // TODO: Positionen optional automatisch speichern - [ ] L232: // TODO: Sidebar mit Gerätedetails füllen - [ ] L254: // TODO: Erfolg / Fehler anzeigen - [ ] L289: // TODO: Delete -> Gerät entfernen? ## app\assets\js\svg-editor.js - [ ] L20: // TODO: vom Backend setzen (z. B. via data-Attribut) - [ ] L23: // TODO: API-Endpunkte festlegen - [ ] L74: // TODO: Modifier-Key prüfen (z. B. nur mit SHIFT neuen Port erstellen?) - [ ] L86: port_type_id: null, // TODO: Default-Porttyp? - [ ] L134: // TODO: Sidebar-Felder mit Portdaten füllen - [ ] L178: // TODO: Sicherheitsabfrage (confirm) - [ ] L184: // TODO: Sidebar zurücksetzen - [ ] L200: // TODO: Datenformat validieren - [ ] L222: // TODO: Erfolg / Fehler anzeigen ## app\bootstrap.php - [ ] L16: // TODO: Config-Datei mit DB-Zugang, Pfaden, globalen Settings füllen - [ ] L22: // TODO: Single-User Auth prüfen - [ ] L30: // TODO: Host, User, Passwort, DB aus config.php nutzen ## app\index.php - [ ] L19: // TODO: Session starten / Single-User-Auth prüfen - [ ] L37: // TODO: Fehlerseite anzeigen, nutze renderClientError(...) - [ ] L42: // TODO: Fehlerseite anzeigen, nutze renderClientError(...) - [ ] L61: // TODO: Fehlerseite oder 404, nutze renderClientError(...) ## app\lib\auth.php - [ ] L24: // TODO: Session-Variable definieren, z.B. $_SESSION['auth'] === true - [ ] L40: // TODO: Passwort aus config.php vergleichen - [ ] L41: // TODO: Passwort-Hash verwenden (password_hash / password_verify) - [ ] L62: // TODO: Session-Variablen löschen - [ ] L65: // TODO: Optional komplette Session zerstören - [ ] L79: // TODO: Redirect auf Login-Seite ## app\lib\helpers.php - [ ] L300: // TODO: Weitere Helfer nach Bedarf ## app\modules\buildings\edit.php - [ ] L176: // TODO: AJAX-Delete implementieren ## app\modules\buildings\list.php - [ ] L245: // TODO: AJAX-Delete implementieren ## app\modules\connections\list.php - [ ] L198: - [ ] L207: ## app\modules\device_types\edit.php - [ ] L18: //TODO port hinzufügen geht nicht - [ ] L378: // TODO: AJAX-Delete implementieren ## app\modules\device_types\list.php - [ ] L252: // TODO: AJAX-Delete implementieren ## app\modules\device_types\ports.php - [ ] L12: // TODO: bootstrap laden - [ ] L15: // TODO: Auth erzwingen - [ ] L22: // TODO: device_type_id aus GET lesen - [ ] L25: // TODO: Gerätetyp laden - [ ] L28: // TODO: Ports dieses Gerätetyps laden - [ ] L43: - [ ] L59: - [ ] L60: - [ ] L109: - [ ] L113: - [ ] L117: - [ ] L120: - [ ] L123: - [ ] L126: - [ ] L161: - [ ] L262: * TODO: Replace this mock logic with real AJAX once ports are ## app\modules\devices\list.php - [ ] L206: //TODO löschen geht nicht ## app\modules\floor_infrastructure\edit.php - [ ] L277: //TODO drag an drop auf der stockwerkskarte für die patchfelder und wandbuchsen. buchsen haben eine einheitliche größe, und sind quadratisch, patchfelder sind auch für sich einheitlich, sind rechteckig und breiter als hoch - [ ] L278: //TODO style in css files einsortieren ## app\modules\floor_infrastructure\list.php - [ ] L143:

//TODO: SVG-Editor mit Drag & Drop für diese Objekte erweitern (siehe Stockwerke-Modul).

## app\modules\floors\list.php - [ ] L237: // TODO: AJAX-Delete implementieren ## app\modules\locations\edit.php - [ ] L157: // TODO: AJAX-Delete implementieren ## app\modules\locations\list.php - [ ] L134: //TODO design schlecht, mach es hübscher - [ ] L208: //TODO style in css file ## app\modules\racks\edit.php - [ ] L201: // TODO: AJAX-Delete implementieren - [ ] L221: - [ ] L237: - [ ] L251: // TODO: Rack-ID aus PHP setzen - [ ] L254: // TODO: Gerätepositionen an JS übergeben ## app\modules\racks\list.php - [ ] L255: // TODO: AJAX-Delete implementieren ## app\templates\footer.php - [ ] L14: - [ ] L17: ## app\templates\header.php - [ ] L24: ## app\templates\layout.php - [ ] L11: * TODO: In Zukunft: zentrales Template-System (z.B. mit $content) - [ ] L18: ## BUGS.md - [ ] L3: - [ ] TODO Design vereinheitlichen ## doc\DATABASE.md - [ ] L126: **TODO** ## IMPLEMENTATION_STATUS.md - [ ] L80: - [ ] **Delete-Funktionen** - Löschen noch als TODO (als AJAX implementieren) - [ ] L109: │ └── auth.php 🚧 TODO: Auth ## init.sql - [ ] L372: -- TODO: Port-Konfiguration (Patchpanel ↔ Patchpanel, Patchpanel ↔ Netzwerkbuchse) wird über die `connections`-Tabelle geregelt. ## NEXT_STEPS.md - [ ] L74: ## 🔧 Bekannte TODOs im Code - [ ] L76: Alle noch offenen Punkte sind mit `// TODO:` gekennzeichnet: - [ ] L79: # Alle TODOs finden: - [ ] L80: grep -r "TODO:" app/modules/ --include="*.php" - [ ] L83: Wichtigste TODOs: ## README.md - [ ] L241: ### TODO: Patchpanel-Infrastruktur - [ ] L253: - TODO: SVG-Editor um Drag & Drop für diese Objekte erweitern und Klicks direkt mit dem Modul verbinden. - [ ] //TODO infrastruktur patchfelder löschen soll implementiert werden. ## Topologie-Abgleich (16. Februar 2026) - [ ] #TODO: `connections.port_a_type` und `connections.port_b_type` um einen Patchpanel-Port-Typ erweitern (z. B. `patchpanel`) und auf `floor_patchpanel_ports.id` referenzieren. - [ ] #TODO: Business-Regeln fuer Topologie in der Verbindungs-Validierung hinterlegen: Patchpanel-Port nur mit Patchpanel-Port oder Netzwerkbuchsen-Port verbinden. - [ ] #TODO: Port-CRUD fuer Patchpanels ergaenzen: `floor_patchpanel_ports` beim Speichern aus `port_count` erzeugen/synchronisieren. - [ ] #TODO: Port-CRUD fuer Netzwerkbuchsen ergaenzen: `network_outlet_ports` pflegen (mindestens ein Port je Buchse) und fuer Verbindungen nutzbar machen.