diff --git a/helferdb_structure_mariadb.sql b/helferdb_structure_mariadb.sql
index aff07d2..b106b24 100644
--- a/helferdb_structure_mariadb.sql
+++ b/helferdb_structure_mariadb.sql
@@ -36,6 +36,10 @@ CREATE TABLE `HelferLevel` (
`HelferLevel` int(11) DEFAULT NULL,
`HelferLevelBeschreibung` varchar(255) DEFAULT NULL
);
+INSERT INTO HelferLevel(HelferLevel, HelferLevelBeschreibung)
+VALUES (1,'Orga');
+INSERT INTO HelferLevel(HelferLevel, HelferLevelBeschreibung)
+VALUES (2,'Teilnehmer');
DROP TABLE IF EXISTS `Schicht`;
CREATE TABLE `Schicht` (
`SchichtID` int(11) NOT NULL AUTO_INCREMENT,
diff --git a/html/SQL.php b/html/SQL.php
index 1d7a65e..cc7a2ef 100644
--- a/html/SQL.php
+++ b/html/SQL.php
@@ -340,33 +340,24 @@ function AlleSchichtenEinesHelfers($HelferID)
}
// FIXME
-function HelferLoeschen($db_link, $HelferID, $AdminID)
+function HelferLoeschen($HelferID, $AdminID)
{
- $HelferID = mysqli_real_escape_string($db_link, $HelferID);
+ $db = DB::getInstance();
+ $db->prepare(__METHOD__,"Delete from Helfer where HelferID=:id");
- static $stmt = false;
- static $stmt_prepared = false;
- if(!$stmt_prepared) {
- $stmt = $pdo->prepare("Delete from Helfer where HelferID='$HelferID'");
- $stmt_prepared = true;
+ $helfer = Helferdaten($HelferID);
+ if(count($helfer) == 1){
+ $HelferName = $helfer[0]['Name'];
}
- $db_erg = Helferdaten($db_link, $HelferID);
- while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
- $HelferName = $zeile['Name'];
- //echo "HelferName=$HelferName
";
- }
+ $schichten = AlleSchichtenEinesHelfers($HelferID);
- $db_erg = AlleSchichtenEinesHelfers($db_link, $HelferID);
-
- $AnzahlHelferschichten = mysqli_num_rows($db_erg);
+ $AnzahlHelferschichten = count($schichten);
if ($AnzahlHelferschichten == 0) {
- $sql = "Delete from Helfer where HelferID='$HelferID'";
- $db_erg = mysqli_query($db_link, $sql);
+ $db_erg = $db->execute(__METHOD__,["id" => $HelferID]);
if (! $db_erg) {
echo "Helfer $HelferName konnte nicht gelöscht werden
";
- echo "$sql
";
return -2;
} else {
echo "Helfer $HelferName (HelferID:$HelferID) wurde erfolgreich geloescht
";
diff --git a/html/SQL_old.php b/html/SQL_old.php
index 34c9cce..28e21a6 100644
--- a/html/SQL_old.php
+++ b/html/SQL_old.php
@@ -289,15 +289,14 @@ 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
";
+ $helfer = Helferdaten($db_link, $HelferID);
+ if(count($helfer) == 1){
+ $HelferName = $helfer[0]['Name'];
}
- $db_erg = AlleSchichtenEinesHelfers($db_link, $HelferID);
+ $schichten = AlleSchichtenEinesHelfers($db_link, $HelferID);
- $AnzahlHelferschichten = mysqli_num_rows($db_erg);
+ $AnzahlHelferschichten = count($schichten);
if ($AnzahlHelferschichten == 0) {
$sql = "Delete from Helfer where HelferID='$HelferID'";
$db_erg = mysqli_query($db_link, $sql);
diff --git a/html/testPDO.php b/html/testPDO.php
index e69abba..632a16f 100644
--- a/html/testPDO.php
+++ b/html/testPDO.php
@@ -227,18 +227,38 @@ function TestAlleSchichtenEinesHelfers(){
else echo "AlleSchichtenEinesHelfers ok\n";
}
+// ok
function TestHelferLoeschen(){
$dbl = old\ConnectDB();
- $erg_old = old\HelferLoeschen($dbl, $HelferID, $AdminID);
-var_dump($erg_old);
- $erg_new = HelferLoeschen($HelferID, $AdminID);
-var_dump($erg_new);
-die("--\n");
- if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){
- echo "Old HelferLoeschen returns".var_export($erg_old, true)."\n";
- echo "New HelferLoeschen returns '".var_export($erg_new, true)."'\n";
+ HelferLogin("max2@example.com", "hola234", 0);
+ $helfer1 = $_SESSION;
+ HelferLogin("max3@example.com", "hola531", 0);
+ $helfer2 = $_SESSION;
+ ob_start();
+ $erg_old1 = old\HelferLoeschen($dbl, $helfer1['HelferID'],0);
+ $erg_new1 = HelferLoeschen($helfer2['HelferID'],0);
+ $schichten = AlleSchichtenEinesHelfers($helfer1['HelferID']);
+ foreach($schichten as $schicht)
+ {
+ HelferVonSchichtLoeschen($helfer1['HelferID'], $schicht['EinzelSchichtID']);
}
- else echo "HelferLoeschen ok";
+ $schichten = AlleSchichtenEinesHelfers($helfer2['HelferID']);
+ foreach($schichten as $schicht)
+ {
+ HelferVonSchichtLoeschen($helfer2['HelferID'], $schicht['EinzelSchichtID']);
+ }
+ $erg_old2 = old\HelferLoeschen($dbl, $helfer1['HelferID'],0);
+ $erg_new2 = HelferLoeschen($helfer2['HelferID'],0);
+ ob_end_clean();
+ if((gettype($erg_old1) != gettype($erg_new1)) || ($erg_old1 != $erg_new1)){
+ echo "Old HelferLoeschen returns".var_export($erg_old1, true)."\n";
+ echo "New HelferLoeschen returns '".var_export($erg_new1, true)."'\n";
+ }
+ else if((gettype($erg_old2) != gettype($erg_new2)) || ($erg_old2 != $erg_new2)){
+ echo "Old HelferLoeschen returns".var_export($erg_old2, true)."\n";
+ echo "New HelferLoeschen returns '".var_export($erg_new2, true)."'\n";
+ }
+ else echo "HelferLoeschen ok\n";
}
// ok
@@ -627,4 +647,5 @@ TestLastInsertId();
TestHelferLevel();
TestHelferVonSchichtLoeschen_SchichtID();
TestDeleteSchicht();
+TestHelferLoeschen();
?>