diff --git a/vilesci/stammdaten/personen_wartung.php b/vilesci/stammdaten/personen_wartung.php
index 34d6ccdf0..2aca71d66 100644
--- a/vilesci/stammdaten/personen_wartung.php
+++ b/vilesci/stammdaten/personen_wartung.php
@@ -68,7 +68,7 @@ if ($filter != '')
// Leere Strings aus Array entfernen
while ($array_key = array_search("", $searchItems))
unset($searchItems[$array_key]);
-
+
// Wenn Zeichen uebrig bleiben
if (implode(',', $searchItems) != '')
{
@@ -138,7 +138,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
{
$personToKeep_obj = new person();
$personToKeep_obj->load($personToKeep);
-
+
// Wenn beide Personen eine SVNR oder ein Ersatzkennzeichen haben, abbrechen
if (($personToDelete_obj->ersatzkennzeichen != '' && $personToKeep_obj->ersatzkennzeichen != '') ||
($personToDelete_obj->svnr != '' && $personToKeep_obj->svnr != ''))
@@ -152,7 +152,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
// Wenn bei einer der Personen das Foto gesperrt ist, dann die Sperre uebernehmen
if ($personToDelete_obj->foto_sperre)
$sql_query_upd1 .= "UPDATE public.tbl_person SET foto_sperre=true WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
-
+
// Wenn die zu loeschende Person ein Foto hat, und die andere nicht,
// dann wird das Foto, die Fotosperre und die Historie des Fotostatus übernommen
if ($personToDelete_obj->foto != '' && $personToKeep_obj->foto == '')
@@ -170,14 +170,14 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$insertamum1 = $akte1->result[0]->insertamum;
else
$insertamum1 = 0;
-
+
$akte2 = new akte();
$akte2->getAkten($personToKeep, 'Lichtbil');
if (isset($akte2->result[0]->insertamum))
$insertamum2 = $akte2->result[0]->insertamum;
else
$insertamum2 = 0;
-
+
// Die zu löschende Person hat ein aktuelleres Foto -> dieses nehmen
if ($insertamum1 > $insertamum2)
{
@@ -216,18 +216,18 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$base64foto = base64_encode(file_get_contents($filename));
}
}
-
+
// Bild in tbl_person auf 240x320 skalieren
//$base64_src = resize($base64foto, 240, 320); Auskommentiert bis das auch im Echtsystem geht
$base64_src = $base64foto;
$sql_query_upd1 .= "UPDATE public.tbl_person SET foto=" . $db->db_add_param($base64_src) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
}
-
+
// Wenn Ersatzkennzeichen und Sozialversicherungsnummer vorhanden ist, beide erhalten
// Setzen erst möglich, wenn $personToDelete_obj gelöscht
-
+
$ersatzkennzeichen = '';
- if ($personToDelete_obj->ersatzkennzeichen == '' && $personToKeep_obj->ersatzkennzeichen != '')
+ if ($personToDelete_obj->ersatzkennzeichen == '' && $personToKeep_obj->ersatzkennzeichen != '')
$ersatzkennzeichen = $personToKeep_obj->ersatzkennzeichen;
if ($personToKeep_obj->ersatzkennzeichen == '' && $personToDelete_obj->ersatzkennzeichen != '')
$ersatzkennzeichen = $personToDelete_obj->ersatzkennzeichen;
@@ -237,7 +237,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$sozialversicherungsnummer = $personToKeep_obj->svnr;
if ($personToKeep_obj->svnr == '' && $personToDelete_obj->svnr != '')
$sozialversicherungsnummer = $personToDelete_obj->svnr;
-
+
// Letztbenutzten Zugangscode abfragen und übernehmen
$zugangscode = '';
$log = new personlog();
@@ -246,36 +246,37 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$logZugriff1 = strtotime($log->logs[0]->zeitpunkt);
else
$logZugriff1 = 0;
-
+
$log->getLog($personToKeep, null, null, array('name' => 'Login with code'));
if (isset($log->logs[0]))
$logZugriff2 = strtotime($log->logs[0]->zeitpunkt);
else
$logZugriff2 = 0;
-
+
if ($logZugriff1 > $logZugriff2)
$zugangscode = $personToDelete_obj->zugangscode;
elseif ($logZugriff2 > $logZugriff1)
$zugangscode = $personToKeep_obj->zugangscode;
else
- $zugangscode = $personToKeep_obj->zugangscode;
-
+ $zugangscode = $personToKeep_obj->zugangscode;
+
// Check ob rt_person-zuordnung schon vorhanden ist
// Wenn ja, wird der Eintrag der zu löschenden Person ebenfalls gelöscht
$reihungstest_person = new reihungstest();
- if (!$reihungstest_person->getReihungstestPerson($personToKeep))
- $sql_query_upd1 .= "UPDATE public.tbl_rt_person SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
- else
+
+ //if (!$reihungstest_person->getReihungstestPerson($personToKeep))
+ $sql_query_upd1 .= "UPDATE public.tbl_rt_person SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
+ /*else
{
$sql_query_upd1 .= "DELETE FROM public.tbl_rt_person WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$reihungstest = new reihungstest($reihungstest_person->result[0]->reihungstest_id);
- $msg_warning[] = "Das verbliebene Person ".$personToKeep." hat schon eine Reihungstestzuordnung
- zu Reihungstest ID".$reihungstest->reihungstest_id." am ".$reihungstest->datum."
+ $msg_warning[] = "Das verbliebene Person ".$personToKeep." hat schon eine Reihungstestzuordnung
+ zu Reihungstest ID".$reihungstest->reihungstest_id." am ".$reihungstest->datum."
für das ".$reihungstest->studiensemester_kurzbz." im Studiengang ".$reihungstest->studiengang_kz." (Studienplan ".$reihungstest_person->result[0]->studienplan_id.")
Die Reihungstestzuordnung von ".$personToDelete." wurde gelöscht";
- }
-
+ }*/
+
$sql_query_upd1 .= "UPDATE addon.tbl_kompetenz SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE lehre.tbl_abschlusspruefung SET pruefer1=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE pruefer1=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE lehre.tbl_abschlusspruefung SET pruefer2=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE pruefer2=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
@@ -306,10 +307,10 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$sql_query_upd1 .= "UPDATE wawi.tbl_konto SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "DELETE FROM public.tbl_person WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
-
+
// Ersatzkennzeichen und Sozialversicherungsnummer erst setzen, wenn nur mehr eine Person vorhanden ist
$sql_query_upd1 .= "UPDATE public.tbl_person SET ersatzkennzeichen=" . $db->db_add_param($ersatzkennzeichen, FHC_STRING) . ", svnr=" . $db->db_add_param($sozialversicherungsnummer, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
-
+
// Zugangscode erst setzen, wenn nur mehr eine Person vorhanden ist
$sql_query_upd1 .= "UPDATE public.tbl_person SET zugangscode=" . $db->db_add_param($zugangscode, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
@@ -324,7 +325,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
'message' => 'Person with id ' . $personToDelete . ' merged into person with id ' . $personToKeep,
'success' => 'true'
), 'datenwartung', 'core', null, $uid);
-
+
/*
* ----------------------------------------------------------------------
* Adressen der verbliebenen Person laden und zusammenräumen
@@ -334,7 +335,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$adresse->load_pers($personToKeep);
$adressArray = array();
$adressLoeschArray = array();
-
+
// Alle Adressen in ein Array schreiben
foreach ($adresse->result AS $row)
{
@@ -362,7 +363,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
return $c;
}
usort($adressArray, "sortAdressArray");
-
+
$cleanstrasse = '';
$plz = '';
$ort = '';
@@ -425,12 +426,12 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
}
if ($anzahlHeimatadressen > 1)
$msg_error[] = "Es ist mehr als eine Adresse als Heimatadresse gekennzeichnet";
-
+
/*
* -------------------------------------------------------------------
* Kontakte der verbliebenen Person laden und zusammenräumen
* -------------------------------------------------------------------
- */
+ */
$kontakt = new kontakt();
$kontakt->load_pers($personToKeep);
$kontaktArray = array();
@@ -442,7 +443,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$cleanKontakt = preg_replace("/[^0-9+]/", '', $row->kontakt);
else
$cleanKontakt = $row->kontakt;
-
+
$kontaktArray[] = array('kontakt_id' => $row->kontakt_id,
'cleanKontakt' => $cleanKontakt,
'kontakttyp' => $row->kontakttyp,
@@ -451,7 +452,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
'zustellung' => $row->zustellung
);
}
-
+
// Sortiert die Kontakte
function sortKontaktArray($a, $b)
{
@@ -463,7 +464,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
return $c;
}
usort($kontaktArray, "sortKontaktArray");
-
+
$cleanKontakt = '';
$anmerkung = '';
foreach ($kontaktArray AS $key => $value)
@@ -505,7 +506,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$msg_warning[] = "Kontakt mit ID" . $value . " gelöscht";
}
}
-
+
/*
* --------------------------------------------------------
* Doppelte PreStudenten löschen
@@ -514,14 +515,14 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$prestudenten = new prestudent();
$prestudenten->getPrestudenten($personToKeep);
$statusArrayWichtigeWichtige = array(); // Array mit allen PreStudentStatus die NICHT Interessent oder Abgewiesener sind
-
+
foreach ($prestudenten->result AS $key => $value)
{
$laststatus = new prestudent();
$laststatus->getLastStatus($value->prestudent_id);
$prestudentStatus = new prestudent();
$prestudentStatus->getPrestudentRolle($value->prestudent_id);
-
+
foreach ($prestudentStatus->result AS $row)
{
if ($row->status_kurzbz != 'Interessent' && $row->status_kurzbz != 'Abgewiesener')
@@ -529,7 +530,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
}
if (isset($statusArrayWichtige[$value->prestudent_id]))
$statusArrayWichtige[$value->prestudent_id] = array_unique($statusArrayWichtige[$value->prestudent_id]);
-
+
$studiengang = new studiengang($value->studiengang_kz);
$prestudenten->result[$key]->studiensemester_kurzbz = $laststatus->studiensemester_kurzbz;
$prestudenten->result[$key]->orgform_kurzbz = $laststatus->orgform_kurzbz;
@@ -540,16 +541,16 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$prestudenten->result[$key]->studiengang_typ = $studiengang->typ;
$prestudenten->result[$key]->anzahlStatus = $prestudentStatus->num_rows;
}
-
+
$statusreihenfolge = array('Aufgenommener','Wartender','Bewerber','Interessent','Abgewiesener');
-
+
function sortPrestudents($a, $b)
{
global $statusreihenfolge;
$c = $a->studiengang_kz - $b->studiengang_kz;
$c .= strcmp(strtolower($b->studiensemester_kurzbz), strtolower($a->studiensemester_kurzbz));
$c .= strcmp(strtolower($b->orgform_kurzbz), strtolower($a->orgform_kurzbz));
-
+
// Sortiert den Status nach der vorgegebenen Liste $statusreihenfolge
$x = array_search($a->status_kurzbz, $statusreihenfolge);
$y = array_search($b->status_kurzbz, $statusreihenfolge);
@@ -569,7 +570,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
{
$c .= $x - $y;
}
-
+
$c .= $b->anzahlStatus - $a->anzahlStatus;
$c .= $b->bestaetigtam - $a->bestaetigtam;
$c .= $b->bewerbung_abgeschicktamum - $a->bewerbung_abgeschicktamum;
@@ -584,9 +585,9 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$c .= strcmp(strtolower($b->zgvnation), strtolower($a->zgvnation));
return $c;
}
-
+
usort($prestudenten->result, "sortPrestudents");
-
+
$prestudentenArray = array();
$kontaktLoeschArray = array();
foreach ($prestudenten->result AS $row)
@@ -621,7 +622,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
*
* Wenn ein PreStudent in seiner Historie ausschließlich Interessent und Abgewiesener hat,
* wird einer gelöscht. Bei allen anderen wird eine Warnung ausgegeben
- *
+ *
*/
$studiengang_kz = '';
$anmerkung = '';
@@ -746,7 +747,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$zgvmanation = $value['zgvmanation'];
$previousKey = $key;
}
-
+
// Messages in $msg_warning schreiben
$messageOutput = '';
if (isset($warningList['zgvUnklar']))
@@ -755,7 +756,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
{
$messageOutput .= '