switch everything w variable to prepare + many more fixes

This commit is contained in:
root 2025-06-18 13:37:52 +02:00
parent 8a53f6a895
commit 0c67fbea29
13 changed files with 615 additions and 1445 deletions

View File

@ -11,7 +11,7 @@ if ($AdminStatus != 1) {
echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>'; echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>';
exit; exit;
} }
?> $header=<<<HEADER
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
@ -23,8 +23,7 @@ if ($AdminStatus != 1) {
<meta name="viewport" content="width=480" /> <meta name="viewport" content="width=480" />
</head> </head>
<body> <body>
HEADER; //<?nop this bracket is just here for vim syntax highlighting
<?php
DatenbankAufDeutsch($db_link); DatenbankAufDeutsch($db_link);
@ -36,18 +35,18 @@ if (isset($_SESSION["AliasHelferID"])) {
if (isset($_POST["AliasHelferID"])) { if (isset($_POST["AliasHelferID"])) {
$AliasHelferID = $_POST["AliasHelferID"]; $AliasHelferID = $_POST["AliasHelferID"];
header("Location: " . $_SERVER['PHP_SELF']);
} }
if ($AliasHelferID != 0) { if ($AliasHelferID != 0) {
$_SESSION["AliasHelferID"] = $AliasHelferID; $_SESSION["AliasHelferID"] = $AliasHelferID;
} }
echo $header; // muss nach redirect-headern fuer POST ausgegeben werden
$db_erg = Helferdaten($db_link, $HelferID); $db_erg = Helferdaten($db_link, $HelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile['Name']; $HelferName = $zeile['Name'];
$HelferIsAdmin = $zeile['Admin']; $HelferIsAdmin = $zeile['Admin'];
} }
?> ?>
<div style="width: 100%;"> <div style="width: 100%;">
@ -100,7 +99,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$selectedSet = true; $selectedSet = true;
} }
} }
if( ! isset($selectedSet) and ! $selectedSet) { if( ! isset($selectedSet) or ! $selectedSet) {
echo "<option value='none' selected='selected'>Bitte auswählen</optionen>"; echo "<option value='none' selected='selected'>Bitte auswählen</optionen>";
} }

View File

@ -1,386 +0,0 @@
<?php
// Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden
require_once 'konfiguration.php';
SESSION_START();
require 'SQL.php';
$db_link = ConnectDB();
// zeigt login-Seite an, wenn keine Session besteht
require '_login.php';
if ($AdminStatus != 1) {
//Seite nur fuer Admins. Weiter zu index.php und exit, wenn kein Admin
echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>';
exit;
}
?>
<!doctype html>
<html>
<head>
<title><?php echo EVENTNAME ?> Alle Schichten</title>
<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)"/>
<meta name="viewport" content="width=480" />
<script src="js/jquery-3.7.1.min.js" type="text/javascript"></script>
<script src="js/helferdb.js" type="text/javascript"></script>
<script> collapse_table_rows();
</script>
</head>
<body>
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';">
<b>&larrhk;</b>
</button>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;">
<?php
/// Detailinformation zu ausgewaehlten Schicht Holen
////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID);
}
// wird nie gesetzt
//if (isset($_POST['InfoMeineSchichtID'])) {
function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info)
{
$db_link = ConnectDB();
// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
unset($InfoAlleSchichtID);
//echo "<b>". $SchichtID . "</b><br>";
$zeile = DetailSchicht($db_link, $SchichtID);
$Was = $zeile['Was'];
$Wo = $zeile['Wo'];
$Dauer = $zeile['Dauer'];
$Leiter = $zeile['Name'];
$LeiterHandy = $zeile['Handy'];
$LeiterEmail = $zeile['Email'];
$Info = $zeile['Info'];
$db_link->close();
}
// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier
//if (isset($_GET['InfoAlleSchichtID'])) {
// $InfoAlleSchichtID = $_GET['InfoAlleSchichtID'];
// unset($InfoMeineSchichtID);
// //echo "<b>". $SchichtID . "</b><br>";
//
// $zeile = DetailSchicht($db_link, $InfoAlleSchichtID);
//
// $Was = $zeile['Was'];
// $Wo = $zeile['Wo'];
// $Dauer = $zeile['Dauer'];
// $Leiter = $zeile['Name'];
// $LeiterHandy = $zeile['Handy'];
// $LeiterEmail = $zeile['Email'];
// $Info = $zeile['Info'];
//
//
//
// // Beteiligte Helfer Holen
// $db_erg = BeteiligteHelfer($db_link, $InfoAlleSchichtID);
//
//
// $x = 0;
//
// while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
// $MitHelferID[$x] = $zeile['HelferID'];
// $MitHelfer[$x] = $zeile['Name'];
// $MitHelferHandy[$x] = $zeile['Handy'];
// $x++;
// }
//}
// Auswahl Tag oberhalb der Dienstetabelle
if (isset($_GET['ZeitBereich'])) {
$ZeitBereich = $_GET['ZeitBereich'];
} else {
$ZeitBereich = 0;
}
function HelferAuswahlButton($db_link, $AliasHelferID)
{
echo '<b>Helfer w&auml;hlen:<b> <form style="display:inline-block;" method=post><select style="height:33px;width:350px;" name="AliasHelferID" id="AliasHelferID" onchange="submit()">';
$db_erg = HelferListe($db_link);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($AliasHelferID != $zeile['HelferID']) {
echo "<option value='" . $zeile['HelferID'] . "'>" . $zeile['Name'] . "</optionen>";
} else {
echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</optionen>";
}
}
echo '</select></form>';
}
if (isset($_POST['AliasHelferID'])) {
$AliasHelferID = $_POST['AliasHelferID'];
} elseif (isset($_SESSION["AliasHelferID"])) {
$AliasHelferID = $_SESSION["AliasHelferID"];
} else {
HelferAuswahlButton($db_link, $AliasHelferID);
echo "<p>Erst Helfer auswählen</p>";
exit;
}
HelferAuswahlButton($db_link, $AliasHelferID);
$_SESSION["AliasHelferID"] = $AliasHelferID;
$AdminID = $_SESSION["AdminID"];
$db_erg = Helferdaten($db_link, $AliasHelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile['Name'];
$AliasHelferLevel = $zeile['HelferLevel'];
}
// Helferliste Anzeigen
////////////////////////////////////////////////////////
?>
<form method="post" action="#Info">
<?php
// Neu Schicht fuer Helfer Eintragen
///////////////////////////////////////////////////////////
if (isset($_POST['plusschicht'])) {
$messages = [];
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer Schicht zuweisen
$db_erg = HelferSchichtZuweisen($db_link, $AliasHelferID, $SchichtID, $AdminID);
// Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen
$messages = [];
$SchichtID = $_POST['minusschicht'];
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf:
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $AliasHelferID, $SchichtID, $AdminID);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
/// Ausgabe auf Deutsch umstellen
/////////////////////////////////////////////////////////////////////////
DatenbankAufDeutsch($db_link);
// Zusammenfassung Eigener Schichten
$db_erg = SchichtenSummeEinesHelfers($db_link, $AliasHelferID);
$zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC);
//"Dienstplan von"
echo '<table class="commontable"><tr class="header"><th onclick="window.location.href=\'AdminMeineSchichten.php\'">';
echo '<img src="Bilder/PfeilRechts2.png" style="width:30px;height:30px;align:middle;">' . "Dienstplan von $HelferName: ";
echo $zeile['Anzahl'];
echo " Schichten, ";
echo $zeile['Dauer'] / 3600;
echo " Stunden)";
echo '</th></tr></table><br><br>';
/// Schichten Auswahl
////////////////////////////////////////////////////////
$addschicht = $_SESSION["addschicht"];
$dienstsort = $_SESSION["dienstsort"];
//addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren
//addschicht wird gerade nie gesetzt, dienst-sort damit auch nicht
if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') {
$addschicht = '1';
$dienstsort = '1';
}
if (isset($_POST['addschicht']) && $_POST['addschicht'] == '2') {
$addschicht = '2';
$dienstsort = '2';
}
if (isset($_POST['addschicht']) && $_POST['addschicht'] == '0') {
$addschicht = '0';
}
$_SESSION["addschicht"] = $addschicht;
$_SESSION["dienstsort"] = $dienstsort;
//echo "<br>Detail=".$addschicht."<br>";
if ($addschicht == '0') {
echo "<p><b>Schichten Hinzufügen geordnet nach</b>";
echo "<button name='addschicht' value='1'>Tage</button>";
echo "<button name='addschicht' value='2'>Dienste</button></p>";
}
if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht
echo '<table class="commontable">';
require('_zeitbereich.php');
$Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, $_SERVER['PHP_SELF']);
$MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $AliasHelferLevel);
// fuer Anzahlanzeige in Ueberschrift
$iAlleSchichtenCount = AlleSchichtenCount($db_link);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link);
echo '</table>';
echo "<button type='button' onclick='expand_all_table_rows();'>Alles Ausklappen</button>";
// "Alle Schichten der Con"
echo '<table class="commontable">';
echo "<tr class='infoheader'>";
echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>";
$alleHelferLevel = alleHelferLevel($db_link);
foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
$meine = "";
if ($HelferLevelIteration == $AliasHelferLevel) {
$meine = " &leftarrow; mein Level, Schichten werden unten angezeigt";
}
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration);
echo "<tr class='infoheader'><th colspan='5' >&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelBeschreibung (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
}
$OldTag = "";
$OldWas = "";
// um Zeilen mit von mir belegten Schichten hervorzuheben
$MeineDienste = SchichtIdArrayEinesHelfers($db_link, $AliasHelferID);
//print_r($MeineDienste);
echo '</table>';
// Tabelle mit allen Diensten und Schichten
echo '<table class="commontable collapsible">';
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt
$Tag = $zeile['Tag'];
if ($Tag != $OldTag) {
echo "<tr class='header'><th colspan='5' >";
echo $Tag;
echo "</th></tr>";
$OldTag = $Tag;
}
} else {
$Was = $zeile['Was'];
if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist
// + in <span> becomes - when rows are opened
echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
$SchichtID = $zeile['SchichtID'];
$DienstID = $zeile['DienstID'];
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel, $DienstID);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $AliasHelferLevel, $DienstID);
echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $AliasHelferLevel, $DienstID -->";
echo "</th>";
echo "</tr>";
SchichtInfo($SchichtID, $InfoWas, $InfoWo, $InfoDauer, $Leiter, $LeiterHandy, $LeiterEmail, $Info);
if (true) {
echo "<tr><td colspan=5 style='background:lightblue'>";
echo "<b>Beschreibung:</b> $Info <br><br>";
echo "<b>Ort:</b> $InfoWo <br>";
//echo "<b>Dauer:</b> $InfoDauer<br>"; // verschieden je nach Einzelschicht
echo "<b>Ansprechparter:</b>" . $Leiter . ", ";
echo $LeiterHandy . ", ";
echo "$LeiterEmail";
echo "</td></td></tr>\n";
}
$OldWas = $Was;
}
}
$Color = "red";
if ($zeile['Ist'] > 0) {
$Color = "yellow";
}
if ($zeile['Ist'] >= $zeile['Soll']) {
$Color = "green";
}
$Von = $zeile['Ab'];
$Bis = $zeile['Bis'];
if (substr($Von, 0, 2) == substr($Bis, 0, 2)) {
$Bis = substr($Bis, 2);
}
$Von = substr($Von, 2);
// Meine Schichten gruen einfaerben
if (in_array($zeile['SchichtID'], $MeineDienste)) {
$rowstyle = ' style="background-color:lightgreen" ';
$regtext = '<br><center>Meine!</center>';
} else {
// dummy-style, um SchichtID unsichtbar im Tag anzuzeigen
$rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" ';
$regtext = '';
}
if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) {
$rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something
}
echo '<tr ' . $rowstyle . 'onclick="window.location.href=\'DetailsSchichten.php?InfoAlleSchichtID=' . $zeile['SchichtID'] . '#Info\';" >';
if ($dienstsort == '1') {
echo "<td>" . $zeile['Was'] . "</td>";
} else {
echo "<td>" . $zeile['Tag'] . "</td>";
}
echo "<td>" . $Von . "</td>";
echo "<td>" . $Bis . "</td>";
echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/";
echo "" . $zeile['Soll'] . "</td>";
// durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert
// in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt
// width:200px oder max-width:200px hat zu viel weissem Platz rechts und enge links gefuehrt
echo "<td style='width:10%;white-space:nowrap'><button name='plusschicht' value='" . $zeile['SchichtID'] . "'>+</button>";
echo "&nbsp;&nbsp;<button name='minusschicht' value='" . $zeile['SchichtID'] . "'>&ndash;</button> $regtext" . "</td>";
echo "</tr>\n";
}
echo "</table>";
}
mysqli_free_result($db_erg);
?>
</form>
</div>
</body>
</html>

View File

@ -7,6 +7,58 @@ require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
// zeigt login-Seite an, wenn keine Session besteht // zeigt login-Seite an, wenn keine Session besteht
require '_login.php'; require '_login.php';
// POST vor HTML Ausgabe
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Neu Schicht fuer Helfer Eintragen
///////////////////////////////////////////////////////////
$messages = [];
if (isset($_POST['plusschicht'])) {
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer Schicht zuweisen
// wenn es ein Admin ist, die AdminID übergeben, ansonsten 0
// TODO: immer AdminID angeben, die Funktionen in SQL testen, ob HelferID==AdminID
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0);
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
exit;
}
}
if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen
$messages = [];
$SchichtID = $_POST['minusschicht'];
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf:
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID, $AdminID);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
exit;
}
}
header("Location: " . $_SERVER['PHP_SELF']);
}
?> ?>
<!doctype html> <!doctype html>
<html> <html>
@ -15,16 +67,16 @@ require '_login.php';
<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="<?php echo JQUERY ?>" type="text/javascript"></script> <script src="<?php echo JQUERY ?>" type="text/javascript"></script>
<script src="js/helferdb.js" type="text/javascript"></script> <script src="js/helferdb.js" type="text/javascript"></script>
<script> collapse_table_rows(); <script> collapse_table_rows();
</script> </script>
</head> </head>
<body> <body>
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';"> <a href="AdminHelferUebersicht.php">
<button name="BackHelferdaten">
<b>&larrhk;</b> <b>&larrhk;</b>
</button> </button></a>
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1> <h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;"> <div style="width: 100%;">
@ -32,20 +84,15 @@ require '_login.php';
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID);
}
// wird nie gesetzt
//if (isset($_POST['InfoMeineSchichtID'])) {
function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info) function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info)
{ {
$db_link = ConnectDB(); $db_link = ConnectDB();
// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
unset($InfoAlleSchichtID);
$zeile = DetailSchicht($db_link, $SchichtID); $zeile = DetailSchicht($db_link, $SchichtID);
if(!isset($zeile['Was'])){
//error_log("Zeile not set in Schichtinfo");
//error_log("called with: SchichtID $SchichtID $Was, $Wo, $Dauer, $Leiter, $LeiterHandy etc");
// Das ist vermutlich kein Fehler mehr, wenn wir den selben Account mehrfach auf die selbe Schicht lassen für Familien etc
}
$Was = $zeile['Was']; $Was = $zeile['Was'];
$Wo = $zeile['Wo']; $Wo = $zeile['Wo'];
$Dauer = $zeile['Dauer']; $Dauer = $zeile['Dauer'];
@ -54,40 +101,9 @@ if (isset($_POST['CloseInfo'])) {
$LeiterEmail = $zeile['Email']; $LeiterEmail = $zeile['Email'];
$Info = $zeile['Info']; $Info = $zeile['Info'];
$db_link->close(); $db_link->close();
return;
} }
// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier
//if (isset($_GET['InfoAlleSchichtID'])) {
// $InfoAlleSchichtID = $_GET['InfoAlleSchichtID'];
// unset($InfoMeineSchichtID);
// //echo "<b>". $SchichtID . "</b><br>";
//
// $zeile = DetailSchicht($db_link, $InfoAlleSchichtID);
//
// $Was = $zeile['Was'];
// $Wo = $zeile['Wo'];
// $Dauer = $zeile['Dauer'];
// $Leiter = $zeile['Name'];
// $LeiterHandy = $zeile['Handy'];
// $LeiterEmail = $zeile['Email'];
// $Info = $zeile['Info'];
//
//
//
// // Beteiligte Helfer Holen
// $db_erg = BeteiligteHelfer($db_link, $InfoAlleSchichtID);
//
//
// $x = 0;
//
// while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
// $MitHelferID[$x] = $zeile['HelferID'];
// $MitHelfer[$x] = $zeile['Name'];
// $MitHelferHandy[$x] = $zeile['Handy'];
// $x++;
// }
//}
// Auswahl Tag oberhalb der Dienstetabelle // Auswahl Tag oberhalb der Dienstetabelle
if (isset($_GET['ZeitBereich'])) { if (isset($_GET['ZeitBereich'])) {
$ZeitBereich = $_GET['ZeitBereich']; $ZeitBereich = $_GET['ZeitBereich'];
@ -135,63 +151,6 @@ if (isset($_POST['AliasHelferID'])) {
<form method="post" action="#action"> <form method="post" action="#action">
<?php <?php
// Neu Schicht fuer Helfer Eintragen
///////////////////////////////////////////////////////////
if (isset($_POST['plusschicht'])) {
$messages = [];
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer Schicht zuweisen
// wenn es ein Admin ist, die AdminID übergeben, ansonsten 0
// TODO: immer AdminID angeben, die Funktionen in SQL testen, ob HelferID==AdminID
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtID, $AdminStatus == 1 ? $AdminID : 0);
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen
$messages = [];
$SchichtID = $_POST['minusschicht'];
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf:
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID, $AdminID);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
/// Ausgabe auf Deutsch umstellen
/////////////////////////////////////////////////////////////////////////
DatenbankAufDeutsch($db_link);
// Zusammenfassung Eigener Schichten // Zusammenfassung Eigener Schichten
$db_erg = SchichtenSummeEinesHelfers($db_link, $HelferID); $db_erg = SchichtenSummeEinesHelfers($db_link, $HelferID);
$zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC);
@ -206,6 +165,7 @@ if (isset($_POST['minusschicht'])) {
echo '</th></tr></table>'; echo '</th></tr></table>';
/// Schichten Auswahl /// Schichten Auswahl
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
// wird hier gegen Fehler gesetzt. bitte zu Ende implementieren
$addschicht = $_SESSION["addschicht"] ?? null; $addschicht = $_SESSION["addschicht"] ?? null;
$dienstsort = $_SESSION["dienstsort"] ?? null; $dienstsort = $_SESSION["dienstsort"] ?? null;
@ -295,9 +255,8 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
echo '</table>'; echo '</table>';
// Tabelle mit allen Diensten und Schichten // Tabelle mit allen Diensten und Schichten
echo '<table class="commontable collapsible">'; echo '<table class="commontable collapsible">';
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt TODO
$Tag = $zeile['Tag']; $Tag = $zeile['Tag'];
if ($Tag != $OldTag) { if ($Tag != $OldTag) {
@ -314,8 +273,8 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> "; echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
$SchichtID = $zeile['SchichtID']; $SchichtID = $zeile['SchichtID'];
$DienstID = $zeile['DienstID']; $DienstID = $zeile['DienstID'];
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel, $DienstID); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelAnzeige, $DienstID);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevel, $DienstID); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelAnzeige, $DienstID);
echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $HelferLevel, $DienstID -->"; echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $HelferLevel, $DienstID -->";
echo "</th>"; echo "</th>";
echo "</tr>"; echo "</tr>";

View File

@ -11,23 +11,9 @@ if ($AdminStatus != 1) {
echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>'; echo '<!doctype html><head><meta http-equiv="Refresh" content="0; URL=index.php" /></head></html>';
exit; exit;
} }
?>
<!doctype html>
<html>
<head>
<title>Admin <?php echo EVENTNAME ?></title>
<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)"/>
<script src="js/helferdb.js" type="text/javascript"></script>
<meta name="viewport" content="width=480" />
</head>
<body onload="setEndDate();">
<div style="width: 100%;">
<?php
DatenbankAufDeutsch($db_link); DatenbankAufDeutsch($db_link);
$message="";
isset($_SESSION["DienstID"]) && $DienstID = $_SESSION["DienstID"]; isset($_SESSION["DienstID"]) && $DienstID = $_SESSION["DienstID"];
$NewDienstID = 0; $NewDienstID = 0;
isset($_SESSION["SchichtID"]) && $SchichtID = $_SESSION["SchichtID"]; isset($_SESSION["SchichtID"]) && $SchichtID = $_SESSION["SchichtID"];
@ -37,14 +23,10 @@ $HelferID = $_SESSION["HelferID"];
$AdminID = $_SESSION["AdminID"]; $AdminID = $_SESSION["AdminID"];
if (isset($_POST['HelferID'])) { if (isset($_POST['HelferID'])) {
// AdminStatus = 1
$HelferID = $_POST['HelferID']; $HelferID = $_POST['HelferID'];
}
if (isset($_POST['ShowHelfer'])) {
$HelferID = $_POST['HelperSearch'];
}
$_SESSION["HelferID"] = $HelferID; $_SESSION["HelferID"] = $HelferID;
}
if (isset($_POST['ChangeDienst'])) { if (isset($_POST['ChangeDienst'])) {
@ -55,6 +37,7 @@ if (isset($_POST['ChangeDienst'])) {
$Gruppe = $_POST['Dienst-Gruppe']; $Gruppe = $_POST['Dienst-Gruppe'];
$HelferLevel = $_POST['HelferLevel']; $HelferLevel = $_POST['HelferLevel'];
ChangeDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel); ChangeDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel);
header("Location: " . $_SERVER['PHP_SELF']); exit;
} }
if (isset($_POST['NewDienst'])) { if (isset($_POST['NewDienst'])) {
@ -65,13 +48,14 @@ if (isset($_POST['NewDienst'])) {
if (isset($_POST['Dienst-Gruppe'])){$Gruppe = $_POST['Dienst-Gruppe'];}else{$Gruppe=82;}//TODO: 82 ist root-dienst if (isset($_POST['Dienst-Gruppe'])){$Gruppe = $_POST['Dienst-Gruppe'];}else{$Gruppe=82;}//TODO: 82 ist root-dienst
$HelferLevel = $_POST['HelferLevel']; $HelferLevel = $_POST['HelferLevel'];
NewDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel); NewDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel);
$NewDienstID = LastInsertId($db_link); $_SESSION["DienstID"] = LastInsertId($db_link);
header("Location: " . $_SERVER['PHP_SELF']); exit;
} }
if (isset($_POST['DeleteDienst'])) { if (isset($_POST['DeleteDienst'])) {
if (!DeleteDienst($db_link, $DienstID, false)) { if (!DeleteDienst($db_link, $DienstID, false)) {
echo "Erst Schichten des Dienstes Löschen!"; $message .= "Erst Schichten des Dienstes Löschen!";
} }
} }
@ -83,8 +67,9 @@ if (isset($_POST['ChangeSchicht'])) {
$Dauer = $_POST['Schicht-Dauer']; $Dauer = $_POST['Schicht-Dauer'];
ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer); ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer);
header("Location: " . $_SERVER['PHP_SELF']); exit;
} }
// keine Idee, wie man hierfuer einen GET reload macht
if (isset($_POST['Schicht-Automatic-Bis'])) { if (isset($_POST['Schicht-Automatic-Bis'])) {
$AutomaticBis = 1; $AutomaticBis = 1;
} else { } else {
@ -97,8 +82,6 @@ if (isset($_POST['Schicht-Anschlussschicht'])) {
$Anschlussschicht = 0; $Anschlussschicht = 0;
} }
if (isset($_POST['NewSchicht'])) { if (isset($_POST['NewSchicht'])) {
$Von = $_POST['Schicht-Von']; $Von = $_POST['Schicht-Von'];
$Bis = $_POST['Schicht-Bis']; $Bis = $_POST['Schicht-Bis'];
@ -107,33 +90,28 @@ if (isset($_POST['NewSchicht'])) {
if ($AutomaticBis) { if ($AutomaticBis) {
$Temp = new DateTime($Von); $Temp = new DateTime($Von);
//$Temp2 = DateInterval::createFromDateString('3600 seconds');
$Temp2 = DateInterval::createFromDateString($Dauer[0] . $Dauer[1] . ' hours ' . $Dauer[3] . $Dauer[4] . ' minutes'); $Temp2 = DateInterval::createFromDateString($Dauer[0] . $Dauer[1] . ' hours ' . $Dauer[3] . $Dauer[4] . ' minutes');
$Temp = $Temp->add($Temp2); $Temp = $Temp->add($Temp2);
$Bis = $Temp->format('Y-m-d H:i:s'); $Bis = $Temp->format('Y-m-d H:i:s');
} }
NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer, $HelferName); NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer, $HelferName);
$SchichtID = LastInsertId($db_link); $_SESSION["SchichtID"] = LastInsertId($db_link);
//echo "+".$SchichtID."+";
} }
if (isset($_POST['DeleteSchicht'])) { if (isset($_POST['DeleteSchicht'])) {
if (!DeleteSchicht($db_link, $SchichtID, false)) { if (!DeleteSchicht($db_link, $SchichtID, false)) {
echo "Erst Schicht leeren<br>"; $message .= "Erst Schicht leeren<br>";
} }
$SchichtID = 0; $SchichtID = 0;
} }
if (isset($_POST['ShowSchicht'])) { if (isset($_POST['ShowSchicht'])) {
$SchichtID = $_POST['SchichtSearch']; $SchichtID = $_POST['SchichtSearch'];
} }
if (isset($_POST['SchichtSearch']) && !isset($_POST['NewSchicht']) && !isset($_POST['DeleteSchicht'])) { if (isset($_POST['SchichtSearch']) && !isset($_POST['NewSchicht']) && !isset($_POST['DeleteSchicht'])) {
$SchichtID = $_POST['SchichtSearch']; $SchichtID = $_POST['SchichtSearch'];
echo "SchichtSearch<br>"; $message .= "SchichtSearch<br>";
} }
if (isset($_POST['ShowSchichten'])) { if (isset($_POST['ShowSchichten'])) {
@ -145,7 +123,6 @@ if (isset($_POST['DienstSearch'])) {
$SchichtID = 0; $SchichtID = 0;
} }
if ($NewDienstID != 0) { if ($NewDienstID != 0) {
$DienstID = $NewDienstID; $DienstID = $NewDienstID;
} }
@ -154,13 +131,26 @@ if ($NewDienstID != 0) {
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
?> ?>
<!doctype html>
<html>
<head>
<title>Admin <?php echo EVENTNAME ?></title>
<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)"/>
<script src="js/helferdb.js" type="text/javascript"></script>
<meta name="viewport" content="width=480" />
</head>
<body onload="setEndDate();">
<div style="width: 100%;">
<?php echo $message; ?>
<button class=back name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> <button class=back name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button>
<form method="post"> <form method="post" action="<?= htmlspecialchars($_SERVER['PHP_SELF']) ?>">
<table border="0" class='commontable'> <table border="0" class='commontable'>
<tr><th> Dienst</th><th><select name="DienstSearch" id="DienstSearch" onchange="submit()"> <tr><th> Dienst</th><th><select name="DienstSearch" id="DienstSearch" onchange="submit()">
<?php <?php
$db_erg = GetDienste($db_link); $db_erg = GetDienste($db_link);
$Was = ""; $Was = "";
@ -185,6 +175,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferLevel = $zeile['HelferLevel']; $HelferLevel = $zeile['HelferLevel'];
} }
} }
mysqli_free_result($db_erg);
if( ! isset($selectedset) or ! $selectedset ) { if( ! isset($selectedset) or ! $selectedset ) {
echo "<option value='none' selected='selected'>Bitte auswählen</option>"; echo "<option value='none' selected='selected'>Bitte auswählen</option>";
} }
@ -204,9 +195,6 @@ if (!isset($DienstID)) {
} }
?> ?>
<table border="0" class="commontable"> <table border="0" class="commontable">
<tr> <tr>
<td style="border: 0px solid black;">Was</td></tr><tr><td style="border: 0px solid black;"> <td style="border: 0px solid black;">Was</td></tr><tr><td style="border: 0px solid black;">
@ -225,8 +213,6 @@ if (!isset($DienstID)) {
</tr> </tr>
<tr> <tr>
<td style="border: 0px solid black;">Leiter</td></tr><tr><td style="border: 0px solid black;"> <td style="border: 0px solid black;">Leiter</td></tr><tr><td style="border: 0px solid black;">
<!-- <input name="Dienst-Leiter" type="text" value="<?php echo htmlspecialchars($Leiter ?? '')?>" > -->
<?php <?php
echo "<select name='Dienst-Leiter'>"; echo "<select name='Dienst-Leiter'>";
$db_erg = HelferListe($db_link); $db_erg = HelferListe($db_link);
@ -237,6 +223,7 @@ if (!isset($DienstID)) {
echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</option>"; echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</option>";
} }
} }
mysqli_free_result($db_erg);
echo "</select>"; echo "</select>";
?> ?>
</td> </td>
@ -245,7 +232,6 @@ if (!isset($DienstID)) {
<td style="border: 0px solid black;">Gruppe</td></tr><tr><td style="border: 0px solid black;"> <td style="border: 0px solid black;">Gruppe</td></tr><tr><td style="border: 0px solid black;">
<?php <?php
//echo "#####".$Gruppe."#####";
echo "<select name='Dienst-Gruppe'>"; echo "<select name='Dienst-Gruppe'>";
$db_erg = GetDiensteChilds($db_link, 0); $db_erg = GetDiensteChilds($db_link, 0);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
@ -273,7 +259,6 @@ foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
</select> </select>
</td></tr> </td></tr>
</table> </table>
<p> <p>
<button name="NewDienst" value="1">Dienst anlegen</button> <button name="NewDienst" value="1">Dienst anlegen</button>
<button name="ChangeDienst" value="1">Ändern</button> <button name="ChangeDienst" value="1">Ändern</button>
@ -281,17 +266,11 @@ foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
</p> </p>
</form> </form>
<form method="post" action="<?= htmlspecialchars($_SERVER['PHP_SELF']) ?>">
<form method="post">
<table border="0" class='commontable'> <table border="0" class='commontable'>
<tr><th>Schicht</th><th><select name="SchichtSearch" id="SchichtSearch" onchange="submit()"> <tr><th>Schicht</th><th><select name="SchichtSearch" id="SchichtSearch" onchange="submit()">
<?php <?php
$Soll = 1; $Soll = 1;
$db_erg = GetSchichtenEinesDienstes($db_link, $DienstID); $db_erg = GetSchichtenEinesDienstes($db_link, $DienstID);
@ -315,33 +294,31 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
} }
} }
} }
mysqli_free_result($db_erg);
echo "</select>"; echo "</select>";
echo "</th></tr>"; echo "</th></tr>";
echo " </table>"; echo " </table>";
echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button></noscript>"; echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button></noscript>";
//echo "<button name='DeleteSchicht' value='1'>Schicht löschen</button>";
?> ?>
<table border="0" class='commontable'>
<!-- <table border="0" style="border: 0px solid black;"> -->
<table border="0" class='commontable'">
<tr> <tr>
<td style="border: 0px solid black;">Von</td></tr><tr><td style="border: 0px solid black;"> <td style="border: 0px solid black;">Von</td></tr><tr><td style="border: 0px solid black;">
<input id="Schicht-Von" name="Schicht-Von" type="datetime-local" onKeyUp="setEndDate()" value="<?php echo htmlspecialchars($Von ?? '')?>" required> <input id="Schicht-Von" name="Schicht-Von" type="datetime-local"
onKeyUp="setEndDate()" value="<?php echo htmlspecialchars($Von ?? '')?>" required>
</td> </td>
<tr> <tr>
<tr> <tr>
<td style="border: 0px solid black;">Dauer</td></tr><tr><td style="border: 0px solid black;"> <td style="border: 0px solid black;">Dauer</td></tr><tr><td style="border: 0px solid black;">
<input id="Schicht-Dauer" name="Schicht-Dauer" type="time" onChange="setEndDate()" value="<?php echo htmlspecialchars($Dauer ?? '01:00')?>" required> <input id="Schicht-Dauer" name="Schicht-Dauer" type="time" onChange="setEndDate()"
value="<?php echo htmlspecialchars($Dauer ?? '01:00')?>" required>
</td> </td>
<tr> <tr>
</tr> </tr>
<tr> <tr>
</tr> </tr>
<td style="border: 0px solid black;">Bis </td></tr><tr><td style="border: 0px solid black;"> <td style="border: 0px solid black;">Bis </td></tr><tr><td style="border: 0px solid black;">
<input id="Schicht-Bis" name="Schicht-Bis" type="datetime-local" value="<?php echo htmlspecialchars($Bis ?? '')?>" required> <input id="Schicht-Bis" name="Schicht-Bis" type="datetime-local"
value="<?php echo htmlspecialchars($Bis ?? '')?>" required>
</td> </td>
<tr> <tr>
</tr> </tr>
@ -350,19 +327,16 @@ echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button
</td> </td>
<tr> <tr>
</tr> </tr>
</table> </table>
<input style="width:unset" width=20 id="Schicht-Automatic-Bis" name="Schicht-Automatic-Bis" type="checkbox" onclick="setEndDate()" <?php <input style="width:unset" width=20 id="Schicht-Automatic-Bis"
if ($AutomaticBis) { name="Schicht-Automatic-Bis" type="checkbox" onclick="setEndDate()"
echo "checked"; <?php if ($AutomaticBis) { echo "checked"; } ?>
} > Endzeit von Dauer<br>
?> > Endzeit von Dauer<br>
<input style="width:unset" width=20 id="Schicht-Anschlussschicht" name="Schicht-Anschlussschicht" type="checkbox" <?php <input style="width:unset" width=20 id="Schicht-Anschlussschicht" name="Schicht-Anschlussschicht" type="checkbox"
if ($Anschlussschicht) { <?php if ($Anschlussschicht) { echo "checked"; } ?>
echo "checked"; >
} Anschlussschicht vorbereiten<br>
?> > Anschlussschicht vorbereiten<br>
<p> <p>
<button name="NewSchicht" value="1">Schicht anlegen</button> <button name="NewSchicht" value="1">Schicht anlegen</button>
<button name="ChangeSchicht" value="1">Ändern</button> <button name="ChangeSchicht" value="1">Ändern</button>
@ -376,8 +350,6 @@ echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button
<?php <?php
mysqli_free_result($db_erg);
$_SESSION["DienstID"] = $DienstID; $_SESSION["DienstID"] = $DienstID;
$_SESSION["SchichtID"] = $SchichtID; $_SESSION["SchichtID"] = $SchichtID;

View File

@ -1,11 +1,64 @@
<?php <?php
// Login // Login
// User Seite, TODO code mit AdminAlleSchichten.php consolidieren
require_once 'konfiguration.php'; require_once 'konfiguration.php';
SESSION_START(); SESSION_START();
require 'SQL.php'; require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
// zeigt login-Seite an, wenn keine Session besteht // zeigt login-Seite an, wenn keine Session besteht
require '_login.php'; require '_login.php';
// POST vor HTML Ausgabe
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Neu Schicht fuer Helfer Eintragen
///////////////////////////////////////////////////////////
$messages = [];
if (isset($_POST['plusschicht'])) {
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer Schicht zuweisen
// wenn es ein Admin ist, die AdminID übergeben, ansonsten 0
// TODO: immer AdminID angeben, die Funktionen in SQL testen, ob HelferID==AdminID
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtID);
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
exit;
}
}
if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen
$messages = [];
$SchichtID = $_POST['minusschicht'];
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf:
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
exit;
}
}
header("Location: " . $_SERVER['PHP_SELF']);
}
?> ?>
<!doctype html> <!doctype html>
<html> <html>
@ -20,9 +73,10 @@ require '_login.php';
</script> </script>
</head> </head>
<body> <body>
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';"> <a href="index.php">
<button name="BackHelferdaten">
<b>&larrhk;</b> <b>&larrhk;</b>
</button> </button></a>
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1> <h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;"> <div style="width: 100%;">
@ -30,10 +84,6 @@ require '_login.php';
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID);
}
function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info) function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info)
{ {
$db_link = ConnectDB(); $db_link = ConnectDB();
@ -69,61 +119,8 @@ if (isset($_GET['ZeitBereich'])) {
?> ?>
<form method="post" action="AlleSchichten.php"> <form method="post" action="#action">
<?php <?php
// Neu Schicht fuer Helfer Eintragen
///////////////////////////////////////////////////////////
if (isset($_POST['plusschicht'])) {
$messages = [];
$SchichtID = $_POST['plusschicht'];
// Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf,
// indem wir unten target=active setzen
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer Schicht zuweisen
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtID);
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen
$messages = [];
$SchichtID = $_POST['minusschicht'];
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf:
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) {
// Helfer aus Schicht entfernen
$db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
/// Ausgabe auf Deutsch umstellen
/////////////////////////////////////////////////////////////////////////
DatenbankAufDeutsch($db_link);
// Zusammenfassung Eigener Schichten // Zusammenfassung Eigener Schichten
$db_erg = SchichtenSummeEinesHelfers($db_link, $HelferID); $db_erg = SchichtenSummeEinesHelfers($db_link, $HelferID);
$zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC);
@ -135,24 +132,12 @@ if (isset($_POST['minusschicht'])) {
echo " Schichten, "; echo " Schichten, ";
echo $zeile['Dauer'] / 3600; echo $zeile['Dauer'] / 3600;
echo " Stunden)"; echo " Stunden)";
echo '</th></tr></table><br><br>'; echo '</th></tr></table>';
/// Schichten Auswahl /// Schichten Auswahl
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_SESSION["addschicht"])) // wird hier gegen Fehler gesetzt. bitte zu Ende implementieren
{ $addschicht = $_SESSION["addschicht"] ?? null;
$addschicht = $_SESSION["addschicht"]; $dienstsort = $_SESSION["dienstsort"] ?? null;
} else
{
$addschicht = -1; // wird hier gegen Fehler gesetzt. bitte zu Ende implementieren
}
if (isset($_SESSION["dienstort"]))
{
$dienstsort = $_SESSION["dienstsort"];
} else
{
$dienstsort = -1; // wird hier gegen Fehler gesetzt. bitte zu Ende implementieren
}
//addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren //addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren
@ -180,11 +165,26 @@ if ($addschicht == '0') {
echo "<button name='addschicht' value='2'>Dienste</button></p>"; echo "<button name='addschicht' value='2'>Dienste</button></p>";
} }
// jeder soll sich alle HelferLevel anzeigen lassen koennen
$HelferLevelAnzeige = $HelferLevel;
if (isset($_POST['helfer-level-anzeige']))
{
$HelferLevelAnzeige = $_POST['helfer-level-anzeige'];
}
echo '<select style="width:200px" name="helfer-level-anzeige" onchange="submit()">';
$alleHelferLevel = alleHelferLevel($db_link);
foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
$selected = ($HelferLevelIteration == $HelferLevelAnzeige) ? "selected" : "" ;
echo "<option value='$HelferLevelIteration' $selected>$HelferLevelBeschreibung</option>";
}
echo '</select>';
if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht
echo '<table class="commontable">'; echo '<table class="commontable">';
require('_zeitbereich.php'); require('_zeitbereich.php');
$Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AlleSchichten.php"); $Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, $_SERVER['PHP_SELF']);
$MeinVon = $Bereich['MeinVon']; $MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis']; $MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel); $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel);
@ -201,10 +201,14 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>"; echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>";
$alleHelferLevel = alleHelferLevel($db_link); $alleHelferLevel = alleHelferLevel($db_link);
// Summe Ausgabe alle Dienste pro Helferlevel
foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) { foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
$meine = ""; $meine = "";
if ($HelferLevelIteration == $HelferLevel) { if ($HelferLevelIteration == $HelferLevel) {
$meine = " &leftarrow; mein Level, Schichten werden unten angezeigt"; $meine = "&leftarrow; Schichten für mich zum eintragen";
} else { $meine = "Eintragen hier nur nach Rücksprache mit Orga";}
if ($HelferLevelIteration == $HelferLevelAnzeige) {
$meine = "$meine - Schichten werden gerade unten angezeigt";
} }
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration);

View File

@ -4,7 +4,12 @@ require_once 'konfiguration.php';
SESSION_START(); SESSION_START();
require 'SQL.php'; require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
// Das hier wird über eine Art Token den Zugriff auf CreateHelfer erlauben
// Jedes Token ist mit einem Helferlevel verknüpft, in dem dann Helfer angelegt
$typeSecret = $_GET['invite_code'] ?? '';
if (empty($typeSecret)) {
die("Fehlender Zugangscode.");
}
?> ?>
<!doctype html> <!doctype html>
<html> <html>

View File

@ -6,6 +6,9 @@ require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
require '_login.php'; require '_login.php';
$HelferID = $_SESSION["HelferID"];
$AdminID = $_SESSION["AdminID"];
?> ?>
<!doctype html> <!doctype html>
<html> <html>
@ -52,44 +55,11 @@ if (isset($_GET['InfoAlleSchichtID'])) {
$x++; $x++;
} }
} }
$HelferID = $_SESSION["HelferID"];
$AdminID = $_SESSION["AdminID"];
if (isset($_POST['HelferID'])) {
$HelferID = $_POST['HelferID'];
}
if (isset($_POST['ShowHelfer'])) {
$HelferID = $_POST['HelperSearch'];
}
$_SESSION["HelferID"] = $HelferID;
?> ?>
<form method="post" action="DetailsSchichten.php#Info"> <!--form method="post" action="DetailsSchichten.php#Info"-->
<?php <?php
@ -104,15 +74,13 @@ $_SESSION["HelferID"] = $HelferID;
/// Alle Schichten Des Helfers Anzeigen /// Alle Schichten Des Helfers Anzeigen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
$back=$_SERVER['HTTP_REFERER'];
echo '<table class="commontable">'; echo '<table class="commontable">';
echo "<th>" . $Was . "</th>"; echo "<th>" . $Was . "</th>";
echo "<tr><td>"; echo "<tr><td>";
//echo "<p><button name='Del' value='CloseInfo'><b>&larrhk;</b></button><br>"; echo "<p><a href='$back'> <button name='Back' value='CloseInfo'><b>&larrhk;</b></button></a><br>";
echo "<b>Beschreibung:</b><br>"; echo "<b>Beschreibung:</b><br>";
echo $Info . "<br><br>"; echo $Info . "<br><br>";
echo "<b>Ort:</b><br>" . $Wo . "<br><br>"; echo "<b>Ort:</b><br>" . $Wo . "<br><br>";
@ -149,7 +117,7 @@ mysqli_free_result($db_erg);
?> ?>
</form> <!--/form-->
</div> </div>
</body> </body>

View File

@ -6,11 +6,12 @@ require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
require '_login.php'; require '_login.php';
?> $eventname = EVENTNAME; // as var for heredoc
$header = <<< HEADER
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<title>Meine Schichten <?php echo EVENTNAME ?></title> <title>Meine Schichten $eventname </title>
<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)"/>
@ -18,9 +19,9 @@ require '_login.php';
</head> </head>
<body> <body>
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';"><b>&larrhk;</b></button> <button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';"><b>&larrhk;</b></button>
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <b>$eventname</b>
<div style="width: 100%;"> <div style="width: 100%;">
<?php HEADER;
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
@ -31,7 +32,6 @@ if (isset($_POST['CloseInfo'])) {
if (isset($_POST['InfoMeineSchichtID'])) { if (isset($_POST['InfoMeineSchichtID'])) {
$InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; $InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
unset($InfoAlleSchichtID); unset($InfoAlleSchichtID);
//echo "<b>". $SchichtID . "</b><br>";
$zeile = DetailSchicht($db_link, $InfoMeineSchichtID); $zeile = DetailSchicht($db_link, $InfoMeineSchichtID);
@ -48,7 +48,6 @@ if (isset($_POST['InfoMeineSchichtID'])) {
if (isset($_GET['InfoAlleSchichtID'])) { if (isset($_GET['InfoAlleSchichtID'])) {
$InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; $InfoAlleSchichtID = $_GET['InfoAlleSchichtID'];
unset($InfoMeineSchichtID); unset($InfoMeineSchichtID);
//echo "<b>". $SchichtID . "</b><br>";
$zeile = DetailSchicht($db_link, $InfoAlleSchichtID); $zeile = DetailSchicht($db_link, $InfoAlleSchichtID);
@ -76,99 +75,9 @@ if (isset($_GET['InfoAlleSchichtID'])) {
} }
} }
/// Logout
////////////////////////////////////////////////////////
if (isset($_POST['logout'])) {
unset($_SESSION["HelferID"]);
//$_POST['login'] = 1;
}
/// Login
////////////////////////////////////////////////////////
if (isset($_POST['login'])) {
$messages = [];
// Eingaben überprüfen:
//if(!preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $HelferName)) {
// $messages[] = 'Bitte prüfen Sie die eingegebenen Namen';
//}
$HelferName = $_POST['helfer-name'];
$HelferEmail = $_POST['helfer-email'];
$HelferPasswort = $_POST['helfer-passwort'];
if (empty($messages)) {
HelferLogin($db_link, $HelferEmail, $HelferPasswort, 0);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
if (!isset($_SESSION["HelferID"])) {
?>
<form method="post" action="#Info">
<fieldset>
<legend>Login</legend>
<table border="0" style="border: 0px solid black;">
<tr>
<td style="border: 0px solid black;">Email</td></tr><tr><td style="border: 0px solid black;">
<input name="helfer-email" type="text" value="<?php echo htmlspecialchars($HelferEmail ?? '')?>" required>
</td>
<tr>
<tr>
<td style="border: 0px solid black;">Passwort</td></tr><tr><td style="border: 0px solid black;">
<input name="helfer-passwort" type="password" value="<?php echo htmlspecialchars($HelferHandy ?? '')?>" required>
</td>
<tr>
</table>
</fieldset>
<p><button name="login" value="1">Login</button></p>
</form>
<?php
exit;
}
$HelferID = $_SESSION["HelferID"]; $HelferID = $_SESSION["HelferID"];
$AdminID = $_SESSION["AdminID"]; $AdminID = $_SESSION["AdminID"];
if (isset($_POST['HelferID'])) {
$HelferID = $_POST['HelferID'];
}
if (isset($_POST['ShowHelfer'])) {
$HelferID = $_POST['HelperSearch'];
}
$_SESSION["HelferID"] = $HelferID;
/// Schicht Löschen /// Schicht Löschen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
@ -176,41 +85,9 @@ if (isset($_POST['Del'])) {
$messages = []; $messages = [];
$EinzelSchichtID = $_POST['Del']; $EinzelSchichtID = $_POST['Del'];
// Eingaben überprüfen:
//if(!preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $HelferName)) {
// $messages[] = 'Bitte prüfen Sie die eingegebenen Namen';
//}
if (empty($messages)) {
$db_erg = HelferVonSchichtLoeschen($db_link, $HelferID, $EinzelSchichtID); $db_erg = HelferVonSchichtLoeschen($db_link, $HelferID, $EinzelSchichtID);
} else { header("Location: " . $_SERVER['PHP_SELF']);
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
} }
echo '</ul></div>';
}
}
// Helferliste Anzeigen
////////////////////////////////////////////////////////
?>
<form method="post" action="MeineSchichten.php#Info">
<?php
// Neu Schicht fuer Helfer Eintragen // Neu Schicht fuer Helfer Eintragen
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
@ -218,36 +95,11 @@ if (isset($_POST['sent'])) {
$messages = []; $messages = [];
$SchichtId = $_POST['sent']; $SchichtId = $_POST['sent'];
// Eingaben überprüfen:
// if(!preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $HelferName)) {
// $messages[] = 'Bitte prüfen Sie die eingegebenen Namen';
// }
if (empty($messages)) {
// Helfer Schicht zuweisen // Helfer Schicht zuweisen
$db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtId); $db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtId);
header("Location: " . $_SERVER['PHP_SELF']);
// Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
//die('<div class="Helfer wurde angelegt.</div>');
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
} }
/// Ausgabe auf Deutsch umstellen
/////////////////////////////////////////////////////////////////////////
DatenbankAufDeutsch($db_link);
/// Alle Schichten Des Helfers Anzeigen /// Alle Schichten Des Helfers Anzeigen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
@ -261,7 +113,8 @@ if (! $db_erg) {
} }
$iSQLCount = mysqli_num_rows($db_erg); $iSQLCount = mysqli_num_rows($db_erg);
//$iSQLCount = 3; echo $header;
echo '<form method="post" action="MeineSchichten.php#Info">';
echo '<table class="commontable">'; echo '<table class="commontable">';
@ -276,8 +129,6 @@ echo '<table class="commontable">';
echo "</tr>"; echo "</tr>";
echo "</thead>"; echo "</thead>";
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
//echo '<tr title="Details anzeigen" onclick="parent.DetailsSchichten.location.href=\'DetailsSchichten.php?InfoAlleSchichtID='.$zeile['SchichtID'].'#Info\';" >'; //echo '<tr title="Details anzeigen" onclick="parent.DetailsSchichten.location.href=\'DetailsSchichten.php?InfoAlleSchichtID='.$zeile['SchichtID'].'#Info\';" >';
echo '<tr title="Details anzeigen" onclick="window.location.href=\'DetailsSchichten.php?InfoAlleSchichtID=' . $zeile['SchichtID'] . '#Info\';" >'; echo '<tr title="Details anzeigen" onclick="window.location.href=\'DetailsSchichten.php?InfoAlleSchichtID=' . $zeile['SchichtID'] . '#Info\';" >';
@ -303,11 +154,8 @@ echo "</table>";
mysqli_free_result($db_erg); mysqli_free_result($db_erg);
?> ?>
</form> </form>
</div> </div>
</body> </body>
</html> </html>

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@ if ($AdminStatus != 1) {
<?php <?php
setlocale(LC_ALL, 'de_DE.UTF-8') or die("Locale not installed"); setlocale(LC_ALL, 'de_DE.UTF-8') or die("Locale de_DE.UTF-8 not installed");
$unixtime = strtotime('2023-09-15'); $unixtime = strtotime('2023-09-15');
for ($day = 0; $day < 3; $day++) { for ($day = 0; $day < 3; $day++) {

View File

@ -6,7 +6,7 @@ require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
require '_login.php'; require '_login.php';
?> $header= <<< HEADER
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
@ -17,8 +17,7 @@ require '_login.php';
<meta name="viewport" content="width=480" /> <meta name="viewport" content="width=480" />
</head> </head>
<body> <body>
HEADER; //<? vim syntax-highlight-fix
<?php
$HelferID = $_SESSION["HelferID"]; $HelferID = $_SESSION["HelferID"];
@ -28,19 +27,13 @@ $AdminID = $_SESSION["AdminID"];
/// Helferdaten Aendern /// Helferdaten Aendern
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['change'])) {
$messages = []; $messages = [];
if (isset($_POST['change'])) {
// Eingaben überprüfen: // Eingaben überprüfen:
if (strlen($_POST['helfer-newpasswort']) < 8 and $_POST['helfer-newpasswort'] != "") { if (strlen($_POST['helfer-newpasswort']) < 8 and $_POST['helfer-newpasswort'] != "") {
$messages[] = 'Neues Passwort zu kurz'; $messages[] = 'Neues Passwort zu kurz';
} }
//if(!preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $HelferName)) {
// $messages[] = 'Bitte prüfen Sie die eingegebenen Namen';
//}
$HelferName = $_POST['helfer-name']; $HelferName = $_POST['helfer-name'];
$HelferEmail = $_POST['helfer-email']; $HelferEmail = $_POST['helfer-email'];
$HelferHandy = $_POST['helfer-handy']; $HelferHandy = $_POST['helfer-handy'];
@ -48,8 +41,11 @@ if (isset($_POST['change'])) {
if (empty($messages)) { if (empty($messages)) {
// Helferdaten Ändern // Helferdaten Ändern
HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID); HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID);
header("Location: " . $_SERVER['PHP_SELF']); // reload as GET
exit;
}
} else { } else {
echo $header;
// Fehlermeldungen ausgeben: // Fehlermeldungen ausgeben:
echo '<div class="error"><ul>'; echo '<div class="error"><ul>';
foreach ($messages as $message) { foreach ($messages as $message) {
@ -57,9 +53,6 @@ if (isset($_POST['change'])) {
} }
echo '</ul></div>'; echo '</ul></div>';
} }
}
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
// Helferdate holen // Helferdate holen
@ -74,43 +67,8 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferHandy = $zeile['Handy']; $HelferHandy = $zeile['Handy'];
} }
/// Logout
////////////////////////////////////////////////////////
if (isset($_POST['logout'])) {
unset($_SESSION["HelferID"]);
//$_POST['login'] = 1;
}
/// Login
////////////////////////////////////////////////////////
if (isset($_POST['login'])) {
$messages = [];
// Eingaben überprüfen:
//if(!preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $HelferName)) {
// $messages[] = 'Bitte prüfen Sie die eingegebenen Namen';
//}
$HelferName = $_POST['helfer-name'];
$HelferEmail = $_POST['helfer-email'];
$HelferPasswort = $_POST['helfer-passwort'];
if (empty($messages)) {
HelferLogin($db_link, $HelferEmail, $HelferPasswort, 0);
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
?> ?>
<table class="commontable"> <table class="commontable">
<tr> <tr>
<th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';"><b>&larrhk;</b></button> Helferdaten <?php echo EVENTNAME; ?></th> <th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';"><b>&larrhk;</b></button> Helferdaten <?php echo EVENTNAME; ?></th>
@ -142,15 +100,15 @@ if($HelferName == $HelferEmail) {$isHidden="display: none";}
$emailandpass = <<<emailandpass $emailandpass = <<<emailandpass
<tr style="$isHidden"> <tr style="$isHidden">
<td>Email (gleichzeitig Username - nicht ändern, wenn Login-Link gültig bleiben soll)</td></tr><tr style="$isHidden"><td> <td>Loginname (Email). Achtung, danach login nur noch mit neuem Namen möglich!</td></tr><tr style="$isHidden"><td>
<input name="helfer-email" type="email " value="$HelferEmailHTML" required style="$isHidden"> <input name="helfer-email" type="email " value="$HelferEmailHTML" required style="$isHidden">
</td> </td>
</tr> </tr>
<tr style="$isHidden"> <!-- wird vom Code nicht abgefragt <tr style="$isHidden">
<td>Altes Helfer Passwort </td></tr><tr style="$isHidden"><td> <td>Altes Helfer Passwort </td></tr><tr style="$isHidden"><td>
<input name="helfer-passwort" type="password" value="" style="$isHidden"> <input name="helfer-passwort" type="password" value="" style="$isHidden">
</td> </td>
</tr> </tr-->
<tr style="$isHidden"> <tr style="$isHidden">
<td>Neues Helfer Passwort</td></tr><tr style="$isHidden"><td> <td>Neues Helfer Passwort</td></tr><tr style="$isHidden"><td>
<input name="helfer-newpasswort" type="text" value="" style="$isHidden"> <input name="helfer-newpasswort" type="text" value="" style="$isHidden">

View File

@ -22,9 +22,6 @@ if (isset($_POST['login'])) {
// $messages[] = 'Bitte prüfen Sie die eingegebenen Namen'; // $messages[] = 'Bitte prüfen Sie die eingegebenen Namen';
//} //}
//if (isset ($_POST['helfer-name'])) {
// $HelferName = $_POST['helfer-name'];
//} // delete - login shouldnt provide this
$HelferEmail = $_POST['helfer-email']; $HelferEmail = $_POST['helfer-email'];
$HelferPasswort = $_POST['helfer-passwort']; $HelferPasswort = $_POST['helfer-passwort'];

View File

@ -5,6 +5,11 @@ SESSION_START();
require 'SQL.php'; require 'SQL.php';
$db_link = ConnectDB(); $db_link = ConnectDB();
require '_login.php'; require '_login.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// POST only in _login.php
header("Location: " . $_SERVER['PHP_SELF']);
exit;
}
?> ?>
<!doctype html> <!doctype html>
<html lang=de> <html lang=de>