diff --git a/html/SQL.php b/html/SQL.php
index a7dfaf0..aff47d8 100644
--- a/html/SQL.php
+++ b/html/SQL.php
@@ -3,33 +3,80 @@
require_once 'konfiguration.php';
-function ConnectDB()
-{
- $datasourcename = "mysql:host=" . MYSQL_HOST . ";dbname=". MYSQL_DATENBANK . ";charset=utf8mb4";
- $pdo = new PDO(
- $datasourcename,
- MYSQL_BENUTZER,
- MYSQL_KENNWORT
- );
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
- return $pdo;
+class DB {
+ private static $instance = null;
+ private $pdo = null;
+ private $stmts = array();
+
+ private function __construct()
+ {
+ $datasourcename = "mysql:host=" . MYSQL_HOST . ";dbname=". MYSQL_DATENBANK . ";charset=utf8mb4";
+ self::$pdo = new PDO(
+ $datasourcename,
+ MYSQL_BENUTZER,
+ MYSQL_KENNWORT
+ );
+ self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
+ }
+
+ public static function getInstance()
+ {
+ if(self::$instance == null){
+ self::$instance = new DB();
+ }
+ return self::$instance;
+ }
+
+ public function prepare($method, $sql, $variant = '')
+ {
+ self::$stmts[$method . "::" . $variant] = self::$pdo->prepare($sql);
+ }
+
+ public function execute($method, $values = array(), $variant = '')
+ {
+ return self::$stmts[$method . "::" . $variant]->execute($values);
+ }
+
+ public function fetch($method, $variant = '', int $mode = PDO::FETCH_DEFAULT, int $cursorOrientation = PDO::FETCH_ORI_NEXT, int $cursorOffset = 0) : mixed
+ {
+ return self::$stmts[$method . "::" . $variant]->fetch($mode,$cursorOrientation,$cursorOffset);
+ }
+
+ public function fetchAll($method, $variant = '')
+ {
+ return self::$stmts[$method . "::" . $variant]->fetchAll();
+ }
+
+ public function errorCode($method, $variant = '')
+ {
+ return self::$stmts[$method . "::" . $variant]->errorCode();
+ }
+
+ public function errorInfo($method, $variant = '')
+ {
+ return self::$stmts[$method . "::" . $variant]->errorInfo();
+ }
+
+ public function onErrorDie($method, $variant = '')
+ {
+ if (self::errorCode($method, $variant) != 1) {
+ echo $method . "::" . $variant . " ungueltige Abfrage
\n";
+ echo "sql:" . $stmts[$method . "::" . $variant]->queryString . "
\n";
+ die('Ungueltige Abfrage: ' . self::errorInfo($method, $variant)[2]);
+ }
+ }
}
-function CreateHelfer($pdo, $HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel = 1)
+function CreateHelfer($HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel = 1)
{
// Neuen Helfer anlegen
$HelferPasswort = "€" . $HelferPasswort . "ß";
$PasswortHash = password_hash($HelferPasswort, PASSWORD_DEFAULT);
- static $sql = "INSERT INTO Helfer(Name,Email,Handy,Status,BildFile,DoReport,Passwort,HelferLevel)".
- " VALUES (:name,:email,:handy,:status,:bildfile,:doreport,:passwort,:helferlevel)";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare($sql);
- $stmts_prepared = true;
- }
- $db_erg = $stmt->execute([
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"INSERT INTO Helfer(Name,Email,Handy,Status,BildFile,DoReport,Passwort,HelferLevel)".
+ " VALUES (:name,:email,:handy,:status,:bildfile,:doreport,:passwort,:helferlevel)");
+ $db_erg = $db->execute(__METHOD__,[
"name" => $HelferName,
"email" => $HelferEmail,
"handy" => $HelferHandy,
@@ -40,43 +87,32 @@ function CreateHelfer($pdo, $HelferName, $HelferEmail, $HelferHandy, $HelferPass
"helferlevel" => $HelferLevel
]);
- $stmt->fetch();
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($pdo, $Email)
+function HelferIstVorhanden($Email)
{
- static $sql = "SELECT count(HelferID) AS Anzahl FROM Helfer WHERE Email = :email";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare($sql);
- $stmt_prepared = true;
- }
- $stmt->execute(["email" => $Email]);
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT count(HelferID) AS Anzahl FROM Helfer WHERE Email = :email");
+ $db->execute(__METHOD__,["email" => $Email]);
// TODO Test, that this still works
- $zeile = $stmt->fetchAll();
+ $zeile = $db->fetchAll(__METHOD__);
return $zeile['Anzahl'];
}
//TODO: pruefen, ob Helfer bereits eingeloggt
-function HelferLogin($pdo, $HelferEmail, $HelferPasswort, $HelferStatus)
+function HelferLogin($HelferEmail, $HelferPasswort, $HelferStatus)
{
//echo "Test
";
// Helfer Suchen
- static $sql = "SELECT HelferID,Admin,Name,Passwort,HelferLevel FROM Helfer WHERE Email=:email";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare($sql);
- $stmt_prepared = true;
- }
- $db_erg = $stmt->execute(["email" => $HelferEmail]);
- if ($stmt->errorCode() != 1) {
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT HelferID,Admin,Name,Passwort,HelferLevel FROM Helfer WHERE Email=:email");
+ $db_erg = $db->execute(__METHOD__,["email" => $HelferEmail]);
+ if ($db->errorCode(__METHOD__) != 1) {
echo "Login ungueltige Abfrage";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
+ die('Ungueltige Abfrage: ' . $stmt->errorInfo(__METHOD__)[2]);
}
while ($zeile = $stmt->fetchAll()) {
$HelferPasswort = "€" . $HelferPasswort . "ß";
@@ -101,42 +137,20 @@ function HelferLogin($pdo, $HelferEmail, $HelferPasswort, $HelferStatus)
//TODO: HelferLevel
function HelferListe($pdo)
{
-
- static $sql = "SELECT HelferID,Name FROM Helfer";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare($sql);
- $stmt_prepared = true;
- }
- $db_erg = $stmt->execute();
- if ($stmt->errorCode() != 1) {
- echo "Helferliste ungueltige Abfrage";
- die('Unueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT HelferID,Name FROM Helfer");
+ $db_erg = $db->execute(__METHOD__);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
function Helferdaten($pdo, $HelferID)
{
-
- static $sql = "SELECT * FROM Helfer Where HelferID = :helferid";
- static $stmt = false;
- if(!$stmt) $stmt = $pdo->prepare($sql);
- static $stmt_prepared = false;
- $db_erg stmt_prepared {
- $stmt->execute(["helferid" => $HelferID]);
- $stmt_prepared = true;
- }
-
- if ($stmt->errorCode() != 1) {
- echo "Helferdaten ungueltige Abfrage
\n";
- echo "sql:$sql
\n";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT * FROM Helfer Where HelferID = :helferid");
+ $db_erg = $db->execute(__METHOD__,["helferid" => $HelferID]);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
@@ -144,34 +158,31 @@ function Helferdaten($pdo, $HelferID)
function HelferdatenAendern($pdo, $HelferName, $HelferEmail, $HelferHandy, $HelferNewPasswort, $HelferID, $HelferIsAdmin = -1, $AdminID = 0)
{
-
- static $stmts_prepared = false;
- static $stmts = array();
- if(!$stmts_prepared) {
- $stmts['password_empty'] = $pdo->prepare("UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy Where HelferId=:id");
- $stmts['password_empty_admin'] = $pdo->prepare("UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy,Admin=:admin Where HelferId=:id");
- $stmts['password_given'] = $pdo->prepare("UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy,Passwort=:passwort Where HelferId=:id");
- $stmts['password_given_admin'] = $pdo->prepare("UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy,Passwort=:passwort,Admin=:admin Where HelferId=:id");
- $stmts_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy Where HelferId=:id",'password_empty');
+ $db->prepare(__METHOD__,"UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy,Admin=:admin Where HelferId=:id",'password_empty_admin');
+ $db->prepare(__METHOD__,"UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy,Passwort=:passwort Where HelferId=:id",'password_given');
+ $db->prepare(__METHOD__,"UPDATE Helfer SET Name=:name,Email=:email,Handy=:handy,Passwort=:passwort,Admin=:admin Where HelferId=:id",'password_given_admin');
if ($HelferNewPasswort == "") {
//$sql = "UPDATE Helfer SET Name='$HelferName',Email='$HelferEmail',Handy='$HelferHandy' ".($HelferIsAdmin!=-1)?',Admin='$HelferIsAdmin.':'." Where HelferId=".$HelferID;
if ($HelferIsAdmin == -1) {
- $db_erg = $stmts['password_empty']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"name" => $HelferName,
"email" => $HelferEmail,
"handy" => $HelferHandy,
"id" => $HelferID
- ]);
+ ],'password_empty');
+ $db->onErrorDie(__METHOD__,'password_empty');
} else {
- $db_erg = $stmts['password_empty_admin']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"name" => $HelferName,
"email" => $HelferEmail,
"handy" => $HelferHandy,
"admin" => $HelferIsAdmin,
"id" => $HelferID
- ]);
+ ],'password_empty_admin');
+ $db->onErrorDie(__METHOD__,'password_empty_admin');
}
echo "
Helferdaten geändert";
if ($AdminID != 0) {
@@ -183,22 +194,24 @@ function HelferdatenAendern($pdo, $HelferName, $HelferEmail, $HelferHandy, $Helf
$HelferNewPasswort = "€" . $HelferNewPasswort . "ß";
$PasswortHash = password_hash($HelferNewPasswort, PASSWORD_DEFAULT);
if ($HelferIsAdmin == -1) {
- $db_erg = $stmts['password_given']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"name" => $HelferName,
"email" => $HelferEmail,
"handy" => $HelferHandy,
"passwort" => $PasswortHash,
"id" => $HelferID
- ]);
+ ],'password_given');
+ $db->onErrorDie(__METHOD__, 'password_given');
} else {
- $db_erg = $stmts['password_given_admin']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"name" => $HelferName,
"email" => $HelferEmail,
"handy" => $HelferHandy,
"passwort" => $PasswortHash,
"admin" => $HelferIsAdmin,
"id" => $HelferID
- ]);
+ ],'password_given_admin');
+ $db->onErrorDie(__METHOD__, 'password_given_admin');
}
//echo $sql;
echo "Passwort geändert";
@@ -209,152 +222,84 @@ function HelferdatenAendern($pdo, $HelferName, $HelferEmail, $HelferHandy, $Helf
}
}
- foreach ($stmts as $stmt) {
- if (!is_null($stmt->errorCode()) && ($stmt->errorCode() != 1) ) {
- echo "HelferdatenAendern ungueltiges Statement";
- echo $stmt->queryString;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
- }
-
return $db_erg;
}
-
-
-
-function AlleSchichten($pdo, $Sort, $HelferLevel = 1)
+function AlleSchichten($Sort, $HelferLevel = 1)
{
- static $stmts_prepared = false;
- static $stmts = array();
- if(!$stmts_prepared) {
- $stmts['sort_by_von'] = $pdo->prepare("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");
- $stmts['sort_by_was_von'] = $pdo->prepare("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");
- $stmts_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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",'sort_by_von');
+ $db->prepare(__METHOD__,"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",'sort_by_was_von');
if ($Sort == '1') {
- $db_erg = $stmts['sort_by_von']->execute(["helferlevel" => $HelferLevel]);
+ $db_erg = $db->execute(__METHOD__,["helferlevel" => $HelferLevel],'sort_by_von');
+ $db->onErrorDie(__METHOD__,'sort_by_von');
} else {
- $db_erg = $stmts['sort_by_was_von']->execute(["helferlevel" => $HelferLevel]);
- }
-
- foreach ($stmts as $stmt) {
- if (!is_null($stmt->errorCode()) && ($stmt->errorCode() != 1) ) {
- echo "AlleSchichten ungueltige Abfrage";
- echo $Sort;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db_erg = $db->execute(__METHOD__,["helferlevel" => $HelferLevel],'sort_by_was_von');
+ $db->onErrorDie(__METHOD__,'sort_by_was_von');
}
return $db_erg;
}
-function AlleSchichtenCount($db_link, $HelferLevel = 1)
+function AlleSchichtenCount($HelferLevel = 1)
{
//$sql = "select SUM(Soll) As Anzahl from SchichtUebersicht where HelferLevel=$HelferLevel";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID and HelferLevel=:helferlevel");
- $stmt_prepared = true;
- }
-
-
- $db_erg = $stmt->execute(["helferlevel" => $HelferLevel]);
-
- if ($stmt->errorCode() != 1){
- echo "AlleSchichtenCount ungueltige Abfrage";
- echo $Sort;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
- $zeile = $stmt->fetchAll();
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID and HelferLevel=:helferlevel");
+ $db_erg = $db->execute(__METHOD__,["helferlevel" => $HelferLevel]);
+ $db->onErrorDie(__METHOD__);
+ $zeile = $db->fetchAll(__METHOD__);
return $zeile['Anzahl'];
}
function AlleBelegteSchichtenCount($db_link, $HelferLevel = 1)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID and HelferLevel=:helferlevel");
- $stmt_prepared = true;
- }
-
-
- $db_erg = $stmt->execute(["helferlevel" => $Helferlevel]);
-
- if ($stmt->errorCode() != 1){
- echo "AlleSchichtenCount ungueltige Abfrage";
- echo $Sort;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
- $zeile = $stmt->fetchAll();
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID and HelferLevel=:helferlevel");
+ $db_erg = $db->execute(__METHOD__,["helferlevel" => $Helferlevel]);
+ $db->onErrorDie(__METHOD__);
+ $zeile = $db->fetchAll(__METHOD__);
return $zeile['Anzahl'];
}
-function AlleSchichtenImZeitbereich($pdo, $Von, $Bis, $HelferLevel = 1)
+function AlleSchichtenImZeitbereich($Von, $Bis, $HelferLevel = 1)
{
// SchichtID, Was, Ab, Bis, Ist, Tag, Soll - Ist und Soll sind die HelferStunden
- static $stmts_prepared = false;
- static $stmts = array();
- if(!$stmts_prepared) {
- $stmts['helferlevel_not_set'] = $pdo->prepare("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 order by Was,Von");
- $stmts['helferlevel_set'] = $pdo->prepare("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 and Dienst.HelferLevel=:helferlevel order by Was,Von");
- $stmts_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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 order by Was,Von",'helferlevel_not_set');
+ $db->prepare(__METHOD__,"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 and Dienst.HelferLevel=:helferlevel order by Was,Von",'helferlevel_set');
if ($HelferLevel == -1) {
- $db_erg = $stmts['helferlevel_not_set']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"von" => $Von,
"bis" => $Bis
- ]);
+ ],'helferlevel_not_set');
+ $db->onErrorDie(__METHOD__,'helferlevel_not_set');
}
else {
- $db_erg = $stmts['helferlevel_set']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"von" => $Von,
"bis" => $Bis,
"helferlevel" => $HelferLevel
- ]);
- }
-
- foreach ($stmts as $stmt) {
- if (!is_null($stmt->errorCode()) && ($stmt->errorCode() != 1) ) {
- echo "AlleSchichtenImZeitbereich ungueltige Abfrage
";
- echo $stmt->queryString;
- die('
Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ ],'helferlevel_set');
+ $db->onErrorDie(__METHOD__,'helferlevel_set');
}
return $db_erg;
}
-function AlleSchichtenEinesHelfers($pdo, $HelferID)
+function AlleSchichtenEinesHelfers($HelferID)
{
-
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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");
- $stmt_prepared = true;
- }
-
- $db_erg = $stmt->execute(["helferid" => $HelferID]);
-
- if ($stmt->errorCode() != 1){
- echo "AlleSchichtenEinesHelfers ungueltige Abfrage";
- echo $HelferID;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
-
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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 = $db->execute(__METHOD__,["helferid" => $HelferID]);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
@@ -367,7 +312,7 @@ function HelferLoeschen($db_link, $HelferID, $AdminID)
static $stmt = false;
static $stmt_prepared = false;
if(!$stmt_prepared) {
- $stmt = $pdo->prepare("Delete from Helfer where HelferID='$HelferID'";);
+ $stmt = $pdo->prepare("Delete from Helfer where HelferID='$HelferID'");
$stmt_prepared = true;
}
@@ -398,53 +343,33 @@ function HelferLoeschen($db_link, $HelferID, $AdminID)
}
}
-function SchichtIdArrayEinesHelfers($db_link, $HelferID)
+function SchichtIdArrayEinesHelfers($HelferID)
{
-
- $HelferID = mysqli_real_escape_string($db_link, $HelferID);
-
// Array, um Zeilen mit von mir belegten Schichten in der Schichtuebersicht einfaerben zu koennenn
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("SELECT SchichtID FROM EinzelSchicht WHERE HelferID = :id");
- $stmt_prepared = true;
- }
- //print_r($sql);
- $db_erg = $stmt->execute(["id" => $HelferID]);
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT SchichtID FROM EinzelSchicht WHERE HelferID = :id");
+ $db_erg = $db->execute(__METHOD__,["id" => $HelferID]);
$schichtIDs = array();
- while ($zeile = $stmt->fetch()) {
+ while ($zeile = $db->fetch(__METHOD__)) {
$schichtIDs[] = $zeile[0];
}
return($schichtIDs);
}
-function AlleSchichtenEinesHelfersVonJetzt($db_link, $HelferID)
+function AlleSchichtenEinesHelfersVonJetzt($HelferID)
{
-
// TODO: fix GETDATE() array to string conversion
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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=:id and Bis>:bis order by Von");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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=:id and Bis>:bis 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 = $stmt->execute([
+ $db_erg = $db->execute(__METHOD__,[
"id" => $HelferID,
"bis" => GETDATE()
]);
-
- if($stmt->errorCode() != 1){
- echo "AlleSchichtenEinesHelfers ungueltige Abfrage";
- echo $HelferID;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
@@ -452,48 +377,28 @@ function SchichtenSummeEinesHelfers($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";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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 = $stmt->execute(["helferid" => $HelferID]);
-
- if ($stmt->errorCode() != 1){
- echo "SchichtenSummeEinesHelfers ungueltige Abfrage";
- echo $HelferID;
- echo $stmt->queryString;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
-
+ $db_erg = $db->execute(__METHOD__,["helferid" => $HelferID]);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
+
+// FIXME
function LogSchichtEingabe($db_link, $HelferID, $SchichtId, $EinzelSchichtId, $Aktion, $AdminID = 0)
{
+ $db = DB::getInstance();
- $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);
-
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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)
- ");
- $stmt_prepared = true;
- }
+ $db->prepare(__METHOD__,"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);
@@ -518,77 +423,62 @@ function LogSchichtEingabe($db_link, $HelferID, $SchichtId, $EinzelSchichtId, $A
}
}
-function HelferSchichtZuweisen($pdo, $HelferID, $SchichtId, $AdminID = 0)
+function HelferSchichtZuweisen($HelferID, $SchichtId, $AdminID = 0)
{
// Abfrage, ob bereits eine Einzelschicht in der selben Schicht vom Helfer existiert
- static $stmts = false;
- static $stmts_prepared = false;
- if(!$stmts_prepared) {
- $stmts['einzelschicht_exists'] = $pdo->prepare("SELECT EinzelSchichtID from EinzelSchicht WHERE SchichtID=:schichtid and HelferID=:helferid");
- $stmts['new_einzelschicht'] = $pdo->prepare("INSERT INTO EinzelSchicht(SchichtID,HelferID) VALUES (:schichtid,:helferid)");
- $stmts_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT EinzelSchichtID from EinzelSchicht WHERE SchichtID=:schichtid and HelferID=:helferid",'einzelschicht_exists');
+ $db->prepare(__METHOD__,"INSERT INTO EinzelSchicht(SchichtID,HelferID) VALUES (:schichtid,:helferid)",'new_einzelschicht');
- $db_erg = $stmts['einzelschicht_exists']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"schichtid" => $SchichtId,
"helferid" => $HelferID
- ]);
+ ],'einzelschicht_exists');
- if($stmt['einzelschicht_exists']->fetch()){
+ if($db->fetch(__METHOD__,'einzelschicht_exists')){
echo "HelferSchichtZuweisen: Schicht existiert bereits!";
return false;
}
// Helfer Schicht zuweisen
//echo '';
- $db_erg = $stmts['new_einzelschicht']->execute([
+ $db_erg = $db->execute(__METHOD__,[
"schichtid" => $SchichtId,
"helferid" => $HelferID
- ]);
+ ],'new_einzelschicht');
+
+ $db->onErrorDie(__METHOD__,'new_einzelschicht');
- if ($stmts['new_einzelschicht']->errorCode() != 1){
- echo "HelferSchichtZuweisen ungueltige Abfrage";
- echo $HelferID;
- die('Ungueltige Abfrage: ' . $stmts['new_einzelschicht']->errorInfo()[2]);
- }
LogSchichtEingabe($db_link, $HelferID, $SchichtId, -1, "eingetragen", $AdminID);
return $db_erg;
}
-function HelferVonSchichtLoeschen($pdo, $HelferID, $EinzelSchichtID, $AdminID = 0)
+function HelferVonSchichtLoeschen($HelferID, $EinzelSchichtID, $AdminID = 0)
{
// Log vor Löschen, damit Einzelschicht abgefragt werden kann
LogSchichtEingabe($db_link, $HelferID, -1, $EinzelSchichtID, "entfernt", $AdminID);
// Lösche Einzelschicht
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("Delete From EinzelSchicht Where EinzelSchichtID = :id");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"Delete From EinzelSchicht Where EinzelSchichtID = :id");
//echo $sql;
- $db_erg = $stmt->execute(["id" => $EinzelSchichtID]);
+ $db_erg = $db->execute(__METHOD__,["id" => $EinzelSchichtID]);
return $db_erg;
}
-function HelferVonSchichtLoeschen_SchichtID($pdo, $HelferID, $SchichtID, $AdminID = 0)
+function HelferVonSchichtLoeschen_SchichtID($HelferID, $SchichtID, $AdminID = 0)
{
// Log vor Löschen, damit Einzelschicht abgefragt werden kann
LogSchichtEingabe($db_link, $HelferID, $SchichtID, -1, "entfernt", $AdminID);
// Lösche Einzelschicht
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("Delete From EinzelSchicht Where SchichtID = :schichtid and HelferID = :helferid limit 1;");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"Delete From EinzelSchicht Where SchichtID = :schichtid and HelferID = :helferid limit 1;");
//echo $sql;
- $db_erg = $stmt->execute([
+ $db_erg = $db->execute(__METHOD__,[
"schichtid" => $SchichtID,
"helferid" => $HelferID
]);
@@ -596,94 +486,53 @@ function HelferVonSchichtLoeschen_SchichtID($pdo, $HelferID, $SchichtID, $AdminI
return $db_erg;
}
-function DetailSchicht($pdo, $InfoSchichtID)
+function DetailSchicht($InfoSchichtID)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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=:id");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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=:id");
//echo $sql;
- $db_erg = $stmt->execute(["id" => $InfoSchichtID]);
+ $db_erg = $db->execute(__METHOD__,["id" => $InfoSchichtID]);
- if ($stmt->errorCode() != 1){
- echo "Details ungueltige Abfrage ";
- echo $InfoSchichtID;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db->onErrorDie(__METHOD__);
- $zeile = $stmt->fetchAll();
+ $zeile = $db->fetchAll(__METHOD__);
return $zeile;
}
-
-function BeteiligteHelfer($pdo, $InfoSchichtID)
+function BeteiligteHelfer($InfoSchichtID)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("select Helfer.HelferID,Name,Handy FROM EinzelSchicht,Helfer where EinzelSchicht.HelferID=Helfer.HelferID And SchichtID=:id");
- $stmt_prepared = true;
- }
-
- $db_erg = $stmt->execute(["id" => $InfoSchichtID]);
-
- if ($stmt->errorCode() != 1){
- echo "Details ungueltige Abfrage ";
- echo $InfoSchichtID;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
-
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"select Helfer.HelferID,Name,Handy FROM EinzelSchicht,Helfer where EinzelSchicht.HelferID=Helfer.HelferID And SchichtID=:id");
+ $db_erg = $db->execute(__METHOD__,["id" => $InfoSchichtID]);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
-function GetDienste($db_link)
+function GetDienste()
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("SELECT DienstID, Was, Wo, Info, Leiter, ElternDienstID, HelferLevel FROM Dienst order By Was");
- $stmt_prepared = true;
- }
- $db_erg = mysqli_query($db_link, $sql);
- if ($stmt->errorCode() != 1){
- echo "GetDienste ungueltige Abfrage";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT DienstID, Was, Wo, Info, Leiter, ElternDienstID, HelferLevel FROM Dienst order By Was");
+ $db_erg = $db->execute(__METHOD__);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
-function GetDiensteChilds($pdo, $DienstID)
+function GetDiensteChilds($DienstID)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("SELECT DienstID, Was, Wo, Info, Leiter FROM Dienst where ElternDienstID=:id order by Was");
- $stmt_prepared = true;
- }
-
- $db_erg = $stmt->execute(["id" => $DienstID]);
-
- if ($stmt->errorCode() != 1){
- echo "GetDienste ungueltige Abfrage";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT DienstID, Was, Wo, Info, Leiter FROM Dienst where ElternDienstID=:id order by Was");
+ $db_erg = $db->execute(__METHOD__,["id" => $DienstID]);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
-
-function ChangeDienst($pdo, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel)
+function ChangeDienst($DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("UPDATE Dienst SET Was=:was, Wo=:wo, Info=:info, Leiter=:leiter, ElternDienstID=:elterndienstid where DienstID=:dienstid");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"UPDATE Dienst SET Was=:was, Wo=:wo, Info=:info, Leiter=:leiter, ElternDienstID=:elterndienstid where DienstID=:dienstid");
- $db_erg = $stmt->execute([
+ $db_erg = $db->execute(__METHOD__,[
"was" => $Was,
"wo" => $Wo,
"info" => $Info,
@@ -692,23 +541,14 @@ function ChangeDienst($pdo, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $Helf
"dienstid" => $DienstID
]);
- if ($stmt->errorCode() != 1){
- echo "Fehler Change Dienst";
- echo $sql;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db->onErrorDie(__METHOD__);
}
-function NewDienst($pdo, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel)
+function NewDienst($DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferLevel)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("INSERT INTO Dienst (Was, Wo, Info, Leiter, ElternDienstID, HelferLevel) values (:was,:wo,:info,:leiter,:elterndienstid,:helferlevel)");
- $stmt_prepared = true;
- }
-
- $db_erg = $stmt->execute([
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"INSERT INTO Dienst (Was, Wo, Info, Leiter, ElternDienstID, HelferLevel) values (:was,:wo,:info,:leiter,:elterndienstid,:helferlevel)");
+ $db_erg = $db->execute(__METHOD__,[
"was" => $Was,
"wo" => $Wo,
"info" => $Info,
@@ -717,46 +557,35 @@ function NewDienst($pdo, $DienstID, $Was, $Wo, $Info, $Leiter, $Gruppe, $HelferL
"helferlevel" => $HelferLevel
]);
- $db_erg = mysqli_query($db_link, $sql);
- if ($stmt->errorCode() != 1){
+ if ($db->errorCode(__METHOD__) != 1){
echo "Fehler New Dienst";
// echo $sql;
- $err = $stmt->errorInfo()[2];
- die('Ungueltige Abfrage: ' . $err);
+ $err = $stmt->errorInfo(__METHOD__)[2];
error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName konnte Schicht nicht angelegt mit Anfrage $sql Grund: $err \n", 3, LOGFILE);
+ die('Ungueltige Abfrage: ' . $err);
} 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)
+function DeleteDienst($DienstID, $Rekursiv)
{
if ($Rekursiv) {
return false;
} else {
// Pruefen ob noch Schichten eingetragen sind
- static $stmts_prepared = false;
- static $stmts = array();
- if(!$stmts_prepared) {
- $stmts['check_dienst'] = $pdo->prepare("SELECT SchichtID FROM Schicht where DienstID=:id");
- $stmts['delete_dienst'] = $pdo->prepare("DELETE FROM Dienst where DienstID=:id");
- $stmts_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT SchichtID FROM Schicht where DienstID=:id",'check_dienst');
+ $db->prepare(__METHOD__,"DELETE FROM Dienst where DienstID=:id",'delete_dienst');
- $db_erg = $stmts['check_dienst']->execute(['id' => $DienstID]);
+ $db_erg = $db->execute(__METHOD__,['id' => $DienstID],'check_dienst');
- if ($stmts['check_dienst']->errorCode() != 1){
- echo "Fehler DeleteDienst";
- die('Ungueltige Abfrage: ' . $stmts['check_dienst']->errorInfo()[2]);
- }
+ $db->onErrorDie(__METHOD__,'check_dienst');
- if ($stmts['check_dienst']->fetch()) {
+ if ($db->fetch(__METHOD__,'check_dienst')) {
// Eintrag löschen
- $db_erg = $stmts['delete_dienst']->execute(['id' => $DienstID]);
- if ($stmts['delete_dienst']->errorCode() != 1){
- echo "Fehler DeleteDienst";
- die('Ungueltige Abfrage: ' . $stmts['delete_dienst']->errorInfo()[2]);
- }
+ $db_erg = $db->execute(__METHOD__,['id' => $DienstID],'delete_dienst');
+ $db->onErrorDie(__METHOD__,'delete_dienst');
return true;
} else {
return false;
@@ -764,47 +593,32 @@ function DeleteDienst($db_link, $DienstID, $Rekursiv)
}
}
-function GetSchichtenEinesDienstes($db_link, $DienstID)
+function GetSchichtenEinesDienstes($DienstID)
{
//$sql = "SELECT SchichtID,Von,Bis,Soll,DATE_FORMAT(Von,'%a %H:%i') AS TagVon FROM Schicht where DienstID=".$DienstID;
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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=:id");
- $stmt_prepared = true;
- }
- $db_erg = $stmt->execute(['id' => $DienstID]);
- if ($stmt->errorCode() != 1){
- echo "GetSchichtenEinesDienstes ungueltige Abfrage";
- echo $sql;
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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=:id");
+ $db_erg = $db->execute(__METHOD__,['id' => $DienstID]);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
-function ChangeSchicht($db_link, $SchichtID, $Von, $Bis, $Soll)
+function ChangeSchicht($SchichtID, $Von, $Bis, $Soll)
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("UPDATE Schicht SET Von=:von, Bis=:bis, Soll=:soll where SchichtID=:id");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"UPDATE Schicht SET Von=:von, Bis=:bis, Soll=:soll where SchichtID=:id");
- $db_erg = $stmt->execute([
+ $db_erg = $db->execute(__METHOD__,[
'von' => $Von,
'bis' => $Bis,
'soll' => $Soll,
'id' => $SchichtID
]);
- if ($stmt->errorCode() != 1){
- echo "Fehler ChangeSchicht";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db->onErrorDie(__METHOD__);
}
-function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll)
+function NewSchicht($DienstID, $Von, $Bis, $Soll)
{
/*
@@ -819,25 +633,21 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll)
return Null;
}
*/
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("INSERT INTO Schicht (DienstID, Von, Bis, Soll) values (:id,:von,:bis,:soll)");
- $stmt_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"INSERT INTO Schicht (DienstID, Von, Bis, Soll) values (:id,:von,:bis,:soll)");
- $db_erg = $stmt->execute([
+ $db_erg = $db->execute(__METHOD__,[
'id' => $DienstID,
'von' => $Von,
'bis' => $Bis,
'soll' => $Soll
]);
- if ($stmt->errorCode() != 1){
+ if ($db->errorCode(__METHOD__) != 1){
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 = $stmt->errorInfo()[2];
+ error_log(date('Y-m-d H:i') . " NeueSchicht: $HelferName konnte Schicht nicht angelegt mit $sql \n", 3, LOGFILE);
+ $err = $stmt->errorInfo(__METHOD__)[2];
die('Ungueltige Abfrage: ' . $err);
} else {
//TODO: DienstID aufloesen
@@ -845,34 +655,24 @@ function NewSchicht($db_link, $DienstID, $Von, $Bis, $Soll)
}
}
-function DeleteSchicht($pdo, $SchichtID, $Rekursiv)
+function DeleteSchicht($SchichtID, $Rekursiv)
{
- static $stmts_prepared = false;
- static $stmts = false;
- if(!$stmts_prepared) {
- $stmts['check_einzelschicht'] = $pdo->prepare("SELECT Name FROM EinzelSchicht,Helfer where SchichtID=:id and Helfer.HelferID=EinzelSchicht.HelferID");
- $stmts['delete_einzelschicht'] = $pdo->prepare("DELETE FROM Schicht where SchichtID=:id");
- $stmts_prepared = true;
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SELECT Name FROM EinzelSchicht,Helfer where SchichtID=:id and Helfer.HelferID=EinzelSchicht.HelferID",'check_einzelschicht');
+ $db->prepare(__METHOD__,"DELETE FROM Schicht where SchichtID=:id",'delete_einzelschicht');
if ($Rekursiv) {
return false;
} else {
// Pruefen ob noch Helfer auf der Schicht eingetragen sind
- $db_erg = $stmts['check_einzelschicht']->execute(["id" => $SchichtID ]);
+ $db_erg = $db->execute(__METHOD__,["id" => $SchichtID ],'check_einzelschicht');
- if ($stmts['check_einzelschicht']->errorCode() != 1){
- echo "Fehler Change Dienst";
- die('Ungueltige Abfrage: ' . $stmts['check_einzelschicht']->errorInfo()[2]);
- }
+ $db->onErrorDie(__METHOD__,'check_einzelschicht');
- if (!$stmts['check_einzelschicht']->fetch()) {
+ if (!$db->fetch(__METHOD__,'check_einzelschicht')) {
// Eintrag löschen
- $db_erg = $stmts['delete_einzelschicht']->execute(["id" => $SchichtID ]);
- if ($stmts['delete_einzelschicht']->errorCode() != 1) {
- echo "Fehler Change Dienst";
- die('Ungueltige Abfrage: ' . $stmts['delete_einzelschicht']->errorInfo()[2]);
- }
+ $db_erg = $db->execute(__METHOD__,["id" => $SchichtID ],'delete_einzelschicht');
+ $db->onErrorDie(__METHOD__,'delete_einzelschicht');
return true;
} else {
return false;
@@ -881,55 +681,31 @@ function DeleteSchicht($pdo, $SchichtID, $Rekursiv)
}
-function AlleHelferSchichtenUebersicht($pdo)
+function AlleHelferSchichtenUebersicht()
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("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");
- $stmt_prepared = true;
- }
- $db_erg = $stmt->execute();
-
- if ($stmt->errorCode() != 1){
- echo "AlleHelferSchichtenUebersicht ungueltige Abfrage";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"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 = $db->execute(__METHOD__);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
-function DatenbankAufDeutsch($pdo)
+function DatenbankAufDeutsch()
{
- static $sql = "SET lc_time_names = 'de_DE'";
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare($sql);
- $stmt_prepared = true;
- }
- $db_erg = $stmt->execute();
-
- if ($stmt->errorCode() != 1){
- echo "ungueltiges umstellen auf Deutsch";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"SET lc_time_names = 'de_DE'");
+ $db_erg = $db->execute(__METHOD__);
+ $db->onErrorDie(__METHOD__);
}
-function HelferLevel($db_link)
+function HelferLevel()
{
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("select HelferLevel,HelferLevelBeschreibung from HelferLevel");
- $stmt_prepared = true;
- }
- $db_erg = $stmt->execute();
- if($stmt->errorCode() != 1){
- echo "Konnte HelferLevel nicht abfragen";
- die('Ungueltige Abfrage: ' . $stmt->errorInfo()[2]);
- }
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"select HelferLevel,HelferLevelBeschreibung from HelferLevel");
+ $db_erg = $stmt->execute(__METHOD__);
+ $db->onErrorDie(__METHOD__);
return $db_erg;
}
// TODO: als Array zurueckgeben (CreateHelfer anpassen)
@@ -952,7 +728,7 @@ function HelferLevel($db_link)
// return $results;
//}
-
+//FIXME
function DebugAusgabeDbErgebnis($db_erg)
{
// Ausgabe auf Browser Console