put stuff in AlleSchichten in functions

This commit is contained in:
root 2025-07-10 10:47:34 +02:00
parent 1e3158eb33
commit d582440ae3
4 changed files with 98 additions and 98 deletions

View File

@ -15,19 +15,15 @@ $tablehead = TableHeader($pagename,$backlink);
// Admin Seite setzt HelferID aus AliasHelferID, sonst bleibt wie aus _login.php gesetzt normale Seite nicht // Admin Seite setzt HelferID aus AliasHelferID, sonst bleibt wie aus _login.php gesetzt normale Seite nicht
// 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
$SchichtID = $_SESSION["SchichtIdAktiv"] ?? ""; $SchichtID = $_SESSION["SchichtIdAktiv"] ?? ""; // sollte die Session Var hier auf nichts zurück gesetzt werden?
$HelferID = $_SESSION["AliasHelferID"] ?? $HelferID; // Alias nur Adminseite $HelferID = $_SESSION["AliasHelferID"] ?? $HelferID; // Alias nur Adminseite
$HelferLevelAnzeige = $_SESSION["HelferLevelAnzeige"] ?? $HelferLevel;
// POST vor HTML Ausgabe // 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 echo $tablehead;
HelferAuswahlButton($db_link, $AliasHelferID); // Admin Button welcher Helfer bearbeitet wird
?> ?>
<a href="AdminHelferUebersicht.php">
<button name="BackHelferdaten">
<b>&larrhk;</b>
</button></a>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;"> <div style="width: 100%;">
<?php <?php
@ -46,7 +42,7 @@ HelferAuswahlButton($db_link, $HelferID); // Admin Button welcher Helfer bearbei
//"Dienstplan" //"Dienstplan"
echo '<table class="commontable"><tr class="header"><th onclick="window.location.href=\'AdminMeineSchichten.php\'">'; 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 '<img src="Bilder/PfeilRechts2.png" style="width:30px;height:30px;align:middle;">' . "Dienstplan von $AliasHelferName (";
echo $zeile['Anzahl']; echo $zeile['Anzahl'];
echo " Schichten, "; echo " Schichten, ";
echo $zeile['Dauer'] / 3600; echo $zeile['Dauer'] / 3600;
@ -54,21 +50,7 @@ HelferAuswahlButton($db_link, $HelferID); // Admin Button welcher Helfer bearbei
echo '</th></tr></table>'; echo '</th></tr></table>';
/// Schichten Auswahl /// Schichten Auswahl
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
HelferLevelAuswahl($db_link,$HelferLevelAnzeige);
// 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>';
echo '<table class="commontable">'; echo '<table class="commontable">';
@ -78,20 +60,20 @@ $MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis']; $MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevelAnzeige); $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevelAnzeige);
// fuer Anzahlanzeige in Ueberschrift echo "<button type='button' onclick='expand_all_table_rows();'>Alles Ausklappen</button>";
$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" function ZeigeHelferLevelTabelle($db_link,$HelferLevel,$HelferLevelAnzeige){
echo '<table class="commontable">'; // fuer Anzahlanzeige in Ueberschrift
echo "<tr class='infoheader'>"; $iAlleSchichtenCount = AlleSchichtenCount($db_link);
echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>"; $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link);
// "Alle Schichten der Con" (Gesamtstatistik besetzt/gewollt)
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); $alleHelferLevel = alleHelferLevel($db_link);
// Summe Ausgabe alle Dienste pro Helferlevel // 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; Schichten für mich zum eintragen"; $meine = "&leftarrow; Schichten für mich zum eintragen";
@ -102,8 +84,10 @@ foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($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>"; echo "<tr class='infoheader'><th colspan='5' >&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelBeschreibung (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
}
echo '</table>';
} }
ZeigeHelferLevelTabelle($db_link,$HelferLevel,$HelferLevelAnzeige);
$OldTag = ""; $OldTag = "";
$OldWas = ""; $OldWas = "";

View File

@ -15,17 +15,16 @@ $tablehead = TableHeader($pagename,$backlink);
// Admin Seite setzt HelferID aus AliasHelferID, sonst bleibt wie aus _login.php gesetzt normale Seite nicht // Admin Seite setzt HelferID aus AliasHelferID, sonst bleibt wie aus _login.php gesetzt normale Seite nicht
// 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
$SchichtID = $_SESSION["SchichtIdAktiv"] ?? ""; $SchichtID = $_SESSION["SchichtIdAktiv"] ?? ""; // sollte die Session Var hier auf nichts zurück gesetzt werden?
$_SESSION["AliasHelferID"] = $HelferID; // reset this for admin
$AliasHelferID=$HelferID;
$AliasHelferName=$HelferName;// revert this after putting output in function
$HelferLevelAnzeige = $_SESSION["HelferLevelAnzeige"] ?? $HelferLevel;
// POST vor HTML Ausgabe // POST vor HTML Ausgabe
AlleSchichtenCheckPOST($db_link,$HelferID,$AdminStatus,$AdminID); AlleSchichtenCheckPOST($db_link,$HelferID,$AdminStatus,$AdminID);
echo $header; echo $header;
echo $tablehead;
?> ?>
<a href="index.php">
<button name="BackHelferdaten">
<b>&larrhk;</b>
</button></a>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;"> <div style="width: 100%;">
<?php <?php
@ -44,7 +43,7 @@ echo $header;
//"Dienstplan" //"Dienstplan"
echo '<table class="commontable"><tr class="header"><th onclick="window.location.href=\'MeineSchichten.php\'">'; echo '<table class="commontable"><tr class="header"><th onclick="window.location.href=\'MeineSchichten.php\'">';
echo '<img src="Bilder/PfeilRechts2.png" style="width:30px;height:30px;align:middle;">' . " Mein Dienstplan ("; echo '<img src="Bilder/PfeilRechts2.png" style="width:30px;height:30px;align:middle;">' . "Dienstplan von $AliasHelferName (";
echo $zeile['Anzahl']; echo $zeile['Anzahl'];
echo " Schichten, "; echo " Schichten, ";
echo $zeile['Dauer'] / 3600; echo $zeile['Dauer'] / 3600;
@ -52,21 +51,7 @@ echo $header;
echo '</th></tr></table>'; echo '</th></tr></table>';
/// Schichten Auswahl /// Schichten Auswahl
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
HelferLevelAuswahl($db_link,$HelferLevelAnzeige);
// 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>';
echo '<table class="commontable">'; echo '<table class="commontable">';
@ -74,22 +59,22 @@ require('_zeitbereich.php');
$Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, $_SERVER['PHP_SELF']); $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, $HelferLevelAnzeige);
// fuer Anzahlanzeige in Ueberschrift echo "<button type='button' onclick='expand_all_table_rows();'>Alles Ausklappen</button>";
$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" function ZeigeHelferLevelTabelle($db_link,$HelferLevel,$HelferLevelAnzeige){
echo '<table class="commontable">'; // fuer Anzahlanzeige in Ueberschrift
echo "<tr class='infoheader'>"; $iAlleSchichtenCount = AlleSchichtenCount($db_link);
echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>"; $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link);
// "Alle Schichten der Con" (Gesamtstatistik besetzt/gewollt)
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); $alleHelferLevel = alleHelferLevel($db_link);
// Summe Ausgabe alle Dienste pro Helferlevel // 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; Schichten für mich zum eintragen"; $meine = "&leftarrow; Schichten für mich zum eintragen";
@ -100,8 +85,10 @@ foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($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>"; echo "<tr class='infoheader'><th colspan='5' >&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelBeschreibung (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
}
echo '</table>';
} }
ZeigeHelferLevelTabelle($db_link,$HelferLevel,$HelferLevelAnzeige);
$OldTag = ""; $OldTag = "";
$OldWas = ""; $OldWas = "";
@ -109,7 +96,6 @@ $OldWas = "";
$MeineDienste = SchichtIdArrayEinesHelfers($db_link, $HelferID); $MeineDienste = SchichtIdArrayEinesHelfers($db_link, $HelferID);
//print_r($MeineDienste); //print_r($MeineDienste);
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)) {
@ -119,8 +105,8 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
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

@ -75,7 +75,9 @@ if (isset($_GET['ZeitBereich'])) {
function HelferAuswahlButton($db_link, $AliasHelferID) 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()">'; echo '<b>Helfer w&auml;hlen:<b>';
echo ' <form style="display:inline-block;" method=post>';
echo ' <select style="height:33px;width:350px;" name="AliasHelferID" id="AliasHelferID" onchange="submit()">';
$db_erg = HelferListe($db_link); $db_erg = HelferListe($db_link);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($AliasHelferID != $zeile['HelferID']) { if ($AliasHelferID != $zeile['HelferID']) {
@ -88,6 +90,10 @@ function HelferAuswahlButton($db_link, $AliasHelferID)
} }
function AlleSchichtenCheckPOST($db_link,$ZielHelferID,$AdminStatus,$AdminID) { function AlleSchichtenCheckPOST($db_link,$ZielHelferID,$AdminStatus,$AdminID) {
if (isset($_GET['helfer-level-anzeige'])) {
$_SESSION["HelferLevelAnzeige"] = $_GET['helfer-level-anzeige'];
}
// Wenn es ein Admin ist ZielHelferID AliasHelferID, sonst HelferID // Wenn es ein Admin ist ZielHelferID AliasHelferID, sonst HelferID
if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Neu Schicht fuer Helfer Eintragen // Neu Schicht fuer Helfer Eintragen
@ -116,6 +122,10 @@ function AlleSchichtenCheckPOST($db_link,$ZielHelferID,$AdminStatus,$AdminID) {
exit; exit;
} }
} }
// jeder soll sich alle HelferLevel anzeigen lassen koennen
if (isset($_POST['helfer-level-anzeige'])) {
$_SESSION["HelferLevelAnzeige"] = $_POST['helfer-level-anzeige'];
}
if (isset($_POST['minusschicht'])) { if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen // Mich aus Schicht entfernen
@ -138,8 +148,26 @@ function AlleSchichtenCheckPOST($db_link,$ZielHelferID,$AdminStatus,$AdminID) {
} }
// Wenn es ein Admin wird ZielHelferID AliasHelferID, sonst HelferID // Wenn es ein Admin wird ZielHelferID AliasHelferID, sonst HelferID
if ($AdminStatus == 1 && isset($_POST['AliasHelferID'])){ if ($AdminStatus == 1 && isset($_POST['AliasHelferID'])){
$_SESSION["AliasHelferID"] = $_POST['AliasHelferID']; $_SESSION["AliasHelferID"] = $AliasHelferID = $_POST['AliasHelferID'];
$db_erg = Helferdaten($db_link, $AliasHelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$AliasHelferName = $zeile['Name'];
} }
$_SESSION["AliasHelferName"] = $AliasHelferName;
}
//$db_link->close();
header("Location: " . $_SERVER['PHP_SELF']); header("Location: " . $_SERVER['PHP_SELF']);
} }
} }
function HelferLevelAuswahl($db_link,$HelferLevelAnzeige){
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>';
return;
}

View File

@ -101,6 +101,8 @@ $HelferEmail = $_SESSION["HelferEmail"];
$AdminID = isset($_SESSION["AdminID"]) ? $_SESSION["AdminID"] : -1; $AdminID = isset($_SESSION["AdminID"]) ? $_SESSION["AdminID"] : -1;
//TODO vereinheitlichen. index.php verwendet HelferIsAdmin //TODO vereinheitlichen. index.php verwendet HelferIsAdmin
$HelferIsAdmin = $AdminStatus = $_SESSION["AdminStatus"]; $HelferIsAdmin = $AdminStatus = $_SESSION["AdminStatus"];
$AliasHelferID = $_SESSION["AliasHelferID"] ?? $HelferID ;
$AliasHelferName = $_SESSION["AliasHelferName"] ?? $HelferName ;
$HelferLevel = $_SESSION["HelferLevel"]; $HelferLevel = $_SESSION["HelferLevel"];
?> ?>