This commit is contained in:
iridos 2024-04-25 18:20:18 +00:00 committed by GitHub
commit 714da88e0a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
22 changed files with 403 additions and 288 deletions

View File

@ -57,7 +57,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';">
<b>&larrhk;</b>
</button> &nbsp;
<b>Admin HelferDB <?php echo EVENTNAME; ?></b>
<b>Admin <?php echo EVENTNAME; ?></b>
</th>
<tr>
@ -71,23 +71,23 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
</td>
</tr>
<tr onclick="window.location.href='CreateHelfer.php';"> <td>
<img src="Bilder/More.jpeg" style="width:30px;height:30px;"><b>Seite zur Helfer selbst-Registrierung</b>
<img src="Bilder/More.jpeg" style="width:30px;height:30px;"><b>Seite zur selbst-Registrierung</b>
</td> </tr>
<tr onclick="window.location.href='EmailZuToken.php';"> <td>
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;"><b>Helfer per Link einladen</b>
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;"><b>persönliche Einladungslink(s) generieren</b>
</td> </tr>
<tr onclick="window.location.href='AdminHelferUebersicht.php';">
<td>
<a class="fallbacklink" href='AdminHelferUebersicht.php'>
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
<b>Helferübersicht und als Admin &auml;ndern</b>
<b>Helferübersicht und als Admin &auml;ndern <br>(Anm: dieses Menü soll die Punkte unterhalb ablösen)</b>
</a>
</td>
</tr>
<th>
<b>Helfer als Admin &auml;ndern:<b>
<b>Als Admin &auml;ndern:<b>
<form style="display:inline-block;" method=post>
<select style="height:33px;width:350px;font-size:20" name="AliasHelferID" id="AliasHelferID" onchange="submit()">
<?php
@ -114,7 +114,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<td>
<img src="Bilder/dot.png" width="30px" height="2px">
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
<b> Helferdaten &auml;ndern</b>
<b> Personendaten &auml;ndern</b>
</td>
</tr>
<tr onclick="window.location.href='AdminMeineSchichten.php';">

View File

@ -4,6 +4,7 @@ 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) {
@ -14,8 +15,8 @@ if ($AdminStatus != 1) {
?>
<!doctype html>
<html>
<head>
<title>Helfer <?php echo EVENTNAME ?> Alle Schichten</title>
<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" />
@ -24,75 +25,84 @@ if ($AdminStatus != 1) {
<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 = 'Admin.php';"><b>&larrhk;</b></button>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
<div style="width: 100%;">
<?php
</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'])) {
if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID);
}
if (isset($_POST['InfoMeineSchichtID'])) {
$InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
unset($InfoAlleSchichtID);
//echo "<b>". $SchichtID . "</b><br>";
$zeile = DetailSchicht($db_link, $InfoMeineSchichtID);
$Was = $zeile['Was'];
$Wo = $zeile['Wo'];
$Dauer = $zeile['Dauer'];
$Leiter = $zeile['Name'];
$LeiterHandy = $zeile['Handy'];
$LeiterEmail = $zeile['Email'];
$Info = $zeile['Info'];
}
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++;
}
}
// 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>";
if (isset($_GET['ZeitBereich'])) {
$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 {
} else {
$ZeitBereich = 0;
}
}
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()">';
$db_erg = HelferListe($db_link);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
@ -103,33 +113,32 @@ function HelferAuswahlButton($db_link, $AliasHelferID)
}
}
echo '</select></form>';
}
}
if (isset($_POST['AliasHelferID'])) {
if (isset($_POST['AliasHelferID'])) {
$AliasHelferID = $_POST['AliasHelferID'];
} elseif (isset($_SESSION["AliasHelferID"])) {
} elseif (isset($_SESSION["AliasHelferID"])) {
$AliasHelferID = $_SESSION["AliasHelferID"];
} else {
} else {
HelferAuswahlButton($db_link, $AliasHelferID);
echo "<p>Erst Helfer auswählen</p>";
exit;
}
HelferAuswahlButton($db_link, $AliasHelferID);
}
HelferAuswahlButton($db_link, $AliasHelferID);
$_SESSION["AliasHelferID"] = $AliasHelferID;
$AdminID = $_SESSION["AdminID"];
$_SESSION["AliasHelferID"] = $AliasHelferID;
$AdminID = $_SESSION["AdminID"];
$db_erg = Helferdaten($db_link, $AliasHelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$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="AdminAlleSchichten.php#Info">
@ -153,7 +162,6 @@ if (isset($_POST['plusschicht'])) {
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
//die('<div class="Helfer wurde angelegt.</div>');
} else {
// Fehlermeldungen ausgeben:
echo '<div class="error"><ul>';
@ -169,6 +177,8 @@ if (isset($_POST['minusschicht'])) {
$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
@ -197,9 +207,9 @@ if (isset($_POST['minusschicht'])) {
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 insgesamt ";
echo " Schichten, ";
echo $zeile['Dauer'] / 3600;
echo " Stunden";
echo " Stunden)";
echo '</th></tr></table><br><br>';
/// Schichten Auswahl
////////////////////////////////////////////////////////
@ -207,7 +217,8 @@ $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';
@ -231,27 +242,37 @@ if ($addschicht == '0') {
echo "<button name='addschicht' value='2'>Dienste</button></p>";
}
//echo "InfoAlleSchichtID ".$InfoAlleSchichtID;
if ($addschicht != '0') {
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, "AdminAlleSchichten.php");
$MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, -1);
$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>";
//echo "<p><button name='addschicht' value='0'><b>&larrhk;</b></button></p>";
// "Alle Schichten der Con"
echo '<table class="commontable">';
echo "<tr class='header'>";
echo "<th colspan='7'>Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")</th></tr>";
echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>";
$alleHelferLevel = array(1, 2);
foreach ($alleHelferLevel as $HelferLevelIteration) {
$meine = "";
if ($HelferLevelIteration == $AliasHelferLevel) {
$meine = " &leftarrow; mein Level";
}
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration);
echo "<tr><th colspan='5'>&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
}
echo "</tr>";
$OldTag = "";
$OldWas = "";
@ -260,10 +281,10 @@ if ($addschicht != '0') {
//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') {
if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt
$Tag = $zeile['Tag'];
if ($Tag != $OldTag) {
@ -275,18 +296,27 @@ if ($addschicht != '0') {
} else {
$Was = $zeile['Was'];
if ($Was != $OldWas) {
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='7' style='width:100%'><span>+</span> ";
echo $Was;
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 "<th style='width:100px'>". "Von" . "</th>";
echo "<th style='width:130px'>". "Bis" . "</th>";
echo "<th style='width:90px'>". "Ist/Soll" . "</th>";
echo "<th style='width:90px'>". "Add" . "</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;
}
}
@ -307,13 +337,13 @@ if ($addschicht != '0') {
// Meine Schichten gruen einfaerben
if (in_array($zeile['SchichtID'], $MeineDienste)) {
$rowstyle = ' style="background-color:lightgreen" ';
$regtext = 'Meine!';
$regtext = '<br><center>Meine!</center>';
} else {
// dummy-style, um SchichtID unsichtbar im Tag anzuzeigen
$rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" ';
$regtext = '';
}
if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) {
if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) {
$rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something
}
@ -328,9 +358,11 @@ if ($addschicht != '0') {
echo "<td>" . $Bis . "</td>";
echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/";
echo "" . $zeile['Soll'] . "</td>";
// buttons sind in der selben Zelle
echo "<td width='30px'>" . "<button width='20px' name='plusschicht' value='" . $zeile['SchichtID'] . "'>+</button>" . "";
echo "&nbsp;&nbsp;<button width='120px' name='minusschicht' value='" . $zeile['SchichtID'] . "'>&ndash;</button> $regtext" . "</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>";

View File

@ -122,7 +122,7 @@ if (isset($_POST['NewSchicht'])) {
if (isset($_POST['DeleteSchicht'])) {
if (!DeleteSchicht($db_link, $SchichtID, false)) {
echo "Erst Helfer aus Schicht austragen<br>";
echo "Erst Schicht leeren<br>";
}
$SchichtID = 0;
}
@ -342,7 +342,7 @@ echo "<p><noscript><button name='ShowSchicht' value='1'>Schicht Anzeigen</button
</td>
<tr>
</tr>
<td style="border: 0px solid black;">Anzahl Helfer (Soll)</td></tr><tr><td style="border: 0px solid black;">
<td style="border: 0px solid black;">Anzahl (Soll)</td></tr><tr><td style="border: 0px solid black;">
<input name="Schicht-Soll" type="number" min=1 value="<?php echo htmlspecialchars((int)$Soll ?? '')?>" required>
</td>
<tr>

View File

@ -73,13 +73,6 @@ echo "<br><br><table class='commontable' style='page-break-before:always'>";
</table>
<table class="commontable collapsible">
<?php
$db_erg = AlleHelferSchichtenUebersicht($db_link);
$dauer = 0;
$i = 0;
$OldAliasHelferID = "-1";
$EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden
$HelferUeberschrift = "";
// Function to output helper information
function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile)
{
@ -93,7 +86,21 @@ function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer,
echo "$EinzelDienstStundenZeile</td></tr>\n ";
}
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
// Helferlevel holen, wir listen die Level nacheinander auf
$alleHelferLevel = alleHelferLevel($db_link);
foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
{
echo "<tr class='header infoheader'><th colspan=3>($HelferLevelIteration) $HelferLevelBeschreibung</th></tr>";
$db_erg = AlleHelferSchichtenUebersicht($db_link, $HelferLevelIteration);
$dauer = 0;
$i = 0;
$OldAliasHelferID = "-1";
$EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden
$HelferUeberschrift = "";
echo "<tr class='header infoheader'><th>Accountdaten</th><th>Schichten</th><th>Schichten Ändern</th></tr>";
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile["Name"];
$HelferLevel = $zeile["HelferLevel"];
$AliasHelferID = $zeile["AliasHelferID"];
@ -103,7 +110,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
}
$dauer = 0;
$EinzelDienstStundenZeile = "";
$HelferUeberschrift = " <tr class='header'> <th width='15%'> <form id='form_" . $AliasHelferID . "' method='post' action='AdminUserdaten.php'><input type='hidden' name='AliasHelferID' value='" . $AliasHelferID . "'/><div onclick=\"document.getElementById('form_" . $AliasHelferID . "').submit();\"/><img style='vertical-align:middle;width:30px;height:30px;' src='Bilder/PfeilRechts.jpeg'>$HelferName (Lvl:$HelferLevel) </div></form>";
$HelferUeberschrift = " <tr class='header'> <th width='15%'> <form id='form_" . $AliasHelferID . "' method='post' action='AdminUserdaten.php'><input type='hidden' name='AliasHelferID' value='" . $AliasHelferID . "'/><div onclick=\"document.getElementById('form_" . $AliasHelferID . "').submit();\"/><img style='vertical-align:middle;width:30px;height:30px;' src='Bilder/PfeilRechts.jpeg'>&nbsp;$HelferName (Lvl:$HelferLevel) </div></form>";
$OldHelferName = $HelferName;
$OldAliasHelferID = $AliasHelferID;
$i += 1;
@ -112,12 +119,12 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$EinzelDienstStundenZeile .= $zeile["Was"];
$EinzelDienstStundenZeile .= "</td></tr>";
$dauer = $dauer + (int)$zeile["Dauer"];
}
if ($EinzelDienstStundenZeile != "") {
}
if ($EinzelDienstStundenZeile != "") {
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
}
}
echo "</table>";
?>

View File

@ -23,7 +23,7 @@ if ($AdminStatus != 1) {
<meta name="viewport" content="width=480" />
</head>
<body>
<div><button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> <h4 style="display: inline;">Admin: Schichten editieren -
<div><button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';"><b>&larrhk;</b></button> <h4 style="display: inline;">Admin: Schichten editieren -
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
</h4>
<div style="width: 100%;">

View File

@ -128,7 +128,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<table class="commontable">
<tr>
<th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> Helferdaten</th>
<th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';"><b>&larrhk;</b></button> Helferdaten</th>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
<form method="post">
<tr>
@ -160,16 +160,10 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<tr><td>
<select name="helfer-level">
<?php
$db_erg = HelferLevel($db_link);
$selected = "";
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferLevel = $zeile['HelferLevel'];
$HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung'];
if ($HelferLevel == 1) {
$selected = " selected " ;
};
echo "<option value='$HelferLevel' $selected>$HelferLevelBeschreibung</option>";
$selected = "";
$alleHelferLevel = alleHelferLevel($db_link);
foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
$selected = ($HelferLevelIteration == $HelferLevel) ? "selected" : "";
echo "<option value='$HelferLevelIteration' $selected>$HelferLevelBeschreibung</option>";
}
?>
</select>

View File

@ -1,15 +1,16 @@
<?php
// Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden
// Login
require_once 'konfiguration.php';
SESSION_START();
require 'SQL.php';
$db_link = ConnectDB();
// zeigt login-Seite an, wenn keine Session besteht
require '_login.php';
?>
<!doctype html>
<html>
<head>
<title>Helfer <?php echo EVENTNAME ?> Alle Schichten</title>
<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" />
@ -18,81 +19,86 @@ require '_login.php';
<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 = 'index.php';"><b>&larrhk;</b></button>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
</head>
<body>
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';">
<b>&larrhk;</b>
</button>
<?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;">
<?php
<div style="width: 100%;">
<?php
/// Detailinformation zu ausgewaehlten Schicht Holen
////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) {
if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID);
}
if (isset($_POST['InfoMeineSchichtID'])) {
$InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
unset($InfoAlleSchichtID);
//echo "<b>". $SchichtID . "</b><br>";
$zeile = DetailSchicht($db_link, $InfoMeineSchichtID);
$Was = $zeile['Was'];
$Wo = $zeile['Wo'];
$Dauer = $zeile['Dauer'];
$Leiter = $zeile['Name'];
$LeiterHandy = $zeile['Handy'];
$LeiterEmail = $zeile['Email'];
$Info = $zeile['Info'];
}
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++;
}
}
// wird nie gesetzt
//if (isset($_POST['InfoMeineSchichtID'])) {
function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info)
{
$db_link = ConnectDB();
// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
if (isset($_GET['ZeitBereich'])) {
$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 {
} else {
$ZeitBereich = 0;
}
}
// Helferliste Anzeigen
////////////////////////////////////////////////////////
?>
?>
<form method="post" action="AlleSchichten.php">
@ -142,7 +148,6 @@ if (isset($_POST['minusschicht'])) {
foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>';
}
echo '</ul></div>';
}
}
@ -170,7 +175,8 @@ $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';
@ -195,13 +201,13 @@ if ($addschicht == '0') {
}
if ($addschicht != '0') {
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, "AlleSchichten.php");
$MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, -1);
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel);
// fuer Anzahlanzeige in Ueberschrift
$iAlleSchichtenCount = AlleSchichtenCount($db_link);
@ -211,10 +217,22 @@ if ($addschicht != '0') {
// "Alle Schichten der Con"
echo '<table class="commontable">';
echo "<tr class='header'>";
echo "<th colspan='7'>Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")</th></tr>";
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 == $HelferLevel) {
$meine = " &leftarrow; mein Level, Schichten werden unten angezeigt";
}
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration);
// $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen.
echo "<tr class='infoheader'><th colspan='5' >&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelBeschreibung (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
}
echo "</tr>";
$OldTag = "";
$OldWas = "";
@ -226,7 +244,7 @@ if ($addschicht != '0') {
// Tabelle mit allen Diensten und Schichten
echo '<table class="commontable collapsible">';
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($dienstsort == '1') {
if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt
$Tag = $zeile['Tag'];
if ($Tag != $OldTag) {
@ -238,18 +256,27 @@ if ($addschicht != '0') {
} else {
$Was = $zeile['Was'];
if ($Was != $OldWas) {
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='7' style='width:100%'><span>+</span> ";
echo $Was;
echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
$SchichtID = $zeile['SchichtID'];
$DienstID = $zeile['DienstID'];
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel, $DienstID);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevel, $DienstID);
echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $HelferLevel, $DienstID -->";
echo "</th>";
/*
echo "<th style='width:100px'>". "Von" . "</th>";
echo "<th style='width:130px'>". "Bis" . "</th>";
echo "<th style='width:90px'>". "Ist/Soll" . "</th>";
echo "<th style='width:90px'>". "Add" . "</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;
}
}
@ -270,13 +297,13 @@ if ($addschicht != '0') {
// Meine Schichten gruen einfaerben
if (in_array($zeile['SchichtID'], $MeineDienste)) {
$rowstyle = ' style="background-color:lightgreen" ';
$regtext = 'Meine!';
$regtext = '<br><center>Meine!</center>';
} else {
// dummy-style, um SchichtID unsichtbar im Tag anzuzeigen
$rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" ';
$regtext = '';
}
if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) {
if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) {
$rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something
}
@ -291,9 +318,11 @@ if ($addschicht != '0') {
echo "<td>" . $Bis . "</td>";
echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/";
echo "" . $zeile['Soll'] . "</td>";
// buttons sind in der selben Zelle
echo "<td width='30px'>" . "<button width='20px' name='plusschicht' value='" . $zeile['SchichtID'] . "'>+</button>" . "";
echo "&nbsp;&nbsp;<button width='120px' name='minusschicht' value='" . $zeile['SchichtID'] . "'>&ndash;</button> $regtext" . "</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>";

View File

@ -53,7 +53,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<div style="width: 100%;">
<table class="commontable">
<th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> &nbsp; <b>Ausdrucke HelferDB</b>
<th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> &nbsp; <b>Ausdrucke</b>
</th>
<tr onclick="window.location.href='Ausdrucke-alles.php';">
<td > <img src="Bilder/More.jpeg" style="width:30px;height:30px;"> <b>Ausdrucke(alles)</b> </td>

View File

@ -70,7 +70,7 @@ if (isset($_POST['sent'])) {
//echo "InserId = ".$insertID;
// Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird
echo "Helfer mit Emailadresse " . $HelferEmail . " Angelegt.<br><br>";
echo "Account mit Emailadresse " . $HelferEmail . " Angelegt.<br><br>";
$HelferName = '';
$HelferEmail = '';
$HelferHandy = '';
@ -79,7 +79,7 @@ if (isset($_POST['sent'])) {
//die('<div class="Helfer wurde angelegt.</div>');
} else {
echo "Helfer konnte nicht Angelegt werden, möglichweise exisistiert die Emailadresse " . $HelferEmail . " bereits.<br><br>";
echo "Account konnte nicht Angelegt werden, möglichweise exisistiert die Emailadresse " . $HelferEmail . " bereits.<br><br>";
}
} else {
// Fehlermeldungen ausgeben:

View File

@ -10,7 +10,7 @@ require '_login.php';
<!doctype html>
<html>
<head>
<title>Helfer <?php echo EVENTNAME ?></title>
<title><?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)"/>

View File

@ -59,7 +59,7 @@ if (isset($_POST['email-cc'])) {
$email_text = "
Lieber Teilnehmer,
trage dich bitte mit folgendem Link für eine Stunde pro Person als Helfer bei uns ein.Wir verschicken eine Mail pro Emailaddresse, also bitte für alle, die mit dieser Emailaddresse angemeldet sind.
trage dich bitte mit folgendem Link für eine Stunde pro Person bei uns ein.Wir verschicken eine Mail pro Emailaddresse, also bitte für alle, die mit dieser Emailaddresse angemeldet sind.
Danke für deine Mithilfe!
@ -84,7 +84,7 @@ if (isset($_POST['sendmail'])) {
?>
<!doctype html>
<head>
<title>Helfer <?php echo EVENTNAME ?>: Email Tokens generieren</title>
<title><?php echo EVENTNAME ?>: Email Tokens generieren</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)"/>

View File

@ -7,7 +7,7 @@ SESSION_START();
<!doctype html>
<html>
<head>
<title>Helfer <?php echo EVENTNAME ?> Home</title>
<title><?php echo EVENTNAME ?> Home</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 http-equiv="Refresh" content="0; url=<?php echo INFORMATIONS_URL;?>" />

View File

@ -9,7 +9,7 @@ require '_zeitbereich.php';
<!DOCTYPE html>
<html>
<head>
<title> Helferdienste </title>
<title> Dienste </title>
<meta charset="utf-8">
<!--meta name="viewport" content="width=device-width, initial-scale=1 ,user-scalable=1"-->
<script src="scheduler/codebase/dhtmlxscheduler.js"></script>
@ -147,7 +147,7 @@ function colorize (e){ //KS
scheduler.config.full_day=false;
scheduler.config.readonly_form = true;
scheduler.config.xml_date="%Y-%m-%d %H:%i"; // deprecated but needed for database format
scheduler.config.first_hour = 7; // only show from this hour on
scheduler.config.first_hour = 0; // only show from this hour on
scheduler.config.last_hour = 24; // last hour
scheduler.setLoadMode("day"); // dynamic loading loads only current day if needed
scheduler.config.details_on_create=true; // ???

View File

@ -9,7 +9,7 @@ require '_zeitbereich.php';
<!DOCTYPE html>
<html>
<head>
<title> Helferdienste </title>
<title> Dienste </title>
<meta charset="utf-8">
<!--meta name="viewport" content="width=device-width, initial-scale=1 ,user-scalable=1"-->
<script src="scheduler/codebase/dhtmlxscheduler.js"></script>
@ -191,7 +191,7 @@ function colorize (e){ //KS
];
scheduler.templates.tooltip_text = function(start,end,event) {
return "<b>Helfer:</b> <pre>"+event.Name+"</pre><br/></b> ";
return "<pre>"+event.Name+"</pre><br/></b> ";
};
// actual init

View File

@ -10,7 +10,7 @@ require '_login.php';
<!doctype html>
<html>
<head>
<title>Helfer - Logs </title>
<title> Logs </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)"/>

View File

@ -143,7 +143,7 @@ function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $
if ($HelferIsAdmin == -1) {
$sql = "UPDATE Helfer SET Name='" . $HelferName . "',Email='" . $HelferEmail . "',Handy='" . $HelferHandy . "',HelferLevel='$HelferLevel',Passwort='" . $PasswortHash . "' Where HelferId=" . $HelferID;
} else {
$sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',$HelferLevel='$HelferLevel',Passwort='$PasswortHash',Admin=$HelferIsAdmin Where HelferId=" . $HelferID;
$sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',HelferLevel='$HelferLevel',Passwort='$PasswortHash',Admin=$HelferIsAdmin Where HelferId=" . $HelferID;
}
//echo $sql;
$db_erg = mysqli_query($db_link, $sql);
@ -191,11 +191,18 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1)
return $db_erg;
}
function AlleSchichtenCount($db_link, $HelferLevel = 1)
function AlleSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1)
{
$nurDienst = "";
if ($DienstID != -1) {
$nurDienst = " and Dienst.DienstID = $DienstID";
}
$nurHelferLevel = "";
if ($HelferLevel != -1) {
$nurHelferLevel = " and HelferLevel = $HelferLevel ";
}
//$sql = "select SUM(Soll) As Anzahl from SchichtUebersicht where HelferLevel=$HelferLevel";
$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel";
$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst";
$db_erg = mysqli_query($db_link, $sql);
@ -211,11 +218,19 @@ function AlleSchichtenCount($db_link, $HelferLevel = 1)
}
function AlleBelegteSchichtenCount($db_link, $HelferLevel = 1)
function AlleBelegteSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1)
{
$nurDienst = "";
if ($DienstID != -1) {
$nurDienst = " and Dienst.DienstID = $DienstID";
}
$nurHelferLevel = "";
if ($HelferLevel != -1) {
$nurHelferLevel = " and HelferLevel = $HelferLevel ";
}
$sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel";
$sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst";
$db_erg = mysqli_query($db_link, $sql);
@ -242,7 +257,7 @@ function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1)
$sql_helferlevel = "";
}
$sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll from Dienst,SchichtUebersicht where Von >= '" . $Von . "' and Von <'" . $Bis . "' and Dienst.DienstID=SchichtUebersicht.DienstID $sql_helferlevel order by Was,Von";
$sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll, Dienst.DienstID from Dienst,SchichtUebersicht where Von >= '" . $Von . "' and Von <'" . $Bis . "' and Dienst.DienstID=SchichtUebersicht.DienstID $sql_helferlevel order by Was,Von";
error_log("AlleSchichtenImZeitbereich sql " . $sql);
$db_erg = mysqli_query($db_link, $sql);
@ -754,11 +769,30 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv)
}
function AlleHelferSchichtenUebersicht($db_link)
function AlleHelferSchichtenUebersicht($db_link,$HelferLevel)
{
$sql = "select Helfer.HelferID as AliasHelferID,Helfer.HelferLevel,Name,Email,Handy,Was,SUM(Dauer)/10000 as Dauer from Helfer,EinzelSchicht INNER JOIN Schicht INNER JOIN Dienst where Helfer.HelferID=EinzelSchicht.HelferID and EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID group by Helfer.HelferID,Was";
$sql = $sql . " UNION ALL ";
$sql = $sql . "select Helfer.HelferID as AliasHelferID,Helfer.HelferLevel,Name,Email,Handy,'-' as Was,0 as Dauer from Helfer,EinzelSchicht where not exists(select 1 from EinzelSchicht where Helfer.HelferID=EinzelSchicht.HelferID)";
$sql = "
SELECT
Helfer.HelferID AS AliasHelferID, -- Alias für HelferID
Helfer.HelferLevel,
Name,
Email,
Handy,
Was,
COALESCE(SUM(Dauer)/10000, 0) AS Dauer
FROM
Helfer
LEFT JOIN
EinzelSchicht ON Helfer.HelferID = EinzelSchicht.HelferID
LEFT JOIN
Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID
LEFT JOIN
Dienst ON Schicht.DienstID = Dienst.DienstID
WHERE Helfer.HelferLevel = $HelferLevel
GROUP BY
Helfer.HelferID,
Was";
$db_erg = mysqli_query($db_link, $sql);
if (! $db_erg) {
echo "AlleHelferSchichtenUebersicht ungueltige Abfrage";
@ -803,6 +837,21 @@ function HelferLevel($db_link)
}
return $db_erg;
}
function alleHelferLevel($db_link)
{
$alleHelferLevel = array();
$db_erg=HelferLevel($db_link);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferLevel = $zeile['HelferLevel'];
$HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung'];
$alleHelferLevel[$HelferLevel] = $HelferLevelBeschreibung;
};
return $alleHelferLevel;
}
// TODO: als Array zurueckgeben (CreateHelfer anpassen)
// TODO:
//function HelferLevel($db_link){

View File

@ -15,7 +15,7 @@ if ($AdminStatus != 1) {
<!doctype html>
<html>
<head>
<title>testAlle Helferschichten 2</title>
<title>Alle Schichten 2</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)"/>
<link rel="stylesheet" href="css/style_print.css" media="print"/>

View File

@ -76,7 +76,7 @@ if ($success == 1 && $email != "") {
error_log("2email: " . $HelferEmail . ",level: " . $helfer_level . ",success: " . $success);
// Helfer Anlegen, wenn er nicht existiert
if (! HelferIstVorhanden($db_link, $HelferEmail)) {
error_log("Helfer " . $HelferEmail . " nicht vorhanden, lege an");
error_log($HelferEmail . " nicht vorhanden, lege an");
error_log("CreateHelfer(db_link,$HelferName,$HelferEmail, $HelferHandy,$HelferPasswort,$HelferLevel);");
$db_erg = CreateHelfer($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel);
}

View File

@ -10,7 +10,7 @@ require '_login.php';
<!doctype html>
<html>
<head>
<title><?php echo EVENTNAME ?> Helferdaten ändern</title>
<title><?php echo EVENTNAME ?> Persönliche Daten ändern</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)"/>

View File

@ -45,7 +45,7 @@ if (!isset($_SESSION["HelferID"])) {
<!doctype html>
<html lang=de>
<head>
<title>Helfer <?php echo EVENTNAME ?> Home</title>
<title><?php echo EVENTNAME ?> Home</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>

View File

@ -35,6 +35,10 @@ font-size: inherit ;
color: white;
}
/*.infoheader th, .infoheader td, .infoheader tr{*/
.infoheader th{
background-color: #9090AF;
}
#selected th {
padding-top: 12px;

View File

@ -9,7 +9,7 @@ require '_login.php';
<!doctype html>
<html lang=de>
<head>
<title>Helfer <?php echo EVENTNAME ?> Home</title>
<title><?php echo EVENTNAME ?> Home</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></script>
@ -27,7 +27,7 @@ require '_login.php';
<td > <img src="Bilder/PfeilRechts2.jpeg" style="width:30px;height:30px;">
<b>
<?php
echo "Helfer $HelferName";
echo "$HelferName";
if ($HelferIsAdmin) {
echo " (Admin)";
}
@ -46,7 +46,7 @@ if ($HelferIsAdmin) {
?>
<tr onclick="window.location.href='MeineSchichten.php';">
<td>
<img src="Bilder/PfeilRechts2.jpeg" style="width:30px;height:30px;"> <b>Nächste Helferschichten:</b>
<img src="Bilder/PfeilRechts2.jpeg" style="width:30px;height:30px;"> <b>Meine nächsten Schichten</b>
<ul style="display: block; list-style-type: none; margin-left: 20px;margin-top: 0px;margin-bottom: 0px">
<?php