diff --git a/vilesci/stammdaten/personen_wartung.php b/vilesci/stammdaten/personen_wartung.php
index 54859e217..168816023 100644
--- a/vilesci/stammdaten/personen_wartung.php
+++ b/vilesci/stammdaten/personen_wartung.php
@@ -20,25 +20,28 @@
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
-
-// ***************************************************************
-// * Script zum Zusammenlegen Doppelter Studenten
-// * Es werden zwei Listen mit Studenten angezeigt
-// * Links wird der Student markiert, der mit dem
-// * rechts markierten zusammengelegt werden soll.
-// * Der linke Student wird danach entfernt.
-// ***************************************************************
+/**
+ * Script zum Zusammenlegen Doppelter Studenten
+ * Es werden zwei Listen mit Studenten angezeigt
+ * Links wird der Student markiert, der mit dem
+ * rechts markierten zusammengelegt werden soll.
+ * Der linke Student wird danach entfernt.
+ */
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/basis_db.class.php');
+require_once('../../include/person.class.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/benutzerberechtigung.class.php');
-//DB Verbindung herstellen
- require_once('../../config/vilesci.config.inc.php');
- require_once('../../include/basis_db.class.php');
- if (!$db = new basis_db())
- die('Es konnte keine Verbindung zum Server aufgebaut werden.');
+if (!$db = new basis_db())
+ die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
- require_once('../../include/person.class.php');
- require_once('../../include/functions.inc.php');
+$uid = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($uid);
+if(!$rechte->isBerechtigt('basis/person'))
+ die('Sie haben keine Berechtigung fuer diese Seite');
$msg='';
$outp='';
@@ -54,22 +57,6 @@ else
$person_id=NULL;
}
-if (isset($_GET['order_1']) || isset($_POST['order_1']))
-{
- $order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']);
-}
-else
-{
- $order_1='person_id';
-}
-if (isset($_GET['order_2']) || isset($_POST['order_2']))
-{
- $order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']);
-}
-else
-{
- $order_2='person_id';
-}
if (isset($_GET['radio_1']) || isset($_POST['radio_1']))
{
$radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']);
@@ -87,18 +74,6 @@ else
$radio_2=-1;
}
-function kuerze($string)
-{
- if(strlen($string)>40)
- {
- return substr($string,0,35)."...";
- }
- else
- {
- return $string;
- }
-}
-
if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
{
if($radio_1==$radio_2)
@@ -107,148 +82,169 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
}
else
{
- $msg='';
- $sql_query_upd1="BEGIN;";
- $sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_konto SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id='$radio_2' WHERE person_id='$radio_1';";
- //$sql_query_upd1.="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
- $sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1='$radio_2' WHERE pruefer1='$radio_1';";
- $sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2='$radio_2' WHERE pruefer2='$radio_1';";
- $sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3='$radio_2' WHERE pruefer3='$radio_1';";
- $sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_adresse SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_akte SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id='$radio_2' WHERE person_id='$radio_1';";
-
- $sql_query_upd1.="UPDATE wawi.tbl_betriebsmittelperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
-
- $sql_query_upd1.="UPDATE public.tbl_preinteressent SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $sql_query_upd1.="UPDATE public.tbl_personfunktionstandort SET person_id='$radio_2' WHERE person_id='$radio_1';";
-
-
- $sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id='$radio_1';";
-
- if($db->db_query($sql_query_upd1))
+ $person = new person();
+ if($person->load($radio_1))
{
- $msg = "Daten erfolgreich gespeichert
";
- $msg .= "
".mb_eregi_replace(';',';
',$sql_query_upd1);
- $db->db_query("COMMIT;");
- if(@$db->db_query('SELECT person_portal FROM sync.tbl_syncperson LIMIT 1'))
+ $msg='';
+ $sql_query_upd1="BEGIN;";
+ // Wenn bei einer der Personen das Foto gesperrt ist, dann die Sperre uebernehmen
+ if($person->foto_sperre)
+ $sql_query_upd1.="UPDATE public.tbl_person SET foto_sperre=true WHERE person_id=".$db->db_add_param($radio_2, FHC_INTEGER).";";
+
+ // Wenn die zu loeschende Person ein Foto hat, und die andere nicht,
+ // dann wird das Foto uebernommen
+ if($person->foto!='')
{
- $msg.= "
Sync-Tabelle wird aktualisiert";
- $sql_query_upd1="UPDATE sync.tbl_syncperson SET person_portal='$radio_2' WHERE person_portal='$radio_1';";
- $db->db_query($sql_query_upd1);
- $msg.= "
".mb_eregi_replace(';',';
',$sql_query_upd1)."COMMIT";
+ $person2 = new person();
+ $person2->load($radio_2);
+ if($person2->foto=='')
+ {
+ $sql_query_upd1.="UPDATE public.tbl_person SET foto=".$db->db_add_param($person->foto)." WHERE person_id=".$db->db_add_param($radio_2, FHC_INTEGER).";";
+ }
}
- if(@$db->db_query('SELECT person_id FROM sync.tbl_syncperson LIMIT 1'))
+
+ $sql_query_upd1.="UPDATE wawi.tbl_betriebsmittelperson SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_benutzer SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_konto SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_prestudent SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer1=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE pruefer1=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer2=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE pruefer2=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE lehre.tbl_abschlusspruefung SET pruefer3=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE pruefer3=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE lehre.tbl_projektbetreuer SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_adresse SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_akte SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_preinteressent SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+ $sql_query_upd1.="UPDATE public.tbl_personfunktionstandort SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+
+ $sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
+
+ if($db->db_query($sql_query_upd1))
{
- $msg.= "
Sync-Tabelle wird aktualisiert";
- $sql_query_upd1="UPDATE sync.tbl_syncperson SET person_id='$radio_2' WHERE person_id='$radio_1';";
- $db->db_query($sql_query_upd1);
- $msg.= "
".mb_eregi_replace(';',';
',$sql_query_upd1)."COMMIT";
+ $msg = "Daten erfolgreich gespeichert
";
+ $msg .= "
".mb_eregi_replace(';',';
',$sql_query_upd1);
+ $db->db_query("COMMIT;");
}
+ else
+ {
+ $msg = "Die Änderung konnte nicht durchgeführt werden!";
+ $db->db_query("ROLLBACK;");
+ $msg.= "
".mb_eregi_replace(';',';
',$sql_query_upd1)."ROLLBACK";
+ }
+ $radio_1=0;
+ $radio_2=0;
}
else
{
- $msg = "Die Änderung konnte nicht durchgeführt werden!";
- $db->db_query("ROLLBACK;");
- $msg.= "
".mb_eregi_replace(';',';
',$sql_query_upd1)."ROLLBACK";
+ $msg = "Fehler beim Laden von Person1";
}
- $radio_1=0;
- $radio_2=0;
}
}
if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0))
{
$msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden";
}
-?>
-