diff --git a/system/sync/stp/sync_stp_vilesci_person.php b/system/sync/stp/sync_stp_vilesci_person.php
index 191136159..c16867542 100644
--- a/system/sync/stp/sync_stp_vilesci_person.php
+++ b/system/sync/stp/sync_stp_vilesci_person.php
@@ -20,6 +20,11 @@ $starttime=time();
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
+function myaddslashes($var)
+{
+ return ($var!=''?"'".addslashes($var)."'":'null');
+}
+
// Sync-Tabelle fuer Personen checken
if (!@pg_query($conn,'SELECT * FROM sync.tbl_syncperson LIMIT 1;'))
{
@@ -42,6 +47,7 @@ if (!@pg_query($conn,'SELECT * FROM sync.tbl_syncperson LIMIT 1;'))
$error_log='';
$error_log_ext='';
+$ausgabe="";
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
@@ -56,7 +62,7 @@ $plausi='';
?>
-Synchro - FAS -> Vilesci - Person
+Synchro - StPoelten -> Vilesci - Person
@@ -88,224 +94,53 @@ if($result = pg_query($conn, $qry))
$sql="SELECT * FROM public.tbl_person
WHERE
(svnr='$row->chsvnr' AND svnr!='' AND svnr IS NOT NULL)
- OR (nachname='$row->chnachname' AND '$row->chnachname'!='' AND vorname='$row->chvorname' AND '$row->chvorname'!='' AND gebdatum='$row->dagebdat' AND gebdatum IS NOT NULL)";
+ OR (ersatzkennzeichen='.myaddslashes($row->chersatzkz).' AND ersatzkennzeichen!='' AND ersatzkennzeichen IS NOT NULL)
+ OR (nachname=".myaddslashes($row->chnachname)." AND ".myaddslashes($row->chnachname)."!='' AND vorname=".myaddslashes($row->chvorname)."AND ".myaddslashes($row->chvorname)."!='' AND gebdatum=".myaddslashes($row->dagebdat)." AND gebdatum IS NOT NULL)";
if($result_dubel = pg_query($conn, $sql))
{
if (pg_num_rows($result_dubel)==0)
{
//Neue Person anlegen
$sql="INSERT INTO public.tbl_person
- (staatsbuergerschaft,geburtsnation,sprache,anrede,titelpost,titelpre,nachname,vorname,vornamen,gebdatum,gebort,gebzeit,foto,anmerkung,homepage,svnr,ersatzkennzeichen,familienstand,geschlecht,anzahlkinder,aktiv,insertamum,insertvon,updateamum,updatevon,ext_id)
+ (staatsbuergerschaft,geburtsnation,sprache,anrede,titelpost,titelpre,nachname,vorname,
+ vornamen,gebdatum,gebort,gebzeit,foto,anmerkung,homepage,svnr,ersatzkennzeichen,
+ familienstand,geschlecht,anzahlkinder,aktiv,insertamum,insertvon,updateamum,updatevon,
+ ext_id)
VALUES
- ($row->_staatsbuerger,$row->_gebland,NULL,'$row->briefanrede',NULL,'$row->chtitel','$row->chnachname','$row->chvorname',NULL,'$row->dagebdat','$row->chgebort',NULL,NULL,'$row->chadrbemerkung','$row->chhomepage','$row->chsvnr','$row->chersatzkz',$row->_cxfamilienstand,'$row->_cxgeschlecht',$row->inkinder,TRUE,now(),'sync',now(),'sync',NULL);";
+ (".myaddslashes($row->_staatsbuerger).", ".
+ myaddslashes($row->_gebland).", ".
+ "NULL, ".
+ myaddslashes($row->briefanrede).", ".
+ "NULL, ".
+ myaddslashes($row->chtitel).", ".
+ myaddslashes($row->chnachname).", ".
+ myaddslashes($row->chvorname).", ".
+ "NULL, ".
+ myaddslashes($row->dagebdat).", ".
+ myaddslashes($row->chgebort).", ".
+ "NULL, ".
+ "NULL, ".
+ myaddslashes($row->chadrbemerkung).", ".
+ myaddslashes($row->chhomepage).", ".
+ myaddslashes($row->chsvnr).", ".
+ myaddslashes($row->chersatzkz).", ".
+ myaddslashes($row->_cxfamilienstand).", ".
+ myaddslashes($row->_cxgeschlecht).", ".
+ myaddslashes($row->inkinder).", ".
+ "TRUE, now(), 'sync', now(), 'sync', NULL);";
if(!$result_neu = pg_query($conn, $sql))
- echo $sql.'
'.pg_last_error($conn).'
';
+ $error_log.= $sql."\n".pg_last_error($conn)." \n";
+ else
+ $ausgabe.="\n------------------\nÜbertragen: ".$row->chtitel." ".$row->chnachname.", ".$row->chvorname;
}
}
}
}
}
+echo nl2br($error_log);
+echo nl2br($ausgabe);
-
-/*mail($adress, 'Plausicheck von Personen von '.$_SERVER['HTTP_HOST'], $error_log_fas,"From: vilesci@technikum-wien.at");
-$error_log_fas='';
-exit;
-
-$qry = "SELECT * FROM person WHERE person_pk AS person1 NOT IN (
-SELECT
-p1.person_pk AS person1, p1.familienname AS familienname1, p1.vorname AS vorname1, p1.vornamen AS vornamen1, p1.geschlecht AS geschlecht1,
-p1.gebdat AS gebdat1, p1.gebort AS gebort1, p1.staatsbuergerschaft AS staatsbuergerschaft1, p1.familienstand AS familienstand1,
-p1.svnr AS svnr1, p1. ersatzkennzeichen AS ersatzkennzeichen1, p1.anrede AS anrede1, p1.anzahlderkinder AS anzahlderkinder1,
-p1.bismelden AS bismelden1, p1.titel AS titel1, p1.uid AS uid1, p1.gebnation AS gebnation1, p1.postnomentitel AS postnomentitel1,
-p2.person_pk AS person2, p2.familienname AS familienname2, p2.vorname AS vorname2, p2.vornamen AS vornamen2, p2.geschlecht AS geschlecht2,
-p2.gebdat AS gebdat2, p2.gebort AS gebort2, p2.staatsbuergerschaft AS staatsbuergerschaft2, p2.familienstand AS familienstand2,
-p2.svnr AS svnr2, p2. ersatzkennzeichen AS ersatzkennzeichen2, p2.anrede AS anrede2, p2.anzahlderkinder AS anzahlderkinder2,
-p2.bismelden AS bismelden2, p2.titel AS titel2, p2.uid AS uid2, p2.gebnation AS gebnation2, p2.postnomentitel AS postnomentitel2
-FROM person AS p1, person AS p2 WHERE
-((p1.gebdat=p2.gebdat AND p1.familienname=p2.familienname AND p1.vorname=p2.vorname)
-OR ((p1.ersatzkennzeichen=p2.ersatzkennzeichen AND p1.ersatzkennzeichen<>'') OR (p1.svnr=p2.svnr AND p1.svnr<>'')))
-AND (p1.person_pk <> p2.person_pk)
-AND (p1.familienname<>p2.familienname OR p1.vorname<>p2.vorname OR p1.vornamen<>p2.vornamen OR p1.geschlecht<>p2.geschlecht OR p1.gebdat<>p2.gebdat OR p1.staatsbuergerschaft<> p2.staatsbuergerschaft OR p1.familienstand<>p2.familienstand OR p1.svnr<>p2.svnr OR p1.ersatzkennzeichen<>p2.ersatzkennzeichen OR p1.anrede<>p2.anrede OR p1.anzahlderkinder<>p2.anzahlderkinder OR p1.titel<>p2.titel OR p1.gebnation<>p2.gebnation OR p1.postnomentitel<> p2.postnomentitel)
-);";
-if($result = pg_query($conn_fas, $qry))
-{
- echo nl2br("Person Sync\n-------------\n");
- $anzahl_quelle=pg_num_rows($result);
- while($row = pg_fetch_object($result))
- {
- $person=new person($conn);
-
- $person->geburtsnation=$row->gebnation;
- $person->anrede=trim($row->anrede);
- $person->titelpost=trim($row->postnomentitel);
- $person->titelpre=trim($row->titel);
- $person->nachname=trim($row->familienname);
- $person->vorname=trim($row->vorname);
- $person->vornamen=trim($row->vornamen);
- $person->gebdatum=$row->gebdat;
- $person->gebort=$row->gebort;
- $person->anmerkungen=$row->bemerkung;
- $person->svnr=trim($row->svnr);
- $person->ersatzkennzeichen=trim($row->ersatzkennzeichen);
- $person->familienstand=$row->familienstand;
- $person->anzahlkinder=$row->anzahlderkinder;
- $person->staatsbuergerschaft=$row->staatsbuergerschaft;
- $person->geschlecht=strtolower($row->geschlecht);
- $person->ext_id=$row->person_pk;
- $person->aktiv=true;
- $person->updatevon='SYNC';
- $person->insertvon='SYNC';
-
-
- if($row->familienstand==1)
- {
- $person->familienstand='l';
- }
- elseif($row->familienstand==2)
- {
- $person->familienstand='v';
- }
- elseif($row->familienstand==3)
- {
- $person->familienstand='g';
- }
- elseif($row->familienstand==4)
- {
- $person->familienstand='w';
- }
- else
- {
- $person->familienstand=null;
- }
- if ($person->geschlecht=='')
- {
- $person->geschlecht='m';
- }
-
- $error=false;
-
- $qry="SELECT person_id FROM public.tbl_benutzer WHERE uid='$row->uid'";
- if($resultu = pg_query($conn, $qry))
- {
- if(pg_num_rows($resultu)>0 && $row->uid!='') //wenn dieser eintrag schon vorhanden ist
- {
- if($rowu=pg_fetch_object($resultu))
- {
- //update
- $person->person_id=$rowu->person_id;
- $person->new=false;
- }
- else
- {
- $error=true;
- $error_log.="benutzer von $row->uid konnte nicht ermittelt werden\n";
- }
- }
- else
- {
- $qry="SELECT person_fas, person_portal FROM sync.tbl_syncperson WHERE person_fas='$row->person_pk'";
- if($result1 = pg_query($conn, $qry))
- {
- if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
- {
- if($row1=pg_fetch_object($result1))
- {
- //update
- $person->person_id=$row1->person_portal;
- $person->new=false;
- }
- else
- {
- $error=true;
- $error_log.="person von $row->person_pk konnte nicht ermittelt werden\n";
- }
- }
- else
- {
- //vergleich svnr und ersatzkennzeichen
- $qry="SELECT * FROM public.tbl_person
- WHERE ('$row->svnr' is not null AND '$row->svnr' <> '' AND svnr = '$row->svnr')
- OR ('$row->ersatzkennzeichen' is not null AND '$row->ersatzkennzeichen' <> '' AND ersatzkennzeichen = '$row->ersatzkennzeichen')";
- if($resultz = pg_query($conn, $qry))
- {
- if(pg_num_rows($resultz)>0) //wenn dieser eintrag schon vorhanden ist
- {
- if($rowz=pg_fetch_object($resultz))
- {
- $person->new=false;
- $person->person_id=$rowz->person_id;
-
- }
- else
- {
- $error=true;
- $error_log.="person mit svnr: $row->svnr bzw. ersatzkennzeichen: $row->ersatzkennzeichen konnte nicht ermittelt werden (".pg_num_rows($resultz).")\n";
- }
- }
- else
- {
- //insert
- $person->new=true;
- //echo nl2br("insert von ".$row->uid.", ".$row->familienname."\n");
- }
- }
- }
- }
- }
-
- if(!$error)
- {
- if(!$person->save())
- {
- $error_log.=$person->errormsg."\n";
- $anzahl_fehler++;
- }
- else
- {
- //überprüfen, ob eintrag schon vorhanden
- $qryz="SELECT person_fas FROM sync.tbl_syncperson WHERE person_fas='$row->person_pk' AND person_portal='$person->person_id'";
- if($resultz = pg_query($conn, $qryz))
- {
- if(pg_num_rows($resultz)==0) //wenn dieser eintrag noch nicht vorhanden ist
- {
- $qry='INSERT INTO sync.tbl_syncperson (person_fas, person_portal)'.
- 'VALUES ('.$row->person_pk.', '.$person->person_id.');';
- pg_query($conn, $qry);
- }
- }
- if ($person->new)
- {
- $anzahl_eingefuegt++;
- }
- else
- {
- $anzahl_update++;
- }
- //echo "- ";
- //ob_flush();
- //flush();
- }
- }
- else
- {
- $anzahl_fehler++;
- }
- }
- }
- echo nl2br("\nabgeschlossen\n\n");
-}
-else
- $error_log .= '\nPersonendatensaetze konnten nicht geladen werden\n';
-
-
-
-//echo nl2br($text);
-echo nl2br("\nLog:\n".$error_log);
-echo nl2br("\n\nGesamt FAS: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler");
-$error_log="Person Sync\n-------------\n\nGesamt FAS: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n".$error_log;
-mail($adress, 'SYNC Personen', $error_log,"From: vilesci@technikum-wien.at");
-*/
?>
\ No newline at end of file