From cac4c31652409b4ebc977ae15b7575c0253b6672 Mon Sep 17 00:00:00 2001 From: iridos Date: Mon, 1 Jan 2024 20:10:42 +0100 Subject: [PATCH 01/48] Rename Ausdrucke.php to Ausdrucke-alles.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dies wird Unterseite einer Übersichtsseite Ausdrucke --- html/{Ausdrucke.php => Ausdrucke-alles.php} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename html/{Ausdrucke.php => Ausdrucke-alles.php} (100%) diff --git a/html/Ausdrucke.php b/html/Ausdrucke-alles.php similarity index 100% rename from html/Ausdrucke.php rename to html/Ausdrucke-alles.php From 9bb2d7b7e1dabf04c85dcd96dc96bdeff794d4a4 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 1 Jan 2024 21:00:51 +0100 Subject: [PATCH 02/48] remove mix of AliasHelfer and AliasHelferID --- html/Admin.php | 11 +++-------- html/AdminAlleSchichten.php | 6 +++--- html/AdminHelferUebersicht.php | 4 ++-- html/AdminMeineSchichten.php | 6 +++--- html/AdminUserdaten.php | 6 +++--- 5 files changed, 14 insertions(+), 19 deletions(-) diff --git a/html/Admin.php b/html/Admin.php index a7550c6..36d031b 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -30,22 +30,17 @@ DatenbankAufDeutsch($db_link); $AliasHelferID = 0; -//echo "AliasHelfer=$AliasHelferID
"; if (isset($_SESSION["AliasHelferID"])) { $AliasHelferID = $_SESSION["AliasHelferID"]; } -//echo "AliasHelfer=$AliasHelferID
"; - -if (isset($_POST["AliasHelfer"])) { - $AliasHelferID = $_POST["AliasHelfer"]; - //echo "post
"; +if (isset($_POST["AliasHelferID"])) { + $AliasHelferID = $_POST["AliasHelferID"]; } if ($AliasHelferID != 0) { $_SESSION["AliasHelferID"] = $AliasHelferID; } -//echo "AliasHelfer=$AliasHelferID
"; $db_erg = Helferdaten($db_link, $HelferID); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { @@ -81,7 +76,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - Helfer als Admin ändern:
Helfer wählen: '; $db_erg = HelferListe($db_link); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($AliasHelferID != $zeile['HelferID']) { @@ -105,8 +105,8 @@ function HelferAuswahlButton($db_link, $AliasHelferID) echo ''; } -if (isset($_POST['AliasHelfer'])) { - $AliasHelferID = $_POST['AliasHelfer']; +if (isset($_POST['AliasHelferID'])) { + $AliasHelferID = $_POST['AliasHelferID']; } elseif (isset($_SESSION["AliasHelferID"])) { $AliasHelferID = $_SESSION["AliasHelferID"]; } else { diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 3d74ca8..223b4fb 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -88,10 +88,10 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { // Neue Ueberschrift mit Helfernamen + Stunden echo "$HelferUeberschrift $dauer Stunden"; echo "
"; - echo "
\n"; + echo "\n"; echo "  "; echo "
"; - echo "
"; + echo ""; echo "
"; $dauer = 0; echo "$EinzelDienstStunden\n "; diff --git a/html/AdminMeineSchichten.php b/html/AdminMeineSchichten.php index c0ce145..9fdcce4 100644 --- a/html/AdminMeineSchichten.php +++ b/html/AdminMeineSchichten.php @@ -83,7 +83,7 @@ if (isset($_GET['InfoAlleSchichtID'])) { function HelferAuswahlButton($db_link, $AliasHelferID) { - echo 'Helfer wählen:
'; $db_erg = HelferListe($db_link); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($AliasHelferID != $zeile['HelferID']) { @@ -97,8 +97,8 @@ function HelferAuswahlButton($db_link, $AliasHelferID) -if (isset($_POST['AliasHelfer'])) { - $AliasHelferID = $_POST['AliasHelfer']; +if (isset($_POST['AliasHelferID'])) { + $AliasHelferID = $_POST['AliasHelferID']; echo "AliasHelfer: $AliasHelferID
"; } elseif (isset($_SESSION["AliasHelferID"])) { $AliasHelferID = $_SESSION["AliasHelferID"]; diff --git a/html/AdminUserdaten.php b/html/AdminUserdaten.php index 9d92255..f8b998c 100644 --- a/html/AdminUserdaten.php +++ b/html/AdminUserdaten.php @@ -14,7 +14,7 @@ if ($AdminStatus != 1) { function HelferAuswahlButton($db_link, $AliasHelferID) { - echo 'Helfer wählen: '; $db_erg = HelferListe($db_link); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($AliasHelferID != $zeile['HelferID']) { @@ -26,8 +26,8 @@ function HelferAuswahlButton($db_link, $AliasHelferID) echo ''; } -if (isset($_POST['AliasHelfer'])) { - $AliasHelferID = $_POST['AliasHelfer']; +if (isset($_POST['AliasHelferID'])) { + $AliasHelferID = $_POST['AliasHelferID']; } elseif (isset($_SESSION["AliasHelferID"])) { $AliasHelferID = $_SESSION["AliasHelferID"]; } else { From 9163ba335debe2566fc3c736e2a096821e0a516c Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 1 Jan 2024 21:39:31 +0100 Subject: [PATCH 03/48] file with warning as alert that jquery is missing, because I just spent some time finding out why display was wrong. need to decide if we want to keep jquery and where to link it from --- html/js/jquery-3.7.1.min.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 html/js/jquery-3.7.1.min.js diff --git a/html/js/jquery-3.7.1.min.js b/html/js/jquery-3.7.1.min.js new file mode 100644 index 0000000..2251516 --- /dev/null +++ b/html/js/jquery-3.7.1.min.js @@ -0,0 +1 @@ +alert("jquery-3.7.1.min.js is missing from the js directory"); From 7c88c14d5751c82f62e93cf4632a3d7fa232fe0e Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Thu, 4 Jan 2024 14:50:20 +0100 Subject: [PATCH 04/48] added missing file, changed arrow to point right ("closed") --- html/Admin.php | 15 +- html/AdminHelferUebersicht.php | 4 +- html/Ausdrucke.php | 70 ++++++ html/Bilder/PfeilRechts.jpeg | Bin 0 -> 21118 bytes html/DetailsSchichten.php | 179 +++++++++++++++ html/TeilnehmerSchichtenAusdruck.php | 323 +++++++++++++++++++++++++++ html/index.php | 6 +- 7 files changed, 582 insertions(+), 15 deletions(-) create mode 100644 html/Ausdrucke.php create mode 100644 html/Bilder/PfeilRechts.jpeg create mode 100644 html/DetailsSchichten.php create mode 100644 html/TeilnehmerSchichtenAusdruck.php diff --git a/html/Admin.php b/html/Admin.php index 36d031b..96ebca3 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -60,7 +60,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - Dienste und Schichten verwalten + Dienste und Schichten verwalten @@ -68,11 +68,11 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - Helfer per Link einladen + Helfer per Link einladen - Helferübersicht + Helferübersicht (und als Admin ändern) @@ -98,13 +98,13 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - inner table for indent--> - Helferdaten ändern + Helferdaten ändern - Schichten Anzeigen/Löschen + Schichten Anzeigen/Löschen - Schichten Hinzufügen + Schichten Hinzufügen @@ -114,9 +114,6 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { Ausdrucke - - Ausdruck Schichten -

Dienst: z.B. Badgekontrolle Eingang A. Schicht: ein Dienst zu einer bestimmten Zeit zB 9-12 Uhr

diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 223b4fb..25dbd9f 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -86,7 +86,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($HelferName != $OldHelferName) { if ($EinzelDienstStunden != "") { // Neue Ueberschrift mit Helfernamen + Stunden - echo "$HelferUeberschrift $dauer Stunden"; + echo "$HelferUeberschrift $dauer Stunden"; echo "
"; echo "
\n"; echo "  "; @@ -97,7 +97,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { echo "$EinzelDienstStunden\n "; } $EinzelDienstStunden = ""; - $HelferUeberschrift = "" . $HelferName; + $HelferUeberschrift = "
" . $HelferName . "
"; $OldHelferName = $HelferName; $OldAliasHelferID = $AliasHelferID; $i += 1; diff --git a/html/Ausdrucke.php b/html/Ausdrucke.php new file mode 100644 index 0000000..239e45d --- /dev/null +++ b/html/Ausdrucke.php @@ -0,0 +1,70 @@ +'; + exit; +} +?> + + + + Admin Drop am See + + + + + + + + Die Ausdrucke sind noch im Aufbau. "Ausdrucke(alles)" versucht alles relevante aus der Datenbank auf einer Seite anzuzeigen, damit auch bei Ausfall der DB noch ein PDF/Ausdruck die Info hat. Ausdrucke Schichten(I) und (II) ist für Papier-Schichten für Teilnehmer mit Abreiss-Zettel gedacht und wurden von 2 Leuten zeitgleich für Tübingen geschrieben und muss noch vereinigt werden. +
+ + + +
+ + + + + + + + + + +
  Ausdrucke HelferDB +
Ausdrucke(alles)
Ausdruck Schichten(I)
Ausdruck Schichten(II)
+ + + diff --git a/html/Bilder/PfeilRechts.jpeg b/html/Bilder/PfeilRechts.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d632b7b90b8211ebcf39a64a7c2528bd0c7879ee GIT binary patch literal 21118 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 F{9pY2l*<4B literal 0 HcmV?d00001 diff --git a/html/DetailsSchichten.php b/html/DetailsSchichten.php new file mode 100644 index 0000000..dcfb2db --- /dev/null +++ b/html/DetailsSchichten.php @@ -0,0 +1,179 @@ + + + + Helfer Drop am See + + + + + + + +
+?> +
+". $SchichtID . "
"; + + $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++; + } + + +} + + +$HelferID = $_SESSION["HelferID"]; +$AdminID = $_SESSION["AdminID"]; + +if(isset($_POST['HelferID'])) +{ + $HelferID = $_POST['HelferID']; +} + if(isset($_POST['ShowHelfer'])) { + $HelferID=$_POST['HelperSearch']; + } + +$_SESSION["HelferID"] = $HelferID; + + + + + + + + + + + + + + + + + + + + +?> + + + +
+'; + + + + echo "".$Was.""; + echo ""; + + //echo "


"; + echo "Beschreibung:
"; + echo $Info . "

"; + echo "Ort:
". $Wo . "

"; + echo "Dauer:
". $Dauer . "

"; + echo "Ansprechparter:
". $Leiter .", "; + echo $LeiterHandy.", "; + echo $LeiterEmail . "

"; + echo "Helfer der Schicht:
"; + $x=0; + $arrayLength = count($MitHelfer); + while ($x<$arrayLength) + { + echo "ID:".$MitHelferID[$x].", "; + echo $MitHelfer[$x].", "; + echo $MitHelferHandy[$x]."
"; + $x++; + } + + echo "\n"; + + + + echo ""; + + + + + + + + + +mysqli_free_result( $db_erg ); + + +?> + +

+
+ + + diff --git a/html/TeilnehmerSchichtenAusdruck.php b/html/TeilnehmerSchichtenAusdruck.php new file mode 100644 index 0000000..2c28527 --- /dev/null +++ b/html/TeilnehmerSchichtenAusdruck.php @@ -0,0 +1,323 @@ + + + + testAlle Helferschichten + + + + + + + + +
+". $SchichtID . "
"; + + $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 "". $SchichtID . "
"; + + $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++; + } + + +} + +if(isset($_GET['ZeitBereich'])) +{ + $ZeitBereich = $_GET['ZeitBereich']; +} +else +{ + $ZeitBereich = 0; +} + + + +// Helferliste Anzeigen +//////////////////////////////////////////////////////// + +?> + + + +'); + } + else + { + // Fehlermeldungen ausgeben: + echo '
    '; + foreach($messages as $message) + { + echo '
  • '.htmlspecialchars($message).'
  • '; + } + echo '
'; + } + + +} + +if(isset($_POST['minusschicht'])) { +// Mich aus Schicht entfernen + $messages = []; + + $SchichtID = $_POST['minusschicht']; + + if(empty($messages)) + { + // Helfer aus Schicht entfernen + $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link,$HelferID,$SchichtID); + + } + else + { + // Fehlermeldungen ausgeben: + echo '
    '; + foreach($messages as $message) + { + echo '
  • '.htmlspecialchars($message).'
  • '; + } + echo '
'; + } + + + +} + +/// Ausgabe auf Deutsch umstellen +///////////////////////////////////////////////////////////////////////// + + DatenbankAufDeutsch($db_link); + + +// Zusammenfassung Eigener Schichten + $db_erg = SchichtenSummeEinesHelfers($db_link,$HelferID); + $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC); + +/// Schichten Auswahl +//////////////////////////////////////////////////////// +if($addschicht=='0') +{ + echo "

Schichten Hinzufügen geordnet nach"; + echo ""; + echo "

"; +} + + +// fuer Anzahlanzeige in Ueberschrift +$iAlleSchichtenCount = AlleSchichtenCount($db_link); +$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); + + //echo "

"; + echo ''; + echo ""; + echo ""; + +echo "\n\n"; // Zeitbereich tr + +// Zeitbereich: -1 davor, 0 kein Limit, 1-N Tag N der Con, 1000: nach der Con +$ZeitBereichWerte = ZEITBEREICHWERTE; +$ZeitBereichFelder = count($ZeitBereichWerte); +$ZeitBereichFeldBreite = round(100/$ZeitBereichFelder); // % width for style + +$format='Y-m-d'; + +// iterate over all days plus "before" and "after" +// Wenn TAG_DAUER=4, dann sind die Werte 1-4 die Tage der Con +// ZeitBereichWerte = [-1, 0, 1, 2, 3, 4, 1000] +// -1: davor, 0: alle, 1-4: Tag 1-4, 1000: danach +foreach($ZeitBereichWerte as &$EinZeitBereich) { + if($EinZeitBereich >0 && $EinZeitBereich <= TAGE_DAUER) { + $PlusTage=$EinZeitBereich-1; + //TODO: only if locale DE + $day = $start_date->add(new DateInterval("P{$PlusTage}D")); + $Wochentag= $TageNamenDeutsch[date_format($day,'w')]; + + $Text = "$Wochentag (Tag{$EinZeitBereich})"; + $Von=date_format($day, $format) . " 00:00:00"; + $Bis=date_format($day, $format) . " 23:59:59"; + } + elseif($EinZeitBereich == -1) { $Text = 'Davor'; $Von="2000-01-01 00:00:00"; $Bis=date_format($start_date, $format). " 00:00:00";} + elseif($EinZeitBereich == 0 ) { $Text = 'Alle' ; $Von="2000-01-01 00:00:00"; $Bis="3000-01-01 00:00:00";} + elseif($EinZeitBereich == 1000) { $Text = 'Danach'; + $tage_dauer = TAGE_DAUER; + $day = $start_date->add(new DateInterval("P{$tage_dauer}D")); $Von=date_format($day, $format). " 00:00:00"; $Bis="3000-01-01 00:00:00"; + } + // highlight the selected time range + if($EinZeitBereich == $ZeitBereich) { + $color = 'background-color:#0000FF; ' ; + $MeinVon = $Von; + $MeinBis = $Bis; + } + else { $color = '';} + //$Text="$Text
$MeinVon $MeinBis"; // debug time strings + + // write the field for each day + echo "\n"; + + } +echo ""; //Zeitbereich tr + +$db_erg = AlleSchichtenImZeitbereich($db_link,$MeinVon,$MeinBis,$HelferLevel); +//echo ""; // debug + +$OldTag = ""; +$OldWas = ""; +// um Zeilen mit von mir belegten Schichten hervorzuheben +$MeineDienste = SchichtIdArrayEinesHelfers($db_link,$HelferID); +//print_r($MeineDienste); + +echo "
". "Alle Schichten der Con (" . $iBelegteSchichtenCount."/".$iAlleSchichtenCount. ")
". "$Text" . "
AlleSchichtenImZeitbereich(db_link,$Von,$Bis,$HelferLevel);
\n"; + +// Table to print out the shifts for people to enter their name in. If a shift is already taken, the name is printed out. +// The table prints just one day, specified via Zeitbereich. The heading above wrote out the day. +// the table is sorted by shift type (Was) first and then by time (Ab). +// "Was" is printed in the middle together with two-letter day and time. +// the first and the 5th (last) column also contain two-letter day and time for people to tear off and take with them. +// the 2nd and 4th column are for the namer. if the shift is already taken, the name is printed in, else the field is empty to write in. +// we iterate over all tasks (Was) and then over Ist and Soll for each task, filling one field for each Ist or Soll and filling in the name in Ist and leave it empty if it is Soll. +echo "
next table
\n"; +echo "\n"; +// $db_erg ist aus AlleSchichtenImZeitbereich +// und gibt zurueck Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden +$OldWas = ""; +while ($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)) { + $Tag = $zeile['Tag']; //this should be set above, because we only look at one day + $Ab = $zeile['Ab']; + $Bis = $zeile['Bis']; + $Ist = $zeile['Ist']; + $Soll= $zeile['Soll']; + $Was = $zeile['Was']; + $TagKurz = substr($Tag,0,2); + if ( substr($Ab,0,2) == substr($Bis,0,2)) { $Bis = substr($Bis,2); } // if start and end time are on the same day, we only print the end time + if($Was != $OldWas){ + echo ""; + echo "\n"; + } + $db_erg_helfer=BeteiligteHelfer($db_link,$zeile['SchichtID']); // get the people who are already signed up for this shift + // Wir geben zwei Helfer pro Zeile fuer die selbe Schicht aus + while($Soll > 0){ + $Soll = $Soll - 1; + $HelferZeile = mysqli_fetch_array( $db_erg_helfer, MYSQLI_ASSOC); + if(isset($HelferZeile['Name'])) { $Helfername = $HelferZeile['Name']; } else { $Helfername = ''; } + echo ""; + echo ""; + echo ""; + if($Soll >0){ // zweite Spalte nur ausgeben, wenn noch eine Schicht offen ist + $Soll = $Soll - 1; + $HelferZeile = mysqli_fetch_array( $db_erg_helfer, MYSQLI_ASSOC); // get the next person + if(isset($HelferZeile['Name'])) { $Helfername = $HelferZeile['Name']; } else { $Helfername = ''; } + echo ""; + echo ""; + }else{//if there is no more shift to fill in, we fill the rest of the row with empty fields + echo ""; + } + $OldWas = $Was; + } +} +echo "
$Was ($TagKurz)
$Was
$Ab - $Bis
$Helfername$Was
$Ab-$Bis
$Helfername$Was
$Ab-$Bis
\n"; + + +// old table, remove later + +mysqli_free_result( $db_erg ); + + +?> + + +
+ + + diff --git a/html/index.php b/html/index.php index 0c96efd..c6acc25 100644 --- a/html/index.php +++ b/html/index.php @@ -48,12 +48,10 @@ require '_login.php'; From fc1a21fff97ad114c1a3bd684992d9f70de586e5 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Thu, 4 Jan 2024 15:05:42 +0100 Subject: [PATCH 05/48] via ~/phpcbf.phar autoformat --- html/AdminHelferUebersicht.php | 2 +- html/TeilnehmerSchichtenAusdruck.php | 334 +++++++++++++-------------- 2 files changed, 164 insertions(+), 172 deletions(-) diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 25dbd9f..4ade955 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -97,7 +97,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { echo "$EinzelDienstStunden\n "; } $EinzelDienstStunden = ""; - $HelferUeberschrift = "
" . $HelferName . "
"; + $HelferUeberschrift = "
" . $HelferName . "
"; $OldHelferName = $HelferName; $OldAliasHelferID = $AliasHelferID; $i += 1; diff --git a/html/TeilnehmerSchichtenAusdruck.php b/html/TeilnehmerSchichtenAusdruck.php index 2c28527..97c503e 100644 --- a/html/TeilnehmerSchichtenAusdruck.php +++ b/html/TeilnehmerSchichtenAusdruck.php @@ -14,85 +14,75 @@ ". $SchichtID . "
"; - $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']; + $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); +if (isset($_GET['InfoAlleSchichtID'])) { + $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; + unset($InfoMeineSchichtID); //echo "". $SchichtID . "
"; - $zeile = DetailSchicht($db_link,$InfoAlleSchichtID); + $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']; + $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); + $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++; - } - + $x = 0; + while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $MitHelferID[$x] = $zeile['HelferID']; + $MitHelfer[$x] = $zeile['Name']; + $MitHelferHandy[$x] = $zeile['Handy']; + $x++; + } } -if(isset($_GET['ZeitBereich'])) -{ - $ZeitBereich = $_GET['ZeitBereich']; -} -else -{ +if (isset($_GET['ZeitBereich'])) { + $ZeitBereich = $_GET['ZeitBereich']; +} else { $ZeitBereich = 0; } @@ -111,10 +101,9 @@ else // Neu Schicht fuer Helfer Eintragen /////////////////////////////////////////////////////////// -if(isset($_POST['plusschicht'])) { - - $messages = []; - $SchichtId = $_POST['plusschicht']; +if (isset($_POST['plusschicht'])) { + $messages = []; + $SchichtId = $_POST['plusschicht']; // Eingaben überprüfen: @@ -123,56 +112,42 @@ if(isset($_POST['plusschicht'])) { // } - if(empty($messages)) - { - // Helfer Schicht zuweisen - $db_erg = HelferSchichtZuweisen($db_link,$HelferID,$SchichtId); - - // Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird - $HelferName = ''; - $HelferEmail = ''; - $HelferHandy = ''; - //die('
    '; - foreach($messages as $message) - { - echo '
  • '.htmlspecialchars($message).'
  • '; - } - echo '
'; - } - + if (empty($messages)) { + // Helfer Schicht zuweisen + $db_erg = HelferSchichtZuweisen($db_link, $HelferID, $SchichtId); + // Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird + $HelferName = ''; + $HelferEmail = ''; + $HelferHandy = ''; + //die('
    '; + foreach ($messages as $message) { + echo '
  • ' . htmlspecialchars($message) . '
  • '; + } + echo '
'; + } } -if(isset($_POST['minusschicht'])) { +if (isset($_POST['minusschicht'])) { // Mich aus Schicht entfernen $messages = []; $SchichtID = $_POST['minusschicht']; - if(empty($messages)) - { - // Helfer aus Schicht entfernen - $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link,$HelferID,$SchichtID); - + if (empty($messages)) { + // Helfer aus Schicht entfernen + $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID); + } else { + // Fehlermeldungen ausgeben: + echo '
    '; + foreach ($messages as $message) { + echo '
  • ' . htmlspecialchars($message) . '
  • '; } - else - { - // Fehlermeldungen ausgeben: - echo '
      '; - foreach($messages as $message) - { - echo '
    • '.htmlspecialchars($message).'
    • '; - } - echo '
    '; - } - - - + echo '
'; + } } /// Ausgabe auf Deutsch umstellen @@ -182,16 +157,15 @@ if(isset($_POST['minusschicht'])) { // Zusammenfassung Eigener Schichten - $db_erg = SchichtenSummeEinesHelfers($db_link,$HelferID); - $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC); + $db_erg = SchichtenSummeEinesHelfers($db_link, $HelferID); + $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); /// Schichten Auswahl //////////////////////////////////////////////////////// -if($addschicht=='0') -{ - echo "

Schichten Hinzufügen geordnet nach"; - echo ""; - echo "

"; +if ($addschicht == '0') { + echo "

Schichten Hinzufügen geordnet nach"; + echo ""; + echo "

"; } @@ -202,67 +176,75 @@ $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); //echo "

"; echo ''; echo ""; - echo ""; + echo ""; echo "\n\n"; // Zeitbereich tr // Zeitbereich: -1 davor, 0 kein Limit, 1-N Tag N der Con, 1000: nach der Con $ZeitBereichWerte = ZEITBEREICHWERTE; $ZeitBereichFelder = count($ZeitBereichWerte); -$ZeitBereichFeldBreite = round(100/$ZeitBereichFelder); // % width for style +$ZeitBereichFeldBreite = round(100 / $ZeitBereichFelder); // % width for style -$format='Y-m-d'; +$format = 'Y-m-d'; // iterate over all days plus "before" and "after" // Wenn TAG_DAUER=4, dann sind die Werte 1-4 die Tage der Con // ZeitBereichWerte = [-1, 0, 1, 2, 3, 4, 1000] // -1: davor, 0: alle, 1-4: Tag 1-4, 1000: danach -foreach($ZeitBereichWerte as &$EinZeitBereich) { - if($EinZeitBereich >0 && $EinZeitBereich <= TAGE_DAUER) { - $PlusTage=$EinZeitBereich-1; - //TODO: only if locale DE - $day = $start_date->add(new DateInterval("P{$PlusTage}D")); - $Wochentag= $TageNamenDeutsch[date_format($day,'w')]; +foreach ($ZeitBereichWerte as &$EinZeitBereich) { + if ($EinZeitBereich > 0 && $EinZeitBereich <= TAGE_DAUER) { + $PlusTage = $EinZeitBereich - 1; + //TODO: only if locale DE + $day = $start_date->add(new DateInterval("P{$PlusTage}D")); + $Wochentag = $TageNamenDeutsch[date_format($day, 'w')]; - $Text = "$Wochentag (Tag{$EinZeitBereich})"; - $Von=date_format($day, $format) . " 00:00:00"; - $Bis=date_format($day, $format) . " 23:59:59"; - } - elseif($EinZeitBereich == -1) { $Text = 'Davor'; $Von="2000-01-01 00:00:00"; $Bis=date_format($start_date, $format). " 00:00:00";} - elseif($EinZeitBereich == 0 ) { $Text = 'Alle' ; $Von="2000-01-01 00:00:00"; $Bis="3000-01-01 00:00:00";} - elseif($EinZeitBereich == 1000) { $Text = 'Danach'; - $tage_dauer = TAGE_DAUER; - $day = $start_date->add(new DateInterval("P{$tage_dauer}D")); $Von=date_format($day, $format). " 00:00:00"; $Bis="3000-01-01 00:00:00"; - } + $Text = "$Wochentag (Tag{$EinZeitBereich})"; + $Von = date_format($day, $format) . " 00:00:00"; + $Bis = date_format($day, $format) . " 23:59:59"; + } elseif ($EinZeitBereich == -1) { + $Text = 'Davor'; + $Von = "2000-01-01 00:00:00"; + $Bis = date_format($start_date, $format) . " 00:00:00"; + } elseif ($EinZeitBereich == 0) { + $Text = 'Alle' ; + $Von = "2000-01-01 00:00:00"; + $Bis = "3000-01-01 00:00:00"; + } elseif ($EinZeitBereich == 1000) { + $Text = 'Danach'; + $tage_dauer = TAGE_DAUER; + $day = $start_date->add(new DateInterval("P{$tage_dauer}D")); + $Von = date_format($day, $format) . " 00:00:00"; + $Bis = "3000-01-01 00:00:00"; + } // highlight the selected time range - if($EinZeitBereich == $ZeitBereich) { - $color = 'background-color:#0000FF; ' ; - $MeinVon = $Von; - $MeinBis = $Bis; - } - else { $color = '';} + if ($EinZeitBereich == $ZeitBereich) { + $color = 'background-color:#0000FF; ' ; + $MeinVon = $Von; + $MeinBis = $Bis; + } else { + $color = ''; + } //$Text="$Text
$MeinVon $MeinBis"; // debug time strings // write the field for each day - echo "\n"; - - } + echo "\n"; +} echo ""; //Zeitbereich tr -$db_erg = AlleSchichtenImZeitbereich($db_link,$MeinVon,$MeinBis,$HelferLevel); +$db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel); //echo ""; // debug $OldTag = ""; $OldWas = ""; // um Zeilen mit von mir belegten Schichten hervorzuheben -$MeineDienste = SchichtIdArrayEinesHelfers($db_link,$HelferID); -//print_r($MeineDienste); +$MeineDienste = SchichtIdArrayEinesHelfers($db_link, $HelferID); +//print_r($MeineDienste); echo "
". "Alle Schichten der Con (" . $iBelegteSchichtenCount."/".$iAlleSchichtenCount. ")
" . "Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
". "$Text" . "" . "$Text" . "
AlleSchichtenImZeitbereich(db_link,$Von,$Bis,$HelferLevel);
\n"; // Table to print out the shifts for people to enter their name in. If a shift is already taken, the name is printed out. -// The table prints just one day, specified via Zeitbereich. The heading above wrote out the day. -// the table is sorted by shift type (Was) first and then by time (Ab). +// The table prints just one day, specified via Zeitbereich. The heading above wrote out the day. +// the table is sorted by shift type (Was) first and then by time (Ab). // "Was" is printed in the middle together with two-letter day and time. // the first and the 5th (last) column also contain two-letter day and time for people to tear off and take with them. // the 2nd and 4th column are for the namer. if the shift is already taken, the name is printed in, else the field is empty to write in. @@ -272,46 +254,56 @@ echo "\n"; // $db_erg ist aus AlleSchichtenImZeitbereich // und gibt zurueck Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden $OldWas = ""; -while ($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)) { - $Tag = $zeile['Tag']; //this should be set above, because we only look at one day - $Ab = $zeile['Ab']; - $Bis = $zeile['Bis']; - $Ist = $zeile['Ist']; - $Soll= $zeile['Soll']; - $Was = $zeile['Was']; - $TagKurz = substr($Tag,0,2); - if ( substr($Ab,0,2) == substr($Bis,0,2)) { $Bis = substr($Bis,2); } // if start and end time are on the same day, we only print the end time - if($Was != $OldWas){ - echo ""; - echo "\n"; - } - $db_erg_helfer=BeteiligteHelfer($db_link,$zeile['SchichtID']); // get the people who are already signed up for this shift - // Wir geben zwei Helfer pro Zeile fuer die selbe Schicht aus - while($Soll > 0){ - $Soll = $Soll - 1; - $HelferZeile = mysqli_fetch_array( $db_erg_helfer, MYSQLI_ASSOC); - if(isset($HelferZeile['Name'])) { $Helfername = $HelferZeile['Name']; } else { $Helfername = ''; } - echo ""; - echo ""; - echo ""; - if($Soll >0){ // zweite Spalte nur ausgeben, wenn noch eine Schicht offen ist - $Soll = $Soll - 1; - $HelferZeile = mysqli_fetch_array( $db_erg_helfer, MYSQLI_ASSOC); // get the next person - if(isset($HelferZeile['Name'])) { $Helfername = $HelferZeile['Name']; } else { $Helfername = ''; } - echo ""; - echo ""; - }else{//if there is no more shift to fill in, we fill the rest of the row with empty fields - echo ""; +while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $Tag = $zeile['Tag']; //this should be set above, because we only look at one day + $Ab = $zeile['Ab']; + $Bis = $zeile['Bis']; + $Ist = $zeile['Ist']; + $Soll = $zeile['Soll']; + $Was = $zeile['Was']; + $TagKurz = substr($Tag, 0, 2); + if (substr($Ab, 0, 2) == substr($Bis, 0, 2)) { + $Bis = substr($Bis, 2); + } // if start and end time are on the same day, we only print the end time + if ($Was != $OldWas) { + echo ""; + echo "\n"; + } + $db_erg_helfer = BeteiligteHelfer($db_link, $zeile['SchichtID']); // get the people who are already signed up for this shift + // Wir geben zwei Helfer pro Zeile fuer die selbe Schicht aus + while ($Soll > 0) { + $Soll = $Soll - 1; + $HelferZeile = mysqli_fetch_array($db_erg_helfer, MYSQLI_ASSOC); + if (isset($HelferZeile['Name'])) { + $Helfername = $HelferZeile['Name']; + } else { + $Helfername = ''; + } + echo ""; + echo ""; + echo ""; + if ($Soll > 0) { // zweite Spalte nur ausgeben, wenn noch eine Schicht offen ist + $Soll = $Soll - 1; + $HelferZeile = mysqli_fetch_array($db_erg_helfer, MYSQLI_ASSOC); // get the next person + if (isset($HelferZeile['Name'])) { + $Helfername = $HelferZeile['Name']; + } else { + $Helfername = ''; + } + echo ""; + echo ""; + } else {//if there is no more shift to fill in, we fill the rest of the row with empty fields + echo ""; + } + $OldWas = $Was; } - $OldWas = $Was; - } } echo "
$Was ($TagKurz)
$Was
$Ab - $Bis
$Helfername$Was
$Ab-$Bis
$Helfername$Was
$Ab-$Bis
$Was ($TagKurz)
$Was
$Ab - $Bis
$Helfername$Was
$Ab-$Bis
$Helfername$Was
$Ab-$Bis
\n"; // old table, remove later -mysqli_free_result( $db_erg ); +mysqli_free_result($db_erg); ?> From e0baad13f091f29eea049eb571fbd2a62f03db77 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Thu, 4 Jan 2024 15:09:06 +0100 Subject: [PATCH 06/48] DetailsSchichten format --- html/DetailsSchichten.php | 140 ++++++++++++++++++-------------------- 1 file changed, 67 insertions(+), 73 deletions(-) diff --git a/html/DetailsSchichten.php b/html/DetailsSchichten.php index dcfb2db..68b4a32 100644 --- a/html/DetailsSchichten.php +++ b/html/DetailsSchichten.php @@ -18,73 +18,68 @@ SESSION_START(); -require_once ('konfiguration.php'); +require_once('konfiguration.php'); //require_once ('SQL.php'); include 'SQL.php'; -$db_link = mysqli_connect ( - MYSQL_HOST, - MYSQL_BENUTZER, - MYSQL_KENNWORT, - MYSQL_DATENBANK - ); +$db_link = mysqli_connect( + MYSQL_HOST, + MYSQL_BENUTZER, + MYSQL_KENNWORT, + MYSQL_DATENBANK +); + + - - /// Detailinformation zu ausgewaehlten Schicht Holen //////////////////////////////////////////////////////// -if(isset($_GET['InfoAlleSchichtID'])) -{ - $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; - UNSET($InfoMeineSchichtID); - //echo "". $SchichtID . "
"; - - $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); +if (isset($_GET['InfoAlleSchichtID'])) { + $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; + unset($InfoMeineSchichtID); + //echo "". $SchichtID . "
"; - - $x=0; - - while ($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)) - { - $MitHelferID[$x] = $zeile['HelferID']; - $MitHelfer[$x] = $zeile['Name']; - $MitHelferHandy[$x]= $zeile['Handy']; - $x++; - } - - + $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++; + } } $HelferID = $_SESSION["HelferID"]; $AdminID = $_SESSION["AdminID"]; -if(isset($_POST['HelferID'])) -{ - $HelferID = $_POST['HelferID']; +if (isset($_POST['HelferID'])) { + $HelferID = $_POST['HelferID']; +} +if (isset($_POST['ShowHelfer'])) { + $HelferID = $_POST['HelperSearch']; } - if(isset($_POST['ShowHelfer'])) { - $HelferID=$_POST['HelperSearch']; - } $_SESSION["HelferID"] = $HelferID; @@ -126,38 +121,37 @@ $_SESSION["HelferID"] = $HelferID; /// Alle Schichten Des Helfers Anzeigen //////////////////////////////////////////////////////// - + echo ''; - echo ""; - echo ""; + echo "\n"; - + echo "Beschreibung:
"; + echo $Info . "

"; + echo "Ort:
" . $Wo . "

"; + echo "Dauer:
" . $Dauer . "

"; + echo "Ansprechparter:
" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo $LeiterEmail . "

"; + echo "Helfer der Schicht:
"; + $x = 0; + $arrayLength = count($MitHelfer); +while ($x < $arrayLength) { + echo "ID:" . $MitHelferID[$x] . ", "; + echo $MitHelfer[$x] . ", "; + echo $MitHelferHandy[$x] . "
"; + $x++; +} + + echo "\n"; - echo "
".$Was."
"; - + echo "" . $Was . "
"; + //echo "


"; - echo "Beschreibung:
"; - echo $Info . "

"; - echo "Ort:
". $Wo . "

"; - echo "Dauer:
". $Dauer . "

"; - echo "Ansprechparter:
". $Leiter .", "; - echo $LeiterHandy.", "; - echo $LeiterEmail . "

"; - echo "Helfer der Schicht:
"; - $x=0; - $arrayLength = count($MitHelfer); - while ($x<$arrayLength) - { - echo "ID:".$MitHelferID[$x].", "; - echo $MitHelfer[$x].", "; - echo $MitHelferHandy[$x]."
"; - $x++; - } - - echo "

"; + + echo ""; @@ -167,7 +161,7 @@ echo ''; -mysqli_free_result( $db_erg ); +mysqli_free_result($db_erg); ?> From 9d7a1c41de8265748b735a3f95a89b60eab0e7d1 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Fri, 5 Jan 2024 16:35:50 +0100 Subject: [PATCH 07/48] Fix eingeklappte Zeilen nach + - von User in der angeklickten Zeile ausklappen; lange Zeilen aufgeteilt; js schaut nur Tabellen des Typs "collapsible" an --- html/Admin.php | 49 ++++++++++++++++---- html/AlleSchichten.php | 69 ++++++++++++---------------- html/Ausdrucke.php | 2 +- html/TeilnehmerSchichtenAusdruck.php | 20 +++++--- html/js/helferdb.js | 16 ++++--- 5 files changed, 92 insertions(+), 64 deletions(-) diff --git a/html/Admin.php b/html/Admin.php index 96ebca3..4060853 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -53,30 +53,43 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
- - + - - + - + - + @@ -115,8 +140,12 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
  Admin HelferDB + +   + Admin HelferDB
- Dienste und Schichten verwalten + + + Dienste und Schichten verwalten +
Seite zur Helfer selbst-Registrierung
Helfer per Link einladen
- Helferübersicht (und als Admin ändern) + + + Helfer als Admin ändern +
Helfer als Admin ändern:
+ Helfer als Admin ändern: + +
Helferdaten ändern + + + Helferdaten ändern +
Schichten Anzeigen/Löschen + + + Schichten Anzeigen/Löschen +
Schichten Hinzufügen + + + Schichten Hinzufügen +
Ausdrucke
-

Dienst: z.B. Badgekontrolle Eingang A. Schicht: ein Dienst zu einer bestimmten Zeit zB 9-12 Uhr +

+ + Dienst: z.B. Badgekontrolle Eingang A. Schicht: ein Dienst zu einer bestimmten Zeit zB 9-12 Uhr

- + diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index c3641cc..9cac228 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -2,19 +2,19 @@ Helfer Drop am See Alle Schichten - + - - - + + + - + - +

Alle Schichten / Schichten hinzufügen

- + '); } else { // Fehlermeldungen ausgeben: echo '
    '; @@ -145,6 +138,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 @@ -169,6 +164,7 @@ if (isset($_POST['minusschicht'])) { $db_erg = SchichtenSummeEinesHelfers($db_link, $HelferID); $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); + //"Mein Dienstplan" echo ' - +
    '; echo '' . " Mein Dienstplan ("; echo $zeile['Anzahl']; @@ -206,7 +202,6 @@ if ($addschicht == '0') { echo "

    "; } -//echo "InfoAlleSchichtID ".$InfoAlleSchichtID; if ($addschicht != '0') { //$db_erg = AlleSchichten($db_link,$dienstsort); @@ -237,21 +232,11 @@ if ($addschicht != '0') { $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); echo ""; - //echo "

    "; - echo ''; + // "Alle Schichten der Con" + echo '
    '; echo ""; - echo ""; + echo ""; - /* - if ($dienstsort=='1') - { - echo ""; - } - else - { - echo ""; - } - */ echo ""; // Zeitbereich tr if ($ZeitBereich == 1) { echo ""; @@ -298,7 +283,8 @@ if ($addschicht != '0') { //print_r($MeineDienste); echo '
    " . "Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    ". "Dienst" . "". "Von" . "
    " . "Alle" . "
    '; - echo ''; + // Tabelle mit allen Diensten und Schichten + echo '
    '; while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($dienstsort == '1') { $Tag = $zeile['Tag']; @@ -313,7 +299,8 @@ if ($addschicht != '0') { $Was = $zeile['Was']; if ($Was != $OldWas) { - echo ""; /* @@ -349,6 +336,9 @@ if ($addschicht != '0') { $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $regtext = ''; } + if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { + $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something + } echo ''; @@ -363,8 +353,7 @@ if ($addschicht != '0') { echo "" . $zeile['Soll'] . ""; // buttons sind in der selben Zelle echo ""; - //echo ""; + echo "   $regtext" . ""; echo "\n"; } echo "
    "; + // + in becomes - when rows are opened + echo "
    + "; echo $Was; echo "
    " . "" . ""; - echo "" . "   $regtext" . "$regtext
    "; @@ -380,9 +369,9 @@ mysqli_free_result($db_erg); ?> - - + + - + diff --git a/html/Ausdrucke.php b/html/Ausdrucke.php index 239e45d..aeb8fc6 100644 --- a/html/Ausdrucke.php +++ b/html/Ausdrucke.php @@ -62,7 +62,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
    Ausdruck Schichten(I)
    Ausdruck Schichten(II)
    diff --git a/html/TeilnehmerSchichtenAusdruck.php b/html/TeilnehmerSchichtenAusdruck.php index 97c503e..79b3c77 100644 --- a/html/TeilnehmerSchichtenAusdruck.php +++ b/html/TeilnehmerSchichtenAusdruck.php @@ -94,7 +94,6 @@ if (isset($_GET['ZeitBereich'])) { ?> -

    "; echo ''; echo ""; - echo ""; + echo ""; echo "\n\n"; // Zeitbereich tr @@ -227,7 +227,9 @@ foreach ($ZeitBereichWerte as &$EinZeitBereich) { //$Text="$Text
    $MeinVon $MeinBis"; // debug time strings // write the field for each day - echo "\n"; + echo "\n"; } echo ""; //Zeitbereich tr @@ -242,13 +244,16 @@ $MeineDienste = SchichtIdArrayEinesHelfers($db_link, $HelferID); echo "
    " . "Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    " . "Alle Schichten der Con ("; + echo $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    " . "$Text" . ""; + echo "$Text" . "
    \n"; -// Table to print out the shifts for people to enter their name in. If a shift is already taken, the name is printed out. +// Table to print out the shifts for people to enter their name in. +// If a shift is already taken, the name is printed out. // The table prints just one day, specified via Zeitbereich. The heading above wrote out the day. // the table is sorted by shift type (Was) first and then by time (Ab). // "Was" is printed in the middle together with two-letter day and time. // the first and the 5th (last) column also contain two-letter day and time for people to tear off and take with them. -// the 2nd and 4th column are for the namer. if the shift is already taken, the name is printed in, else the field is empty to write in. -// we iterate over all tasks (Was) and then over Ist and Soll for each task, filling one field for each Ist or Soll and filling in the name in Ist and leave it empty if it is Soll. +// the 2nd and 4th column are for the name. +// if the shift is already taken, the name is printed in, else the field is empty to write in. +// we iterate over all tasks (Was) and then over Ist and Soll for each task, +// filling one field for each Ist or Soll and filling in the name in Ist and leave it empty if it is Soll. echo "
    next table
    \n"; echo "\n"; // $db_erg ist aus AlleSchichtenImZeitbereich @@ -269,7 +274,8 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { echo ""; echo "\n"; } - $db_erg_helfer = BeteiligteHelfer($db_link, $zeile['SchichtID']); // get the people who are already signed up for this shift + // get the people who are already signed up for this shift + $db_erg_helfer = BeteiligteHelfer($db_link, $zeile['SchichtID']); // Wir geben zwei Helfer pro Zeile fuer die selbe Schicht aus while ($Soll > 0) { $Soll = $Soll - 1; diff --git a/html/js/helferdb.js b/html/js/helferdb.js index f8630bf..a943637 100644 --- a/html/js/helferdb.js +++ b/html/js/helferdb.js @@ -30,16 +30,21 @@ function collapse_table_rows() { $(document).ready( function () { - $('tr:not(.header)').hide(); - - $('tr.header').click( + // Unter-Zeilen in collapsible Tabellen verbergen + $('table.collapsible tr:not(.header)').hide(); + // Zeile mit dem target="active" (von PHP nach submit gesetzt) und dazugehoerige Zeilen anzeigen + $('table.collapsible tr[target="active"]').prevUntil('tr.header').addBack().nextUntil('tr.header').addBack().show(); + // id="active" als Anker auf letztes tr.header vor der target=active Seite setzen und dort hin springen + // damit der Nutzer nach Abschicken des Posts seine geoeffneten Optionen sieht + $('table.collapsible tr[target="active"]').prevAll('.header').first().attr('id', 'active'); + location.href = '#active'; + $('table.collapsible tr.header').click( function () { $(this).find('span').text( function (_, value) { return value == '-' ? '+' : '-' } ); - $(this).nextUntil('tr.header').slideToggle(100, function () {}); } ); @@ -50,6 +55,5 @@ function collapse_table_rows() function expand_all_table_rows() { - $('tr:not(.header)').hide(); // make all collapsed so that slideToggle doesnt close opened ones - $('tr:not(.header)').slideToggle(100, function () {}); + $('tr:not(.header)').show(); } From 3a06a728628423c90c773ccd9879e829aa92b739 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Fri, 5 Jan 2024 17:03:59 +0100 Subject: [PATCH 08/48] collapsible --- html/AdminHelferUebersicht.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 4ade955..3c385e5 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -71,7 +71,7 @@ echo "

    $Was ($TagKurz)
    ";
      Übersicht Helfer und Ihre Schichten
    - +
    Date: Fri, 5 Jan 2024 17:11:08 +0100 Subject: [PATCH 09/48] collapsible --- html/AdminAlleSchichten.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 7571101..217fac9 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -197,7 +197,7 @@ if (isset($_POST['minusschicht'])) { $db_erg = SchichtenSummeEinesHelfers($db_link, $AliasHelferID); $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); - echo '
    '; + echo '
    '; echo " Dienstplan von $HelferName (Zusammenfassung)
    "; echo $zeile['Anzahl']; echo " Schichten insgesamt "; @@ -266,7 +266,7 @@ if ($addschicht != '0') { //echo "

    "; - echo ''; + echo '
    '; echo ""; echo ""; echo ""; @@ -333,7 +333,7 @@ if ($addschicht != '0') { //print_r($MeineDienste); echo '
    " . "Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    '; - echo ''; + echo '
    '; while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($dienstsort == '1') { From 9abd42cfa4e742d77b2fc24efee4da0ec9e90228 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Fri, 5 Jan 2024 17:13:09 +0100 Subject: [PATCH 10/48] collapsible --- html/AdminAlleSchichten.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 7571101..217fac9 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -197,7 +197,7 @@ if (isset($_POST['minusschicht'])) { $db_erg = SchichtenSummeEinesHelfers($db_link, $AliasHelferID); $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); - echo '
    @@ -347,22 +350,18 @@ echo "

    '; + echo ' - @@ -343,9 +348,9 @@ echo "

  • Helferdaten geändert
  • "; if ($AdminID != 0) { @@ -554,8 +554,7 @@ function ChangeDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $ $Gruppe = mysqli_real_escape_string($db_link, $Gruppe); $HelferLevel = mysqli_real_escape_string($db_link, $HelferLevel); // int (1,2) Teilnehmer oder Dauerhelfer - $sql = "UPDATE Dienst SET Was='" . $Was . "', Wo='" . $Wo . "', Info='" . $Info . "', Leiter=" . $Leiter . ", ElternDienstID=" . $Gruppe . " where DienstID=" . $DienstID; - + $sql = "UPDATE Dienst SET Was='{$Was}', Wo='{$Wo}', Info='{$Info}', Leiter={$Leiter}, ElternDienstID={$Gruppe} where DienstID={$DienstID}"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "Fehler Change Dienst"; diff --git a/html/js/helferdb.js b/html/js/helferdb.js index a943637..7d1de4e 100644 --- a/html/js/helferdb.js +++ b/html/js/helferdb.js @@ -8,6 +8,28 @@ function showPassword(id) } } +function setEndDate() +{ + // js Date .toISOString automatically converts to UTC marking the string by "Z" at the end + // This is not understood by the browser when setting the value of the string + // UTC is 1h off resulting in a 1h wrong time if the Z is removed + // so we add the "Z" here, then remove it in the end + // this works for my local firefox. There should be a check if there already is a Z + // because maybe browsers also convert to UTC for the internal value + // but I guess in the worst case we have ZZ at the end and the js autofill fails + var checkBox = document.getElementById("Schicht-Automatic-Bis"); + if (checkBox.checked == true) + { + var start = new Date(document.getElementById("Schicht-Von").value+'Z'); + var delta = new Date("0000-01-01T"+ document.getElementById("Schicht-Dauer").value); + var end = new Date(start); + var endHours=start.getHours()+delta.getHours(); + end.setHours(endHours); + end.setMinutes(start.getMinutes()+delta.getMinutes()); + document.getElementById("Schicht-Bis").value=end.toISOString().replace(/.000Z/,"");; + } +} + //// https://www.w3schools.com/howto/howto_js_collapsible.asp //var coll = document.getElementsByClassName("collapsible"); //var i; From 4f8364d6957802ed5ba081d2e2ce9f74c1966b99 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Tue, 23 Jan 2024 01:02:50 +0100 Subject: [PATCH 42/48] bug fixes --- html/AdminDienste.php | 41 ++++++++++++++++++++--------------------- html/SQL.php | 2 +- html/js/helferdb.js | 3 ++- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/html/AdminDienste.php b/html/AdminDienste.php index 33dd098..63da178 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -22,7 +22,7 @@ if ($AdminStatus != 1) { - +
    add($Temp2); $Bis = $Temp->format('Y-m-d H:i:s'); } - NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer); + NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer, $HelferName); $SchichtID = LastInsertId($db_link); //echo "+".$SchichtID."+"; } @@ -272,8 +272,11 @@ if( !isset($DienstID))
    '; echo " Dienstplan von $HelferName (Zusammenfassung)
    "; echo $zeile['Anzahl']; echo " Schichten insgesamt "; @@ -266,7 +266,7 @@ if ($addschicht != '0') { //echo "

    "; - echo ''; + echo '
    '; echo ""; echo ""; echo ""; @@ -333,7 +333,7 @@ if ($addschicht != '0') { //print_r($MeineDienste); echo '
    " . "Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    '; - echo ''; + echo '
    '; while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if ($dienstsort == '1') { From 89108993953f40669b1f98fd6568406d9e57d838 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Fri, 5 Jan 2024 17:59:04 +0100 Subject: [PATCH 11/48] =?UTF-8?q?braucht=20auch=20target=3Dactive=20f?= =?UTF-8?q?=C3=BCr=20Ausklappen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/AdminAlleSchichten.php | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 217fac9..92eee16 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -16,13 +16,13 @@ if ($AdminStatus != 1) { Helfer Drop am See Alle Schichten - - + - - + + + @@ -140,18 +140,13 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { /////////////////////////////////////////////////////////// if (isset($_POST['plusschicht'])) { $messages = []; - $SchichtId = $_POST['plusschicht']; - - // Eingaben überprüfen: - - // if(!preg_match('/^[a-zA-Z]+[a-zA-Z0-9._]+$/', $HelferName)) { - // $messages[] = 'Bitte prüfen Sie die eingegebenen Namen'; - // } - - + $SchichtID = $_POST['plusschicht']; + // Nutzer hat hier zuletzt etwas geändert und wir klappen das deshalb auf, + // indem wir unten target=active setzen + $_SESSION["SchichtIdAktiv"] = $SchichtID; if (empty($messages)) { // Helfer Schicht zuweisen - $db_erg = HelferSchichtZuweisen($db_link, $AliasHelferID, $SchichtId, $AdminID); + $db_erg = HelferSchichtZuweisen($db_link, $AliasHelferID, $SchichtID, $AdminID); // Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird $HelferName = ''; @@ -385,6 +380,9 @@ if ($addschicht != '0') { $rowstyle = 'style="dummy:' . $zeile['SchichtID'] . '"'; $regtext = ''; } + if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { + $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something + } echo ''; @@ -399,7 +397,7 @@ if ($addschicht != '0') { echo "" . $zeile['Soll'] . ""; // buttons sind in der selben Zelle echo ""; + echo "   $regtext" . ""; //echo ""; echo "\n"; } From 91f7f1daf4c537cd84e1d2d7359bac505157105b Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Thu, 11 Jan 2024 15:15:20 +0100 Subject: [PATCH 12/48] add eventname to headers --- html/Admin.php | 5 +-- html/AdminAlleSchichten.php | 5 +-- html/AdminDienste.php | 2 +- html/AdminHelferUebersicht.php | 2 +- html/AdminMeineSchichten.php | 6 ++-- html/AdminUserdaten.php | 8 ++--- html/AlleSchichten.php | 27 ++++++---------- html/Ausdrucke-alles.php | 32 ++++++------------- html/Ausdrucke.php | 4 +-- html/CreateHelfer.php | 21 ++++++------- html/DecodeToken.php | 7 ++++- html/DetailsSchichten.php | 36 ++++++--------------- html/EmailZuToken.php | 6 ++-- html/Info.php | 11 +++++-- html/Kalender.php | 10 +++++- html/MeineSchichten.php | 36 +++++++++------------ html/ReadLog.php | 20 ++++++------ html/SQL.php | 2 +- html/TeilnehmerSchichtenAusdruck.php | 27 ++++++++-------- html/UrlLogin.php | 8 +---- html/Userdaten.php | 27 +++++++--------- html/_login.php | 15 +++++++++ html/index.php | 47 ++++++++++------------------ html/konfiguration.php | 4 +-- 24 files changed, 166 insertions(+), 202 deletions(-) diff --git a/html/Admin.php b/html/Admin.php index 96ebca3..fa4852d 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -15,7 +15,7 @@ if ($AdminStatus != 1) { - Admin Drop am See + Admin <?php echo EVENTNAME ?> @@ -53,7 +53,8 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
    " . "" . ""; - echo "" . "   $regtext" . "$regtext
    - diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 7571101..182bf69 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -15,7 +15,7 @@ if ($AdminStatus != 1) { - Helfer Drop am See Alle Schichten + Helfer <?php echo EVENTNAME ?> Alle Schichten @@ -27,7 +27,8 @@ if ($AdminStatus != 1) { - + +" . EVENTNAME . ""; ?>
    - Admin Drop am See + Admin <?php echo EVENTNAME ?> diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 4ade955..18fcdb7 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -15,7 +15,7 @@ if ($AdminStatus != 1) { - Admin Drop am See + Admin <?php echo EVENTNAME ?> diff --git a/html/AdminMeineSchichten.php b/html/AdminMeineSchichten.php index 9fdcce4..feba863 100644 --- a/html/AdminMeineSchichten.php +++ b/html/AdminMeineSchichten.php @@ -15,7 +15,7 @@ if ($AdminStatus != 1) { - Admin Drop am See - Schichten editieren + Admin <?php echo EVENTNAME ?> - Schichten editieren @@ -23,7 +23,9 @@ if ($AdminStatus != 1) { -

    Admin: Schichten editieren

    +

    Admin: Schichten editieren - +" . EVENTNAME . ""; ?> +

    "; -echo "Helfer=$HelferID
    "; -echo "Alias=$AliasHelferID
    "; +//debug output: echo "Admin=$AdminID
    "; echo "Helfer=$HelferID
    "; echo "Alias=$AliasHelferID
    "; ?> - Drop am See Helferdaten ändern + <?php echo EVENTNAME ?> Helferdaten ändern @@ -129,7 +127,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
      Admin HelferDB +   Admin HelferDB +
    - +" . EVENTNAME . ""; ?> "; echo ""; - echo ""; + echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; diff --git a/html/ReadLog.php b/html/ReadLog.php index 92d24d1..4f928de 100644 --- a/html/ReadLog.php +++ b/html/ReadLog.php @@ -1,3 +1,12 @@ + @@ -7,18 +16,11 @@ 0) { - echo ' - '; -} // print top of page if we are logged in and not redirecting echo " \n \n"; - echo '
    ' . "\n"; + echo '' . "\n"; + echo "" . EVENTNAME . "
    "; echo '

    Helferdaten - Log

    '; echo '

    Hier werden alle Aktionen, die einen Helfer betreffen aufgelistet

    '; echo '
    Helferdaten
    Name
    diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index c3641cc..7e57c80 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -1,7 +1,15 @@ + - Helfer Drop am See Alle Schichten + Helfer <?php echo EVENTNAME ?> Alle Schichten @@ -15,26 +23,11 @@ +" . EVENTNAME . ""; ?>

    Alle Schichten / Schichten hinzufügen

    - Admin Drop am See + Admin <?php echo EVENTNAME ?> @@ -14,33 +23,12 @@
    - -
      Übersicht Dienst DAS 2023
    - '; diff --git a/html/Ausdrucke.php b/html/Ausdrucke.php index 239e45d..bd1bd28 100644 --- a/html/Ausdrucke.php +++ b/html/Ausdrucke.php @@ -15,7 +15,7 @@ if ($AdminStatus != 1) { - Admin Drop am See + Admin <?php echo EVENTNAME ?> @@ -28,8 +28,6 @@ if ($AdminStatus != 1) { @@ -12,18 +21,6 @@ - Helfer Drop am See + Helfer <?php echo EVENTNAME ?> @@ -9,35 +18,10 @@ -
    -?>
    beginnt bald!"; if (isset($_POST['email-subject'])) { $email_subject = $_POST['email-subject']; } @@ -68,7 +68,7 @@ XXtokenXX Du kannst dich auch später wieder über den Link einloggen und die Schicht ändern. Viele Grüße, -dein Drop am See Team +dein Team "; if (isset($_POST['email-text'])) { @@ -84,7 +84,7 @@ if (isset($_POST['sendmail'])) { ?> - Helfer Drop am See: Email Tokens generieren + Helfer <?php echo EVENTNAME ?>: Email Tokens generieren diff --git a/html/Info.php b/html/Info.php index 154ec8b..94f1197 100644 --- a/html/Info.php +++ b/html/Info.php @@ -1,11 +1,16 @@ + - Helfer Drop am See Home + Helfer <?php echo EVENTNAME ?> Home - + diff --git a/html/Kalender.php b/html/Kalender.php index 472a2b6..99f466b 100644 --- a/html/Kalender.php +++ b/html/Kalender.php @@ -1,3 +1,12 @@ + @@ -38,7 +47,6 @@ padding-left: 15px; padding-right: 15px; } - diff --git a/html/MeineSchichten.php b/html/MeineSchichten.php index e9b822a..287dc32 100644 --- a/html/MeineSchichten.php +++ b/html/MeineSchichten.php @@ -1,35 +1,27 @@ + - Admin Drop am See + Meine Schichten <?php echo EVENTNAME ?> - + +" . EVENTNAME . ""; ?>
    '; echo "
    " . "Meine Schichten (" . $iSQLCount . " Schichten)" . "Meine Schichten (" . $iSQLCount . " Schichten) - " . EVENTNAME . "
    Dienst" . "Von" . "" . "Bis" . "" . "Del" . "
    ' . "\n"; diff --git a/html/SQL.php b/html/SQL.php index 44b7cde..fe476fc 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -1,4 +1,3 @@ - '; + exit; +} +?> @@ -12,19 +26,6 @@
    "; $foot = ""; +$db_link = ConnectDB(); -$db_link = mysqli_connect( - MYSQL_HOST, - MYSQL_BENUTZER, - MYSQL_KENNWORT, - MYSQL_DATENBANK -); // ist jetzt in _crypt.php, aber aus der anderen Datei, deshalb hier erst // nur auskommentiert // function Entschluessle($encrypted_data,$secret_verification,$secret_key){ diff --git a/html/Userdaten.php b/html/Userdaten.php index 98dc017..a907d82 100644 --- a/html/Userdaten.php +++ b/html/Userdaten.php @@ -1,7 +1,16 @@ + - Drop am See Helferdaten ändern + <?php echo EVENTNAME ?> Helferdaten ändern @@ -11,24 +20,10 @@
    - + diff --git a/html/_login.php b/html/_login.php index 42320d5..670079e 100644 --- a/html/_login.php +++ b/html/_login.php @@ -1,4 +1,7 @@ + + + + Helfer <?php echo EVENTNAME ?> Home + + + + + +
    @@ -67,6 +80,8 @@ if (!isset($_SESSION["HelferID"])) { + + '; + exit; +} +?> - Helfer Drop am See Home + Helfer <?php echo EVENTNAME ?> Home @@ -9,40 +23,11 @@ - - -
    Helferdaten Helferdaten
    - +
      Drop am See 2023  
    diff --git a/html/konfiguration.php b/html/konfiguration.php index 4c967da..98d4907 100644 --- a/html/konfiguration.php +++ b/html/konfiguration.php @@ -9,8 +9,8 @@ require_once '/etc/helferdb_konfiguration.php'; // define( 'MYSQL_KENNWORT', 'passwort_des_db_nutzers' ); // define( 'MYSQL_DATENBANK', 'name_der_datenbank' ); // define( 'LOGFILE', "/pfad/zu/einer/www-schreibbaren/datei"); -// define( VERANSTALTUNGSNAME, "dubbelcon"); -// define( INFORMATIONS_URL, "http://drop-am-see.de/Gelaende"); +define( 'EVENTNAME', "dubbelcon"); +// define( 'INFORMATIONS_URL', "http://drop-am-see.de/Gelaende"); date_default_timezone_set('Europe/Berlin'); setlocale(LC_TIME, "de_DE.UTF-8"); From 77cdd7f7fbd150fb6200d8fee4275f2dc2ce0856 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Thu, 11 Jan 2024 15:47:40 +0100 Subject: [PATCH 13/48] run format fixer --- html/DetailsSchichten.php | 122 ++++++++++++++++++-------------------- html/Kalender.php | 9 +-- html/ReadLog.php | 2 +- html/UrlLogin.php | 1 + html/konfiguration.php | 2 +- 5 files changed, 66 insertions(+), 70 deletions(-) diff --git a/html/DetailsSchichten.php b/html/DetailsSchichten.php index 672fdfb..562231f 100644 --- a/html/DetailsSchichten.php +++ b/html/DetailsSchichten.php @@ -23,52 +23,47 @@ require '_login.php'; /// Detailinformation zu ausgewaehlten Schicht Holen -if(isset($_GET['InfoAlleSchichtID'])) -{ - $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; - UNSET($InfoMeineSchichtID); - //echo "". $SchichtID . "
    "; - - $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); +if (isset($_GET['InfoAlleSchichtID'])) { + $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; + unset($InfoMeineSchichtID); + //echo "". $SchichtID . "
    "; - - $x=0; - - while ($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)) - { - $MitHelferID[$x] = $zeile['HelferID']; - $MitHelfer[$x] = $zeile['Name']; - $MitHelferHandy[$x]= $zeile['Handy']; - $x++; - } - - + $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++; + } } $HelferID = $_SESSION["HelferID"]; $AdminID = $_SESSION["AdminID"]; -if(isset($_POST['HelferID'])) -{ - $HelferID = $_POST['HelferID']; +if (isset($_POST['HelferID'])) { + $HelferID = $_POST['HelferID']; +} +if (isset($_POST['ShowHelfer'])) { + $HelferID = $_POST['HelperSearch']; } - if(isset($_POST['ShowHelfer'])) { - $HelferID=$_POST['HelperSearch']; - } $_SESSION["HelferID"] = $HelferID; @@ -110,38 +105,37 @@ $_SESSION["HelferID"] = $HelferID; /// Alle Schichten Des Helfers Anzeigen //////////////////////////////////////////////////////// - + echo ''; - echo ""; - echo ""; + echo "\n"; - + echo "Beschreibung:
    "; + echo $Info . "

    "; + echo "Ort:
    " . $Wo . "

    "; + echo "Dauer:
    " . $Dauer . "

    "; + echo "Ansprechparter:
    " . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo $LeiterEmail . "

    "; + echo "Helfer der Schicht:
    "; + $x = 0; + $arrayLength = count($MitHelfer); +while ($x < $arrayLength) { + echo "ID:" . $MitHelferID[$x] . ", "; + echo $MitHelfer[$x] . ", "; + echo $MitHelferHandy[$x] . "
    "; + $x++; +} + + echo "\n"; - echo "
    ".$Was."
    "; - + echo "" . $Was . "
    "; + //echo "


    "; - echo "Beschreibung:
    "; - echo $Info . "

    "; - echo "Ort:
    ". $Wo . "

    "; - echo "Dauer:
    ". $Dauer . "

    "; - echo "Ansprechparter:
    ". $Leiter .", "; - echo $LeiterHandy.", "; - echo $LeiterEmail . "

    "; - echo "Helfer der Schicht:
    "; - $x=0; - $arrayLength = count($MitHelfer); - while ($x<$arrayLength) - { - echo "ID:".$MitHelferID[$x].", "; - echo $MitHelfer[$x].", "; - echo $MitHelferHandy[$x]."
    "; - $x++; - } - - echo "

    "; + + echo "
    "; @@ -151,7 +145,7 @@ echo ''; -mysqli_free_result( $db_erg ); +mysqli_free_result($db_erg); ?> diff --git a/html/Kalender.php b/html/Kalender.php index 99f466b..537e010 100644 --- a/html/Kalender.php +++ b/html/Kalender.php @@ -1,4 +1,5 @@ \n \n"; echo '' . "\n"; - echo "" . EVENTNAME . "
    "; + echo "" . EVENTNAME . "
    "; echo '

    Helferdaten - Log

    '; echo '

    Hier werden alle Aktionen, die einen Helfer betreffen aufgelistet

    '; echo '
    ' . "\n"; diff --git a/html/UrlLogin.php b/html/UrlLogin.php index 95ee953..fad416f 100644 --- a/html/UrlLogin.php +++ b/html/UrlLogin.php @@ -1,4 +1,5 @@ Date: Thu, 11 Jan 2024 18:10:33 +0100 Subject: [PATCH 14/48] Versuch die konfiguration sinnvoll aufzuteilen. Die Datei mit Aenderungen fuer jede DB ist nicht in git, nur ein Template --- bengelsystem_konfiguration.php | 29 +++++++++++++++++++++++++++++ html/konfiguration.php | 34 ++-------------------------------- 2 files changed, 31 insertions(+), 32 deletions(-) create mode 100644 bengelsystem_konfiguration.php diff --git a/bengelsystem_konfiguration.php b/bengelsystem_konfiguration.php new file mode 100644 index 0000000..62d108b --- /dev/null +++ b/bengelsystem_konfiguration.php @@ -0,0 +1,29 @@ + Date: Thu, 11 Jan 2024 18:24:10 +0100 Subject: [PATCH 15/48] get rid of id="customers" and replace by a class, because more than one table uses the css for it --- .gitignore | 1 - html/AdminDienste.php | 30 +++++++++++++++--------------- html/AdminMeineSchichten.php | 4 ++-- html/AdminUserdaten.php | 4 ++-- html/Ausdrucke-alles.php | 16 ++++++++-------- html/CreateHelfer.php | 2 +- html/DetailsSchichten.php | 2 +- html/MeineSchichten.php | 4 ++-- html/ReadLog.php | 2 +- html/Userdaten.php | 2 +- html/index.php | 2 +- html/js/jquery-3.7.1.min.js | 1 - 12 files changed, 34 insertions(+), 36 deletions(-) delete mode 100644 .gitignore delete mode 100644 html/js/jquery-3.7.1.min.js diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a136337..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.pdf diff --git a/html/AdminDienste.php b/html/AdminDienste.php index 48736c1..1a0ad71 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -126,7 +126,7 @@ if (isset($_POST['DienstSearch'])) { ?> -
    +
    +
    Dienst
    + - - - + - - + - + diff --git a/html/Kalender-all.html b/html/Kalender-all.php similarity index 75% rename from html/Kalender-all.html rename to html/Kalender-all.php index e7d5f6c..23a0a18 100644 --- a/html/Kalender-all.html +++ b/html/Kalender-all.php @@ -1,3 +1,12 @@ + @@ -7,6 +16,7 @@ + @@ -56,30 +66,30 @@ Filtern:
    -
    -
     
    -
     
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - - - - +
      - Mehrtagesdienste anzeigen: - Einfärben: - Filtern: -
    - Achtung: Ende Nachtdienste wird falsch angezeigt (immer Mitternacht) - Popup-Fenster zeigt richtige Zeiten +Mehrtagesdienste anzeigen: +Einfärben: +Filtern: +
    +
    @@ -157,14 +161,14 @@ function colorize (e){ //KS scheduler.attachEvent("onTemplatesReady",function(){ // for custom time ranges //Con timeslot - scheduler.date.con_start = function(date){return date;}; //new Date(202,5,16);}; // calculates start-day of range from current day + scheduler.date.con_start = function(date){return date;}; scheduler.templates.con_date = scheduler.templates.week_date; scheduler.templates.con_scale_date = scheduler.templates.week_scale_date; scheduler.date.add_con=function(date,inc){ return scheduler.date.add(date,inc*4,"day"); }//"next" gives you the next 4 days scheduler.date.get_con_end=function(date){ return scheduler.date.add(date,4,"day"); } //preparation phase 2 days - function setprep(){scheduler.setCurrentView(new Date(2023,4,16));} + function setprep(){scheduler.setCurrentView(new Date());} scheduler.date.prep_start = function(date){return date}; scheduler.templates.prep_date = scheduler.templates.week_date; scheduler.templates.prep_scale_date = scheduler.templates.week_scale_date; @@ -179,7 +183,7 @@ function colorize (e){ //KS }; scheduler.config.all_timed = "short"; // night events arent multi-day - events under 24h are shown - scheduler.config.lightbox.sections=[ + scheduler.config.lightbox.sections=[ {name:"description", height:130, map_to:"text", type:"textarea" , focus:true}, {name:"Dienstbeschreibung", height:90, type:"textarea", map_to:"Info" }, {name:"Konakt", height:200, type:"textarea", map_to:"Kontakt" }, @@ -191,7 +195,7 @@ function colorize (e){ //KS }; // actual init - scheduler.init('scheduler_here', new Date(2023,4,18), "con"); + scheduler.init('scheduler_here', new Date(), "con"); scheduler.load("data/api-helfer.php"); //https://docs.dhtmlx.com/scheduler/api__scheduler_createdataprocessor.html //var dp = scheduler.createDataProcessor("data/api.php"); // this would be for saving diff --git a/html/_login.php b/html/_login.php index 670079e..50e06c2 100644 --- a/html/_login.php +++ b/html/_login.php @@ -48,8 +48,9 @@ if (!isset($_SESSION["HelferID"])) { Helfer <?php echo EVENTNAME ?> Home - - + + +
    diff --git a/html/_zeitbereich.php b/html/_zeitbereich.php new file mode 100644 index 0000000..786b9a3 --- /dev/null +++ b/html/_zeitbereich.php @@ -0,0 +1,70 @@ + 0 && $EinZeitBereich <= TAGE_DAUER) { + $PlusTage = $EinZeitBereich - 1; + //TODO: only if locale DE + $day = $start_date->add(new DateInterval("P{$PlusTage}D")); + $Wochentag = $TageNamenDeutsch[date_format($day, 'w')]; + + $Text = "$Wochentag (Tag{$EinZeitBereich})"; + $Von = date_format($day, $format) . " 00:00:00"; + $Bis = date_format($day, $format) . " 23:59:59"; + } elseif ($EinZeitBereich == -1) { + $Text = 'Davor'; + $Von = "2000-01-01 00:00:00"; + $Bis = date_format($start_date, $format) . " 00:00:00"; + } elseif ($EinZeitBereich == 0) { + $Text = 'Alle' ; + $Von = "2000-01-01 00:00:00"; + $Bis = "3000-01-01 00:00:00"; + } elseif ($EinZeitBereich == 1000) { + $Text = 'Danach'; + $tage_dauer = TAGE_DAUER; + $day = $start_date->add(new DateInterval("P{$tage_dauer}D")); + $Von = date_format($day, $format) . " 00:00:00"; + $Bis = "3000-01-01 00:00:00"; + } + // highlight the selected time range + if ($EinZeitBereich == $ZeitBereich) { + $color = 'background-color:#0000FF; ' ; + $MeinVon = $Von; + $MeinBis = $Bis; + } else { + $color = ''; + } + // write the field for each day + echo "
    \n"; +} +echo ""; //Zeitbereich tr +return [ + 'MeinVon' => $MeinVon, + 'MeinBis' => $MeinBis + ]; +} +?> From 7aa61727ad3176fdb7ffa614c16f140481c7d000 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 15 Jan 2024 11:52:33 +0100 Subject: [PATCH 26/48] Zeitbereich implementiert + bugfixes --- html/AdminAlleSchichten.php | 108 +++++---------------------- html/AlleSchichten.php | 82 ++++---------------- html/Kalender-all.php | 1 - html/Kalender.php | 1 - html/TeilnehmerSchichtenAusdruck.php | 62 +-------------- html/_zeitbereich.php | 2 +- 6 files changed, 40 insertions(+), 216 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 36b96cb..fc19195 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -111,6 +111,7 @@ if (isset($_POST['AliasHelferID'])) { $AliasHelferID = $_SESSION["AliasHelferID"]; } else { HelferAuswahlButton($db_link, $AliasHelferID); + echo "

    Erst Helfer auswählen

    "; exit; } HelferAuswahlButton($db_link, $AliasHelferID); @@ -118,7 +119,7 @@ HelferAuswahlButton($db_link, $AliasHelferID); $_SESSION["AliasHelferID"] = $AliasHelferID; $AdminID = $_SESSION["AdminID"]; -$db_erg = Helferdaten($db_link, $HelferID); +$db_erg = Helferdaten($db_link, $AliasHelferID); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferName = $zeile['Name']; } @@ -192,8 +193,9 @@ if (isset($_POST['minusschicht'])) { $db_erg = SchichtenSummeEinesHelfers($db_link, $AliasHelferID); $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); + //"Dienstplan von" echo '
    Was
    Wo
    + Wo
    Info
    + Info
    Leiter
    - + Leiter
    + "; @@ -200,10 +200,10 @@ echo "

    Gruppe
    + Gruppe
    HelferLevel
    @@ -243,7 +243,7 @@ echo "

    Admin Kalenderansicht
    "; + echo "$Text" . "
    + + + -
    '; - echo " Dienstplan von $HelferName (Zusammenfassung)
    "; + echo '' . "Dienstplan von $HelferName: "; echo $zeile['Anzahl']; echo " Schichten insgesamt "; echo $zeile['Dauer'] / 3600; @@ -232,94 +234,24 @@ if ($addschicht == '0') { //echo "InfoAlleSchichtID ".$InfoAlleSchichtID; if ($addschicht != '0') { - //$db_erg = AlleSchichten($db_link,$dienstsort); - //$db_erg = AlleSchichtenImZeitbereich($db_link,"2023-05-18 00:00:00","2023-05-19 00:00:00"); - if ($ZeitBereich == 1) { // Alle - $db_erg = AlleSchichtenImZeitbereich($db_link, "2000-05-18 00:00:00", "2200-05-19 00:00:00", -1); - } - if ($ZeitBereich == 2) { // Davor - $db_erg = AlleSchichtenImZeitbereich($db_link, "2000-05-18 00:00:00", "2023-05-18 00:00:00", -1); - } - if ($ZeitBereich == 3) { // Do - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-18 00:00:00", "2023-05-19 00:00:00", -1); - } - if ($ZeitBereich == 4) { // Fr - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-19 00:00:00", "2023-05-20 00:00:00", -1); - } - if ($ZeitBereich == 5) { // Sa - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-20 00:00:00", "2023-05-21 00:00:00", -1); - } - if ($ZeitBereich == 6) { // So - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-21 00:00:00", "2023-05-22 00:00:00", -1); - } - if ($ZeitBereich == 7) { // Danach - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-22 00:00:00", "2223-05-22 00:00:00", -1); - } + echo ''; + require('_zeitbereich.php'); + $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch); + $MeinVon = $Bereich['MeinVon']; + $MeinBis = $Bereich['MeinBis']; + $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon , $MeinBis, -1); + // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); - + echo '
    '; //echo "

    "; echo ''; - echo ""; - echo ""; - echo ""; - - /* - if ($dienstsort=='1') - { - echo ""; - } - else - { - echo ""; - } - */ - if ($ZeitBereich == 1) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 2) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 3) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 4) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 5) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 6) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 7) { - echo ""; - } else { - echo ""; - } - //echo ""; - //echo ""; - //echo ""; - //echo ""; - //echo ""; - //echo ""; + echo ""; + echo ""; echo ""; - echo ""; $OldTag = ""; $OldWas = ""; @@ -344,7 +276,8 @@ if ($addschicht != '0') { $Was = $zeile['Was']; if ($Was != $OldWas) { - echo ""; /* @@ -377,7 +310,7 @@ if ($addschicht != '0') { $regtext = 'Meine!'; } else { // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen - $rowstyle = 'style="dummy:' . $zeile['SchichtID'] . '"'; + $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $regtext = ''; } if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { @@ -398,7 +331,6 @@ if ($addschicht != '0') { // buttons sind in der selben Zelle echo ""; - //echo ""; echo "\n"; } echo "
    " . "Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    ". "Dienst" . "". "Von" . "" . "Alle" . "" . "Alle" . "" . "Davor" . "" . "Davor" . "" . "Do" . "" . "Do" . "" . "Fr" . "" . "Fr" . "" . "Sa" . "" . "Sa" . "" . "So" . "" . "So" . "" . "Danach" . "" . "Danach" . "". "Davor" . "". "Do" . "". "Fr" . "". "Sa" . "". "So" . "". "Danach" . "
    Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    "; + // + in becomes - when rows are opened + echo "
    + "; echo $Was; echo "" . "" . ""; echo "   $regtext" . "$regtext
    "; @@ -414,9 +346,9 @@ mysqli_free_result($db_erg); ?> - - + + - + diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index 48f8464..ea17a89 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -134,15 +134,15 @@ if (isset($_POST['minusschicht'])) { $_SESSION["SchichtIdAktiv"] = $SchichtID; if (empty($messages)) { - // Helfer aus Schicht entfernen - $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID); + // Helfer aus Schicht entfernen + $db_erg = HelferVonSchichtLoeschen_SchichtID($db_link, $HelferID, $SchichtID); } else { - // Fehlermeldungen ausgeben: - echo '
      '; + // Fehlermeldungen ausgeben: + echo '
        '; foreach ($messages as $message) { echo '
      • ' . htmlspecialchars($message) . '
      • '; } - echo '
      '; + echo '
    '; } } @@ -157,7 +157,7 @@ if (isset($_POST['minusschicht'])) { $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); //"Mein Dienstplan" - echo '
    '; + echo '"; echo ""; - echo ""; // Zeitbereich tr - if ($ZeitBereich == 1) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 2) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 3) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 4) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 5) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 6) { - echo ""; - } else { - echo ""; - } - if ($ZeitBereich == 7) { - echo ""; - } else { - echo ""; - } - - echo ""; //Zeitbereich tr + echo ""; $OldTag = ""; $OldWas = ""; diff --git a/html/Kalender-all.php b/html/Kalender-all.php index 23a0a18..f47b8b2 100644 --- a/html/Kalender-all.php +++ b/html/Kalender-all.php @@ -1,5 +1,4 @@ Schichten Hinzufügen geordnet nach"; - echo ""; - echo "

    "; -} // fuer Anzahlanzeige in Ueberschrift @@ -179,60 +174,12 @@ $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); echo ""; -echo "\n\n"; // Zeitbereich tr -// Zeitbereich: -1 davor, 0 kein Limit, 1-N Tag N der Con, 1000: nach der Con -$ZeitBereichWerte = ZEITBEREICHWERTE; -$ZeitBereichFelder = count($ZeitBereichWerte); -$ZeitBereichFeldBreite = round(100 / $ZeitBereichFelder); // % width for style +require('_zeitbereich.php'); -$format = 'Y-m-d'; - -// iterate over all days plus "before" and "after" -// Wenn TAG_DAUER=4, dann sind die Werte 1-4 die Tage der Con -// ZeitBereichWerte = [-1, 0, 1, 2, 3, 4, 1000] -// -1: davor, 0: alle, 1-4: Tag 1-4, 1000: danach -foreach ($ZeitBereichWerte as &$EinZeitBereich) { - if ($EinZeitBereich > 0 && $EinZeitBereich <= TAGE_DAUER) { - $PlusTage = $EinZeitBereich - 1; - //TODO: only if locale DE - $day = $start_date->add(new DateInterval("P{$PlusTage}D")); - $Wochentag = $TageNamenDeutsch[date_format($day, 'w')]; - - $Text = "$Wochentag (Tag{$EinZeitBereich})"; - $Von = date_format($day, $format) . " 00:00:00"; - $Bis = date_format($day, $format) . " 23:59:59"; - } elseif ($EinZeitBereich == -1) { - $Text = 'Davor'; - $Von = "2000-01-01 00:00:00"; - $Bis = date_format($start_date, $format) . " 00:00:00"; - } elseif ($EinZeitBereich == 0) { - $Text = 'Alle' ; - $Von = "2000-01-01 00:00:00"; - $Bis = "3000-01-01 00:00:00"; - } elseif ($EinZeitBereich == 1000) { - $Text = 'Danach'; - $tage_dauer = TAGE_DAUER; - $day = $start_date->add(new DateInterval("P{$tage_dauer}D")); - $Von = date_format($day, $format) . " 00:00:00"; - $Bis = "3000-01-01 00:00:00"; - } - // highlight the selected time range - if ($EinZeitBereich == $ZeitBereich) { - $color = 'background-color:#0000FF; ' ; - $MeinVon = $Von; - $MeinBis = $Bis; - } else { - $color = ''; - } - //$Text="$Text
    $MeinVon $MeinBis"; // debug time strings - - // write the field for each day - echo "\n"; -} -echo ""; //Zeitbereich tr +$Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch); +$MeinVon = $Bereich['MeinVon']; +$MeinBis = $Bereich['MeinBis']; $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel); //echo ""; // debug @@ -255,7 +202,6 @@ echo "
    '; echo '' . " Mein Dienstplan ("; echo $zeile['Anzahl']; echo " Schichten, "; @@ -196,32 +196,17 @@ if ($addschicht == '0') { if ($addschicht != '0') { - //$db_erg = AlleSchichten($db_link,$dienstsort); - //$db_erg = AlleSchichtenImZeitbereich($db_link,"2023-05-18 00:00:00","2023-05-19 00:00:00",$HelferLevel); - if ($ZeitBereich == 1) { // Alle - $db_erg = AlleSchichtenImZeitbereich($db_link, "2000-05-18 00:00:00", "2200-05-19 00:00:00", $HelferLevel); - } - if ($ZeitBereich == 2) { // Davor - $db_erg = AlleSchichtenImZeitbereich($db_link, "2000-05-18 00:00:00", "2023-05-18 00:00:00", $HelferLevel); - } - if ($ZeitBereich == 3) { // Do - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-18 00:00:00", "2023-05-19 00:00:00", $HelferLevel); - } - if ($ZeitBereich == 4) { // Fr - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-19 00:00:00", "2023-05-20 00:00:00", $HelferLevel); - } - if ($ZeitBereich == 5) { // Sa - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-20 00:00:00", "2023-05-21 00:00:00", $HelferLevel); - } - if ($ZeitBereich == 6) { // So - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-21 00:00:00", "2023-05-22 00:00:00", $HelferLevel); - } - if ($ZeitBereich == 7) { // Danach - $db_erg = AlleSchichtenImZeitbereich($db_link, "2023-05-22 00:00:00", "2223-05-22 00:00:00", $HelferLevel); - } + echo ''; + require('_zeitbereich.php'); + $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch); + $MeinVon = $Bereich['MeinVon']; + $MeinBis = $Bereich['MeinBis']; + $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon , $MeinBis, -1); + // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); + echo '
    '; echo ""; // "Alle Schichten der Con" @@ -229,44 +214,7 @@ if ($addschicht != '0') { echo "
    Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    " . "Alle" . "" . "Alle" . "" . "Davor" . "" . "Davor" . "" . "Do" . "" . "Do" . "" . "Fr" . "" . "Fr" . "" . "Sa" . "" . "Sa" . "" . "So" . "" . "So" . "" . "Danach" . "" . "Danach" . "
    " . "Alle Schichten der Con ("; echo $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    "; - echo "$Text" . "
    AlleSchichtenImZeitbereich(db_link,$Von,$Bis,$HelferLevel);
    \n"; // if the shift is already taken, the name is printed in, else the field is empty to write in. // we iterate over all tasks (Was) and then over Ist and Soll for each task, // filling one field for each Ist or Soll and filling in the name in Ist and leave it empty if it is Soll. -echo "
    next table
    \n"; echo "\n"; // $db_erg ist aus AlleSchichtenImZeitbereich // und gibt zurueck Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden diff --git a/html/_zeitbereich.php b/html/_zeitbereich.php index 786b9a3..d297c6d 100644 --- a/html/_zeitbereich.php +++ b/html/_zeitbereich.php @@ -18,7 +18,7 @@ function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch) $ZeitBereichFeldBreite = round(100 / $ZeitBereichFelder); // % width for style $format = 'Y-m-d'; - + echo "\n\n"; // Zeitbereich tr // iterate over all days plus "before" and "after" // Wenn TAG_DAUER=4, dann sind die Werte 1-4 die Tage der Con // ZeitBereichWerte = [-1, 0, 1, 2, 3, 4, 1000] From 10cf321c4b957a46601ed01ed97f6edb87d0b426 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 15 Jan 2024 12:12:15 +0100 Subject: [PATCH 27/48] Zeitbereich 0 neuer "Alle" --- html/AdminAlleSchichten.php | 2 +- html/AlleSchichten.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index fc19195..02c77f1 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -88,7 +88,7 @@ if (isset($_GET['InfoAlleSchichtID'])) { if (isset($_GET['ZeitBereich'])) { $ZeitBereich = $_GET['ZeitBereich']; } else { - $ZeitBereich = 1; + $ZeitBereich = 0; } function HelferAuswahlButton($db_link, $AliasHelferID) diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index ea17a89..f1ed9b3 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -84,7 +84,7 @@ if (isset($_GET['InfoAlleSchichtID'])) { if (isset($_GET['ZeitBereich'])) { $ZeitBereich = $_GET['ZeitBereich']; } else { - $ZeitBereich = 1; + $ZeitBereich = 0; } From b657c647378fdd37dd34c506c116361aadcf9f34 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 15 Jan 2024 13:05:49 +0100 Subject: [PATCH 28/48] =?UTF-8?q?Link=20muss=20auf=20selbe=20Seite=20zeige?= =?UTF-8?q?n=20-=20Seitenname=20als=20Argument=20der=20Funktion.=20Evtl=20?= =?UTF-8?q?anders=20l=C3=B6sen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/AdminAlleSchichten.php | 2 +- html/AlleSchichten.php | 2 +- html/TeilnehmerSchichtenAusdruck.php | 2 +- html/_zeitbereich.php | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 02c77f1..fb740e1 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -236,7 +236,7 @@ if ($addschicht == '0') { if ($addschicht != '0') { echo '
    '; require('_zeitbereich.php'); - $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch); + $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch,"AdminAlleSchichten.php"); $MeinVon = $Bereich['MeinVon']; $MeinBis = $Bereich['MeinBis']; $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon , $MeinBis, -1); diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index f1ed9b3..65e5517 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -198,7 +198,7 @@ if ($addschicht == '0') { if ($addschicht != '0') { echo '
    '; require('_zeitbereich.php'); - $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch); + $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch,"AlleSchichten.php"); $MeinVon = $Bereich['MeinVon']; $MeinBis = $Bereich['MeinBis']; $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon , $MeinBis, -1); diff --git a/html/TeilnehmerSchichtenAusdruck.php b/html/TeilnehmerSchichtenAusdruck.php index 3821802..9b5e2fe 100644 --- a/html/TeilnehmerSchichtenAusdruck.php +++ b/html/TeilnehmerSchichtenAusdruck.php @@ -177,7 +177,7 @@ $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); require('_zeitbereich.php'); -$Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch); +$Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch,"TeilnehmerSchichtenAusdruck.php"); $MeinVon = $Bereich['MeinVon']; $MeinBis = $Bereich['MeinBis']; diff --git a/html/_zeitbereich.php b/html/_zeitbereich.php index d297c6d..409624b 100644 --- a/html/_zeitbereich.php +++ b/html/_zeitbereich.php @@ -10,7 +10,7 @@ function KalenderDatum ($start_date) $KalenderDatum = "$KalenderDatum,$KalenerMonat,".date_format($start_date, "d"); return ($KalenderDatum ); } -function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch) +function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch,$SeitenName) { // ZeitbereichWerte (array): -1 davor, 0 kein Limit, 1-N Tag N der Con, 1000: nach der Con $ZeitBereichWerte = ZEITBEREICHWERTE; @@ -58,7 +58,7 @@ function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch) } // write the field for each day echo "\n"; } echo ""; //Zeitbereich tr From 5d1ae0e6d7fe548de7785f84cdd3c85c7fd2def0 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 15 Jan 2024 18:33:15 +0100 Subject: [PATCH 29/48] todo als kommentar --- html/_zeitbereich.php | 1 + 1 file changed, 1 insertion(+) diff --git a/html/_zeitbereich.php b/html/_zeitbereich.php index 409624b..20637d2 100644 --- a/html/_zeitbereich.php +++ b/html/_zeitbereich.php @@ -12,6 +12,7 @@ function KalenderDatum ($start_date) } function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch,$SeitenName) { + // SeitenName kann vom aufrufenden Script ueber pathinfo( __FILE__ )['filename'] gesetzt werden // ZeitbereichWerte (array): -1 davor, 0 kein Limit, 1-N Tag N der Con, 1000: nach der Con $ZeitBereichWerte = ZEITBEREICHWERTE; $ZeitBereichFelder = count($ZeitBereichWerte); From d56aa4bce17fdfe9c16d28899114f76093159c3c Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 15 Jan 2024 18:43:27 +0100 Subject: [PATCH 30/48] php formatter --- html/AdminAlleSchichten.php | 4 ++-- html/AlleSchichten.php | 4 ++-- html/Kalender-all.php | 4 ++-- html/Kalender.php | 4 ++-- html/TeilnehmerSchichtenAusdruck.php | 2 +- html/_zeitbereich.php | 25 ++++++++++++------------- 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index fb740e1..6ddba3a 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -236,10 +236,10 @@ if ($addschicht == '0') { if ($addschicht != '0') { echo '
    "; + echo "onclick='window.location.href=\"{$SeitenName}?ZeitBereich={$EinZeitBereich}\";'>"; echo "$Text" . "
    '; require('_zeitbereich.php'); - $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch,"AdminAlleSchichten.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, -1); // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index 65e5517..da4e86b 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -198,10 +198,10 @@ if ($addschicht == '0') { if ($addschicht != '0') { echo '
    '; require('_zeitbereich.php'); - $Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch,"AlleSchichten.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, -1); // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); diff --git a/html/Kalender-all.php b/html/Kalender-all.php index f47b8b2..cdbe680 100644 --- a/html/Kalender-all.php +++ b/html/Kalender-all.php @@ -167,7 +167,7 @@ function colorize (e){ //KS scheduler.date.get_con_end=function(date){ return scheduler.date.add(date,4,"day"); } //preparation phase 2 days - function setprep(){scheduler.setCurrentView(new Date());} + function setprep(){scheduler.setCurrentView(new Date());} scheduler.date.prep_start = function(date){return date}; scheduler.templates.prep_date = scheduler.templates.week_date; scheduler.templates.prep_scale_date = scheduler.templates.week_scale_date; @@ -194,7 +194,7 @@ function colorize (e){ //KS }; // actual init - scheduler.init('scheduler_here', new Date(), "con"); + scheduler.init('scheduler_here', new Date(), "con"); scheduler.load("data/api-full.php"); //https://docs.dhtmlx.com/scheduler/api__scheduler_createdataprocessor.html //var dp = scheduler.createDataProcessor("data/api.php"); // this would be for saving diff --git a/html/Kalender.php b/html/Kalender.php index 6a8b18e..252c832 100644 --- a/html/Kalender.php +++ b/html/Kalender.php @@ -167,7 +167,7 @@ function colorize (e){ //KS scheduler.date.get_con_end=function(date){ return scheduler.date.add(date,4,"day"); } //preparation phase 2 days - function setprep(){scheduler.setCurrentView(new Date());} + function setprep(){scheduler.setCurrentView(new Date());} scheduler.date.prep_start = function(date){return date}; scheduler.templates.prep_date = scheduler.templates.week_date; scheduler.templates.prep_scale_date = scheduler.templates.week_scale_date; @@ -194,7 +194,7 @@ function colorize (e){ //KS }; // actual init - scheduler.init('scheduler_here', new Date(), "con"); + scheduler.init('scheduler_here', new Date(), "con"); scheduler.load("data/api-helfer.php"); //https://docs.dhtmlx.com/scheduler/api__scheduler_createdataprocessor.html //var dp = scheduler.createDataProcessor("data/api.php"); // this would be for saving diff --git a/html/TeilnehmerSchichtenAusdruck.php b/html/TeilnehmerSchichtenAusdruck.php index 9b5e2fe..3656aa9 100644 --- a/html/TeilnehmerSchichtenAusdruck.php +++ b/html/TeilnehmerSchichtenAusdruck.php @@ -177,7 +177,7 @@ $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); require('_zeitbereich.php'); -$Bereich = AusgabeZeitbereichZeile($start_date,$ZeitBereich,$TageNamenDeutsch,"TeilnehmerSchichtenAusdruck.php"); +$Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "TeilnehmerSchichtenAusdruck.php"); $MeinVon = $Bereich['MeinVon']; $MeinBis = $Bereich['MeinBis']; diff --git a/html/_zeitbereich.php b/html/_zeitbereich.php index 20637d2..cb3e3d3 100644 --- a/html/_zeitbereich.php +++ b/html/_zeitbereich.php @@ -1,23 +1,23 @@ \n"; // Zeitbereich tr // iterate over all days plus "before" and "after" @@ -30,7 +30,7 @@ function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch,$Se //TODO: only if locale DE $day = $start_date->add(new DateInterval("P{$PlusTage}D")); $Wochentag = $TageNamenDeutsch[date_format($day, 'w')]; - + $Text = "$Wochentag (Tag{$EinZeitBereich})"; $Von = date_format($day, $format) . " 00:00:00"; $Bis = date_format($day, $format) . " 23:59:59"; @@ -61,11 +61,10 @@ function AusgabeZeitbereichZeile ($start_date,$ZeitBereich,$TageNamenDeutsch,$Se echo "\n"; -} -echo ""; //Zeitbereich tr -return [ - 'MeinVon' => $MeinVon, - 'MeinBis' => $MeinBis + } + echo ""; //Zeitbereich tr + return [ + 'MeinVon' => $MeinVon, + 'MeinBis' => $MeinBis ]; } -?> From dca069faf4b93831ec8c115d946e2fe09946dd80 Mon Sep 17 00:00:00 2001 From: Ralf Tessari Date: Mon, 15 Jan 2024 21:13:35 +0100 Subject: [PATCH 31/48] =?UTF-8?q?Test=C3=A4nderung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/AdminDienste.php | 73 ++++++++++++++++++++++++++++++++++++++----- html/SQL.php | 11 ++++--- 2 files changed, 72 insertions(+), 12 deletions(-) diff --git a/html/AdminDienste.php b/html/AdminDienste.php index 1a0ad71..33e4170 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -83,13 +83,42 @@ if (isset($_POST['ChangeSchicht'])) { ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll); } +if (isset($_POST['Schicht-Automatic-Bis'])) { + $AutomaticBis = 1; +} +else { + $AutomaticBis = 0; +} + +if (isset($_POST['Schicht-Anschlussschicht'])) { + $Anschlussschicht = 1; +} +else { + $Anschlussschicht = 0; +} + +echo "*".$AutomaticBis."*"; if (isset($_POST['NewSchicht'])) { $Von = $_POST['Schicht-Von']; $Bis = $_POST['Schicht-Bis']; $Soll = $_POST['Schicht-Soll']; + $Dauer = $_POST['Schicht-Dauer']; - NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll); + if($AutomaticBis){ + $Temp = new DateTime($Von); + //$Temp2 = DateInterval::createFromDateString('3600 seconds'); + $Temp2 = DateInterval::createFromDateString($Dauer[0].$Dauer[1].' hours '.$Dauer[3].$Dauer[4].' minutes'); + + $Temp = $Temp->add($Temp2); + $Bis = $Temp->format('Y-m-d H:i:s'); + + } + $db_erg = NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll,$Dauer); + while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $SchichtID == $zeile['SchichtID']; + echo "+".$SchichtID."+"; + } } @@ -145,12 +174,14 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { echo ""; } else { echo ""; + $Was = $zeile['Was']; $Wo = $zeile['Wo']; $Info = $zeile['Info']; $Leiter = $zeile['Leiter']; $Gruppe = $zeile['ElternDienstID']; $HelferLevel = $zeile['HelferLevel']; + } } @@ -243,7 +274,7 @@ echo "

    "; echo "$Text" . "
    +
    + + + - + + @@ -296,7 +342,20 @@ echo "

    Schicht
    Dauer
    + +
    Bis
    +
    Bis
    -

    + + Endzeit von Dauer
    + + Endzeit von Dauer
    + + + + Anschlussschicht vorbereiten
    + + Anschlussschicht vorbereiten
    + + +


    +

    diff --git a/html/SQL.php b/html/SQL.php index 8c0ea31..aad40d3 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -627,7 +627,7 @@ function GetSchichtenEinesDienstes($db_link, $DienstID) //$sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon FROM Schicht where DienstID=".$DienstID; - $sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon, DATE_FORMAT(Von,'%H:%i') AS ZeitVon, DATE_FORMAT(Bis,'%H:%i') AS ZeitBis FROM Schicht where DienstID=" . $DienstID; + $sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon, DATE_FORMAT(Von,'%H:%i') AS ZeitVon, DATE_FORMAT(Bis,'%H:%i') AS ZeitBis, DATE_FORMAT(Dauer,'%H:%i') AS Dauer FROM Schicht where DienstID=" . $DienstID; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "GetSchichtenEinesDienstes ungueltige Abfrage"; @@ -655,7 +655,7 @@ function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll) } } -function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll) +function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer) { $DienstID = mysqli_real_escape_string($db_link, $DienstID); @@ -675,18 +675,19 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll) return Null; } */ - $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ")"; - + //$sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; + $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) OUTPUT Inserted.SchichtID values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "Keine Schicht erstellt"; - //echo $sql; + echo $sql; error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName konnte Schicht nicht angelegt mit $sql \n", 3, LOGFILE); $err = mysqli_error($db_link); die('Ungueltige Abfrage: ' . $err); } else { //TODO: DienstID aufloesen error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName hat Schicht angelegt mit DienstID $DienstID, Von $Von Bis $Bis Soll $Soll \n", 3, LOGFILE); + return $db_erg; } } From 356162394c687af6853a367fdfc9fad1e174adbd Mon Sep 17 00:00:00 2001 From: Ralf Tessari Date: Mon, 15 Jan 2024 21:21:50 +0100 Subject: [PATCH 32/48] zweiter test --- html/SQL.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/html/SQL.php b/html/SQL.php index aad40d3..53e82f9 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -676,7 +676,7 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer) } */ //$sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; - $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) OUTPUT Inserted.SchichtID values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; + $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll, Dauer) values ('" . $DienstID . "','" . $Von . "','" . $Bis . "'," . $Soll . ",'" . $Dauer . "')"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "Keine Schicht erstellt"; @@ -686,8 +686,7 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer) die('Ungueltige Abfrage: ' . $err); } else { //TODO: DienstID aufloesen - error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName hat Schicht angelegt mit DienstID $DienstID, Von $Von Bis $Bis Soll $Soll \n", 3, LOGFILE); - return $db_erg; + error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName hat Schicht angelegt mit DienstID $DienstID, Von $Von Bis $Bis Soll $Soll \n", 3, LOGFILE); } } From f7090d0565e01ae45e170656fb6e99377e36a33a Mon Sep 17 00:00:00 2001 From: Florian Pesth Date: Tue, 16 Jan 2024 06:50:50 +0100 Subject: [PATCH 33/48] Add missing SQL functions --- html/SQL.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/html/SQL.php b/html/SQL.php index 8c0ea31..c026435 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -621,6 +621,38 @@ function DeleteDienst($db_link, $DienstID, $Rekursiv) } } + +function GetDiensteForDay($db_link,$helferlevel,$datestring) +{ + $unixtime = strtotime($datestring); + $date1 = date('Y-m-d',$unixtime+24*60*60); + $date2 = date('Y-m-d',$unixtime); + $sql = "SELECT DienstId, Was, Wo, Info FROM Dienst INNER JOIN Schicht USING (DienstID) WHERE HelferLevel=".$helferlevel." GROUP BY DienstId HAVING MIN(Von)<'".$date1."' AND MAX(Bis)>'".$date2."' ORDER BY MIN(Von) ASC;"; + $db_erg = mysqli_query( $db_link, $sql ); + if ( ! $db_erg ) + { + echo "GetDienste ungueltige Abfrage"; + die('Ungueltige Abfrage: ' . mysqli_error($db_link)); + } + return $db_erg; +} + +function GetSchichtenForDienstForDay($db_link,$DienstID,$datestring) +{ + $unixtime = strtotime($datestring); + $date1 = date('Y-m-d',$unixtime+24*60*60); + $date2 = date('Y-m-d',$unixtime); + $sql = "select Von, Bis, Soll, Name, Handy from Schicht left join EinzelSchicht using (SchichtId) left join Helfer using (HelferId) where DienstId=".$DienstID." and Von<'".$date1."' and Bis>'".$date2."' order by Von;"; + $db_erg = mysqli_query( $db_link, $sql ); + if ( ! $db_erg ) + { + echo "GetDienste ungueltige Abfrage"; + die('Ungueltige Abfrage: ' . mysqli_error($db_link)); + } + return $db_erg; +} + + function GetSchichtenEinesDienstes($db_link, $DienstID) { $DienstID = mysqli_real_escape_string($db_link, $DienstID); From c60b07ad98813bb3ec8dad1a7d670dfdfe607c11 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Tue, 16 Jan 2024 11:03:50 +0100 Subject: [PATCH 34/48] fix double include --- html/konfiguration.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/konfiguration.php b/html/konfiguration.php index ee09030..d04afec 100644 --- a/html/konfiguration.php +++ b/html/konfiguration.php @@ -1,7 +1,7 @@ Date: Tue, 16 Jan 2024 18:02:20 +0100 Subject: [PATCH 35/48] Dauer und Anschlussschicht beim Anlegen von Schichten Bugfix nach dem Anlegen einer Schicht oder Dienstes bleibt das Auswahlfeld auf der Neuen Schicht oder dem Neuen Dienst --- html/AdminDienste.php | 35 ++++++++++++++++++++++------------- html/SQL.php | 17 +++++++++++++++-- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/html/AdminDienste.php b/html/AdminDienste.php index 33e4170..e76b8f5 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -30,6 +30,7 @@ if ($AdminStatus != 1) { DatenbankAufDeutsch($db_link); $DienstID = $_SESSION["DienstID"]; +$NewDienstID = 0; $SchichtID = $_SESSION["SchichtID"]; @@ -65,6 +66,7 @@ if (isset($_POST['NewDienst'])) { $Gruppe = $_POST['Dienst-Gruppe']; $HelferLevel = $_POST['HelferLevel']; NewDienst($db_link, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel); + $NewDienstID = LastInsertId($db_link); } @@ -79,8 +81,9 @@ if (isset($_POST['ChangeSchicht'])) { $Von = $_POST['Schicht-Von']; $Bis = $_POST['Schicht-Bis']; $Soll = $_POST['Schicht-Soll']; + $Dauer = $_POST['Schicht-Dauer']; - ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll); + ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer); } if (isset($_POST['Schicht-Automatic-Bis'])) { @@ -97,7 +100,7 @@ else { $Anschlussschicht = 0; } -echo "*".$AutomaticBis."*"; + if (isset($_POST['NewSchicht'])) { $Von = $_POST['Schicht-Von']; @@ -114,11 +117,9 @@ if (isset($_POST['NewSchicht'])) { $Bis = $Temp->format('Y-m-d H:i:s'); } - $db_erg = NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll,$Dauer); - while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - $SchichtID == $zeile['SchichtID']; - echo "+".$SchichtID."+"; - } + NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll,$Dauer); + $SchichtID = LastInsertId($db_link); + //echo "+".$SchichtID."+"; } @@ -126,15 +127,18 @@ if (isset($_POST['DeleteSchicht'])) { if (!DeleteSchicht($db_link, $SchichtID, false)) { echo "Erst Helfer aus Schicht austragen
    "; } + $SchichtID = 0; } if (isset($_POST['ShowSchicht'])) { $SchichtID = $_POST['SchichtSearch']; + } -if (isset($_POST['SchichtSearch'])) { +if (isset($_POST['SchichtSearch']) && !isset($_POST['NewSchicht']) && !isset($_POST['DeleteSchicht'])) { $SchichtID = $_POST['SchichtSearch']; + echo "SchichtSearch
    "; } if (isset($_POST['ShowSchichten'])) { @@ -147,7 +151,10 @@ if (isset($_POST['DienstSearch'])) { } - +if($NewDienstID != 0) +{ + $DienstID = $NewDienstID; +} // Dienste Anzeigen //////////////////////////////////////////////////////// @@ -240,13 +247,13 @@ echo "

    - + Endzeit von Dauer
    - + Endzeit von Dauer
    - + - + Anschlussschicht vorbereiten
    Anschlussschicht vorbereiten
    diff --git a/html/SQL.php b/html/SQL.php index d9a3456..8257d12 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -645,7 +645,7 @@ function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer) $Soll = mysqli_real_escape_string($db_link, $Soll); - $sql = "UPDATE Schicht SET Von='" . $Von . "', Bis='" . $Bis . "', Soll='" . $Soll ."', Dauer='" . $Dauer . "' where SchichtID=" . $SchichtID; + $sql = "UPDATE Schicht SET Von='" . $Von . "', Bis='" . $Bis . "', Soll='" . $Soll . "', Dauer='" . $Dauer . "' where SchichtID=" . $SchichtID; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { @@ -686,7 +686,7 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer) die('Ungueltige Abfrage: ' . $err); } else { //TODO: DienstID aufloesen - error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName hat Schicht angelegt mit DienstID $DienstID, Von $Von Bis $Bis Soll $Soll \n", 3, LOGFILE); + error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName hat Schicht angelegt mit DienstID $DienstID, Von $Von Bis $Bis Soll $Soll \n", 3, LOGFILE); } } @@ -757,7 +757,7 @@ function LastInsertId($db_link) echo "ungueltige Last InsertID"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } - + $zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC); return $zeile['LAST_INSERT_ID()']; } From 66cb51ed1ab482f30c9b0b28dcf279165d7d9db8 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Tue, 16 Jan 2024 21:55:48 +0100 Subject: [PATCH 38/48] helferlevel als admin aendern und anzeige als lvl1 lvl2 in helfer uebersicht --- html/AdminHelferUebersicht.php | 3 ++- html/AdminUserdaten.php | 24 ++++++++++++++++++++++-- html/SQL.php | 26 ++++++++++++++------------ 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 65917b1..9eda0c4 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -95,6 +95,7 @@ function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferName = $zeile["Name"]; + $HelferLevel = $zeile["HelferLevel"]; $AliasHelferID = $zeile["AliasHelferID"]; if ($AliasHelferID != $OldAliasHelferID) { if ($EinzelDienstStundenZeile != "") { @@ -102,7 +103,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { } $dauer = 0; $EinzelDienstStundenZeile = ""; - $HelferUeberschrift = "
    " . $HelferName . "
    "; + $HelferUeberschrift = "
    $HelferName (Lvl:$HelferLevel)
    "; $OldHelferName = $HelferName; $OldAliasHelferID = $AliasHelferID; $i += 1; diff --git a/html/AdminUserdaten.php b/html/AdminUserdaten.php index ffe73b6..c8010da 100644 --- a/html/AdminUserdaten.php +++ b/html/AdminUserdaten.php @@ -76,6 +76,7 @@ if (isset($_POST['change'])) { $HelferName = $_POST['helfer-name']; $HelferEmail = $_POST['helfer-email']; $HelferHandy = $_POST['helfer-handy']; + $HelferLevel = $_POST['helfer-level']; $HelferNewPasswort = $_POST['helfer-newpasswort']; if ($_POST['IsAdmin']) { $HelferIsAdmin = 1; @@ -85,7 +86,7 @@ if (isset($_POST['change'])) { } if (empty($messages)) { // Helferdaten Ändern - HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $AliasHelferID, $HelferIsAdmin, $HelferID); + HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $AliasHelferID, $HelferIsAdmin, $HelferID, $HelferLevel); } else { // Fehlermeldungen ausgeben: echo '
      '; @@ -117,6 +118,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferEmail = $zeile['Email']; $HelferHandy = $zeile['Handy']; $HelferIsAdmin = $zeile['Admin']; + $HelferLevel = $zeile['HelferLevel']; } ?> @@ -153,8 +155,26 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
    Neues Helfer Passwort
    Helferlevel
    + +
    diff --git a/html/SQL.php b/html/SQL.php index 8c0ea31..68701e4 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -113,44 +113,45 @@ function Helferdaten($db_link, $HelferID) -function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID, $HelferIsAdmin = -1, $AdminID = 0) +function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID, $HelferIsAdmin = -1, $AdminID = 0, $HelferLevel) { $HelferID = mysqli_real_escape_string($db_link, $HelferID); $HelferName = mysqli_real_escape_string($db_link, $HelferName); $HelferEmail = mysqli_real_escape_string($db_link, $HelferEmail); $HelferHandy = mysqli_real_escape_string($db_link, $HelferHandy); + $HelferLevel = mysqli_real_escape_string($db_link, $HelferLevel); if ($HelferNewPasswort == "") { //$sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy' ".($HelferIsAdmin!=-1)?',Admin='$HelferIsAdmin.':'." Where HelferId=".$HelferID; if ($HelferIsAdmin == -1) { - $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy' Where HelferId=" . $HelferID; + $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',HelferLevel='$HelferLevel' Where HelferId=" . $HelferID; } else { - $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',Admin=$HelferIsAdmin Where HelferId=" . $HelferID; + $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',Admin=$HelferIsAdmin,HelferLevel='$HelferLevel' Where HelferId=" . $HelferID; } echo $sql; $db_erg = mysqli_query($db_link, $sql); echo "
  • Helferdaten geändert
  • "; if ($AdminID != 0) { - error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Admin: $HelferIsAdmin\n", 3, LOGFILE); + error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy HelferLevel: $HelferLevel Admin: $HelferIsAdmin\n", 3, LOGFILE); } else { - error_log(date('Y-m-d H:i') . "Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Admin: $HelferIsAdmin\n", 3, LOGFILE); + error_log(date('Y-m-d H:i') . "Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy HelferLevel: $HelferLevel Admin: $HelferIsAdmin\n", 3, LOGFILE); } } else { $HelferNewPasswort = "€" . $HelferNewPasswort . "ß"; $PasswortHash = password_hash($HelferNewPasswort, PASSWORD_DEFAULT); if ($HelferIsAdmin == -1) { - $sql = "UPDATE Helfer SET Name='" . $HelferName . "',Email='" . $HelferEmail . "',Handy='" . $HelferHandy . "',Passwort='" . $PasswortHash . "' Where HelferId=" . $HelferID; + $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',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); echo "
  • Passwort geändert
  • "; if ($AdminID != 0) { - error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Passwort: neu gesetzt\n", 3, LOGFILE); + error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy HelferLevel: $HelferLevel Passwort: neu gesetzt\n", 3, LOGFILE); } else { - error_log(date('Y-m-d H:i') . "Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Passwort: neu gesetzt\n", 3, LOGFILE); + error_log(date('Y-m-d H:i') . "Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy HelferLevel: $HelferLevel Passwort: neu gesetzt\n", 3, LOGFILE); } } @@ -231,6 +232,7 @@ function AlleBelegteSchichtenCount($db_link, $HelferLevel = 1) function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1) { + error_log( "AlleSchichtenImZeitbereich Abfrage: $Von, $Bis, $HelferLevel"); // SchichtID, Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden $Von = mysqli_real_escape_string($db_link, $Von); $Bis = mysqli_real_escape_string($db_link, $Bis); @@ -241,7 +243,7 @@ function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1) } $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"; - error_log($sql); + error_log("AlleSchichtenImZeitbereich sql " . $sql); $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { @@ -725,9 +727,9 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv) function AlleHelferSchichtenUebersicht($db_link) { - $sql = "select Helfer.HelferID as AliasHelferID,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 = "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,Name,Email,Handy,'-' as Was,0 as Dauer from Helfer,EinzelSchicht where not exists(select 1 from EinzelSchicht where Helfer.HelferID=EinzelSchicht.HelferID)"; + $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)"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "AlleHelferSchichtenUebersicht ungueltige Abfrage"; From 4cb1cf60417962fdd9b8b4ebd30056ef967b4ee5 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Tue, 16 Jan 2024 22:23:02 +0100 Subject: [PATCH 39/48] formatter --- html/SQL.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/SQL.php b/html/SQL.php index 68701e4..4c41190 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -232,7 +232,7 @@ function AlleBelegteSchichtenCount($db_link, $HelferLevel = 1) function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1) { - error_log( "AlleSchichtenImZeitbereich Abfrage: $Von, $Bis, $HelferLevel"); + error_log("AlleSchichtenImZeitbereich Abfrage: $Von, $Bis, $HelferLevel"); // SchichtID, Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden $Von = mysqli_real_escape_string($db_link, $Von); $Bis = mysqli_real_escape_string($db_link, $Bis); From 8a7c18fadb562574631f1f33a99294c90b1aefc2 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Tue, 16 Jan 2024 23:03:50 +0100 Subject: [PATCH 40/48] Reihenfolge Argumente, mit default hinten --- html/AdminUserdaten.php | 2 +- html/SQL.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/html/AdminUserdaten.php b/html/AdminUserdaten.php index c8010da..956e353 100644 --- a/html/AdminUserdaten.php +++ b/html/AdminUserdaten.php @@ -86,7 +86,7 @@ if (isset($_POST['change'])) { } if (empty($messages)) { // Helferdaten Ändern - HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $AliasHelferID, $HelferIsAdmin, $HelferID, $HelferLevel); + HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $AliasHelferID, $HelferLevel, $HelferIsAdmin, $HelferID); } else { // Fehlermeldungen ausgeben: echo '
      '; diff --git a/html/SQL.php b/html/SQL.php index 4c41190..ad633ed 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -113,7 +113,7 @@ function Helferdaten($db_link, $HelferID) -function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID, $HelferIsAdmin = -1, $AdminID = 0, $HelferLevel) +function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID, $HelferLevel, $HelferIsAdmin = -1, $AdminID = 0) { $HelferID = mysqli_real_escape_string($db_link, $HelferID); From 7abd8f46c440f3b4aa15eb98e3b0afa724750123 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 22 Jan 2024 21:04:20 +0100 Subject: [PATCH 41/48] javascript, berechnet Schicht-Enddatum via Checkbox --- html/AdminDienste.php | 21 +++++++++++++-------- html/CreateHelfer.php | 1 - html/SQL.php | 5 ++--- html/js/helferdb.js | 22 ++++++++++++++++++++++ 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/html/AdminDienste.php b/html/AdminDienste.php index c70c6c3..33dd098 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -19,7 +19,7 @@ if ($AdminStatus != 1) { - + @@ -195,6 +195,11 @@ echo "

    -

    +

    @@ -319,23 +324,23 @@ echo "

    Von
    - +
    Dauer
    - +
    Bis
    - +
    Soll
    + Anzahl Helfer (Soll)
    -

    - +

    + + + +

    @@ -324,12 +327,12 @@ echo "

    Von
    - +
    Dauer
    - +
    - - Endzeit von Dauer
    - - Endzeit von Dauer
    - - - - Anschlussschicht vorbereiten
    - - Anschlussschicht vorbereiten
    - - -


    -

    - + > Endzeit von Dauer
    + > Anschlussschicht vorbereiten
    +

    + + + +

    diff --git a/html/SQL.php b/html/SQL.php index f0d36f3..b8014fa 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -686,7 +686,7 @@ function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll, $Dauer) } } -function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer) +function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll, $Dauer, $HelferName) { $DienstID = mysqli_real_escape_string($db_link, $DienstID); diff --git a/html/js/helferdb.js b/html/js/helferdb.js index 7d1de4e..ad0f0a3 100644 --- a/html/js/helferdb.js +++ b/html/js/helferdb.js @@ -25,8 +25,9 @@ function setEndDate() var end = new Date(start); var endHours=start.getHours()+delta.getHours(); end.setHours(endHours); + console.log("Schicht-Von: "+document.getElementById("Schicht-Von").value+'Z'+" Schicht-Dauer: "+"0000-01-01T"+ document.getElementById("Schicht-Dauer").value + "Schicht-Bis: " + end.toISOString().replace(/.000Z/,"")); end.setMinutes(start.getMinutes()+delta.getMinutes()); - document.getElementById("Schicht-Bis").value=end.toISOString().replace(/.000Z/,"");; + document.getElementById("Schicht-Bis").value=end.toISOString().replace(/.000Z/,""); } } From 293c30cfaf53d0fcfa0933d6ec9c8ed9cb5dc6fa Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Wed, 24 Jan 2024 16:34:04 +0100 Subject: [PATCH 43/48] konfiguration vor php sessionstart, damit savepath gesetzt werden kann --- html/Admin.php | 2 +- html/AdminAlleSchichten.php | 2 +- html/AdminDienste.php | 2 +- html/AdminHelferUebersicht.php | 2 +- html/AdminMeineSchichten.php | 2 +- html/AdminUserdaten.php | 2 +- html/AlleSchichten.php | 2 +- html/Ausdrucke-alles.php | 2 +- html/Ausdrucke.php | 2 +- html/CreateHelfer.php | 2 +- html/DecodeToken.php | 2 +- html/DetailsSchichten.php | 2 +- html/EmailZuToken.php | 2 +- html/Info.php | 2 +- html/Kalender-all.php | 2 +- html/Kalender.php | 2 +- html/MeineSchichten.php | 2 +- html/ReadLog.php | 2 +- html/TeilnehmerSchichtenAusdruck.php | 2 +- html/TeilnehmerSchichtenAusdruck2.php | 2 +- html/UrlLogin.php | 3 +-- html/Userdaten.php | 2 +- html/index.php | 2 +- 23 files changed, 23 insertions(+), 24 deletions(-) diff --git a/html/Admin.php b/html/Admin.php index a0d729c..57e627d 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -1,7 +1,7 @@ diff --git a/html/DetailsSchichten.php b/html/DetailsSchichten.php index 92b5665..f653ecf 100644 --- a/html/DetailsSchichten.php +++ b/html/DetailsSchichten.php @@ -1,7 +1,7 @@ diff --git a/html/Kalender-all.php b/html/Kalender-all.php index cdbe680..05d0ded 100644 --- a/html/Kalender-all.php +++ b/html/Kalender-all.php @@ -1,6 +1,6 @@ Date: Fri, 26 Jan 2024 02:27:09 +0100 Subject: [PATCH 44/48] typo --- html/Kalender-all.php | 7 ++++--- html/Kalender.php | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/html/Kalender-all.php b/html/Kalender-all.php index 05d0ded..a20a0e3 100644 --- a/html/Kalender-all.php +++ b/html/Kalender-all.php @@ -145,15 +145,16 @@ 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 = 0; // only show from this hour on + scheduler.config.first_hour = 7; // 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; // ??? scheduler.config.details_on_dblclick=true; scheduler.i18n.setLocale("de"); // german scheduler.config.default_date="%l, %d %F"; // %l long day eg Montag, - //scheduler.config.readonly = true; // doesnt show lightbox if true so disabled + scheduler.config.readonly = true; // doesnt show lightbox if true so disabled scheduler.locale.labels.con_tab = "4-Tage" // for custom time ranges scheduler.locale.labels.prep_tab = "2-Tage" @@ -185,7 +186,7 @@ function colorize (e){ //KS scheduler.config.lightbox.sections=[ {name:"description", height:130, map_to:"text", type:"textarea" , focus:true}, {name:"Dienstbeschreibung", height:90, type:"textarea", map_to:"Info" }, - {name:"Konakt", height:200, type:"textarea", map_to:"Kontakt" }, + {name:"Kontakt", height:200, type:"textarea", map_to:"Kontakt" }, {name:"time", height:72, type:"time", map_to:"auto"} ]; diff --git a/html/Kalender.php b/html/Kalender.php index 2e6cd9b..dc6e0a6 100644 --- a/html/Kalender.php +++ b/html/Kalender.php @@ -145,15 +145,16 @@ 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 = 0; // only show from this hour on + scheduler.config.first_hour = 7; // 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; // ??? scheduler.config.details_on_dblclick=true; scheduler.i18n.setLocale("de"); // german scheduler.config.default_date="%l, %d %F"; // %l long day eg Montag, - //scheduler.config.readonly = true; // doesnt show lightbox if true so disabled + scheduler.config.readonly = true; // doesnt show lightbox if true so disabled scheduler.locale.labels.con_tab = "4-Tage" // for custom time ranges scheduler.locale.labels.prep_tab = "2-Tage" @@ -185,7 +186,7 @@ function colorize (e){ //KS scheduler.config.lightbox.sections=[ {name:"description", height:130, map_to:"text", type:"textarea" , focus:true}, {name:"Dienstbeschreibung", height:90, type:"textarea", map_to:"Info" }, - {name:"Konakt", height:200, type:"textarea", map_to:"Kontakt" }, + {name:"Kontakt", height:200, type:"textarea", map_to:"Kontakt" }, {name:"time", height:72, type:"time", map_to:"auto"} ]; From fc5c15a2c82febc11d139f63fe5337356b6831dd Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Fri, 26 Jan 2024 08:21:59 +0100 Subject: [PATCH 45/48] bugfix double-require --- html/ReadLog.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/html/ReadLog.php b/html/ReadLog.php index cba78f0..baa48a6 100644 --- a/html/ReadLog.php +++ b/html/ReadLog.php @@ -2,7 +2,7 @@ // Login und Admin Status testen. Wenn kein Admin-Status, Weiterleiten auf index.php und beenden require_once 'konfiguration.php'; SESSION_START(); -require 'SQL.php'; +require_once 'SQL.php'; $db_link = ConnectDB(); require '_login.php'; @@ -28,7 +28,6 @@ require '_login.php'; //check for admin status $HelferID = $_SESSION["HelferID"]; $AdminID = $_SESSION["AdminID"]; - require 'SQL.php'; $db_link = mysqli_connect(MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT, MYSQL_DATENBANK); DatenbankAufDeutsch($db_link); From bca6ff89512a581e46742ee4739f18216d525f67 Mon Sep 17 00:00:00 2001 From: iridos Date: Fri, 26 Jan 2024 09:00:48 +0100 Subject: [PATCH 46/48] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5105165..71f4132 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # Bengelsystem Bengelsystem is a platform to schedule shifts of volunteers primarily for jugglig conventions. Helpers register at the platform and choose shifts. The admin of the website can add new tasks and shifts. + +Das Bengelsystem ist Datenbanksystem, um Helfer - primär auf Jonglierconventions zu organiseren. Helfer registrieren sich und wählen ihre Schichten aus. Ein Admin auf den Seiten kann neue Dienste und Schichten anlegen etc. From ae656679b0471c4bc593ef794d535510c4129ca9 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Fri, 26 Jan 2024 11:07:56 +0100 Subject: [PATCH 47/48] auto format-fix --- html/AdminDienste.php | 19 +++++++++++-------- html/js/helferdb.js | 17 ++++++++--------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/html/AdminDienste.php b/html/AdminDienste.php index 27e75d3..d917fd3 100644 --- a/html/AdminDienste.php +++ b/html/AdminDienste.php @@ -195,9 +195,8 @@ echo "

    - > Endzeit von Dauer
    + > Endzeit von Dauer
    > Anschlussschicht vorbereiten
    + if ($Anschlussschicht) { + echo "checked"; + } + ?> > Anschlussschicht vorbereiten

    diff --git a/html/js/helferdb.js b/html/js/helferdb.js index ad0f0a3..3e011ee 100644 --- a/html/js/helferdb.js +++ b/html/js/helferdb.js @@ -18,17 +18,16 @@ function setEndDate() // because maybe browsers also convert to UTC for the internal value // but I guess in the worst case we have ZZ at the end and the js autofill fails var checkBox = document.getElementById("Schicht-Automatic-Bis"); - if (checkBox.checked == true) - { - var start = new Date(document.getElementById("Schicht-Von").value+'Z'); - var delta = new Date("0000-01-01T"+ document.getElementById("Schicht-Dauer").value); + if (checkBox.checked == true) { + var start = new Date(document.getElementById("Schicht-Von").value + 'Z'); + var delta = new Date("0000-01-01T" + document.getElementById("Schicht-Dauer").value); var end = new Date(start); - var endHours=start.getHours()+delta.getHours(); + var endHours = start.getHours() + delta.getHours(); end.setHours(endHours); - console.log("Schicht-Von: "+document.getElementById("Schicht-Von").value+'Z'+" Schicht-Dauer: "+"0000-01-01T"+ document.getElementById("Schicht-Dauer").value + "Schicht-Bis: " + end.toISOString().replace(/.000Z/,"")); - end.setMinutes(start.getMinutes()+delta.getMinutes()); - document.getElementById("Schicht-Bis").value=end.toISOString().replace(/.000Z/,""); - } + console.log("Schicht-Von: " + document.getElementById("Schicht-Von").value + 'Z' + " Schicht-Dauer: " + "0000-01-01T" + document.getElementById("Schicht-Dauer").value + "Schicht-Bis: " + end.toISOString().replace(/.000Z/,"")); + end.setMinutes(start.getMinutes() + delta.getMinutes()); + document.getElementById("Schicht-Bis").value = end.toISOString().replace(/.000Z/,""); + } } //// https://www.w3schools.com/howto/howto_js_collapsible.asp From 2e81fe7c4760719fa48926279e7e7d7eb26186ff Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Wed, 31 Jan 2024 19:47:24 +0100 Subject: [PATCH 48/48] multi-installs/php-sessions; nach Helfererstellung zum Login; Kommentar zu fehlender Implementierung weg, die ist inz. da --- bengelsystem_konfiguration.php.template | 2 ++ html/AdminHelferUebersicht.php | 2 +- html/CreateHelfer.php | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bengelsystem_konfiguration.php.template b/bengelsystem_konfiguration.php.template index 796c80a..1492318 100644 --- a/bengelsystem_konfiguration.php.template +++ b/bengelsystem_konfiguration.php.template @@ -16,6 +16,8 @@ define('TAGE_DAUER', 4); date_default_timezone_set('Europe/Berlin'); setlocale(LC_TIME, "de_DE.UTF-8"); $start_date = new DateTimeImmutable("2023-05-18"); +// das hier setzen, um mehr als eine Instanz der des Bengelsystems mit separaten Accounts laufen zu lassen +//session_save_path("/var/lib/php/sessions"); // Geheimer Schlüssel für die Verschlüsselung von Tokens diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index d097b58..ca40d0a 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -68,7 +68,7 @@ if (isset($_POST['DienstSearch'])) { echo "

    "; ?> - +
      Übersicht Helfer und Ihre Schichten (Helfer ohne Schichten werden momentan noch nicht angezeigt)   Übersicht Helfer und Ihre Schichten
    diff --git a/html/CreateHelfer.php b/html/CreateHelfer.php index 3a4b664..fd7241a 100644 --- a/html/CreateHelfer.php +++ b/html/CreateHelfer.php @@ -94,7 +94,7 @@ if (isset($_POST['sent'])) { ?> -

    Hier können Sie sich selbst einen Account als Helfer anlegen.

    +

    Hier können Sie sich selbst einen Account als Helfer anlegen. Danach zum Login