From 023223ea724ea99b3375571fb5902a96bebb0dc9 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Sat, 23 Mar 2024 21:35:33 +0100 Subject: [PATCH 1/7] =?UTF-8?q?Wort=20"Helfer"=20wenn=20unn=C3=B6tig=20ent?= =?UTF-8?q?fernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/Admin.php | 10 +++++----- html/AdminAlleSchichten.php | 2 +- html/AdminDienste.php | 4 ++-- html/AlleSchichten.php | 6 ------ html/Ausdrucke.php | 2 +- html/CreateHelfer.php | 4 ++-- html/DetailsSchichten.php | 2 +- html/EmailZuToken.php | 4 ++-- html/Info.php | 2 +- html/Kalender-all.php | 4 ++-- html/Kalender.php | 4 ++-- html/ReadLog.php | 2 +- html/TeilnehmerSchichtenAusdruck2.php | 2 +- html/UrlLogin.php | 2 +- html/Userdaten.php | 2 +- html/_login.php | 2 +- html/index.php | 6 +++--- 17 files changed, 27 insertions(+), 33 deletions(-) diff --git a/html/Admin.php b/html/Admin.php index 57e627d..007dfda 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -57,7 +57,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {   - Admin HelferDB + Admin @@ -71,11 +71,11 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - Seite zur Helfer selbst-Registrierung + Seite zur selbst-Registrierung - Helfer per Link einladen + persönliche Einladungslink(s) generieren @@ -87,7 +87,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - Helfer als Admin ändern: + Als Admin ändern:
diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index 862d425..e78e088 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -243,12 +243,6 @@ if ($addschicht != '0') { echo "+ "; echo $Was; echo ""; - /* - echo "". "Von" . ""; - echo "". "Bis" . ""; - echo "". "Ist/Soll" . ""; - echo "". "Add" . ""; - */ echo ""; $OldWas = $Was; } diff --git a/html/Ausdrucke.php b/html/Ausdrucke.php index de20599..b8ce28c 100644 --- a/html/Ausdrucke.php +++ b/html/Ausdrucke.php @@ -53,7 +53,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
- diff --git a/html/CreateHelfer.php b/html/CreateHelfer.php index fd7241a..1c7be40 100644 --- a/html/CreateHelfer.php +++ b/html/CreateHelfer.php @@ -70,7 +70,7 @@ if (isset($_POST['sent'])) { //echo "InserId = ".$insertID; // Erfolg vermelden und Skript beenden, damit Formular nicht erneut ausgegeben wird - echo "Helfer mit Emailadresse " . $HelferEmail . " Angelegt.

"; + echo "Account mit Emailadresse " . $HelferEmail . " Angelegt.

"; $HelferName = ''; $HelferEmail = ''; $HelferHandy = ''; @@ -79,7 +79,7 @@ if (isset($_POST['sent'])) { //die('

"; + echo "Account konnte nicht Angelegt werden, möglichweise exisistiert die Emailadresse " . $HelferEmail . " bereits.

"; } } else { // Fehlermeldungen ausgeben: diff --git a/html/DetailsSchichten.php b/html/DetailsSchichten.php index f653ecf..c4472bf 100644 --- a/html/DetailsSchichten.php +++ b/html/DetailsSchichten.php @@ -10,7 +10,7 @@ require '_login.php'; - Helfer <?php echo EVENTNAME ?> + <?php echo EVENTNAME ?> diff --git a/html/EmailZuToken.php b/html/EmailZuToken.php index 9b822de..42121ed 100644 --- a/html/EmailZuToken.php +++ b/html/EmailZuToken.php @@ -59,7 +59,7 @@ if (isset($_POST['email-cc'])) { $email_text = " Lieber Teilnehmer, -trage dich bitte mit folgendem Link für eine Stunde pro Person als Helfer bei uns ein.Wir verschicken eine Mail pro Emailaddresse, also bitte für alle, die mit dieser Emailaddresse angemeldet sind. +trage dich bitte mit folgendem Link für eine Stunde pro Person bei uns ein.Wir verschicken eine Mail pro Emailaddresse, also bitte für alle, die mit dieser Emailaddresse angemeldet sind. Danke für deine Mithilfe! @@ -84,7 +84,7 @@ if (isset($_POST['sendmail'])) { ?> - Helfer <?php echo EVENTNAME ?>: Email Tokens generieren + <?php echo EVENTNAME ?>: Email Tokens generieren diff --git a/html/Info.php b/html/Info.php index 2aa3dbe..4d10885 100644 --- a/html/Info.php +++ b/html/Info.php @@ -7,7 +7,7 @@ SESSION_START(); - Helfer <?php echo EVENTNAME ?> Home + <?php echo EVENTNAME ?> Home diff --git a/html/Kalender-all.php b/html/Kalender-all.php index a20a0e3..861db4f 100644 --- a/html/Kalender-all.php +++ b/html/Kalender-all.php @@ -9,7 +9,7 @@ require '_zeitbereich.php'; - Helferdienste + Dienste @@ -147,7 +147,7 @@ function colorize (e){ //KS scheduler.config.full_day=false; scheduler.config.readonly_form = true; scheduler.config.xml_date="%Y-%m-%d %H:%i"; // deprecated but needed for database format - scheduler.config.first_hour = 7; // only show from this hour on + scheduler.config.first_hour = 0; // only show from this hour on scheduler.config.last_hour = 24; // last hour scheduler.setLoadMode("day"); // dynamic loading loads only current day if needed scheduler.config.details_on_create=true; // ??? diff --git a/html/Kalender.php b/html/Kalender.php index dc6e0a6..bc07044 100644 --- a/html/Kalender.php +++ b/html/Kalender.php @@ -9,7 +9,7 @@ require '_zeitbereich.php'; - Helferdienste + Dienste @@ -191,7 +191,7 @@ function colorize (e){ //KS ]; scheduler.templates.tooltip_text = function(start,end,event) { - return "Helfer:
"+event.Name+"

"; + return "
"+event.Name+"

"; }; // actual init diff --git a/html/ReadLog.php b/html/ReadLog.php index baa48a6..7f7d5b1 100644 --- a/html/ReadLog.php +++ b/html/ReadLog.php @@ -10,7 +10,7 @@ require '_login.php'; - Helfer - Logs + Logs diff --git a/html/TeilnehmerSchichtenAusdruck2.php b/html/TeilnehmerSchichtenAusdruck2.php index d9b1991..d79f7ee 100644 --- a/html/TeilnehmerSchichtenAusdruck2.php +++ b/html/TeilnehmerSchichtenAusdruck2.php @@ -15,7 +15,7 @@ if ($AdminStatus != 1) { - testAlle Helferschichten 2 + Alle Schichten 2 diff --git a/html/UrlLogin.php b/html/UrlLogin.php index 9b2248e..fca5f6b 100644 --- a/html/UrlLogin.php +++ b/html/UrlLogin.php @@ -76,7 +76,7 @@ if ($success == 1 && $email != "") { error_log("2email: " . $HelferEmail . ",level: " . $helfer_level . ",success: " . $success); // Helfer Anlegen, wenn er nicht existiert if (! HelferIstVorhanden($db_link, $HelferEmail)) { - error_log("Helfer " . $HelferEmail . " nicht vorhanden, lege an"); + error_log( $HelferEmail . " nicht vorhanden, lege an"); error_log("CreateHelfer(db_link,$HelferName,$HelferEmail, $HelferHandy,$HelferPasswort,$HelferLevel);"); $db_erg = CreateHelfer($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel); } diff --git a/html/Userdaten.php b/html/Userdaten.php index 2c6a2d4..0f5fb14 100644 --- a/html/Userdaten.php +++ b/html/Userdaten.php @@ -10,7 +10,7 @@ require '_login.php'; - <?php echo EVENTNAME ?> Helferdaten ändern + <?php echo EVENTNAME ?> Persönliche Daten ändern diff --git a/html/_login.php b/html/_login.php index 50e06c2..37db058 100644 --- a/html/_login.php +++ b/html/_login.php @@ -45,7 +45,7 @@ if (!isset($_SESSION["HelferID"])) { - Helfer <?php echo EVENTNAME ?> Home + <?php echo EVENTNAME ?> Home diff --git a/html/index.php b/html/index.php index 79b9cc7..51fab98 100644 --- a/html/index.php +++ b/html/index.php @@ -9,7 +9,7 @@ require '_login.php'; - Helfer <?php echo EVENTNAME ?> Home + <?php echo EVENTNAME ?> Home @@ -27,7 +27,7 @@ require '_login.php';
  Ausdrucke HelferDB +   Ausdrucke
Ausdrucke(alles)
- Nächste Helferschichten: + Meine nächsten Schichten
    Date: Mon, 25 Mar 2024 22:42:02 +0100 Subject: [PATCH 2/7] Anzeige (belegt/total) pro dienst. HelferLevel Korrekturen --- html/AdminAlleSchichten.php | 171 +++++++++++++++++++++--------------- html/AlleSchichten.php | 160 +++++++++++++++++++-------------- html/SQL.php | 27 ++++-- 3 files changed, 216 insertions(+), 142 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 616a41d..910ee3d 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -4,6 +4,7 @@ require_once 'konfiguration.php'; SESSION_START(); require 'SQL.php'; $db_link = ConnectDB(); +// zeigt login-Seite an, wenn keine Session besteht require '_login.php'; if ($AdminStatus != 1) { @@ -14,7 +15,7 @@ if ($AdminStatus != 1) { ?> - + <?php echo EVENTNAME ?> Alle Schichten @@ -24,12 +25,15 @@ if ($AdminStatus != 1) { - - - -" . EVENTNAME . ""; ?> -
    - + + + " . EVENTNAME . ""; ?> +

    Alle Schichten / Schichten hinzufügen

    +
    + ". $SchichtID . "
    "; - $zeile = DetailSchicht($db_link, $InfoMeineSchichtID); + $zeile = DetailSchicht($db_link, $SchichtID); $Was = $zeile['Was']; $Wo = $zeile['Wo']; @@ -51,40 +58,42 @@ if (isset($_POST['InfoMeineSchichtID'])) { $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++; + $db_link->close(); } -} +// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier +//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++; +// } +//} + +// Auswahl Tag oberhalb der Dienstetabelle if (isset($_GET['ZeitBereich'])) { $ZeitBereich = $_GET['ZeitBereich']; } else { @@ -122,6 +131,7 @@ $AdminID = $_SESSION["AdminID"]; $db_erg = Helferdaten($db_link, $AliasHelferID); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferName = $zeile['Name']; + $AliasHelferLevel = $zeile['HelferLevel']; } // Helferliste Anzeigen @@ -130,8 +140,6 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { ?> - - '); } else { // Fehlermeldungen ausgeben: echo '
      '; @@ -165,10 +172,12 @@ if (isset($_POST['plusschicht'])) { } if (isset($_POST['minusschicht'])) { - // Mich aus Schicht entfernen + // Mich aus Schicht entfernen $messages = []; $SchichtID = $_POST['minusschicht']; + // Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf: + $_SESSION["SchichtIdAktiv"] = $SchichtID; if (empty($messages)) { // Helfer aus Schicht entfernen @@ -197,9 +206,9 @@ if (isset($_POST['minusschicht'])) { echo '
      '; echo '' . "Dienstplan von $HelferName: "; echo $zeile['Anzahl']; - echo " Schichten insgesamt "; + echo " Schichten, "; echo $zeile['Dauer'] / 3600; - echo " Stunden"; + echo " Stunden)"; echo '


      '; /// Schichten Auswahl //////////////////////////////////////////////////////// @@ -207,7 +216,8 @@ $addschicht = $_SESSION["addschicht"]; $dienstsort = $_SESSION["dienstsort"]; - +//addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren +//addschicht wird gerade nie gesetzt, dienst-sort damit auch nicht if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') { $addschicht = '1'; $dienstsort = '1'; @@ -231,27 +241,35 @@ if ($addschicht == '0') { echo "

      "; } -//echo "InfoAlleSchichtID ".$InfoAlleSchichtID; -if ($addschicht != '0') { +if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht 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); + $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $AliasHelferLevel); // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); echo '
      '; + echo ""; - //echo "

      "; + // "Alle Schichten der Con" echo ''; echo ""; - echo ""; + echo ""; + $alleHelferLevel = array(1, 2); + + foreach ($alleHelferLevel as $HelferLevelIteration) { + $meine = ""; + if($HelferLevelIteration == $AliasHelferLevel) { $meine = " ← mein Level";} + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); + echo ""; + } - echo ""; $OldTag = ""; $OldWas = ""; @@ -260,10 +278,10 @@ if ($addschicht != '0') { //print_r($MeineDienste); echo '
      Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
      Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
         → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
      '; + // Tabelle mit allen Diensten und Schichten echo ''; - while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - if ($dienstsort == '1') { + if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt $Tag = $zeile['Tag']; if ($Tag != $OldTag) { @@ -275,18 +293,27 @@ if ($addschicht != '0') { } else { $Was = $zeile['Was']; - if ($Was != $OldWas) { + if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist // + in becomes - when rows are opened - echo ""; - /* - echo ""; - echo ""; - echo ""; - echo ""; - */ echo ""; + SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); + if(true){ + echo "\n"; + } $OldWas = $Was; } } @@ -307,13 +334,13 @@ if ($addschicht != '0') { // Meine Schichten gruen einfaerben if (in_array($zeile['SchichtID'], $MeineDienste)) { $rowstyle = ' style="background-color:lightgreen" '; - $regtext = 'Meine!'; + $regtext = '
      Meine!
      '; } else { // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $regtext = ''; } - if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { + if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something } @@ -328,9 +355,11 @@ if ($addschicht != '0') { echo ""; echo ""; - // buttons sind in der selben Zelle - echo ""; + // durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert + // in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt + // width:200px oder max-width:200px hat zu viel weissem Platz rechts und enge links gefuehrt + echo ""; echo "\n"; } echo "
      + "; - echo $Was; + echo "
      + "; + $SchichtID=$zeile['SchichtID']; + $DienstID=$zeile['DienstID']; + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel,$DienstID); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$AliasHelferLevel,$DienstID); + echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) "; echo "". "Von" . "". "Bis" . "". "Ist/Soll" . "". "Add" . "
      "; + echo "Beschreibung: $Info

      "; + echo "Ort: $InfoWo
      "; + //echo "Dauer: $InfoDauer
      "; // verschieden je nach Einzelschicht + echo "Ansprechparter:" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo "$LeiterEmail"; + echo "
      " . $Bis . "" . $zeile['Ist'] . "/"; echo "" . $zeile['Soll'] . "" . "" . ""; - echo "   $regtext" . ""; + echo "   $regtext" . "
      "; diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index e78e088..cba88a6 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -1,31 +1,33 @@ - - Helfer <?php echo EVENTNAME ?> Alle Schichten + + <?php echo EVENTNAME ?> Alle Schichten - + - - - - -" . EVENTNAME . ""; ?> -

      Alle Schichten / Schichten hinzufügen

      -
      - + + + " . EVENTNAME . ""; ?> +

      Alle Schichten / Schichten hinzufügen

      +
      + ". $SchichtID . "
      "; +// wird nie gesetzt +//if (isset($_POST['InfoMeineSchichtID'])) { +function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$LeiterEmail,&$Info){ + $db_link = ConnectDB(); +// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; - $zeile = DetailSchicht($db_link, $InfoMeineSchichtID); + $zeile = DetailSchicht($db_link, $SchichtID); $Was = $zeile['Was']; $Wo = $zeile['Wo']; @@ -47,40 +50,42 @@ if (isset($_POST['InfoMeineSchichtID'])) { $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++; + $db_link->close(); } -} +// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier +//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++; +// } +//} + +// Auswahl Tag oberhalb der Dienstetabelle if (isset($_GET['ZeitBereich'])) { $ZeitBereich = $_GET['ZeitBereich']; } else { @@ -126,7 +131,7 @@ if (isset($_POST['plusschicht'])) { } if (isset($_POST['minusschicht'])) { - // Mich aus Schicht entfernen + // Mich aus Schicht entfernen $messages = []; $SchichtID = $_POST['minusschicht']; @@ -142,7 +147,6 @@ if (isset($_POST['minusschicht'])) { foreach ($messages as $message) { echo '
    • ' . htmlspecialchars($message) . '
    • '; } - echo '
    '; } } @@ -170,7 +174,8 @@ $addschicht = $_SESSION["addschicht"]; $dienstsort = $_SESSION["dienstsort"]; - +//addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren +//addschicht wird gerade nie gesetzt, dienst-sort damit auch nicht if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') { $addschicht = '1'; $dienstsort = '1'; @@ -195,13 +200,13 @@ if ($addschicht == '0') { } -if ($addschicht != '0') { +if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht 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); + $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel); // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); @@ -212,9 +217,17 @@ if ($addschicht != '0') { // "Alle Schichten der Con" echo '
    '; echo ""; - echo ""; + echo ""; + $alleHelferLevel = array(1, 2); + + foreach ($alleHelferLevel as $HelferLevelIteration) { + $meine = ""; + if($HelferLevelIteration == $HelferLevel) { $meine = " ← mein Level";} + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); + echo ""; + } - echo ""; $OldTag = ""; $OldWas = ""; @@ -226,7 +239,7 @@ if ($addschicht != '0') { // Tabelle mit allen Diensten und Schichten echo '
    Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
    '; while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - if ($dienstsort == '1') { + if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt $Tag = $zeile['Tag']; if ($Tag != $OldTag) { @@ -238,12 +251,27 @@ if ($addschicht != '0') { } else { $Was = $zeile['Was']; - if ($Was != $OldWas) { + if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist // + in becomes - when rows are opened - echo ""; echo ""; + SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); + if(true){ + echo "\n"; + } $OldWas = $Was; } } @@ -264,13 +292,13 @@ if ($addschicht != '0') { // Meine Schichten gruen einfaerben if (in_array($zeile['SchichtID'], $MeineDienste)) { $rowstyle = ' style="background-color:lightgreen" '; - $regtext = 'Meine!'; + $regtext = '
    Meine!
    '; } else { // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $regtext = ''; } - if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { + if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something } @@ -285,9 +313,11 @@ if ($addschicht != '0') { echo ""; echo ""; - // buttons sind in der selben Zelle - echo ""; + // durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert + // in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt + // width:200px oder max-width:200px hat zu viel weissem Platz rechts und enge links gefuehrt + echo ""; echo "\n"; } echo "
    + "; - echo $Was; + echo "
    + "; + $SchichtID=$zeile['SchichtID']; + $DienstID=$zeile['DienstID']; + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel,$DienstID); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevel,$DienstID); + echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) "; echo "
    "; + echo "Beschreibung: $Info

    "; + echo "Ort: $InfoWo
    "; + //echo "Dauer: $InfoDauer
    "; // verschieden je nach Einzelschicht + echo "Ansprechparter:" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo "$LeiterEmail"; + echo "
    " . $Bis . "" . $zeile['Ist'] . "/"; echo "" . $zeile['Soll'] . "" . "" . ""; - echo "   $regtext" . ""; + echo "   $regtext" . "
    "; diff --git a/html/SQL.php b/html/SQL.php index b8014fa..2b9e058 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -191,11 +191,18 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1) return $db_erg; } -function AlleSchichtenCount($db_link, $HelferLevel = 1) +function AlleSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) { + $nurDienst=""; + if( $DienstID != -1 ) { + $nurDienst = " and Dienst.DienstID = $DienstID"; + } + $nurHelferLevel=""; + if( $HelferLevel != -1 ) { + $nurHelferLevel = " and HelferLevel = $HelferLevel "; + } - //$sql = "select SUM(Soll) As Anzahl from SchichtUebersicht where HelferLevel=$HelferLevel"; - $sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel"; +$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; $db_erg = mysqli_query($db_link, $sql); @@ -211,11 +218,19 @@ function AlleSchichtenCount($db_link, $HelferLevel = 1) } -function AlleBelegteSchichtenCount($db_link, $HelferLevel = 1) +function AlleBelegteSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) { + $nurDienst=""; + if( $DienstID != -1 ) { + $nurDienst = " and Dienst.DienstID = $DienstID"; + } + $nurHelferLevel=""; + if( $HelferLevel != -1 ) { + $nurHelferLevel = " and HelferLevel = $HelferLevel "; + } - $sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel"; + $sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; $db_erg = mysqli_query($db_link, $sql); @@ -242,7 +257,7 @@ function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1) $sql_helferlevel = ""; } - $sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll from Dienst,SchichtUebersicht where Von >= '" . $Von . "' and Von <'" . $Bis . "' and Dienst.DienstID=SchichtUebersicht.DienstID $sql_helferlevel order by Was,Von"; + $sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll, Dienst.DienstID from Dienst,SchichtUebersicht where Von >= '" . $Von . "' and Von <'" . $Bis . "' and Dienst.DienstID=SchichtUebersicht.DienstID $sql_helferlevel order by Was,Von"; error_log("AlleSchichtenImZeitbereich sql " . $sql); $db_erg = mysqli_query($db_link, $sql); From 40b19effe1d0c21b576e6e3ef96b042f4dff40ad Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Tue, 26 Mar 2024 22:07:14 +0100 Subject: [PATCH 3/7] nicht klickbare Felder grau --- html/AlleSchichten.php | 5 +++-- html/css/style_common.css | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index cba88a6..da052ad 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -216,7 +216,7 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste // "Alle Schichten der Con" echo ''; - echo ""; + echo ""; echo ""; $alleHelferLevel = array(1, 2); @@ -225,7 +225,8 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste if($HelferLevelIteration == $HelferLevel) { $meine = " ← mein Level";} $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); - echo ""; + // $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen. + echo ""; } diff --git a/html/css/style_common.css b/html/css/style_common.css index e5461e4..2fbe50f 100644 --- a/html/css/style_common.css +++ b/html/css/style_common.css @@ -35,6 +35,10 @@ font-size: inherit ; color: white; } +/*.infoheader th, .infoheader td, .infoheader tr{*/ +.infoheader th{ + background-color: #9090AF; +} #selected th { padding-top: 12px; From c42016474ffca0dde75c626710e5e970e33c0073 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Wed, 27 Mar 2024 11:03:09 +0100 Subject: [PATCH 4/7] =?UTF-8?q?bugfix=20helfer=C3=BCbersicht,=20header-hea?= =?UTF-8?q?ders,=20back-links=20helfer=C3=BCbersicht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/AdminAlleSchichten.php | 149 +++++++++++++++++---------------- html/AdminHelferUebersicht.php | 4 +- html/AdminMeineSchichten.php | 2 +- html/AdminUserdaten.php | 2 +- html/AlleSchichten.php | 87 +++++++++---------- html/SQL.php | 42 +++++++--- html/UrlLogin.php | 2 +- 7 files changed, 156 insertions(+), 132 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 910ee3d..93eb081 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -27,7 +27,7 @@ if ($AdminStatus != 1) { - " . EVENTNAME . ""; ?> @@ -37,28 +37,29 @@ if ($AdminStatus != 1) { /// Detailinformation zu ausgewaehlten Schicht Holen //////////////////////////////////////////////////////// -if (isset($_POST['CloseInfo'])) { - unset($InfoMeineSchichtID); - unset($InfoAlleSchichtID); -} + if (isset($_POST['CloseInfo'])) { + unset($InfoMeineSchichtID); + unset($InfoAlleSchichtID); + } // wird nie gesetzt //if (isset($_POST['InfoMeineSchichtID'])) { -function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$LeiterEmail,&$Info){ - $db_link = ConnectDB(); -// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; - unset($InfoAlleSchichtID); - //echo "". $SchichtID . "
    "; + function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info) + { + $db_link = ConnectDB(); + // $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; + unset($InfoAlleSchichtID); + //echo "". $SchichtID . "
    "; - $zeile = DetailSchicht($db_link, $SchichtID); + $zeile = DetailSchicht($db_link, $SchichtID); - $Was = $zeile['Was']; - $Wo = $zeile['Wo']; - $Dauer = $zeile['Dauer']; - $Leiter = $zeile['Name']; - $LeiterHandy = $zeile['Handy']; - $LeiterEmail = $zeile['Email']; - $Info = $zeile['Info']; - $db_link->close(); + $Was = $zeile['Was']; + $Wo = $zeile['Wo']; + $Dauer = $zeile['Dauer']; + $Leiter = $zeile['Name']; + $LeiterHandy = $zeile['Handy']; + $LeiterEmail = $zeile['Email']; + $Info = $zeile['Info']; + $db_link->close(); } // wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier @@ -93,51 +94,51 @@ function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$Leit // } //} -// Auswahl Tag oberhalb der Dienstetabelle -if (isset($_GET['ZeitBereich'])) { - $ZeitBereich = $_GET['ZeitBereich']; -} else { - $ZeitBereich = 0; -} - -function HelferAuswahlButton($db_link, $AliasHelferID) -{ - echo 'Helfer wählen: '; -} -if (isset($_POST['AliasHelferID'])) { - $AliasHelferID = $_POST['AliasHelferID']; -} elseif (isset($_SESSION["AliasHelferID"])) { - $AliasHelferID = $_SESSION["AliasHelferID"]; -} else { + function HelferAuswahlButton($db_link, $AliasHelferID) + { + echo 'Helfer wählen:
    '; + } + + if (isset($_POST['AliasHelferID'])) { + $AliasHelferID = $_POST['AliasHelferID']; + } elseif (isset($_SESSION["AliasHelferID"])) { + $AliasHelferID = $_SESSION["AliasHelferID"]; + } else { + HelferAuswahlButton($db_link, $AliasHelferID); + echo "

    Erst Helfer auswählen

    "; + exit; + } HelferAuswahlButton($db_link, $AliasHelferID); - echo "

    Erst Helfer auswählen

    "; - exit; -} -HelferAuswahlButton($db_link, $AliasHelferID); -$_SESSION["AliasHelferID"] = $AliasHelferID; -$AdminID = $_SESSION["AdminID"]; + $_SESSION["AliasHelferID"] = $AliasHelferID; + $AdminID = $_SESSION["AdminID"]; -$db_erg = Helferdaten($db_link, $AliasHelferID); -while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - $HelferName = $zeile['Name']; - $AliasHelferLevel = $zeile['HelferLevel']; -} + $db_erg = Helferdaten($db_link, $AliasHelferID); + while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $HelferName = $zeile['Name']; + $AliasHelferLevel = $zeile['HelferLevel']; + } // Helferliste Anzeigen //////////////////////////////////////////////////////// -?> + ?>
    @@ -263,11 +264,13 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste $alleHelferLevel = array(1, 2); foreach ($alleHelferLevel as $HelferLevelIteration) { - $meine = ""; - if($HelferLevelIteration == $AliasHelferLevel) { $meine = " ← mein Level";} - $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); - $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); - echo "
    "; + $meine = ""; + if ($HelferLevelIteration == $AliasHelferLevel) { + $meine = " ← mein Level"; + } + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration); + echo ""; } @@ -296,23 +299,23 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist // + in becomes - when rows are opened echo ""; echo ""; - SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); - if(true){ - echo "\n"; + echo "Ansprechparter:" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo "$LeiterEmail"; + echo "\n"; } $OldWas = $Was; } diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index ca40d0a..1f953e2 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -92,7 +92,7 @@ function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, echo ""; echo "$EinzelDienstStundenZeile\n "; } - +echo ""; while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferName = $zeile["Name"]; $HelferLevel = $zeile["HelferLevel"]; @@ -103,7 +103,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { } $dauer = 0; $EinzelDienstStundenZeile = ""; - $HelferUeberschrift = " diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index 05720e2..6acbb5c 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -220,9 +220,9 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste echo ""; echo ""; - $alleHelferLevel = array(1, 2); + $alleHelferLevel = alleHelferLevel($db_link); - foreach ($alleHelferLevel as $HelferLevelIteration) { + foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) { $meine = ""; if ($HelferLevelIteration == $HelferLevel) { $meine = " ← mein Level, Schichten werden unten angezeigt"; @@ -230,7 +230,7 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration); // $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen. - echo ""; + echo ""; } diff --git a/html/SQL.php b/html/SQL.php index 7653c18..f0d3bb3 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -769,9 +769,9 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv) } -function AlleHelferSchichtenUebersicht($db_link) +function AlleHelferSchichtenUebersicht($db_link,$HelferLevel) { - $sql = ' + $sql = " SELECT Helfer.HelferID AS AliasHelferID, -- Alias für HelferID Helfer.HelferLevel, @@ -788,9 +788,10 @@ LEFT JOIN Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID LEFT JOIN Dienst ON Schicht.DienstID = Dienst.DienstID +WHERE Helfer.HelferLevel = $HelferLevel GROUP BY Helfer.HelferID, - Was'; + Was"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { @@ -836,6 +837,21 @@ function HelferLevel($db_link) } return $db_erg; } + +function alleHelferLevel($db_link) +{ +$alleHelferLevel = array(); +$db_erg=HelferLevel($db_link); + while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $HelferLevel = $zeile['HelferLevel']; + $HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung']; + $alleHelferLevel[$HelferLevel] = $HelferLevelBeschreibung; + }; +return $alleHelferLevel; +} + + + // TODO: als Array zurueckgeben (CreateHelfer anpassen) // TODO: //function HelferLevel($db_link){
    Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
    + "; - $SchichtID=$zeile['SchichtID']; - $DienstID=$zeile['DienstID']; - $iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel,$DienstID); - $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$AliasHelferLevel,$DienstID); + $SchichtID = $zeile['SchichtID']; + $DienstID = $zeile['DienstID']; + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel, $DienstID); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $AliasHelferLevel, $DienstID); echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) "; echo "
    "; - echo "Beschreibung: $Info

    "; - echo "Ort: $InfoWo
    "; + SchichtInfo($SchichtID, $InfoWas, $InfoWo, $InfoDauer, $Leiter, $LeiterHandy, $LeiterEmail, $Info); + if (true) { + echo "
    "; + echo "Beschreibung: $Info

    "; + echo "Ort: $InfoWo
    "; //echo "Dauer: $InfoDauer
    "; // verschieden je nach Einzelschicht - echo "Ansprechparter:" . $Leiter . ", "; - echo $LeiterHandy . ", "; - echo "$LeiterEmail"; - echo "
    AccountdatenSchichtenSchichten Ändern
    $HelferName (Lvl:$HelferLevel)
    "; + $HelferUeberschrift = "
     $HelferName (Lvl:$HelferLevel)
    "; $OldHelferName = $HelferName; $OldAliasHelferID = $AliasHelferID; $i += 1; diff --git a/html/AdminMeineSchichten.php b/html/AdminMeineSchichten.php index 316c433..a97c701 100644 --- a/html/AdminMeineSchichten.php +++ b/html/AdminMeineSchichten.php @@ -23,7 +23,7 @@ if ($AdminStatus != 1) { -

    Admin: Schichten editieren - +

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

    diff --git a/html/AdminUserdaten.php b/html/AdminUserdaten.php index 7a9055b..8cbf0dd 100644 --- a/html/AdminUserdaten.php +++ b/html/AdminUserdaten.php @@ -128,7 +128,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - + " . EVENTNAME . ""; ?> diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index da052ad..e6a1961 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -31,26 +31,27 @@ require '_login.php'; /// Detailinformation zu ausgewaehlten Schicht Holen //////////////////////////////////////////////////////// -if (isset($_POST['CloseInfo'])) { - unset($InfoMeineSchichtID); - unset($InfoAlleSchichtID); -} + if (isset($_POST['CloseInfo'])) { + unset($InfoMeineSchichtID); + unset($InfoAlleSchichtID); + } // wird nie gesetzt //if (isset($_POST['InfoMeineSchichtID'])) { -function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$LeiterEmail,&$Info){ - $db_link = ConnectDB(); -// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; + function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info) + { + $db_link = ConnectDB(); + // $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; - $zeile = DetailSchicht($db_link, $SchichtID); + $zeile = DetailSchicht($db_link, $SchichtID); - $Was = $zeile['Was']; - $Wo = $zeile['Wo']; - $Dauer = $zeile['Dauer']; - $Leiter = $zeile['Name']; - $LeiterHandy = $zeile['Handy']; - $LeiterEmail = $zeile['Email']; - $Info = $zeile['Info']; - $db_link->close(); + $Was = $zeile['Was']; + $Wo = $zeile['Wo']; + $Dauer = $zeile['Dauer']; + $Leiter = $zeile['Name']; + $LeiterHandy = $zeile['Handy']; + $LeiterEmail = $zeile['Email']; + $Info = $zeile['Info']; + $db_link->close(); } // wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier @@ -85,19 +86,19 @@ function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$Leit // } //} -// Auswahl Tag oberhalb der Dienstetabelle -if (isset($_GET['ZeitBereich'])) { - $ZeitBereich = $_GET['ZeitBereich']; -} else { - $ZeitBereich = 0; -} +// Auswahl Tag oberhalb der Dienstetabelle + if (isset($_GET['ZeitBereich'])) { + $ZeitBereich = $_GET['ZeitBereich']; + } else { + $ZeitBereich = 0; + } // Helferliste Anzeigen //////////////////////////////////////////////////////// -?> + ?> @@ -221,12 +222,14 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste $alleHelferLevel = array(1, 2); foreach ($alleHelferLevel as $HelferLevelIteration) { - $meine = ""; - if($HelferLevelIteration == $HelferLevel) { $meine = " ← mein Level";} - $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); - $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); - // $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen. - echo ""; + $meine = ""; + if ($HelferLevelIteration == $HelferLevel) { + $meine = " ← mein Level"; + } + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration); + // $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen. + echo ""; } @@ -255,23 +258,23 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist // + in becomes - when rows are opened echo ""; echo ""; - SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); - if(true){ - echo "\n"; + echo "Ansprechparter:" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo "$LeiterEmail"; + echo "\n"; } $OldWas = $Was; } diff --git a/html/SQL.php b/html/SQL.php index 2b9e058..426cd3d 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -193,16 +193,16 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1) function AlleSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) { - $nurDienst=""; - if( $DienstID != -1 ) { + $nurDienst = ""; + if ($DienstID != -1) { $nurDienst = " and Dienst.DienstID = $DienstID"; } - $nurHelferLevel=""; - if( $HelferLevel != -1 ) { + $nurHelferLevel = ""; + if ($HelferLevel != -1) { $nurHelferLevel = " and HelferLevel = $HelferLevel "; } -$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; + $sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; $db_erg = mysqli_query($db_link, $sql); @@ -220,12 +220,12 @@ $sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst W function AlleBelegteSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) { - $nurDienst=""; - if( $DienstID != -1 ) { + $nurDienst = ""; + if ($DienstID != -1) { $nurDienst = " and Dienst.DienstID = $DienstID"; } - $nurHelferLevel=""; - if( $HelferLevel != -1 ) { + $nurHelferLevel = ""; + if ($HelferLevel != -1) { $nurHelferLevel = " and HelferLevel = $HelferLevel "; } @@ -771,9 +771,27 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv) function AlleHelferSchichtenUebersicht($db_link) { - $sql = "select Helfer.HelferID as AliasHelferID,Helfer.HelferLevel,Name,Email,Handy,Was,SUM(Dauer)/10000 as Dauer from Helfer,EinzelSchicht INNER JOIN Schicht INNER JOIN Dienst where Helfer.HelferID=EinzelSchicht.HelferID and EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID group by Helfer.HelferID,Was"; - $sql = $sql . " UNION ALL "; - $sql = $sql . "select Helfer.HelferID as AliasHelferID,Helfer.HelferLevel,Name,Email,Handy,'-' as Was,0 as Dauer from Helfer,EinzelSchicht where not exists(select 1 from EinzelSchicht where Helfer.HelferID=EinzelSchicht.HelferID)"; + $sql = ' +SELECT + Helfer.HelferID AS AliasHelferID, -- Alias für HelferID + Helfer.HelferLevel, + Name, + Email, + Handy, + Was, + COALESCE(SUM(Dauer)/10000, 0) AS Dauer +FROM + Helfer +LEFT JOIN + EinzelSchicht ON Helfer.HelferID = EinzelSchicht.HelferID +LEFT JOIN + Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID +LEFT JOIN + Dienst ON Schicht.DienstID = Dienst.DienstID +GROUP BY + Helfer.HelferID, + Was'; + $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "AlleHelferSchichtenUebersicht ungueltige Abfrage"; diff --git a/html/UrlLogin.php b/html/UrlLogin.php index fca5f6b..43edfc1 100644 --- a/html/UrlLogin.php +++ b/html/UrlLogin.php @@ -76,7 +76,7 @@ if ($success == 1 && $email != "") { error_log("2email: " . $HelferEmail . ",level: " . $helfer_level . ",success: " . $success); // Helfer Anlegen, wenn er nicht existiert if (! HelferIstVorhanden($db_link, $HelferEmail)) { - error_log( $HelferEmail . " nicht vorhanden, lege an"); + error_log($HelferEmail . " nicht vorhanden, lege an"); error_log("CreateHelfer(db_link,$HelferName,$HelferEmail, $HelferHandy,$HelferPasswort,$HelferLevel);"); $db_erg = CreateHelfer($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel); } From d9b5f88a7536e8aefdba09e4cbc3a0cacab0c299 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Wed, 27 Mar 2024 11:31:49 +0100 Subject: [PATCH 5/7] =?UTF-8?q?kommentar,=20weil=20=C3=BCbergangsl=C3=B6su?= =?UTF-8?q?ng=20etwas=20unklar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/AlleSchichten.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index e6a1961..05720e2 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -219,12 +219,13 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste echo '
    Helferdaten Helferdaten
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
    + "; - $SchichtID=$zeile['SchichtID']; - $DienstID=$zeile['DienstID']; - $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel,$DienstID); - $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevel,$DienstID); + $SchichtID = $zeile['SchichtID']; + $DienstID = $zeile['DienstID']; + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel, $DienstID); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevel, $DienstID); echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) "; echo "
    "; - echo "Beschreibung: $Info

    "; - echo "Ort: $InfoWo
    "; + SchichtInfo($SchichtID, $InfoWas, $InfoWo, $InfoDauer, $Leiter, $LeiterHandy, $LeiterEmail, $Info); + if (true) { + echo "
    "; + echo "Beschreibung: $Info

    "; + echo "Ort: $InfoWo
    "; //echo "Dauer: $InfoDauer
    "; // verschieden je nach Einzelschicht - echo "Ansprechparter:" . $Leiter . ", "; - echo $LeiterHandy . ", "; - echo "$LeiterEmail"; - echo "
    '; echo ""; echo ""; + $alleHelferLevel = array(1, 2); foreach ($alleHelferLevel as $HelferLevelIteration) { $meine = ""; if ($HelferLevelIteration == $HelferLevel) { - $meine = " ← mein Level"; + $meine = " ← mein Level, Schichten werden unten angezeigt"; } $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration); From ef8fc46d7891966ab5e25a95141dc1944478227d Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Sun, 14 Apr 2024 10:50:23 +0200 Subject: [PATCH 6/7] =?UTF-8?q?bug=20fixes=20und=20eine=20Erkl=C3=A4rung,?= =?UTF-8?q?=20wg=20Dopplung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/Admin.php | 2 +- html/Kalender.php | 2 +- html/SQL.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/html/Admin.php b/html/Admin.php index 007dfda..9c27edf 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -81,7 +81,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { diff --git a/html/Kalender.php b/html/Kalender.php index bc07044..e09e96b 100644 --- a/html/Kalender.php +++ b/html/Kalender.php @@ -191,7 +191,7 @@ function colorize (e){ //KS ]; scheduler.templates.tooltip_text = function(start,end,event) { - return "
    "+event.Name+"

    "; + return "
    "+event.Name+"

    "; }; // actual init diff --git a/html/SQL.php b/html/SQL.php index 426cd3d..7653c18 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -143,7 +143,7 @@ function HelferdatenAendern($db_link, $HelferName, $HelferEmail, $HelferHandy, $ if ($HelferIsAdmin == -1) { $sql = "UPDATE Helfer SET Name='" . $HelferName . "',Email='" . $HelferEmail . "',Handy='" . $HelferHandy . "',HelferLevel='$HelferLevel',Passwort='" . $PasswortHash . "' Where HelferId=" . $HelferID; } else { - $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',$HelferLevel='$HelferLevel',Passwort='$PasswortHash',Admin=$HelferIsAdmin Where HelferId=" . $HelferID; + $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',HelferLevel='$HelferLevel',Passwort='$PasswortHash',Admin=$HelferIsAdmin Where HelferId=" . $HelferID; } //echo $sql; $db_erg = mysqli_query($db_link, $sql); From 46c372ee8cae767bc14f43e98b642428d7bbb2b5 Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Thu, 25 Apr 2024 20:19:58 +0200 Subject: [PATCH 7/7] HelferLevel in Array aus DB verwenden --- html/AdminHelferUebersicht.php | 67 +++++++++++++++++++--------------- html/AdminUserdaten.php | 16 +++----- html/AlleSchichten.php | 6 +-- html/SQL.php | 22 +++++++++-- 4 files changed, 64 insertions(+), 47 deletions(-) diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index 1f953e2..9738858 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -73,13 +73,6 @@ echo "

    Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
    - Helferübersicht und als Admin ändern + Helferübersicht und als Admin ändern
    (Anm: dieses Menü soll die Punkte unterhalb ablösen)
    ";
    "; echo "$EinzelDienstStundenZeile\n "; } -echo ""; -while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - $HelferName = $zeile["Name"]; - $HelferLevel = $zeile["HelferLevel"]; - $AliasHelferID = $zeile["AliasHelferID"]; - if ($AliasHelferID != $OldAliasHelferID) { - if ($EinzelDienstStundenZeile != "") { - outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); + +// Helferlevel holen, wir listen die Level nacheinander auf +$alleHelferLevel = alleHelferLevel($db_link); +foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) +{ + echo ""; + $db_erg = AlleHelferSchichtenUebersicht($db_link, $HelferLevelIteration); + $dauer = 0; + $i = 0; + $OldAliasHelferID = "-1"; + $EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden + $HelferUeberschrift = ""; + + + echo ""; + while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $HelferName = $zeile["Name"]; + $HelferLevel = $zeile["HelferLevel"]; + $AliasHelferID = $zeile["AliasHelferID"]; + if ($AliasHelferID != $OldAliasHelferID) { + if ($EinzelDienstStundenZeile != "") { + outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); + } + $dauer = 0; + $EinzelDienstStundenZeile = ""; + $HelferUeberschrift = " "; + $dauer = $dauer + (int)$zeile["Dauer"]; } - $EinzelDienstStundenZeile .= ""; - $dauer = $dauer + (int)$zeile["Dauer"]; + if ($EinzelDienstStundenZeile != "") { + outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); + } + } -if ($EinzelDienstStundenZeile != "") { - outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); -} - - echo "
    AccountdatenSchichtenSchichten Ändern
    ($HelferLevelIteration) $HelferLevelBeschreibung
    AccountdatenSchichtenSchichten Ändern
     $HelferName (Lvl:$HelferLevel)
    "; + $OldHelferName = $HelferName; + $OldAliasHelferID = $AliasHelferID; + $i += 1; } - $dauer = 0; - $EinzelDienstStundenZeile = ""; - $HelferUeberschrift = "
     $HelferName (Lvl:$HelferLevel)
    "; - $OldHelferName = $HelferName; - $OldAliasHelferID = $AliasHelferID; - $i += 1; + $EinzelDienstStundenZeile .= "
    " . (int)$zeile["Dauer"] . ""; + $EinzelDienstStundenZeile .= $zeile["Was"]; + $EinzelDienstStundenZeile .= "
    " . (int)$zeile["Dauer"] . ""; - $EinzelDienstStundenZeile .= $zeile["Was"]; - $EinzelDienstStundenZeile .= "
    "; ?> diff --git a/html/AdminUserdaten.php b/html/AdminUserdaten.php index 8cbf0dd..ff475e0 100644 --- a/html/AdminUserdaten.php +++ b/html/AdminUserdaten.php @@ -160,17 +160,11 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {

    Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
       → Schichten $HelferLevelBeschreibung (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine