feat: new Calender mit dates

This commit is contained in:
Tower committed 2026-01-20 19:43:02 +01:00
1 parent 563c7e8d6f
commit 0ae458f5b4
2 files changed
+135 -1

No files matched your search

+133
View File
@@ -0,0 +1,133 @@
<?php
include_once '../controller/LogController.php';
include_once '../controller/DatabaseConnect.php';
// logging();
$conn = db_connect();
echo "<h1>Datenbank auslesen um " . date("H:i:s") . "</h1>";
echo '<br>';
$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("<b style='color:red'>Gefährliche Query blockiert! ($bad gefunden)</b>");
}
}
if (stripos($customQuery, "SELECT") !== 0) {
die("<b style='color:red'>Nur SELECT-Befehle sind erlaubt!</b>");
}
$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;
";
}
}
?>
<form method="GET">
<label><b>Log-Filter auswählen:</b></label>
<select name="filter" onchange="this.form.submit()">
<option value="alle" <?= $filter == 'alle' ? 'selected' : '' ?>>Alle</option>
<option value="Firma" <?= $filter == 'Firma' ? 'selected' : '' ?>>Firma</option>
<option value="Urlaub" <?= $filter == 'Urlaub' ? 'selected' : '' ?>>Urlaub</option>
<option value="Berufsschule" <?= $filter == 'Berufsschule' ? 'selected' : '' ?>>Berufsschule</option>
<option value="andere" <?= $filter == 'andere' ? 'selected' : '' ?>>andere</option>
</select>
</form>
<br>
<?php
$daten = [];
if ($erg = $conn->query($sql)) {
if ($erg->num_rows) {
echo "<b>Gefundene Einträge: " . $erg->num_rows . "</b><br><br>";
} else {
echo "<b>Keine Datensätze gefunden.</b><br><br>";
}
while ($datensatz = $erg->fetch_object()) {
$daten[] = $datensatz;
}
$erg->free();
}
echo "<h2>Ergebnis:</h2>";
if (empty($daten)) {
echo "<b>Keine Daten vorhanden.</b>";
} else {
echo '<div style="max-width: 100%; overflow-x: auto;">';
echo '<table border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse; width:100%; font-family:Arial; font-size:14px;">';
echo "<tr style='background:#f0f0f0; font-weight:bold;'>";
foreach ($daten[0] as $spaltenname => $wert) {
echo "<th style='text-align:left; padding:6px; word-break:break-word; white-space:normal;'>" . htmlspecialchars($spaltenname ?? '') . "</th>";
}
echo "</tr>";
foreach ($daten as $row) {
echo "<tr>";
foreach ($row as $value) {
echo "<td style='padding:6px; word-break:break-word; white-space:normal; max-width:300px;'>" . htmlspecialchars($value ?? '') . "</td>";
}
echo "</tr>";
}
echo "</table>";
echo "</div>";
}
exit;
?>
@@ -12,6 +12,7 @@ $buttons = [
["name" => "Stundenplan Bruno", "link" => "$routing=/services/StundenplanBruno.php", "color" => $buttoncoloractive],
["name" => "Arbeitsberichte Erstellen", "link" => "$routing=/services/Berichte/Arbeitsberichte/ArbeitsberichteErstellen.php", "color" => $buttoncoloractive],
["name" => "Berufsschulberichte Erstellen", "link" => "$routing=/services/Berichte/Berufsschulberichte/BerufsschulberichtErstellen.php", "color" => $buttoncoloractive],
["name" => "Kalender", "link" => "$routing=/services/KalenderShow.php", "color" => $buttoncoloractive],
]],
["section" => "Webserver", "buttons" => [
@@ -21,4 +22,4 @@ $buttons = [
["name" => "Blackpi-Webcam", "link" => "../../GLOBAL/routes.php/?website=/Webcam/", "color" => $buttoncolorinactive],
]],
];
];