diff --git a/WEBROOT/services/KalenderShow.php b/WEBROOT/services/KalenderShow.php
new file mode 100644
index 0000000..34db822
--- /dev/null
+++ b/WEBROOT/services/KalenderShow.php
@@ -0,0 +1,133 @@
+Datenbank auslesen um " . date("H:i:s") . "";
+echo '
';
+
+$filter = $_GET['filter'] ?? 'alle';
+
+$customQuery = $_POST['custom_query'] ?? '';
+$useCustom = false;
+
+if ($customQuery) {
+ $forbidden = ['DELETE', 'UPDATE', 'INSERT', 'DROP', 'ALTER', 'TRUNCATE'];
+ $upper = strtoupper($customQuery);
+
+ foreach ($forbidden as $bad) {
+ if (strpos($upper, $bad) !== false) {
+ die("Gefährliche Query blockiert! ($bad gefunden)");
+ }
+ }
+
+ if (stripos($customQuery, "SELECT") !== 0) {
+ die("Nur SELECT-Befehle sind erlaubt!");
+ }
+
+ $sql = $customQuery;
+ $useCustom = true;
+}
+
+if (!$useCustom) {
+ switch ($filter) {
+ case 'Firma':
+ $sql = "
+ SELECT DATUM, EVENT FROM Kalender WHERE EVENT LIKE '%Firma%';
+ ";
+ break;
+
+ case 'Urlaub':
+ $sql = "
+ SELECT DATUM, EVENT FROM Kalender WHERE EVENT LIKE '%Urlaub%';
+ ";
+ break;
+
+ case 'Berufsschule':
+ $sql = "
+ SELECT DATUM, EVENT FROM Kalender WHERE EVENT LIKE '%Berufsschule%';
+ ";
+ break;
+
+ case 'andere':
+ $sql = "
+ SELECT DATUM, EVENT FROM Kalender WHERE EVENT NOT LIKE '%Berufsschule%' AND EVENT NOT LIKE '%Urlaub%' AND EVENT NOT LIKE '%Firma%' ORDER BY DATUM;
+
+ ";
+ break;
+
+ case 'alle':
+ default:
+ $sql = "
+ SELECT DATUM, EVENT FROM Kalender ORDER BY DATUM;
+ ";
+ }
+}
+?>
+
+
| " . htmlspecialchars($spaltenname ?? '') . " | "; + } + echo "
|---|
| " . htmlspecialchars($value ?? '') . " | "; + } + echo "