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"; } -?> - - - + + + + + + + + + Personen-Zusammenlegung - -

Zusammenlegen von Personendatensaetzen

+

Zusammenlegen von Personendatensätzen

"; -echo ""; -echo ""; +echo ''; +echo ''; echo ""; -//aufruf -?> -
-

".$msg.""; ?>

-
- +
+

'.$msg.'

+
'; + //Tabellen anzeigen - echo "
"; + echo ''; echo ""; echo ""; echo "
Der wird gelöscht:"; //Tabelle 1 - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo '
IDNachnameVornameGeburtsdatumSVNrErsatzkennz.Ext-ID 
'; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; $lf = new person(); - $lf->getTab($filter, $order_1); + $lf->getTab($filter); $i=0; foreach($lf->personen as $l) { - echo ""; + echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; - echo ""; echo ""; echo ""; $i++; } - echo "
IDNachnameVornameGeb.datumSVNrErsatzkennz. 
$l->person_id$l->nachname$l->vorname$l->gebdatum$l->svnr$l->ersatzkennzeichen$l->ext_idperson_id)?'checked':'').">
"; + echo "
"; echo ""; echo ""; echo "Der bleibt:"; //Tabelle 2 - echo ""; + echo '
'; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; $lf = new person(); - $lf->getTab($filter, $order_2); + $lf->getTab($filter); $i=0; foreach($lf->personen as $l) { - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -256,11 +252,10 @@ echo ""; echo ""; echo ""; echo ""; - echo ""; echo ""; $i++; } - echo "
 IDNachnameVornameGeburtsdatumSVNrErsatzkennz.Ext-ID
IDNachnameVornameGeb.datumSVNrErsatzkennz.
person_id)?'checked':'').">$l->person_id$l->nachname$l->gebdatum$l->svnr$l->ersatzkennzeichen$l->ext_id
"; + echo ""; echo ""; echo ""; echo "";