0) { // UPDATE $sql->set( "UPDATE connections SET port_a_type = ?, port_a_id = ?, port_b_type = ?, port_b_id = ?, vlan_config = ?, comment = ? WHERE id = ?", "siisisi", [$portAType, $portAId, $portBType, $portBId, $vlanJson, $comment, $connId] ); } else { // INSERT $sql->set( "INSERT INTO connections (port_a_type, port_a_id, port_b_type, port_b_id, vlan_config, comment) VALUES (?, ?, ?, ?, ?, ?)", "siisis", [$portAType, $portAId, $portBType, $portBId, $vlanJson, $comment] ); } $_SESSION['success'] = "Verbindung gespeichert"; // ========================= // Redirect // ========================= header('Location: ?module=connections&action=list'); exit; "type": "device_position" | "port_position" | "network_layout" | ... "entity_id": 123, "payload": { ... } } */ // TODO: Pflichtfelder prüfen // $type = $data['type'] ?? null; // $entityId = $data['entity_id'] ?? null; // $payload = $data['payload'] ?? null; // ========================= // Routing nach Typ // ========================= switch ($type ?? null) { case 'device_position': // TODO: // - Gerät-ID validieren // - SVG-Koordinaten speichern // - ggf. Zoom / Rotation break; case 'port_position': // TODO: // - Device-Type-Port-ID // - Koordinaten relativ zum SVG break; case 'network_layout': // TODO: // - Kontext (Standort / Rack) // - Gerätepositionen // - Verbindungskurven break; default: http_response_code(400); echo json_encode([ 'error' => 'Unknown save type' ]); exit; } // ========================= // Antwort // ========================= // TODO: Erfolg / Fehler zurückgeben echo json_encode([ 'status' => 'ok' ]);