diff --git a/app/index.php b/app/index.php
index 78c3bbc..c1f8614 100644
--- a/app/index.php
+++ b/app/index.php
@@ -27,7 +27,7 @@ $module = $_GET['module'] ?? 'dashboard';
$action = $_GET['action'] ?? 'list';
// Whitelist der Module
-$validModules = ['dashboard', 'locations', 'buildings', 'device_types', 'devices', 'racks', 'floors', 'connections'];
+$validModules = ['dashboard', 'locations', 'buildings', 'device_types', 'devices', 'racks', 'floors', 'connections', 'port_types'];
// Whitelist der Aktionen
$validActions = ['list', 'edit', 'save', 'ports', 'delete'];
diff --git a/app/modules/port_types/edit.php b/app/modules/port_types/edit.php
new file mode 100644
index 0000000..9334b4d
--- /dev/null
+++ b/app/modules/port_types/edit.php
@@ -0,0 +1,168 @@
+ 0) {
+ $portType = $sql->single(
+ "SELECT * FROM port_types WHERE id = ?",
+ "i",
+ [$portTypeId]
+ );
+}
+
+$isEdit = !empty($portType);
+$pageTitle = $isEdit ? "Porttyp bearbeiten: " . htmlspecialchars($portType['name']) : "Neuen Porttyp anlegen";
+$mediaOptions = ['copper' => 'Kupfer', 'fiber' => 'Lichtwelle', 'coax' => 'Koax', 'other' => 'Sonstiges'];
+
+$error = $_SESSION['error'] ?? '';
+unset($_SESSION['error']);
+
+?>
+
+
+
+
diff --git a/app/modules/port_types/list.php b/app/modules/port_types/list.php
new file mode 100644
index 0000000..d0a7725
--- /dev/null
+++ b/app/modules/port_types/list.php
@@ -0,0 +1,189 @@
+get(
+ "SELECT * FROM port_types
+ $whereSql
+ ORDER BY name",
+ $types,
+ $params
+);
+
+$success = $_SESSION['success'] ?? '';
+unset($_SESSION['success']);
+
+?>
+
+
+
Porttypen
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Name |
+ Medium |
+ Beschreibung |
+ Aktionen |
+
+
+
+
+
+ |
+ |
+ |
+
+ Bearbeiten
+ |
+
+
+
+
+
+
+
+
+
+
diff --git a/app/modules/port_types/save.php b/app/modules/port_types/save.php
new file mode 100644
index 0000000..9461db3
--- /dev/null
+++ b/app/modules/port_types/save.php
@@ -0,0 +1,54 @@
+ 0) {
+ $sql->set(
+ "UPDATE port_types SET name = ?, medium = ?, comment = ? WHERE id = ?",
+ "sssi",
+ [$name, $medium, $comment, $portTypeId]
+ );
+ $_SESSION['success'] = "Porttyp aktualisiert";
+} else {
+ $sql->set(
+ "INSERT INTO port_types (name, medium, comment) VALUES (?, ?, ?)",
+ "sss",
+ [$name, $medium, $comment]
+ );
+ $_SESSION['success'] = "Porttyp erstellt";
+}
+
+header('Location: ?module=port_types&action=list');
+exit;
diff --git a/app/templates/header.php b/app/templates/header.php
index 68533a8..ec773f8 100644
--- a/app/templates/header.php
+++ b/app/templates/header.php
@@ -35,6 +35,7 @@
'locations' => 'Standorte',
'buildings' => 'Gebäude',
'device_types' => 'Gerätetypen',
+ 'port_types' => 'Porttypen',
'devices' => 'Geräte',
'racks' => 'Racks',
'floors' => 'Stockwerke',