diff --git a/html/Admin.php b/html/Admin.php index 3c4f302..a0d729c 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -133,7 +133,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - + Admin Kalenderansicht diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 36b96cb..6ddba3a 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) @@ -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 '
'; - 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, "AdminAlleSchichten.php"); + $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..da4e86b 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; } @@ -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.html b/html/Kalender-all.php similarity index 76% rename from html/Kalender-all.html rename to html/Kalender-all.php index e7d5f6c..cdbe680 100644 --- a/html/Kalender-all.html +++ b/html/Kalender-all.php @@ -1,3 +1,11 @@ + @@ -7,6 +15,7 @@ + @@ -56,30 +65,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 +160,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 +182,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 +194,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/TeilnehmerSchichtenAusdruck.php b/html/TeilnehmerSchichtenAusdruck.php index d143e7e..3656aa9 100644 --- a/html/TeilnehmerSchichtenAusdruck.php +++ b/html/TeilnehmerSchichtenAusdruck.php @@ -162,11 +162,6 @@ if (isset($_POST['minusschicht'])) { /// Schichten Auswahl //////////////////////////////////////////////////////// -if ($addschicht == '0') { - echo "

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, "TeilnehmerSchichtenAusdruck.php"); +$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, "AlleSchichten.php"); + $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/_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..cb3e3d3 --- /dev/null +++ b/html/_zeitbereich.php @@ -0,0 +1,70 @@ +\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] + // -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 = ''; + } + // write the field for each day + echo "\n"; + } + echo ""; //Zeitbereich tr + return [ + 'MeinVon' => $MeinVon, + 'MeinBis' => $MeinBis + ]; +}
"; + echo "$Text" . "