move POST in functions

This commit is contained in:
root 2025-07-08 21:31:18 +02:00
parent 3a69c173ba
commit 8623d5c522
4 changed files with 116 additions and 102 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
// Login // Login
// Die Seite hat Extra-Funktionen, wenn ein Admin sie aufruft // TODO code mit AlleSchichten.php consolidieren
require_once 'konfiguration.php'; require_once 'konfiguration.php';
SESSION_START(); SESSION_START();
require 'SQL.php'; require 'SQL.php';
@ -12,22 +12,22 @@ $pagename = "Alle Schichten / Schichten hinzufügen"; // name of th
$backlink = "AdminHelferUebersicht.php"; // back button in table header from table header $backlink = "AdminHelferUebersicht.php"; // back button in table header from table header
$header = PageHeader($pagename); $header = PageHeader($pagename);
$tablehead = TableHeader($pagename,$backlink); $tablehead = TableHeader($pagename,$backlink);
function AlleSchichtenCheckPOST($db_link,$HelferID,$AdminStatus,$AdminID) { // Admin Seite setzt HelferID aus AliasHelferID, sonst bleibt wie aus _login.php gesetzt normale Seite nicht
// POST vor HTML Ausgabe function AlleSchichtenCheckPOST($db_link,$ZielHelferID,$AdminStatus,$AdminID) {
if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Wenn es ein Admin ist ZielHelferID AliasHelferID, sonst HelferID
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Neu Schicht fuer Helfer Eintragen // Neu Schicht fuer Helfer Eintragen
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
$messages = []; $messages = [];
if (isset($_POST['plusschicht'])) { if (isset($_POST['plusschicht'])) {
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf, // Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen // indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID; $_SESSION["SchichtIdAktiv"] = $SchichtID = $_POST['plusschicht'];
if (empty($messages)) { if (empty($messages)) {
// Helfer Schicht zuweisen // Helfer Schicht zuweisen
// wenn es ein Admin ist, die AdminID übergeben, ansonsten 0 // wenn es ein Admin ist, die AdminID übergeben, ansonsten 0
// TODO: immer AdminID angeben, die Funktionen in SQL testen, ob HelferID==AdminID // TODO: immer AdminID angeben, die Funktionen in SQL testen, ob ZielHelferID==AdminID
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0); $db_erg = HelferSchichtZuweisen($db_link, $ZielHelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0);
$HelferName = ''; $HelferName = '';
$HelferEmail = ''; $HelferEmail = '';
@ -46,13 +46,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['minusschicht'])) { if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen // Mich aus Schicht entfernen
$messages = []; $messages = [];
$SchichtID = $_POST['minusschicht']; // Nutzer hat hier zuletzt etwas geaendert und wir klappen das deshalb auf:
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf: $_SESSION["SchichtIdAktiv"] = $SchichtID = $_POST['minusschicht'];
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) { if (empty($messages)) {
// Helfer aus Schicht entfernen // Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0); $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $ZielHelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0);
} else { } else {
// Fehlermeldungen ausgeben: // Fehlermeldungen ausgeben:
echo '<div class="error"><ul>'; echo '<div class="error"><ul>';
@ -63,21 +62,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
exit; exit;
} }
} }
// Wenn es ein Admin wird ZielHelferID AliasHelferID, sonst HelferID
if ($AdminStatus == 1 && isset($_POST['AliasHelferID'])){
$_SESSION["AliasHelferID"] = $_POST['AliasHelferID'];
}
header("Location: " . $_SERVER['PHP_SELF']); header("Location: " . $_SERVER['PHP_SELF']);
// Wenn es ein Admin ist HelferID AliasHelferID
if ($AdminStatus == 1){
if (isset($_POST['AliasHelferID'])) {
$HelferID = $_POST['AliasHelferID'];
} elseif (isset($_SESSION["AliasHelferID"])) {
$HelferID = $_SESSION["AliasHelferID"];
// ansonsten bleibt es die HelferID des Admins
}
HelferAuswahlButton($db_link, $HelferID);
} }
} }
} // Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf
$SchichtID = $_SESSION["SchichtIdAktiv"] ?? "";
$HelferID = $_SESSION["AliasHelferID"] ?? $HelferID; // Alias nur Adminseite
// POST vor HTML Ausgabe
AlleSchichtenCheckPOST($db_link,$HelferID,$AdminStatus,$AdminID); AlleSchichtenCheckPOST($db_link,$HelferID,$AdminStatus,$AdminID);
echo $header; echo $header;
HelferAuswahlButton($db_link, $HelferID); // Admin Button welcher Helfer bearbeitet wird
?> ?>
<a href="AdminHelferUebersicht.php"> <a href="AdminHelferUebersicht.php">
<button name="BackHelferdaten"> <button name="BackHelferdaten">

View File

@ -1,6 +1,6 @@
<?php <?php
// Login // Login
// User Seite, TODO code mit AdminAlleSchichten.php consolidieren // TODO code mit AdminAlleSchichten.php consolidieren
require_once 'konfiguration.php'; require_once 'konfiguration.php';
SESSION_START(); SESSION_START();
require 'SQL.php'; require 'SQL.php';
@ -12,21 +12,22 @@ $pagename = "Alle Schichten"; // name of this page
$backlink = "index.php"; // back button in table header from table header $backlink = "index.php"; // back button in table header from table header
$header = PageHeader($pagename); $header = PageHeader($pagename);
$tablehead = TableHeader($pagename,$backlink); $tablehead = TableHeader($pagename,$backlink);
// POST vor HTML Ausgabe // Admin Seite setzt HelferID aus AliasHelferID, sonst bleibt wie aus _login.php gesetzt normale Seite nicht
if ($_SERVER['REQUEST_METHOD'] === 'POST') { function AlleSchichtenCheckPOST($db_link,$ZielHelferID,$AdminStatus,$AdminID) {
// Wenn es ein Admin ist ZielHelferID AliasHelferID, sonst HelferID
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Neu Schicht fuer Helfer Eintragen // Neu Schicht fuer Helfer Eintragen
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
$messages = []; $messages = [];
if (isset($_POST['plusschicht'])) { if (isset($_POST['plusschicht'])) {
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf, // Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen // indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID; $_SESSION["SchichtIdAktiv"] = $SchichtID = $_POST['plusschicht'];
if (empty($messages)) { if (empty($messages)) {
// Helfer Schicht zuweisen // Helfer Schicht zuweisen
// wenn es ein Admin ist, die AdminID übergeben, ansonsten 0 // wenn es ein Admin ist, die AdminID übergeben, ansonsten 0
// TODO: immer AdminID angeben, die Funktionen in SQL testen, ob HelferID==AdminID // TODO: immer AdminID angeben, die Funktionen in SQL testen, ob ZielHelferID==AdminID
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0); $db_erg = HelferSchichtZuweisen($db_link, $ZielHelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0);
$HelferName = ''; $HelferName = '';
$HelferEmail = ''; $HelferEmail = '';
@ -45,13 +46,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['minusschicht'])) { if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen // Mich aus Schicht entfernen
$messages = []; $messages = [];
$SchichtID = $_POST['minusschicht']; // Nutzer hat hier zuletzt etwas geaendert und wir klappen das deshalb auf:
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf: $_SESSION["SchichtIdAktiv"] = $SchichtID = $_POST['minusschicht'];
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) { if (empty($messages)) {
// Helfer aus Schicht entfernen // Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0); $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $ZielHelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0);
} else { } else {
// Fehlermeldungen ausgeben: // Fehlermeldungen ausgeben:
echo '<div class="error"><ul>'; echo '<div class="error"><ul>';
@ -62,8 +62,17 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
exit; exit;
} }
} }
// Wenn es ein Admin wird ZielHelferID AliasHelferID, sonst HelferID
if ($AdminStatus == 1 && isset($_POST['AliasHelferID'])){
$_SESSION["AliasHelferID"] = $_POST['AliasHelferID'];
}
header("Location: " . $_SERVER['PHP_SELF']); header("Location: " . $_SERVER['PHP_SELF']);
}
} }
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf
$SchichtID = $_SESSION["SchichtIdAktiv"] ?? "";
// POST vor HTML Ausgabe
AlleSchichtenCheckPOST($db_link,$HelferID,$AdminStatus,$AdminID);
echo $header; echo $header;
?> ?>
<a href="index.php"> <a href="index.php">

View File

@ -2,7 +2,7 @@
require_once 'konfiguration.php'; require_once 'konfiguration.php';
function PageHeader ($pagename, $eventname = EVENTNAME){ function PageHeader ($pagename, $eventname = EVENTNAME, $jquery = JQUERY){
$header = <<<HEADER $header = <<<HEADER
<!doctype html> <!doctype html>
<html> <html>
@ -12,6 +12,9 @@ function PageHeader ($pagename, $eventname = EVENTNAME){
<link rel="stylesheet" href="css/style_desktop.css" media="screen and (min-width:781px)"/> <link rel="stylesheet" href="css/style_desktop.css" media="screen and (min-width:781px)"/>
<link rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:780px)"/> <link rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:780px)"/>
<meta name="viewport" content="width=480" /> <meta name="viewport" content="width=480" />
<script src="$jquery" type="text/javascript"></script>
<script src="js/helferdb.js" type="text/javascript"></script>
<script> collapse_table_rows();</script>
</head> </head>
<body> <body>
HEADER; //<?vim this bracket is just here for vim syntax highlighting HEADER; //<?vim this bracket is just here for vim syntax highlighting

View File

@ -1,3 +1,7 @@
$(document).ready(function() {
console.log("jQuery is ready!");
});
function showPassword(id) function showPassword(id)
{ {
var x = document.getElementById(id); var x = document.getElementById(id);