-
+
+
+ " . 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 "| Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . " | ";
+ $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 "| → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine |
";
+ }
- echo "";
$OldTag = "";
$OldWas = "";
@@ -226,7 +239,7 @@ if ($addschicht != '0') {
// 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) {
@@ -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 "";
+ 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 " |
\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 "" . $Bis . " | ";
echo "" . $zeile['Ist'] . "/";
echo "" . $zeile['Soll'] . " | ";
- // buttons sind in der selben Zelle
- echo "" . "" . "";
- echo " $regtext" . " | ";
+ // 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 " $regtext" . " | ";
echo "\n";
}
echo "
";
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);