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; + "; + } +} +?> + +
+ + +
+ +
+ +query($sql)) { + + if ($erg->num_rows) { + echo "Gefundene Einträge: " . $erg->num_rows . "

"; + } else { + echo "Keine Datensätze gefunden.

"; + } + + while ($datensatz = $erg->fetch_object()) { + $daten[] = $datensatz; + } + + $erg->free(); +} + +echo "

Ergebnis:

"; + +if (empty($daten)) { + echo "Keine Daten vorhanden."; +} else { + + echo '
'; + + echo ''; + + echo ""; + foreach ($daten[0] as $spaltenname => $wert) { + echo ""; + } + echo ""; + + foreach ($daten as $row) { + echo ""; + foreach ($row as $value) { + echo ""; + } + echo ""; + } + + echo "
" . htmlspecialchars($spaltenname ?? '') . "
" . htmlspecialchars($value ?? '') . "
"; + echo "
"; +} + + + +exit; +?> \ No newline at end of file diff --git a/WEBROOT/templates/ServicesDashboardButtons.php b/WEBROOT/templates/ServicesDashboardButtons.php index cc0baf0..037d916 100644 --- a/WEBROOT/templates/ServicesDashboardButtons.php +++ b/WEBROOT/templates/ServicesDashboardButtons.php @@ -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], ]], -]; +]; \ No newline at end of file