".$HelferPasswort.""; $PasswortHash = password_hash($HelferPasswort, PASSWORD_DEFAULT); // Neuen Helfer anlegen $sql = "INSERT INTO Helfer(Name,Email,Handy,Status,BildFile,DoReport,Passwort,HelferLevel) VALUES ('$HelferName','$HelferEmail','$HelferHandy',1,'',0,'$PasswortHash','$HelferLevel')"; $db_erg = mysqli_query( $db_link, $sql ); error_log(date('Y-m-d H:i') . " CreateHelfer: $HelferName angelegt mit Email $HelferEmail Handy $HelferHandy \n",3,LOGFILE); return $db_erg; }; // testet fuer urllogin, ob Helfer bereits existiert function HelferIstVorhanden ($db_link,$Email) { $Email=mysqli_real_escape_string($db_link, $Email); $sql = "SELECT count(HelferID) as Anzahl FROM Helfer Where Email = '" . $Email."'"; $db_erg = mysqli_query( $db_link, $sql ); $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC); return $zeile['Anzahl']; }; //TODO: pruefen, ob Helfer bereits eingeloggt function HelferLogin($db_link,$HelferEmail,$HelferPasswort,$HelferStatus) { $HelferEmail=mysqli_real_escape_string($db_link, $HelferEmail); $HelferStatus=mysqli_real_escape_string($db_link, $HelferStatus); //echo "Test
"; // Helfer Suchen $sql = "Select HelferID,Admin,Name,Passwort,HelferLevel From Helfer Where Email='".$HelferEmail."'"; //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Login ungueltige Abfrage"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } while ($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)) { $HelferPasswort = "€".$HelferPasswort."ß"; //echo "".$HelferPasswort."
"; //echo "".$zeile['Passwort']."
"; if(password_verify( $HelferPasswort , $zeile['Passwort']) ) { $_SESSION["HelferID"] = $zeile['HelferID']; $_SESSION["HelferName"] = $zeile['Name']; //TODO: das sollte nur gesetzt werden, wenn der Helfer Admin ist $_SESSION["AdminID"] = $zeile['HelferID']; $_SESSION["AdminStatus"] = $zeile['Admin']; $_SESSION["HelferLevel"] = $zeile['HelferLevel']; return 1; } else { echo "Falsches Passwort
"; return 0; } } } // Liste der Helfer fuer Admin-Seite //TODO: HelferLevel function HelferListe($db_link) { $sql = "SELECT HelferID,Name FROM Helfer"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Helferliste ungueltige Abfrage"; die('Unueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function Helferdaten($db_link,$HelferID) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $sql = "SELECT * FROM Helfer Where HelferID =".$HelferID; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Helferdaten ungueltige Abfrage
\n"; echo "sql:$sql
\n"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function HelferdatenAendern($db_link,$HelferName,$HelferEmail,$HelferHandy,$HelferNewPasswort,$HelferID,$HelferIsAdmin=-1,$AdminID=0) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $HelferName=mysqli_real_escape_string($db_link, $HelferName); $HelferEmail=mysqli_real_escape_string($db_link, $HelferEmail); $HelferHandy=mysqli_real_escape_string($db_link, $HelferHandy); if( $HelferNewPasswort == "") { //$sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy' ".($HelferIsAdmin!=-1)?',Admin='$HelferIsAdmin.':'." Where HelferId=".$HelferID; if ($HelferIsAdmin==-1) { $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy' Where HelferId=".$HelferID; } else { $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',Admin=$HelferIsAdmin Where HelferId=".$HelferID; } echo $sql; $db_erg = mysqli_query( $db_link, $sql ); echo "
  • Helferdaten geändert
  • "; if($AdminID!=0) { error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Admin: $HelferIsAdmin\n",3,LOGFILE); } else { error_log(date('Y-m-d H:i') . "Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Admin: $HelferIsAdmin\n",3,LOGFILE); } } else { $HelferNewPasswort = "€".$HelferNewPasswort."ß"; $PasswortHash = password_hash($HelferNewPasswort, PASSWORD_DEFAULT); if ($HelferIsAdmin==-1) { $sql = "UPDATE Helfer SET Name='".$HelferName."',Email='".$HelferEmail."',Handy='".$HelferHandy."',Passwort='".$PasswortHash."' Where HelferId=".$HelferID; } else { $sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy',Passwort='$PasswortHash',Admin=$HelferIsAdmin Where HelferId=".$HelferID; } //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); echo "
  • Passwort geändert
  • "; if($AdminID!=0) { error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Passwort: neu gesetzt\n",3,LOGFILE); } else { error_log(date('Y-m-d H:i') . "Helferdaten update: Name: $HelferName (HelferID:$HelferID) Email: $HelferEmail Handy: $HelferHandy Passwort: neu gesetzt\n",3,LOGFILE); } } if ( ! $db_erg ) { echo "HelferdatenAendern ungueltiges Statement"; echo $sql; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function AlleSchichten($db_link,$Sort,$HelferLevel=1) { $Sort=mysqli_real_escape_string($db_link, $Sort); if($Sort=='1') { $sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll from Dienst,SchichtUebersicht where Dienst.DienstID=SchichtUebersicht.DienstID and Dienst.Helferlevel=$HelferLevel order by Von"; } else { $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 Dienst.DienstID=SchichtUebersicht.DienstID and Dienst.Helferlevel=$HelferLevel order by Was,Von"; } $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleSchichten ungueltige Abfrage"; echo $Sort; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function AlleSchichtenCount($db_link, $HelferLevel=1) { //$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"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleSchichtenCount ungueltige Abfrage"; echo $Sort; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC); return $zeile['Anzahl']; }; function AlleBelegteSchichtenCount($db_link,$HelferLevel=1) { $sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleSchichtenCount ungueltige Abfrage"; echo $Sort; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC); return $zeile['Anzahl']; }; function AlleSchichtenImZeitbereich($db_link,$Von,$Bis,$HelferLevel=1) { // SchichtID, Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden $Von=mysqli_real_escape_string($db_link, $Von); $Bis=mysqli_real_escape_string($db_link, $Bis); $HelferLevel=mysqli_real_escape_string($db_link, $HelferLevel); $sql_helferlevel="and Dienst.HelferLevel=$HelferLevel"; if($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"; error_log($sql); $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleSchichtenImZeitbereich ungueltige Abfrage
    "; echo $sql; die('
    Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function AlleSchichtenEinesHelfers($db_link,$HelferID) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $sql = "select EinzelSchicht.SchichtID ,EinzelSchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis FROM EinzelSchicht,Schicht,Dienst where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID = Dienst.DienstID and HelferID=".$HelferID." order by Von"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleSchichtenEinesHelfers ungueltige Abfrage"; echo $HelferID; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function HelferLoeschen($db_link,$HelferID,$AdminID) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $db_erg = Helferdaten($db_link,$HelferID); while ($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)) { $HelferName=$zeile['Name']; //echo "HelferName=$HelferName
    "; } $db_erg = AlleSchichtenEinesHelfers($db_link,$HelferID); $AnzahlHelferschichten=mysqli_num_rows($db_erg); if($AnzahlHelferschichten==0) { $sql="Delete from Helfer where HelferID='$HelferID'"; $db_erg = mysqli_query( $db_link, $sql ); if( ! $db_erg ) { echo "Helfer $HelferName konnte nicht gelöscht werden
    "; echo "$sql
    "; return -2; } else { echo "Helfer $HelferName (HelferID:$HelferID) wurde erfolgreich geloescht
    "; error_log(date('Y-m-d H:i') . "(Admin $AdminID) Helfer loeschen: Name: $HelferName (HelferID:$HelferID)\n",3,LOGFILE); return 1; } } else { echo "Helfer $HelferName hat noch $AnzahlHelferschichten Schichten. Bitte erst die Schichten löschen
    "; return -1; } } function SchichtIdArrayEinesHelfers($db_link,$HelferID) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); // Array, um Zeilen mit von mir belegten Schichten in der Schichtuebersicht einfaerben zu koennenn $sql = "SELECT SchichtID FROM EinzelSchicht WHERE HelferID = $HelferID"; //print_r($sql); $db_erg = mysqli_query( $db_link, $sql ); $schichtIDs = array(); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_NUM)) { $schichtIDs[] = $zeile[0]; } return($schichtIDs); } function AlleSchichtenEinesHelfersVonJetzt($db_link,$HelferID) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); #TODO: fix GETDATE() array to string conversion $sql = "select EinzelSchicht.SchichtID ,EinzelSchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis FROM EinzelSchicht,Schicht,Dienst where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID = Dienst.DienstID and HelferID=".$HelferID." and Bis>'".GETDATE()."' order by Von"; //$sql = "select EinzelSchicht.SchichtID ,EinzelSchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis FROM EinzelSchicht,Schicht,Dienst where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID = Dienst.DienstID and HelferID=".$HelferID." and Bis>'2023-05-20' order by Von"; //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleSchichtenEinesHelfers ungueltige Abfrage"; echo $HelferID; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function SchichtenSummeEinesHelfers($db_link,$HelferID) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); //$sql = "select count Schicht.Dauer as Anzahl FROM EinzelSchicht,Schicht,Dienst where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID = Dienst.DienstID and HelferID=".$HelferID." order by Von"; $sql = "select count(*) as Anzahl, SUM(TIME_TO_SEC(Schicht.Dauer)) as Dauer FROM EinzelSchicht,Schicht,Dienst where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID = Dienst.DienstID and HelferID=".$HelferID; //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "SchichtenSummeEinesHelfers ungueltige Abfrage"; echo $HelferID; echo $sql; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function LogSchichtEingabe($db_link, $HelferID, $SchichtId, $EinzelSchichtId, $Aktion, $AdminID=0) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $SchichtId=mysqli_real_escape_string($db_link, $SchichtId); $EinzelSchichtId=mysqli_real_escape_string($db_link, $EinzelSchichtId); $Aktion=mysqli_real_escape_string($db_link, $Aktion); $AdminID=mysqli_real_escape_string($db_link, $AdminID); $sql = "SELECT Schicht.Von, Schicht.Bis, Dienst.Was, Helfer.Name FROM EinzelSchicht JOIN Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID JOIN Dienst ON Schicht.DienstID = Dienst.DienstID JOIN Helfer ON EinzelSchicht.HelferID = Helfer.HelferID WHERE EinzelSchicht.HelferID = $HelferID AND ( Schicht.SchichtID = $SchichtId OR EinzelSchicht.EinzelSchichtID = $EinzelSchichtId) "; //error_log(date('Y-m-d H:i') . " " . $sql ."\n",3,LOGFILE); $db_erg = mysqli_query( $db_link, $sql ); if (mysqli_num_rows($db_erg) > 1) { echo "HelferSchichtZuweisen: Es wurden mehr als eine Zeile zurueckgegeben\n
    "; # Fehler geht ins normale Error-Management, nicht ins Logfile error_log(date('Y-m-d H:i') . " HelferSchichtZuweisen: Es wurden mehr als eine Zeile zurueckgegben.\n",0); } else if (mysqli_num_rows($db_erg) == 1) { $row = mysqli_fetch_assoc($db_erg); $Von = $row["Von"]; $Bis = $row["Bis"]; $Was = $row["Was"]; $HelferName= $row["Name"]; } else { echo "Es wurde keine Zeile zurueckgegeben."; } if($AdminID==0) { error_log(date('Y-m-d H:i') . " HelferSchicht: $HelferName (HelferID:$HelferID) hat Dienst $Was von $Von bis $Bis $Aktion.\n",3,LOGFILE); } else { error_log(date('Y-m-d H:i') . " HelferSchicht: Admin:$AdminID hat von $HelferName (HelferID:$HelferID) den Dienst $Was von $Von bis $Bis $Aktion.\n",3,LOGFILE); } } function HelferSchichtZuweisen($db_link,$HelferID,$SchichtId,$AdminID=0) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $SchichtId=mysqli_real_escape_string($db_link, $SchichtId); // Abfrage, ob bereits eine Einzelschicht in der selben Schicht vom Helfer existiert $sql = "SELECT EinzelSchichtID from EinzelSchicht WHERE SchichtID='$SchichtId' and HelferID='$HelferID'"; $db_erg = mysqli_query( $db_link, $sql ); if(mysqli_num_rows($db_erg) > 0) { echo "HelferSchichtZuweisen: Schicht existiert bereits!"; return false; } // Helfer Schicht zuweisen $sql = 'INSERT INTO EinzelSchicht(SchichtID,HelferID) VALUES (\'' . $SchichtId . '\',\'' . $HelferID . '\')'; //echo ''; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "HelferSchichtZuweisen ungueltige Abfrage"; echo $HelferID; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } LogSchichtEingabe($db_link, $HelferID, $SchichtId, -1, "eingetragen",$AdminID); return $db_erg; }; function HelferVonSchichtLoeschen($db_link,$HelferID,$EinzelSchichtID,$AdminID=0) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $SchichtId=mysqli_real_escape_string($db_link, $SchichtId); // Log vor Löschen, damit Einzelschicht abgefragt werden kann LogSchichtEingabe($db_link, $HelferID, -1, $EinzelSchichtID, "entfernt",$AdminID); // Lösche Einzelschicht $sql = "Delete From EinzelSchicht Where EinzelSchichtID =".$EinzelSchichtID; //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); return $db_erg; }; function HelferVonSchichtLoeschen_SchichtID($db_link,$HelferID,$SchichtID,$AdminID=0) { $HelferID=mysqli_real_escape_string($db_link, $HelferID); $SchichtId=mysqli_real_escape_string($db_link, $SchichtId); // Log vor Löschen, damit Einzelschicht abgefragt werden kann LogSchichtEingabe($db_link, $HelferID, $SchichtID, -1, "entfernt",$AdminID); // Lösche Einzelschicht $sql = "Delete From EinzelSchicht Where SchichtID = $SchichtID and HelferID = $HelferID limit 1;"; //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); return $db_erg; }; function DetailSchicht($db_link,$InfoSchichtID) { $InfoSchichtID=mysqli_real_escape_string($db_link, $InfoSchichtID); $sql = "select Was,Wo,Info,Name,Handy,Email,DATE_FORMAT(Dauer,'%H:%i') AS Dauer FROM Dienst,Schicht,Helfer where Dienst.DienstID=Schicht.DienstID AND Helfer.HelferID=Dienst.Leiter And SchichtID=".$InfoSchichtID; //echo $sql; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Details ungueltige Abfrage "; echo $InfoSchichtID; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC); return $zeile; }; function BeteiligteHelfer($db_link,$InfoSchichtID) { $InfoSchichtID=mysqli_real_escape_string($db_link, $InfoSchichtID); $sql = "select Helfer.HelferID,Name,Handy FROM EinzelSchicht,Helfer where EinzelSchicht.HelferID=Helfer.HelferID And SchichtID=".$InfoSchichtID; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Details ungueltige Abfrage "; echo $InfoSchichtID; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; }; function GetDienste($db_link) { $sql = "SELECT DienstID, Was, Wo, Info, Leiter, ElternDienstID, HelferLevel FROM Dienst order By Was"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "GetDienste ungueltige Abfrage"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; } function GetDiensteChilds($db_link,$DienstID) { $DienstID=mysqli_real_escape_string($db_link, $DienstID); $sql = "SELECT DienstID, Was, Wo, Info, Leiter FROM Dienst where ElternDienstID='".$DienstID."' order by Was"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "GetDienste ungueltige Abfrage"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; } function ChangeDienst($db_link,$DienstID,$Was,$Wo,$Info,$Leiter,$Gruppe,$HelferLevel) { $DienstID=mysqli_real_escape_string($db_link, $DienstID); $Was=mysqli_real_escape_string($db_link, $Was); $Wo=mysqli_real_escape_string($db_link, $Wo); $Info=mysqli_real_escape_string($db_link, $Info); $Leiter=mysqli_real_escape_string($db_link, $Leiter); $Gruppe=mysqli_real_escape_string($db_link, $Gruppe); $HelferLevel=mysqli_real_escape_string($db_link, $HelferLevel); // int (1,2) Teilnehmer oder Dauerhelfer $sql = "UPDATE Dienst SET Was='".$Was."', Wo='".$Wo."', Info='".$Info."', Leiter=".$Leiter.", ElternDienstID=".$Gruppe." where DienstID=".$DienstID; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler Change Dienst"; echo $sql; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } } function NewDienst($db_link,$DienstID,$Was,$Wo,$Info,$Leiter,$Gruppe,$HelferLevel) { $DienstID=mysqli_real_escape_string($db_link, $DienstID); $Was=mysqli_real_escape_string($db_link, $Was); //Name des Dienstes $Wo=mysqli_real_escape_string($db_link, $Wo); //Ort $Info=mysqli_real_escape_string($db_link, $Info); //vollstaendige Beschreibung $Leiter=mysqli_real_escape_string($db_link, $Leiter); // int HelferID des Leiters $Gruppe=mysqli_real_escape_string($db_link, $Gruppe); // ?? $HelferLevel=mysqli_real_escape_string($db_link, $HelferLevel); // int (1,2) Teilnehmer oder Dauerhelfer $sql = "INSERT INTO Dienst (Was, Wo, Info, Leiter, ElternDienstID, HelferLevel) values ('$Was','$Wo','$Info',$Leiter,$Gruppe,$HelferLevel)"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler New Dienst"; // echo $sql; $err= mysqli_error($db_link); die('Ungueltige Abfrage: ' . $err); error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName konnte Schicht nicht angelegt mit Anfrage $sql Grund: $err \n",3,LOGFILE); } else { error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName(ID:HelferID) hat Dienst angelegt mit Was: $WAS Wo: $Wo Info: $Info Leiter: $Leiter Gruppe $Gruppe, HelferLevel $HelferLevel \n",3,LOGFILE); } } function DeleteDienst($db_link,$DienstID,$Rekursiv) { $DienstID=mysqli_real_escape_string($db_link, $DienstID); if ($Rekursiv) { return false; } else { // Pruefen ob noch Schichten eingetragen sind $sql = "SELECT SchichtID FROM Schicht where DienstID=".$DienstID; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler DeleteDienst"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } if( mysqli_num_rows($db_erg)==0) { // Eintrag löschen $sql = "DELETE FROM Dienst where DienstID=".$DienstID; echo $sql; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler DeleteDienst"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return true; } else { return false; } } } function GetSchichtenEinesDienstes($db_link,$DienstID) { $DienstID=mysqli_real_escape_string($db_link, $DienstID); //$sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon FROM Schicht where DienstID=".$DienstID; $sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon, DATE_FORMAT(Von,'%H:%i') AS ZeitVon, DATE_FORMAT(Bis,'%H:%i') AS ZeitBis FROM Schicht where DienstID=".$DienstID; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "GetSchichtenEinesDienstes ungueltige Abfrage"; echo $sql; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; } function ChangeSchicht($db_link,$SchichtID,$Von,$Bis,$Soll) { $SchichtID=mysqli_real_escape_string($db_link, $SchichtID); $Von=mysqli_real_escape_string($db_link, $Von); $Bis=mysqli_real_escape_string($db_link, $Bis); $Soll=mysqli_real_escape_string($db_link, $Soll); $sql = "UPDATE Schicht SET Von='".$Von."', Bis='".$Bis."', Soll='".$Soll."' where SchichtID=".$SchichtID; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler ChangeSchicht"; echo $sql; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } } function NewSchicht($db_link,$DienstID,$Von,$Bis,$Soll) { $DienstID=mysqli_real_escape_string($db_link, $DienstID); $Von=mysqli_real_escape_string($db_link, $Von); $Bis=mysqli_real_escape_string($db_link, $Bis); $Soll=mysqli_real_escape_string($db_link, $Soll); /* if(validateDate($Von)) { echo "Keine Schicht erstellt Fehler in Von"; return; } if(validateDate($Bis, DateTime::ATOM)) { echo "Keine Schicht erstellt Fehler in Bis"; return Null; } */ $sql = "INSERT INTO Schicht (DienstID, Von, Bis, Soll) values ('".$DienstID."','".$Von."','".$Bis."',".$Soll.")"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Keine Schicht erstellt"; //echo $sql; error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName konnte Schicht nicht angelegt mit $sql \n",3,LOGFILE); $err=mysqli_error($db_link); die('Ungueltige Abfrage: ' . $err); } else{ //TODO: DienstID aufloesen error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName hat Schicht angelegt mit DienstID $DienstID, Von $Von Bis $Bis Soll $Soll \n",3,LOGFILE); } } function DeleteSchicht($db_link,$SchichtID,$Rekursiv) { $SchichtID=mysqli_real_escape_string($db_link, $SchichtID); if ($Rekursiv) { return false; } else { // Pruefen ob noch Helfer auf der Schicht eingetragen sind $sql = "SELECT Name FROM EinzelSchicht,Helfer where SchichtID=".$SchichtID." and Helfer.HelferID=EinzelSchicht.HelferID"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler Change Dienst"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } if( mysqli_num_rows($db_erg)==0) { // Eintrag löschen $sql = "DELETE FROM Schicht where SchichtID=".$SchichtID; echo $sql; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Fehler Change Dienst"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return true; } else { return false; } } } function AlleHelferSchichtenUebersicht($db_link) { $sql="select Helfer.HelferID as AliasHelferID,Name,Email,Handy,Was,SUM(Dauer)/10000 as Dauer from Helfer,EinzelSchicht INNER JOIN Schicht INNER JOIN Dienst where Helfer.HelferID=EinzelSchicht.HelferID and EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID group by Helfer.HelferID,Was"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "AlleHelferSchichtenUebersicht ungueltige Abfrage"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; } function DatenbankAufDeutsch($db_link) { $sql = "SET lc_time_names = 'de_DE'"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "ungueltiges umstellen auf Deutsch"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } }; function HelferLevel($db_link){ $sql = "select HelferLevel,HelferLevelBeschreibung from HelferLevel"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { echo "Konnte HelferLevel nicht abfragen"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } return $db_erg; } // TODO: als Array zurueckgeben (CreateHelfer anpassen) // TODO: //function HelferLevel($db_link){ // $sql = "SELECT HelferLevel, HelferLevelBeschreibung FROM HelferLevel"; // $db_erg = mysqli_query($db_link, $sql); // if (!$db_erg) { // echo "Konnte HelferLevel nicht abfragen"; // die('Ungueltige Abfrage: ' . mysqli_error($db_link)); // } // // $results = array(); // while ($row = mysqli_fetch_assoc($db_erg)) { // $results[] = $row; // } // // mysqli_free_result($db_erg); // Freigabe des Ergebnisobjekts // // return $results; //} function DebugAusgabeDbErgebnis($db_erg) { // Ausgabe auf Browser Console #if(mysqli_num_rows($db_erg) > 0) { # $fields = mysqli_fetch_fields($db_erg); # $field_names = []; # foreach($fields as $field) { # $field_names[] = $field->name; # } # $rows = array(); # while($row = mysqli_fetch_row($db_erg)) { # $rows[] = $row; # } # # $js_code = "console.log('Query results:');"; # $js_code .= "console.log('" . implode('\t', $field_names) . "');"; # foreach($rows as $row) { # $js_code .= "console.log('" . implode('\t', $row) . "');"; # } # echo ""; #} else { # echo "Keine Ergebnisse gefunden."; #} # // direkte ausgabe in Seite echo ""; if(mysqli_num_rows($db_erg) > 0) { // Tabellenkopf ausgeben echo ""; $fields = mysqli_fetch_fields($db_erg); foreach($fields as $field) { echo ""; } echo ""; // Tabelleninhalt ausgeben while($row = mysqli_fetch_row($db_erg)) { echo ""; foreach($row as $value) { echo ""; } echo ""; } } else { echo ""; } echo "
    " . $field->name . "
    " . $value . "
    Keine Ergebnisse gefunden.
    "; } ?>