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/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 7571101..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 = ''; @@ -197,7 +192,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 +261,7 @@ if ($addschicht != '0') { //echo "

"; - echo ''; + echo '
'; echo ""; echo ""; echo ""; @@ -333,7 +328,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') { @@ -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"; } 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 "

" . "" . ""; - echo "" . "   $regtext" . "$regtext
";
  Übersicht Helfer und Ihre Schichten
- +
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/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); ?> 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(); }
$Was ($TagKurz)