HelferLoeschen

This commit is contained in:
Florian Pesth 2024-03-17 13:38:40 +01:00
parent 3c53822b9b
commit 91329f6c48
4 changed files with 48 additions and 33 deletions

View File

@ -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,

View File

@ -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<br>";
}
$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<br>";
echo "$sql <br>";
return -2;
} else {
echo "Helfer $HelferName (HelferID:$HelferID) wurde erfolgreich geloescht<br>";

View File

@ -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<br>";
$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);

View File

@ -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();
?>