diff --git a/vilesci/personen/suche.php b/vilesci/personen/suche.php
index 35500dd50..a60c90676 100644
--- a/vilesci/personen/suche.php
+++ b/vilesci/personen/suche.php
@@ -29,6 +29,7 @@ require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/student.class.php');
require_once('../../include/prestudent.class.php');
+require_once('../../include/mitarbeiter.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/authentication.class.php');
require_once('../../include/benutzerberechtigung.class.php');
@@ -47,6 +48,9 @@ if(isset($_GET['searchstr']))
else
$searchstr = '';
+$msgString = "";
+$errString = "";
+
if(isset($_GET['filter']))
$filter = $_GET['filter'];
else
@@ -54,12 +58,129 @@ else
$datum_obj = new datum();
+$admin = false;
+if($rechte->isBerechtigt('admin'))
+ $admin = true;
+
+if($admin)
+{
+ if(isset($_REQUEST["delete"]))
+ {
+ if(isset($_REQUEST["mitarbeiter"]))
+ {
+ $mita = new mitarbeiter();
+ $mita->load($_REQUEST["mitarbeiter"]);
+
+ if(!casDeleteMitarbeiter($db, $_REQUEST["mitarbeiter"]))
+ $errString = 'Fehler beim Loeschen des Mitarbeiter-Datensatzes';
+ else
+ {
+ $msgString = ($mita->geschlecht == "w" ? "Mitarbeiterin '" : "Mitarbeiter '") . $mita->vorname . " " . $mita->nachname . "' wurde erfolgreich geloescht";
+ }
+ }
+ else if(isset($_REQUEST["prestudent"]))
+ {
+ $pres = new prestudent();
+ $pres->load($_REQUEST["prestudent"]);
+
+ if(!casDeletePrestudent($db, $_REQUEST["prestudent"]))
+ $errString = 'Fehler beim Loeschen des Prestudent-Datensatzes';
+ else
+ {
+ $msgString = ($pres->geschlecht == "w" ? "Studentin '" : "Student '") . $pres->vorname . " " . $pres->nachname . "' wurde erfolgreich geloescht";
+ }
+ }
+ else if(isset($_REQUEST["person"]))
+ {
+ $pers = new person();
+ $pers->load($_REQUEST["person"]);
+
+ if(!casDeletePerson($db, $_REQUEST["person"]))
+ $errString = 'Fehler beim Loeschen des Person-Datensatzes';
+ else
+ {
+ $msgString = "Person '" . $pers->vorname . " " . $pers->nachname . "' wurde erfolgreich geloescht";
+ }
+ }
+ }
+}
+
echo '
Suchergebnis
+
@@ -68,6 +189,7 @@ echo '
$stg = new studiengang();
$stg->getAll('typ, kurzbz', false);
+
$stg_arr = array();
foreach ($stg->result as $row)
$stg_arr[$row->studiengang_kz]=$row->kuerzel;
@@ -80,6 +202,9 @@ echo '
';
+echo "$errString
";
+echo "$msgString
";
+
if($searchstr!='')
{
$qry = "SELECT
@@ -112,6 +237,7 @@ if($searchstr!='')
echo "Benutzer | ";
echo "Mitarbeiter | ";
echo "Student | ";
+ if($admin){echo " | ";}
echo '';
echo '';
echo "| Nachname | ";
@@ -131,6 +257,7 @@ if($searchstr!='')
echo "Gruppe | ";
echo "updateAmUm | ";
echo "updateVon | ";
+ if($admin){echo " | ";}
echo '
';
while($row = $db->db_fetch_object($result))
@@ -144,7 +271,7 @@ if($searchstr!='')
echo "$row_person->nachname | ";
echo "$row_person->vorname | ";
echo "".($row_person->gebdatum!=''?$datum_obj->convertISODate($row_person->gebdatum):'')." | ";
- echo "".($row_person->updateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_person->updateamum)):'')." | ";
+ echo "".($row_person->updateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_FROMtimestamp($row_person->updateamum)):'')." | ";
echo "$row_person->updatevon | ";
echo " | ";
echo " | ";
@@ -158,6 +285,7 @@ if($searchstr!='')
echo " | ";
echo " | ";
echo " | ";
+ if($admin){echo ' | ';}
echo '';
$content = '';
@@ -189,15 +317,18 @@ if($searchstr!='')
else
$content.="Nein";
$content.= "";
- //$content.= "".($row_mitarbeiter->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_mitarbeiter->bnupdateamum)):'')." | ";
+ //$content.= "".($row_mitarbeiter->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_FROMtimestamp($row_mitarbeiter->bnupdateamum)):'')." | ";
//$content.= "$row_mitarbeiter->bnupdatevon | ";
$content.= "$row_mitarbeiter->telefonklappe | ";
$content.= "$row_mitarbeiter->ort_kurzbz | ";
- $content.= "".($row_mitarbeiter->mupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_mitarbeiter->mupdateamum)):'')." | ";
+ $content.= "".($row_mitarbeiter->mupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_FROMtimestamp($row_mitarbeiter->mupdateamum)):'')." | ";
$content.= "$row_mitarbeiter->mupdatevon | ";
$content.= " | ";
$content.= " | ";
+ $content.= " | ";
+ $content.= " | ";
+ if($admin){$content.= ' | ';}
$content.= '';
}
}
@@ -233,7 +364,7 @@ if($searchstr!='')
else
$content.="Nein";
$content.= "";
- //$content.= "".($row_student->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_student->bnupdateamum)):'')." | ";
+ //$content.= "".($row_student->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_FROMtimestamp($row_student->bnupdateamum)):'')." | ";
//$content.= "$row_student->bnupdatevon | ";
$content.= " | ";
@@ -242,8 +373,9 @@ if($searchstr!='')
$content.= " | ";
$content.= "".$stg_arr[$row_student->studiengang_kz]." | ";
$content.= "$row_student->semester$row_student->verband$row_student->gruppe | ";
- $content.= "".($row_student->supdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_student->supdateamum)):'')." | ";
+ $content.= "".($row_student->supdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_FROMtimestamp($row_student->supdateamum)):'')." | ";
$content.= "$row_student->supdatevon | ";
+ if($admin){$content.= ' | ';}
$content.= '';
}
}
@@ -257,6 +389,1176 @@ if($searchstr!='')
}
}
+
+/*
+ * Cascading delete functions
+ */
+function casDeleteMitarbeiter($db, $mitarbeiter_uid, $trans=true)
+{
+ /*
+ * Init
+ */
+ if($trans){$db->db_query("BEGIN;");}
+ $error = false;
+
+ $projektphase_ids = array();
+
+ // get all projektphase_ids, where the employee is involved with
+ if(!$error)
+ {
+ $qry = '
+ SELECT projektphase_id FROM fue.tbl_projektphase
+ WHERE ressource_id IN (SELECT ressource_id FROM fue.tbl_ressource WHERE mitarbeiter_uid='.$db->db_add_param($mitarbeiter_uid).')';
+ $res = $db->db_query($qry);
+ if(!$res)
+ {
+ $error = true;
+ }
+ else
+ {
+ while($row = $db->db_fetch_object($res))
+ {
+ // and get FROM this projektphase_ids all other projekphase_ids recursively
+ $add = recursiveGetAllProjektphase_id($db, $row->projektphase_id);
+ if($add)
+ $projektphase_ids = array_merge($projektphase_ids, $add);
+ }
+ }
+ }
+
+ if(!$error && !empty($projektphase_ids))
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projekt_ressource
+ WHERE projektphase_id IN ('.$db->implode4SQL($projektphase_ids).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projekttask
+ WHERE ressource_id IN (SELECT ressource_id FROM fue.tbl_ressource WHERE mitarbeiter_uid='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error && !empty($projektphase_ids))
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projekt_dokument
+ WHERE projektphase_id IN ('.$db->implode4SQL($projektphase_ids).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error && !empty($projektphase_ids))
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projekttask
+ WHERE projektphase_id IN ('.$db->implode4SQL($projektphase_ids).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error && !empty($projektphase_ids))
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projektphase
+ WHERE projektphase_id IN ('.$db->implode4SQL($projektphase_ids).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_lvevaluierung_selbstevaluierung
+ WHERE lvevaluierung_id IN (SELECT lvevaluierung_id FROM addon.tbl_lvevaluierung_antwort
+ WHERE lvevaluierung_code_id IN (SELECT lvevaluierung_code_id FROM addon.tbl_lvevaluierung_code
+ WHERE lvevaluierung_id IN (SELECT lvevaluierung_id FROM addon.tbl_lvevaluierung
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM campus.tbl_studentbeispiel
+ WHERE beispiel_id IN (SELECT beispiel_id FROM campus.tbl_beispiel
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))))))))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_lvevaluierung_antwort
+ WHERE lvevaluierung_code_id IN (SELECT lvevaluierung_code_id FROM addon.tbl_lvevaluierung_code
+ WHERE lvevaluierung_id IN (SELECT lvevaluierung_id FROM addon.tbl_lvevaluierung
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM campus.tbl_studentbeispiel
+ WHERE beispiel_id IN (SELECT beispiel_id FROM campus.tbl_beispiel
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))))))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_lvevaluierung_code
+ WHERE lvevaluierung_id IN (SELECT lvevaluierung_id FROM addon.tbl_lvevaluierung
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM campus.tbl_studentbeispiel
+ WHERE beispiel_id IN (SELECT beispiel_id FROM campus.tbl_beispiel
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))))))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_lvevaluierung
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM campus.tbl_studentbeispiel
+ WHERE beispiel_id IN (SELECT beispiel_id FROM campus.tbl_beispiel
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_studentbeispiel
+ WHERE beispiel_id IN (SELECT beispiel_id FROM campus.tbl_beispiel
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_beispiel
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_studentuebung
+ WHERE uebung_id IN (SELECT uebung_id FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_uebung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_legesamtnote
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_moodle
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_preincoming_lehrveranstaltung
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_benutzerlvstudiensemester
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_feedback
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_feedback
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_moodle
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_projektbetreuer
+ WHERE projektarbeit_id IN (SELECT projektarbeit_id FROM lehre.tbl_projektarbeit
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM bis.tbl_bisfunktion
+ WHERE bisverwendung_id IN (SELECT bisverwendung_id FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projektphase
+ WHERE ressource_id IN (SELECT ressource_id FROM fue.tbl_ressource WHERE mitarbeiter_uid='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projekt_ressource
+ WHERE ressource_id IN (SELECT ressource_id FROM fue.tbl_ressource WHERE mitarbeiter_uid='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_stundenplan
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_paabgabe
+ WHERE projektarbeit_id IN (SELECT projektarbeit_id FROM lehre.tbl_projektarbeit
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_projektarbeit
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_pruefung
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_stundenplandev
+ WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).'))';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_studienplan_lehrveranstaltung
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_zeugnisnote
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_lvgesamtnote
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_lvinfo
+ WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+ if(!$error)
+ {
+ if(!deleteWithFirstlevelDeps($db, 'mitarbeiter_uid', 'public', 'tbl_mitarbeiter', $mitarbeiter_uid, FHC_STRING))
+ {
+ $error = true;
+ }
+ }
+
+ /*
+ * Delete the tbl_mitarbeiter entry
+ */
+ $qry = 'DELETE FROM public.tbl_mitarbeiter where mitarbeiter_uid='.$db->db_add_param($mitarbeiter_uid);
+ if(!$error && !$db->db_query($qry))
+ $error = true;
+
+ /*
+ * Rollback if an
+ * error occoured
+ */
+ if(!$error)
+ {
+
+ if($trans){$db->db_query("COMMIT;");}
+ return true;
+ }
+
+
+ if($trans){$db->db_query("ROLLBACK;");}
+ return false;
+}
+
+
+
+
+
+
+function casDeletePrestudent($db, $prestudent_id, $trans=true)
+{
+ /*
+ * Init
+ */
+ if($trans){$db->db_query("BEGIN;");}
+ $error = false;
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_studentbeispiel
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM bis.tbl_bisio
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_legesamtnote
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_lvgesamtnote
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_studentuebung
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_abschlusspruefung
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_projektbetreuer
+ WHERE projektarbeit_id IN (SELECT projektarbeit_id FROM lehre.tbl_projektarbeit WHERE student_uid IN (SELECT student_uid FROM tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_paabgabe
+ WHERE projektarbeit_id IN (SELECT projektarbeit_id FROM lehre.tbl_projektarbeit WHERE student_uid IN (SELECT student_uid FROM tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_projektarbeit
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_zeugnisnote
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_studentlehrverband
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_pruefung
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM fue.tbl_projekt_ressource
+ WHERE ressource_id IN(SELECT ressource_id FROM fue.tbl_ressource
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM fue.tbl_ressource
+ WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ if(!deleteWithFirstlevelDeps($db, 'prestudent_id', 'public', 'tbl_prestudent', $prestudent_id, FHC_INTEGER))
+ {
+ $error = true;
+ }
+ }
+
+ /*
+ * Delete the tbl_student entry
+ */
+ $qry = 'DELETE FROM public.tbl_student where prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER);
+ if(!$error && !$db->db_query($qry))
+ $error = true;
+
+ /*
+ * Delete the tbl_prestudent entry
+ */
+ $qry = 'DELETE FROM public.tbl_prestudent where prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER);
+ if(!$error && !$db->db_query($qry))
+ $error = true;
+
+ /*
+ * Rollback if an
+ * error occoured
+ */
+ if(!$error)
+ {
+
+ if($trans){$db->db_query("COMMIT;");}
+ return true;
+ }
+
+
+ if($trans){$db->db_query("ROLLBACK;");}
+ return false;
+}
+
+
+
+
+
+
+function casDeletePerson($db, $person_id, $trans=true)
+{
+ /*
+ * Init
+ */
+ if($trans){$db->db_query("BEGIN;");}
+ $error = false;
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_prestudentstatus
+ WHERE prestudent_id IN (SELECT prestudent_id FROM public.tbl_prestudent WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_dokumentprestudent
+ WHERE prestudent_id IN (SELECT prestudent_id FROM public.tbl_prestudent WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_feedback
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM lehre.tbl_studienplan_lehrveranstaltung
+ WHERE koordinator IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_akte
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_casetime_gruppen
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_casetime_zeitaufzeichnung
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_casetime_zeitsperre
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_zeitaufzeichnung
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_contentlog
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_coodle_ressource_termin
+ WHERE coodle_ressource_id IN (SELECT coodle_ressource_id FROM campus.tbl_coodle_ressource
+ WHERE coodle_id IN (SELECT coodle_id FROM campus.tbl_coodle
+ WHERE ersteller_uid IN(SELECT uid FROM public.tbl_benutzer
+ WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'
+ )
+ )
+ )';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_coodle_ressource
+ WHERE coodle_id IN (SELECT coodle_id FROM campus.tbl_coodle WHERE ersteller_uid IN(SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_coodle_termin
+ WHERE coodle_id IN (SELECT coodle_id FROM campus.tbl_coodle
+ WHERE ersteller_uid IN(SELECT uid FROM public.tbl_benutzer
+ WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_coodle
+ WHERE ersteller_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_coodle_ressource_termin
+ WHERE coodle_ressource_id IN (SELECT coodle_ressource_id FROM campus.tbl_coodle_ressource
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer
+ WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'
+ )
+ )';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_coodle_ressource
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_zeitaufzeichnung
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_zeitaufzeichnung
+ WHERE kunde_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_news
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_variable
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_prestudentstatus
+ WHERE bestaetigtvon IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM wawi.tbl_betriebsmittelperson
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM wawi.tbl_bestellung_bestellstatus
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM wawi.tbl_rechnung
+ WHERE bestellung_id IN (SELECT bestellung_id FROM wawi.tbl_bestellung
+ WHERE besteller_uid IN(SELECT uid FROM public.tbl_benutzer
+ WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = 'DELETE FROM wawi.tbl_betriebsmittelperson
+ WHERE betriebsmittel_id IN ( SELECT betriebsmittel_id FROM wawi.tbl_betriebsmittel
+ WHERE bestellung_id IN (SELECT bestellung_id FROM wawi.tbl_bestellung
+ WHERE besteller_uid IN(SELECT uid FROM public.tbl_benutzer
+ WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM wawi.tbl_betriebsmittel
+ WHERE bestellung_id IN (SELECT bestellung_id FROM wawi.tbl_bestellung
+ WHERE besteller_uid IN(SELECT uid FROM public.tbl_benutzer
+ WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM wawi.tbl_bestellung
+ WHERE besteller_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM wawi.tbl_bestellung_bestellstatus
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_preinteressentstudiengang
+ WHERE preinteressent_id IN (SELECT preinteressent_id FROM public.tbl_preinteressent WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_reservierung
+ WHERE veranstaltung_id IN (SELECT veranstaltung_id FROM campus.tbl_veranstaltung
+ WHERE freigabevon IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'))';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM campus.tbl_veranstaltung
+ WHERE freigabevon IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM public.tbl_preoutgoing
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_lvevaluierung_selbstevaluierung
+ WHERE uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $qry = '
+ DELETE FROM addon.tbl_software
+ WHERE ansprechperson_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).')';
+ if(!$db->db_query($qry))
+ {
+ $error = true;
+ }
+ }
+
+
+
+
+
+ /*
+ * delete all prestudent entries
+ */
+ if(!$error)
+ {
+ $queryPs = '
+ SELECT tbl_prestudent.prestudent_id FROM tbl_prestudent
+ JOIN tbl_student ON (tbl_prestudent.prestudent_id = tbl_student.prestudent_id)
+ JOIN tbl_benutzer ON (tbl_student.student_uid = tbl_benutzer.uid)
+ WHERE tbl_benutzer.person_id = ' . $db->db_add_param($person_id, FHC_INTEGER).'
+ ';
+ $resultPs = $db->db_query($queryPs);
+ if(!$resultPs)
+ {
+ $error = true;
+ }
+ else
+ {
+ while($row = $db->db_fetch_object($resultPs))
+ {
+ if(!$error)
+ {
+ if(!casDeletePrestudent($db, $row->prestudent_id, false))
+ {
+ $error = true;
+ }
+ }
+ else { break; }
+ }
+ }
+ }
+
+ /*
+ * delete all mitarbeiter entries
+ */
+ if(!$error)
+ {
+ $queryMa = '
+ SELECT tbl_mitarbeiter.mitarbeiter_uid FROM tbl_mitarbeiter
+ JOIN tbl_benutzer ON (tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzer.uid)
+ WHERE tbl_benutzer.person_id = ' . $db->db_add_param($person_id, FHC_INTEGER).'
+ ';
+ $resultMa = $db->db_query($queryMa);
+ if(!$resultMa)
+ {
+ $error = true;
+ }
+ else
+ {
+ while($row = $db->db_fetch_object($resultMa))
+ {
+ if(!$error)
+ {
+ if(!casDeleteMitarbeiter($db, $row->mitarbeiter_uid, false))
+ $error = true;
+ }
+ else { break; }
+ }
+ }
+ }
+
+
+
+ if(!$error)
+ {
+ if(!deleteWithFirstlevelDeps($db, 'person_id', 'public', 'tbl_person', $person_id, FHC_INTEGER))
+ {
+ $error = true;
+ }
+ }
+
+ /*
+ * Delete the tbl_person entry
+ */
+ $qry = 'DELETE FROM public.tbl_person where person_id='.$db->db_add_param($person_id, FHC_INTEGER);
+ if(!$error && !$db->db_query($qry))
+ {
+ $error = true;
+ }
+
+ /*
+ * Rollback, if an
+ * error occoured
+ */
+ if(!$error)
+ {
+
+ if($trans){$db->db_query("COMMIT;");}
+ return true;
+ }
+
+
+ if($trans){$db->db_query("ROLLBACK;");}
+ return false;
+}
+
+
+
+
+
+function deleteWithFirstlevelDeps($db, $column_name, $table_schema, $table_name, $data, $dataType)
+{
+ /*
+ * Resolve all neede Tables
+ */
+ $qryResolve = '
+ SELECT R.TABLE_NAME, R.TABLE_SCHEMA, R.COLUMN_NAME
+ FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE u
+ INNER JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS FK
+ on U.CONSTRAINT_CATALOG = FK.UNIQUE_CONSTRAINT_CATALOG
+ AND U.CONSTRAINT_SCHEMA = FK.UNIQUE_CONSTRAINT_SCHEMA
+ AND U.CONSTRAINT_NAME = FK.UNIQUE_CONSTRAINT_NAME
+ INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE R
+ ON R.CONSTRAINT_CATALOG = FK.CONSTRAINT_CATALOG
+ AND R.CONSTRAINT_SCHEMA = FK.CONSTRAINT_SCHEMA
+ AND R.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
+ WHERE U.COLUMN_NAME = ' . $db->db_add_param($column_name) . '
+ AND U.TABLE_SCHEMA = ' . $db->db_add_param($table_schema) . '
+ AND U.TABLE_NAME = ' . $db->db_add_param($table_name) . ';';
+
+ $resultResolve = $db->db_query($qryResolve);
+ if(!$resultResolve)
+ return false;
+
+ while($rowResolve = $db->db_fetch_object($resultResolve))
+ {
+ $qryDelete = '
+ DELETE FROM '.$rowResolve->table_schema.'.'.$rowResolve->table_name.'
+ WHERE '.$rowResolve->column_name.'='.$db->db_add_param($data, $dataType);
+ $resultDelete = $db->db_query($qryDelete);
+ if(!$resultDelete)
+ {
+ return false;
+ }
+ }
+ return true;
+}
+
+
+
+function recursiveGetAllProjektphase_id($db, $projektphase_id, $arr = null)
+{
+ if(is_null($arr))
+ $arr = array();
+
+
+ $qry = 'SELECT projektphase_id FROM fue.tbl_projektphase WHERE projektphase_fk='.$db->db_add_param($projektphase_id, FHC_INTEGER).';';
+
+ $res = $db->db_query($qry);
+ if(!$res)
+ return false;
+
+ while($row = $db->db_fetch_object($res))
+ {
+ if(!is_null($row->projektphase_id))
+ $arr = array_merge($arr, recursiveGetAllProjektphase_id($db, $row->projektphase_id, $arr));
+ }
+
+ $arr[] = $projektphase_id;
+
+ return $arr;
+}
+
?>