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';"> <button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';">
<b>&larrhk;</b> <b>&larrhk;</b>
</button> &nbsp; </button> &nbsp;
<b>Admin HelferDB <?php echo EVENTNAME; ?></b> <b>Admin <?php echo EVENTNAME; ?></b>
</th> </th>
<tr> <tr>
@ -71,23 +71,23 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
</td> </td>
</tr> </tr>
<tr onclick="window.location.href='CreateHelfer.php';"> <td> <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> </td> </tr>
<tr onclick="window.location.href='EmailZuToken.php';"> <td> <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> </td> </tr>
<tr onclick="window.location.href='AdminHelferUebersicht.php';"> <tr onclick="window.location.href='AdminHelferUebersicht.php';">
<td> <td>
<a class="fallbacklink" href='AdminHelferUebersicht.php'> <a class="fallbacklink" href='AdminHelferUebersicht.php'>
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;"> <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> </a>
</td> </td>
</tr> </tr>
<th> <th>
<b>Helfer als Admin &auml;ndern:<b> <b>Als Admin &auml;ndern:<b>
<form style="display:inline-block;" method=post> <form style="display:inline-block;" method=post>
<select style="height:33px;width:350px;font-size:20" name="AliasHelferID" id="AliasHelferID" onchange="submit()"> <select style="height:33px;width:350px;font-size:20" name="AliasHelferID" id="AliasHelferID" onchange="submit()">
<?php <?php
@ -114,7 +114,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<td> <td>
<img src="Bilder/dot.png" width="30px" height="2px"> <img src="Bilder/dot.png" width="30px" height="2px">
<img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;"> <img src="Bilder/PfeilRechts.jpeg" style="width:30px;height:30px;">
<b> Helferdaten &auml;ndern</b> <b> Personendaten &auml;ndern</b>
</td> </td>
</tr> </tr>
<tr onclick="window.location.href='AdminMeineSchichten.php';"> <tr onclick="window.location.href='AdminMeineSchichten.php';">

View File

@ -4,6 +4,7 @@ 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
require '_login.php'; require '_login.php';
if ($AdminStatus != 1) { if ($AdminStatus != 1) {
@ -14,8 +15,8 @@ if ($AdminStatus != 1) {
?> ?>
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<title>Helfer <?php echo EVENTNAME ?> Alle Schichten</title> <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_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" />
@ -24,112 +25,120 @@ if ($AdminStatus != 1) {
<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 = 'Admin.php';"><b>&larrhk;</b></button> <button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';">
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <b>&larrhk;</b>
<div style="width: 100%;"> </button>
<?php <?php echo "<b>" . EVENTNAME . "</b>"; ?>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<div style="width: 100%;">
<?php
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) { if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID); unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID); 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);
$ZeitBereich = $_GET['ZeitBereich'];
} else {
$ZeitBereich = 0;
}
function HelferAuswahlButton($db_link, $AliasHelferID) $Was = $zeile['Was'];
{ $Wo = $zeile['Wo'];
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()">'; $Dauer = $zeile['Dauer'];
$db_erg = HelferListe($db_link); $Leiter = $zeile['Name'];
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $LeiterHandy = $zeile['Handy'];
if ($AliasHelferID != $zeile['HelferID']) { $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>"; echo "<option value='" . $zeile['HelferID'] . "'>" . $zeile['Name'] . "</optionen>";
} else { } else {
echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</optionen>"; echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</optionen>";
}
} }
echo '</select></form>';
} }
echo '</select></form>';
}
if (isset($_POST['AliasHelferID'])) { if (isset($_POST['AliasHelferID'])) {
$AliasHelferID = $_POST['AliasHelferID']; $AliasHelferID = $_POST['AliasHelferID'];
} elseif (isset($_SESSION["AliasHelferID"])) { } elseif (isset($_SESSION["AliasHelferID"])) {
$AliasHelferID = $_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);
echo "<p>Erst Helfer auswählen</p>";
exit;
}
HelferAuswahlButton($db_link, $AliasHelferID);
$_SESSION["AliasHelferID"] = $AliasHelferID; $_SESSION["AliasHelferID"] = $AliasHelferID;
$AdminID = $_SESSION["AdminID"]; $AdminID = $_SESSION["AdminID"];
$db_erg = Helferdaten($db_link, $AliasHelferID); $db_erg = Helferdaten($db_link, $AliasHelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile['Name']; $HelferName = $zeile['Name'];
} $AliasHelferLevel = $zeile['HelferLevel'];
}
// Helferliste Anzeigen // Helferliste Anzeigen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
?> ?>
<form method="post" action="AdminAlleSchichten.php#Info"> <form method="post" action="AdminAlleSchichten.php#Info">
@ -153,7 +162,6 @@ if (isset($_POST['plusschicht'])) {
$HelferName = ''; $HelferName = '';
$HelferEmail = ''; $HelferEmail = '';
$HelferHandy = ''; $HelferHandy = '';
//die('<div class="Helfer wurde angelegt.</div>');
} else { } else {
// Fehlermeldungen ausgeben: // Fehlermeldungen ausgeben:
echo '<div class="error"><ul>'; echo '<div class="error"><ul>';
@ -165,10 +173,12 @@ if (isset($_POST['plusschicht'])) {
} }
if (isset($_POST['minusschicht'])) { if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen // Mich aus Schicht entfernen
$messages = []; $messages = [];
$SchichtID = $_POST['minusschicht']; $SchichtID = $_POST['minusschicht'];
// Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf:
$_SESSION["SchichtIdAktiv"] = $SchichtID;
if (empty($messages)) { if (empty($messages)) {
// Helfer aus Schicht entfernen // 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 '<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 $HelferName: ";
echo $zeile['Anzahl']; echo $zeile['Anzahl'];
echo " Schichten insgesamt "; echo " Schichten, ";
echo $zeile['Dauer'] / 3600; echo $zeile['Dauer'] / 3600;
echo " Stunden"; echo " Stunden)";
echo '</th></tr></table><br><br>'; echo '</th></tr></table><br><br>';
/// Schichten Auswahl /// Schichten Auswahl
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
@ -207,7 +217,8 @@ $addschicht = $_SESSION["addschicht"];
$dienstsort = $_SESSION["dienstsort"]; $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') { if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') {
$addschicht = '1'; $addschicht = '1';
$dienstsort = '1'; $dienstsort = '1';
@ -231,27 +242,37 @@ if ($addschicht == '0') {
echo "<button name='addschicht' value='2'>Dienste</button></p>"; 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">'; echo '<table class="commontable">';
require('_zeitbereich.php'); require('_zeitbereich.php');
$Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AdminAlleSchichten.php"); $Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AdminAlleSchichten.php");
$MeinVon = $Bereich['MeinVon']; $MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis']; $MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, -1); $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $AliasHelferLevel);
// fuer Anzahlanzeige in Ueberschrift // fuer Anzahlanzeige in Ueberschrift
$iAlleSchichtenCount = AlleSchichtenCount($db_link); $iAlleSchichtenCount = AlleSchichtenCount($db_link);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link);
echo '</table>'; 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 '<table class="commontable">';
echo "<tr class='header'>"; 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 = ""; $OldTag = "";
$OldWas = ""; $OldWas = "";
@ -260,10 +281,10 @@ if ($addschicht != '0') {
//print_r($MeineDienste); //print_r($MeineDienste);
echo '</table>'; echo '</table>';
// 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') { if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt
$Tag = $zeile['Tag']; $Tag = $zeile['Tag'];
if ($Tag != $OldTag) { if ($Tag != $OldTag) {
@ -275,18 +296,27 @@ if ($addschicht != '0') {
} else { } else {
$Was = $zeile['Was']; $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 // + in <span> becomes - when rows are opened
echo "<tr class='header'><th colspan='7' style='width:100%'><span>+</span> "; echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
echo $Was; $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>";
/*
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>"; 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; $OldWas = $Was;
} }
} }
@ -307,13 +337,13 @@ if ($addschicht != '0') {
// Meine Schichten gruen einfaerben // Meine Schichten gruen einfaerben
if (in_array($zeile['SchichtID'], $MeineDienste)) { if (in_array($zeile['SchichtID'], $MeineDienste)) {
$rowstyle = ' style="background-color:lightgreen" '; $rowstyle = ' style="background-color:lightgreen" ';
$regtext = 'Meine!'; $regtext = '<br><center>Meine!</center>';
} else { } else {
// dummy-style, um SchichtID unsichtbar im Tag anzuzeigen // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen
$rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" ';
$regtext = ''; $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 $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something
} }
@ -328,9 +358,11 @@ if ($addschicht != '0') {
echo "<td>" . $Bis . "</td>"; echo "<td>" . $Bis . "</td>";
echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/"; echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/";
echo "" . $zeile['Soll'] . "</td>"; echo "" . $zeile['Soll'] . "</td>";
// buttons sind in der selben Zelle // durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert
echo "<td width='30px'>" . "<button width='20px' name='plusschicht' value='" . $zeile['SchichtID'] . "'>+</button>" . ""; // in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt
echo "&nbsp;&nbsp;<button width='120px' name='minusschicht' value='" . $zeile['SchichtID'] . "'>&ndash;</button> $regtext" . "</td>"; // 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 "</tr>\n";
} }
echo "</table>"; echo "</table>";

View File

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

View File

@ -73,13 +73,6 @@ echo "<br><br><table class='commontable' style='page-break-before:always'>";
</table> </table>
<table class="commontable collapsible"> <table class="commontable collapsible">
<?php <?php
$db_erg = AlleHelferSchichtenUebersicht($db_link);
$dauer = 0;
$i = 0;
$OldAliasHelferID = "-1";
$EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden
$HelferUeberschrift = "";
// Function to output helper information // Function to output helper information
function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile) function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile)
{ {
@ -93,31 +86,45 @@ function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer,
echo "$EinzelDienstStundenZeile</td></tr>\n "; echo "$EinzelDienstStundenZeile</td></tr>\n ";
} }
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { // Helferlevel holen, wir listen die Level nacheinander auf
$HelferName = $zeile["Name"]; $alleHelferLevel = alleHelferLevel($db_link);
$HelferLevel = $zeile["HelferLevel"]; foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
$AliasHelferID = $zeile["AliasHelferID"]; {
if ($AliasHelferID != $OldAliasHelferID) { echo "<tr class='header infoheader'><th colspan=3>($HelferLevelIteration) $HelferLevelBeschreibung</th></tr>";
if ($EinzelDienstStundenZeile != "") { $db_erg = AlleHelferSchichtenUebersicht($db_link, $HelferLevelIteration);
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); $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"];
if ($AliasHelferID != $OldAliasHelferID) {
if ($EinzelDienstStundenZeile != "") {
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
}
$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'>&nbsp;$HelferName (Lvl:$HelferLevel) </div></form>";
$OldHelferName = $HelferName;
$OldAliasHelferID = $AliasHelferID;
$i += 1;
} }
$dauer = 0; $EinzelDienstStundenZeile .= "<tr><td style='width:100px'> " . (int)$zeile["Dauer"] . "</td><td>";
$EinzelDienstStundenZeile = ""; $EinzelDienstStundenZeile .= $zeile["Was"];
$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>"; $EinzelDienstStundenZeile .= "</td></tr>";
$OldHelferName = $HelferName; $dauer = $dauer + (int)$zeile["Dauer"];
$OldAliasHelferID = $AliasHelferID;
$i += 1;
} }
$EinzelDienstStundenZeile .= "<tr><td style='width:100px'> " . (int)$zeile["Dauer"] . "</td><td>"; if ($EinzelDienstStundenZeile != "") {
$EinzelDienstStundenZeile .= $zeile["Was"]; outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
$EinzelDienstStundenZeile .= "</td></tr>"; }
$dauer = $dauer + (int)$zeile["Dauer"];
} }
if ($EinzelDienstStundenZeile != "") {
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
}
echo "</table>"; echo "</table>";
?> ?>

View File

@ -23,7 +23,7 @@ if ($AdminStatus != 1) {
<meta name="viewport" content="width=480" /> <meta name="viewport" content="width=480" />
</head> </head>
<body> <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>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
</h4> </h4>
<div style="width: 100%;"> <div style="width: 100%;">

View File

@ -128,7 +128,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<table class="commontable"> <table class="commontable">
<tr> <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>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
<form method="post"> <form method="post">
<tr> <tr>
@ -160,17 +160,11 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<tr><td> <tr><td>
<select name="helfer-level"> <select name="helfer-level">
<?php <?php
$db_erg = HelferLevel($db_link); $alleHelferLevel = alleHelferLevel($db_link);
$selected = ""; foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $selected = ($HelferLevelIteration == $HelferLevel) ? "selected" : "";
$HelferLevel = $zeile['HelferLevel']; echo "<option value='$HelferLevelIteration' $selected>$HelferLevelBeschreibung</option>";
$HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung']; }
if ($HelferLevel == 1) {
$selected = " selected " ;
};
echo "<option value='$HelferLevel' $selected>$HelferLevelBeschreibung</option>";
$selected = "";
}
?> ?>
</select> </select>
</td> </td>

View File

@ -1,98 +1,104 @@
<?php <?php
// Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden // Login
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
require '_login.php'; require '_login.php';
?> ?>
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<title>Helfer <?php echo EVENTNAME ?> Alle Schichten</title> <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_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="js/jquery-3.7.1.min.js" type="text/javascript"></script> <script src="js/jquery-3.7.1.min.js" 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 = 'index.php';">
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'index.php';"><b>&larrhk;</b></button> <b>&larrhk;</b>
<?php echo "<b>" . EVENTNAME . "</b>"; ?> </button>
<h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
<div style="width: 100%;"> <h1> Alle Schichten / Schichten hinzuf&uuml;gen </h1>
<?php <div style="width: 100%;">
<?php
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) { if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID); unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID); 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);
$ZeitBereich = $_GET['ZeitBereich'];
} else { $Was = $zeile['Was'];
$ZeitBereich = 0; $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;
}
// Helferliste Anzeigen // Helferliste Anzeigen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
?> ?>
<form method="post" action="AlleSchichten.php"> <form method="post" action="AlleSchichten.php">
@ -126,7 +132,7 @@ if (isset($_POST['plusschicht'])) {
} }
if (isset($_POST['minusschicht'])) { if (isset($_POST['minusschicht'])) {
// Mich aus Schicht entfernen // Mich aus Schicht entfernen
$messages = []; $messages = [];
$SchichtID = $_POST['minusschicht']; $SchichtID = $_POST['minusschicht'];
@ -142,7 +148,6 @@ if (isset($_POST['minusschicht'])) {
foreach ($messages as $message) { foreach ($messages as $message) {
echo '<li>' . htmlspecialchars($message) . '</li>'; echo '<li>' . htmlspecialchars($message) . '</li>';
} }
echo '</ul></div>';
} }
} }
@ -170,7 +175,8 @@ $addschicht = $_SESSION["addschicht"];
$dienstsort = $_SESSION["dienstsort"]; $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') { if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') {
$addschicht = '1'; $addschicht = '1';
$dienstsort = '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">'; echo '<table class="commontable">';
require('_zeitbereich.php'); require('_zeitbereich.php');
$Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AlleSchichten.php"); $Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AlleSchichten.php");
$MeinVon = $Bereich['MeinVon']; $MeinVon = $Bereich['MeinVon'];
$MeinBis = $Bereich['MeinBis']; $MeinBis = $Bereich['MeinBis'];
$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, -1); $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel);
// fuer Anzahlanzeige in Ueberschrift // fuer Anzahlanzeige in Ueberschrift
$iAlleSchichtenCount = AlleSchichtenCount($db_link); $iAlleSchichtenCount = AlleSchichtenCount($db_link);
@ -211,10 +217,22 @@ if ($addschicht != '0') {
// "Alle Schichten der Con" // "Alle Schichten der Con"
echo '<table class="commontable">'; echo '<table class="commontable">';
echo "<tr class='header'>"; echo "<tr class='infoheader'>";
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 = 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 = ""; $OldTag = "";
$OldWas = ""; $OldWas = "";
@ -226,7 +244,7 @@ if ($addschicht != '0') {
// 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') { if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt
$Tag = $zeile['Tag']; $Tag = $zeile['Tag'];
if ($Tag != $OldTag) { if ($Tag != $OldTag) {
@ -238,18 +256,27 @@ if ($addschicht != '0') {
} else { } else {
$Was = $zeile['Was']; $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 // + in <span> becomes - when rows are opened
echo "<tr class='header'><th colspan='7' style='width:100%'><span>+</span> "; echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
echo $Was; $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>";
/*
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>"; 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; $OldWas = $Was;
} }
} }
@ -270,13 +297,13 @@ if ($addschicht != '0') {
// Meine Schichten gruen einfaerben // Meine Schichten gruen einfaerben
if (in_array($zeile['SchichtID'], $MeineDienste)) { if (in_array($zeile['SchichtID'], $MeineDienste)) {
$rowstyle = ' style="background-color:lightgreen" '; $rowstyle = ' style="background-color:lightgreen" ';
$regtext = 'Meine!'; $regtext = '<br><center>Meine!</center>';
} else { } else {
// dummy-style, um SchichtID unsichtbar im Tag anzuzeigen // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen
$rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" ';
$regtext = ''; $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 $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something
} }
@ -291,9 +318,11 @@ if ($addschicht != '0') {
echo "<td>" . $Bis . "</td>"; echo "<td>" . $Bis . "</td>";
echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/"; echo "<td bgcolor='" . $Color . "'>" . $zeile['Ist'] . "/";
echo "" . $zeile['Soll'] . "</td>"; echo "" . $zeile['Soll'] . "</td>";
// buttons sind in der selben Zelle // durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert
echo "<td width='30px'>" . "<button width='20px' name='plusschicht' value='" . $zeile['SchichtID'] . "'>+</button>" . ""; // in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt
echo "&nbsp;&nbsp;<button width='120px' name='minusschicht' value='" . $zeile['SchichtID'] . "'>&ndash;</button> $regtext" . "</td>"; // 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 "</tr>\n";
} }
echo "</table>"; echo "</table>";

View File

@ -53,7 +53,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<div style="width: 100%;"> <div style="width: 100%;">
<table class="commontable"> <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> </th>
<tr onclick="window.location.href='Ausdrucke-alles.php';"> <tr onclick="window.location.href='Ausdrucke-alles.php';">
<td > <img src="Bilder/More.jpeg" style="width:30px;height:30px;"> <b>Ausdrucke(alles)</b> </td> <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; //echo "InserId = ".$insertID;
// Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird // 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 = ''; $HelferName = '';
$HelferEmail = ''; $HelferEmail = '';
$HelferHandy = ''; $HelferHandy = '';
@ -79,7 +79,7 @@ if (isset($_POST['sent'])) {
//die('<div class="Helfer wurde angelegt.</div>'); //die('<div class="Helfer wurde angelegt.</div>');
} else { } 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 { } else {
// Fehlermeldungen ausgeben: // Fehlermeldungen ausgeben:

View File

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

View File

@ -59,7 +59,7 @@ if (isset($_POST['email-cc'])) {
$email_text = " $email_text = "
Lieber Teilnehmer, 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! Danke für deine Mithilfe!
@ -84,7 +84,7 @@ if (isset($_POST['sendmail'])) {
?> ?>
<!doctype html> <!doctype html>
<head> <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_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)"/>

View File

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

View File

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

View File

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

View File

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

View File

@ -143,7 +143,7 @@ function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $
if ($HelferIsAdmin == -1) { if ($HelferIsAdmin == -1) {
$sql = "UPDATE Helfer SET Name='" . $HelferName . "',Email='" . $HelferEmail . "',Handy='" . $HelferHandy . "',HelferLevel='$HelferLevel',Passwort='" . $PasswortHash . "' Where HelferId=" . $HelferID; $sql = "UPDATE Helfer SET Name='" . $HelferName . "',Email='" . $HelferEmail . "',Handy='" . $HelferHandy . "',HelferLevel='$HelferLevel',Passwort='" . $PasswortHash . "' Where HelferId=" . $HelferID;
} else { } 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; //echo $sql;
$db_erg = mysqli_query($db_link, $sql); $db_erg = mysqli_query($db_link, $sql);
@ -191,11 +191,18 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1)
return $db_erg; 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 $nurHelferLevel $nurDienst";
$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel";
$db_erg = mysqli_query($db_link, $sql); $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); $db_erg = mysqli_query($db_link, $sql);
@ -242,7 +257,7 @@ function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1)
$sql_helferlevel = ""; $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); error_log("AlleSchichtenImZeitbereich sql " . $sql);
$db_erg = mysqli_query($db_link, $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 = $sql . " UNION ALL "; SELECT
$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)"; 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); $db_erg = mysqli_query($db_link, $sql);
if (! $db_erg) { if (! $db_erg) {
echo "AlleHelferSchichtenUebersicht ungueltige Abfrage"; echo "AlleHelferSchichtenUebersicht ungueltige Abfrage";
@ -803,6 +837,21 @@ function HelferLevel($db_link)
} }
return $db_erg; 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: als Array zurueckgeben (CreateHelfer anpassen)
// TODO: // TODO:
//function HelferLevel($db_link){ //function HelferLevel($db_link){

View File

@ -15,7 +15,7 @@ if ($AdminStatus != 1) {
<!doctype html> <!doctype html>
<html> <html>
<head> <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_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)"/>
<link rel="stylesheet" href="css/style_print.css" media="print"/> <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); error_log("2email: " . $HelferEmail . ",level: " . $helfer_level . ",success: " . $success);
// Helfer Anlegen, wenn er nicht existiert // Helfer Anlegen, wenn er nicht existiert
if (! HelferIstVorhanden($db_link, $HelferEmail)) { 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);"); error_log("CreateHelfer(db_link,$HelferName,$HelferEmail, $HelferHandy,$HelferPasswort,$HelferLevel);");
$db_erg = 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> <!doctype html>
<html> <html>
<head> <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_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)"/>

View File

@ -45,7 +45,7 @@ if (!isset($_SESSION["HelferID"])) {
<!doctype html> <!doctype html>
<html lang=de> <html lang=de>
<head> <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_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)"/>
<script src="js/helferdb.js" type="text/javascript"></script> <script src="js/helferdb.js" type="text/javascript"></script>

View File

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

View File

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