diff --git a/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php b/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php new file mode 100644 index 000000000..bfdcad17f --- /dev/null +++ b/admin/sync/fas/sync_fas_vilesci_lehreinheiten.php @@ -0,0 +1,255 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +//* +//* Synchronisiert Lehreinheitendatensätze von FAS DB in PORTAL DB +//* +//* + +require_once('../../../vilesci/config.inc.php'); + + +$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen"); +$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen"); + +//$adress='ruhan@technikum-wien.at'; +$adress='fas_sync@technikum-wien.at'; + +$error_log=''; +$text = ''; +$ausgabe=''; +$ausgabe1=''; +$anzahl_eingefuegt=0; +$anzahl_geaendert=0; +$anzahl_fehler=0; +$anzahl_quelle=0; + +function myaddslashes($var) +{ + return ($var!=''?"'".addslashes($var)."'":'null'); +} + +/************************* + * FAS-VILESCI - Synchronisation + */ +?> + + + +Synchro - FAS -> Vilesci - Lehreinheiten + + + +ivar3; + $wochenrythmus =$row->ivar1; + $start_kw =$row->ivar2; + //$raumtyp =''; + //$raumtypalternativ =''; + $sprache ='German'; + $lehre =true; + $anmerkung =$row->bemerkungen; + $unr =''; + $lvnr =$row->nummer; + $updateamum =''; + $updatevon ='SYNC'; + $insertamum =$row->creationdate; + //$insertvon =''; + $ext_id =$row->lehreinheit_pk; + + //insertvon ermitteln + $qrycu="SELECT name FROM public.benutzer WHERE benutzer_pk='".$row->creationuser."';"; + if($resultcu = pg_query($conn_fas, $qrycu)) + { + if($rowcu=pg_fetch_object($resultcu)) + { + $insertvon=$rowcu->name; + } + } + //lehrveranstaltung ermitteln + $qry="SELECT lva_vilesci FROM sync.tbl_synclehrveranstaltung WHERE lva_fas='".$row->lehrveranstaltung_fk."';"; + if($results = pg_query($conn, $qry)) + { + if($rows=pg_fetch_object($results)) + { + $lva=$rows->lva_vilesci; + } + else + { + $error=true; + $error_log.="LVA_FAS=".$row->lehrveranstaltung_fk." in Tabelle tbl_synclehrveranstaltung nicht gefunden:\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + //studiengang ermitteln + $qry="SELECT lehrveranstaltung_id, studiengang_kz, semester FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='".$lva."';"; + if($result1 = pg_query($conn, $qry)) + { + if($row1=pg_fetch_object($result1)) + { + $lehrveranstaltung_id=$row1->lehrveranstaltung_id; + $studiengang_kz=$row1->studiengang_kz; + $semester=$row1->semester; + } + else + { + $error=true; + $error_log.="Lehrveranstaltung mit ext_id='".$row->lehrveranstaltung_fk."' nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + //studiensemester ermitteln + $qry="SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ext_id='$row->studiensemester_fk'"; + if($resulto = pg_query($conn, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $studiensemester_kurzbz=$rowo->studiensemester_kurzbz; + } + else + { + $error=true; + $error_log.="Studiensemester mit ext_id='".$row->studiensemester_fk."' nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + $qry="SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE ext_id='$row->fachbereich_fk'"; + if($result2 = pg_query($conn, $qry)) + { + if($row2=pg_fetch_object($result2)) + { + $fachbereich_kurzbz=$row2->fachbereich_kurzbz; + } + else + { + $error=true; + $error_log.="Fachbereich mit ext_id='".$row->fachbereich_fk."' nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + //lehrfach ermitteln + $qry="SELECT lehrfach_id FROM lehre.tbl_lehrfach WHERE fachbereich_kurzbz='".$row->fachbereich_kurzbz."' AND semester='".$row->semester."' AND studiengang_kz='".$studiengang_kz."';"; + if($resulto = pg_query($conn, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $lehrfach_id=$rowo->lehrfach_id; + } + else + { + $error=true; + $error_log.="Lehrfach mit Fachbereich='".$fachbereich_kurzbz."', Semester='".$semester."' und Studiengang='".$studiengang_kz."' nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + //lehrform ermitteln + $qry="SELECT kurzbezeichnung FROM lehrform WHERE lehrform_pk='".$row->lehrform_fk."';"; + if($resulto = pg_query($conn_fas, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $lehrform_kurzbz=trim($rowo->kurzbezeichnung); + } + else + { + $error=true; + $error_log.="Lehrform von lehrform_fk'".$lehrform_fk."' in der Tabelle lehrform nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + //raumtypen ermitteln + $qry="SELECT kurzbezeichnung FROM raumtyp WHERE raumtyp_pk='".$row->raumtyp_fk."';"; + if($resulto = pg_query($conn_fas, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $raumtyp=trim($rowo->kurzbezeichnung); + } + else + { + $error=true; + $error_log.="Raumtyp von raumtyp_fk'".$raumtyp_fk."' in der Tabelle raumtyp nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + $qry="SELECT kurzbezeichnung FROM raumtyp WHERE raumtyp_pk='".$row->alternativraumtyp_fk."';"; + if($resulto = pg_query($conn_fas, $qry)) + { + if($rowo=pg_fetch_object($resulto)) + { + $raumtypalternativ=trim($rowo->kurzbezeichnung); + } + else + { + $error=true; + $error_log.="Alternativer Raumtyp von alternativraumtyp_fk'".$alternativraumtyp_fk."' in der Tabelle raumtyp nicht gefunden.\n"; + } + } + if($error) + { + $anzahl_fehler++; + continue; + } + //insert oder update? + $qry="SELECT * FROM lehre.tbl_lehreinheit WHERE "; + + } + $error_log="Sync Lehreinheiten\n-----------------------\n\n".$error_log."\n"; + echo nl2br("Lehreinheitensynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n"); + echo nl2br("Gesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt++." / Geändert: ".$anzahl_geaendert." / Fehler: ".$anzahl_fehler."\n\n"); + echo nl2br($error_log. "\n------------------------------------------------------------------------\n".$ausgabe); + + mail($adress, 'SYNC-Fehler Lehreinheiten von '.$_SERVER['HTTP_HOST'], $error_log, "From: vilesci@technikum-wien.at"); + mail($adress, 'SYNC Lehreinheiten von '.$_SERVER['HTTP_HOST'], "Sync Lehreinheiten\n-----------------------\n\nGesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt++." / Geändert: ".$anzahl_geaendert." / Fehler: ".$anzahl_fehler."\n\n".$ausgabe, "From: vilesci@technikum-wien.at"); +} +?> + + \ No newline at end of file