Alte SyncScripte gelöscht und aktuelle an die Datenbankklasse angepasst

This commit is contained in:
Andreas Österreicher
2009-06-24 12:44:11 +00:00
parent c22ad0a66c
commit 151108bae9
103 changed files with 165 additions and 37154 deletions
@@ -1,16 +0,0 @@
kleinvieh
nation
syncperson und syncschluesseltyp anlegen
person
mitarbeiter
adresse
email
telefon
schluesseltyp
schluessel
fachbereich
reihungstest
aufmerksamdurch
studiengang
akadgrad
student
-4
View File
@@ -1,4 +0,0 @@
create table public.tbl_syncperson (person_fas bigint not null, person_portal bigint not null);
create table public.tbl_syncschluesseltyp (fas_typ bigint not null, portal_typ varchar(16) not null);
grant select, insert, update on public.tbl_syncperson to admin;
grant select, insert, update on public.tbl_syncschluesseltyp to admin;
-144
View File
@@ -1,144 +0,0 @@
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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");
$error_log='';
$ausgabe1='';
$ausgabe2='';
$ausgabe_all='';
$fehler=0;
$wochendiv=0;
$semester=array(1=>'WS2006', 2=>'SS2007');
$stundensumme=array(array());
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
?>
<html>
<head>
<title>BIS-Meldung - Funktionen</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="SELECT * FROM public.tbl_studiensemester";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$beginn[$row->studiensemester_kurzbz]=$row->start;
$ende[$row->studiensemester_kurzbz]=$row->ende;
}
}
//echo "mitarbeiter_uid / studiengang_kz / studiensemester_kurzbz / semesterstunden / semester / wochen<br>";
$qry="SELECT DISTINCT ON(mitarbeiter_uid) mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter ;";
//WHERE mitarbeiter_uid='balog'
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$qry_erg="SELECT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, lehre.tbl_lehrveranstaltung.studiengang_kz, lehre.tbl_lehreinheit.studiensemester_kurzbz, lehre.tbl_lehreinheitmitarbeiter.semesterstunden, lehre.tbl_lehrveranstaltung.semester, public.tbl_semesterwochen.wochen
FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_semesterwochen USING(studiengang_kz, semester)
WHERE lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".$row->mitarbeiter_uid."'
AND (lehre.tbl_lehreinheit.studiensemester_kurzbz='".$semester[1]."' OR lehre.tbl_lehreinheit.studiensemester_kurzbz='".$semester[2]."');";
//GROUP BY lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, lehre.tbl_lehrveranstaltung.studiengang_kz, lehre.tbl_lehreinheit.studiensemester_kurzbz";
if($result_erg = pg_query($conn, $qry_erg))
{
if(pg_num_rows($result_erg)>0)
{
while($row_erg = pg_fetch_object($result_erg))
{
//$ausgabe1.= "mitarbeiter_uid: '".$row_erg->mitarbeiter_uid. "' studiengang_kz: '".$row_erg->studiengang_kz."' studiensemester_kurzbz: '". $row_erg->studiensemester_kurzbz."' semesterstunden: '".$row_erg->semesterstunden."' semester: '". $row_erg->semester."' semesterwochen: '". $row_erg->wochen."'\n";
if($row_erg->wochen==null || $row_erg->wochen<2)
{
$wochendiv=15;
}
else
{
$wochendiv=$row_erg->wochen;
}
if(isset($stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz]))
{
$stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz]+=$row_erg->semesterstunden/$wochendiv;
}
else
{
$stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz]=$row_erg->semesterstunden/$wochendiv;
}
//$ausgabe1.='$stundensumme['.$row_erg->mitarbeiter_uid.']['.$row_erg->studiengang_kz.'] '.$stundensumme[$row_erg->mitarbeiter_uid][$row_erg->studiengang_kz][$row_erg->studiensemester_kurzbz]."\n";
}
//schleife über alle stg, in denen stunden vorhanden sind
$qry_stg="SELECT studiengang_kz FROM public.tbl_studiengang WHERE studiengang_kz>1 AND studiengang_kz<999;";
if($result_stg = pg_query($conn, $qry_stg))
{
while($row_stg = pg_fetch_object($result_stg))
{
//echo "stg: ".$row_stg->studiengang_kz."<br>";
if(isset($stundensumme[$row->mitarbeiter_uid][$row_stg->studiengang_kz]))
{
//echo "stg mit inhalt: ".$row_stg->studiengang_kz."<br>";
$qry_vw="SELECT * FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid='".$row->mitarbeiter_uid."'".
" AND beginn<='".$beginn[$semester[1]]."' AND (ende::varchar is null OR ende>='".$ende[$semester[2]]."');";
if($result_vw = pg_query($conn, $qry_vw))
{
if(pg_num_rows($result_vw)>=1)
{
while($row_vw = pg_fetch_object($result_vw))
{
$qry_ins='';
//$ausgabe2="Stundensumme in qry: ".$stundensumme[$row_erg->mitarbeiter_uid][$row_stg->studiengang_kz]."\n";
$qry_ins="INSERT INTO bis.tbl_bisfunktion (bisverwendung_id, studiengang_kz, sws, updateamum, updatevon, insertvon, insertamum, ext_id)
VALUES (".myaddslashes($row_vw->bisverwendung_id).", ".myaddslashes($row_stg->studiengang_kz).", ".myaddslashes($stundensumme[$row->mitarbeiter_uid][$row_stg->studiengang_kz]).", "."now(), "."'SYNC', "."now(), "."'SYNC', "."NULL".");";
$ausgabe2.= "Verwendung von Mitarbeiter ".$row->mitarbeiter_uid." (ID/Code):".$row_vw->bisverwendung_id." ".$row_vw->verwendung_code."/".$row_vw->ba1code." -- ".$row_vw->beginn."/".$row_vw->ende." (".$beginn[$semester[1]]."/".$ende[$semester[2]].")\n-----".$qry_ins."\n";
}
}
else
{
while($row_vw = pg_fetch_object($result_vw))
{
$error_log.=$ausgabe2."#####Verwendung(ID/Code):".$row_vw->bisverwendung_id." ".$row_vw->verwendung_code."/".$row_vw->ba1code." -- ".$row_vw->beginn."/".$row_vw->ende." (".$beginn[$semester[1]]."/".$ende[$semester[2]].")\n";
}
}
}
}
}
}
}
}
$ausgabe_all.=$ausgabe1." ".$ausgabe2;
$ausgabe1='';
$ausgabe2='';
}
}
//echo nl2br("Fehler: ".$fehler."\n".$error_log);
//echo nl2br("\n***********************************\nLog: \n".$ausgabe);
echo nl2br("Log:\n".$ausgabe_all);
echo nl2br("Fehler:\n".$error_log);
//mail($adress, 'Fehler BIS-Funktionen von '.$_SERVER['HTTP_HOST'], "Fehler: ".$fehler."\n".$error_log,"From: vilesci@technikum-wien.at");
//mail($adress, 'BIS-Funktionen von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
@@ -1,108 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert aufmerksamdurchdatensaetze von FAS DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
include('../../../include/aufmerksamdurch.class.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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Aufmerkamdurch</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS-PORTAL - Synchronisation
*/
$qry = "SELECT * FROM aufmerksamdurch;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Aufmerksamdurch Sync\n-------------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
echo "- ";
ob_flush();
flush();
$error=false;
$aufmerksamdurch =new aufmerksamdurch($conn);
$aufmerksamdurch->aufmerksamdurch_kurzbz =substr($row->name,0,8);
$aufmerksamdurch->beschreibung =$row->name;
$aufmerksamdurch->ext_id =$row->aufmerksamdurch_pk;
//Insert oder Update
$qry3="SELECT aufmerksamdurch_kurzbz FROM tbl_aufmerksamdurch WHERE aufmerksamdurch_kurzbz='".$aufmerksamdurch->aufmerksamdurch_kurzbz."';";
if($result3 = pg_query($conn, $qry3))
{
if(pg_num_rows($result3)>0) //eintrag gefunden
{
if($row3=pg_fetch_object($result3))
{
// update , wenn datensatz bereits vorhanden
$aufmerksamdurch->new=false;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$aufmerksamdurch->new=true;
}
}
If (!$error)
{
if(!$aufmerksamdurch->save())
{
$error_log.=$aufmerksamdurch->errormsg."\n";
$anzahl_fehler++;
}
else
{
$anzahl_eingefuegt++;
}
}
}
}
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
$error_log.="\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler";
mail($adress, 'SYNC Aufmerksamdurch', $error_log);
?>
</body>
</html>
@@ -1,127 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Fachbereichsdatensaetze von FAS DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
include('../../../include/fachbereich.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//fachbereich
$qry = "SELECT * FROM fachbereich";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Fachbereich Sync\n-----------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$fachbereich = new fachbereich($conn);
$fachbereich->fachbereich_kurzbz ='';
$fachbereich->studiengang_kz ='';
$fachbereich->bezeichnung =$row->name;
$fachbereich->farbe ='';
$fachbereich->ext_id =$row->fachbereich_pk;
$qry = "SELECT * FROM tbl_fachbereich WHERE ext_id='$fachbereich->ext_id'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Fachbereichsdaten updaten
$fachbereich->fachbereich_kurzbz =$row1->fachbereich_kurzbz;
$fachbereich->studiengang_kz =$row1->studiengang_kz;
$fachbereich->farbe =$row1->farbe;
$fachbereich->new=false;
}
else
{
$error_log.="fachbereich_id von $row->fachbereich_id konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Fachbereich neu anlegen
$fachbereich->new=true;
}
if(!$error)
if(!$fachbereich->save())
{
$error_log.=$fachbereich->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Fachbereichsdatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Fachbereiche</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
$error_log.="\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler";
mail($adress, 'SYNC Fachbereich von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,330 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert diverse Datensaetze von FAS DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
$anzahl_quelle2=0;
$anzahl_eingefuegt2=0;
$anzahl_fehler2=0;
function validate($row)
{
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Kleinvieh</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*$raumtyp=array('SEM','GLAB','UEB','HSk','HSg','LM','CLAB','PLAB','RLAB','ESLab','TKLab','EDV6','Dummy','EXT','DIV','EDV2','BMLab','DASLab','SETLab','ITSLab','EDV5');
$rtbeschreibung=array('Seminiarraum','Laboratoium','Übungsraum','Hörsaal klein','Hörsaal groß','Lehrmittel','Chemielabor','Projektlabor','Robotiklabor','Embedded Systems Labor','Telekom Labor','EDV-Saal 6.Stock','Dummy','Externe Räume','Diverse','EDV_Saal 2.Stock','Biomechanisches Labor','Datensicherheitslabor','SET Labor','ITS Labor','EDV-Saal 5. Stock');
for($i=0;$i<20;$i++)
{
$qry="INSERT INTO public.tbl_raumtyp(raumtyp_kurzbez, beschreibung)VALUES('$raumtyp[$i]','$rtbeschreibung[$i]');";
pg_query($conn,$qry);
}
ECHO NL2BR ( "\nraumtyp synchronisiert");*/
$aufmerksam_kurzbz=array('k.A.', 'Internet', 'Zeitungen','Werbung','Mundpropaganda','FH-Führer','BEST Messe','Partnerfirma','Schule','Bildungstelefon',
'TGM','Abgeworben','Technikum Wien','Aussendungen','offene Tür');
$beschreibung=array('keine Angabe',null,null,'Werbung, Veranstaltungen', null,null,null,null,null,'Bildungstelefon AK',null,'Abgeworben von Konkurrenz',null,'Aussendungen eines Studiengangs','Tag der offenen Tür');
for ($i=0; $i<=14; $i++)
{
$qry="INSERT INTO public.tbl_aufmerksamdurch (aufmerksamdurch_kurzbz, beschreibung, ext_id) VALUES('".
$aufmerksam_kurzbz[$i]."', '".
$beschreibung[$i]."', '".
($i+1)."');";
pg_query($conn,$qry);
}
ECHO NL2BR ( "aufmerksamdurch synchronisiert");
//$qry="INSERT INTO public.tbl_erhalter (erhalter_kz, kurzbz, bezeichnung, dvr, logo, zvr) VALUES('5', 'TW','Technikum Wien', '0928381',null,'074476426');";
//$result=pg_query($conn,$qry);
//ECHO NL2BR ( "\nerhalter synchronisiert");
$status_kurzbz=array('Interessent','Bewerber','Student','Ausserordentlicher','Abgewiesener','Aufgenommener','Wartender',
'Abbrecher','Unterbrecher','Outgoing','Incoming','Praktikant','Diplomant','Absolvent');
for ($i=0; $i<=13; $i++)
{
$qry="INSERT INTO public.tbl_status(status_kurzbz, beschreibung, anmerkung, ext_id) VALUES('".
$status_kurzbz[$i]."', null, null,'".($i+1)."');";
pg_query($conn,$qry);
}
ECHO NL2BR ( "\nrolle synchronisiert");
$sprache=array('German','English','Espanol');
for ($i=0; $i<=2; $i++)
{
$qry="INSERT INTO public.tbl_sprache(sprache) VALUES('".
$sprache[$i]."');";
pg_query($conn,$qry);
}
ECHO NL2BR ( "\nsprache synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('6','CEEPUS','CEEPUS');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('7','ERASMUS','ERASMUS');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('9','LEONARDO','LEONARDO da VINCI');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('10','supranat','Praktikum bei einer internationalen oder supranationalen Organisation');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('11','DAF','Deutsch als Fremdsprache - Praktikum (DAF)');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('12','Postgrad','Postgraduate - Stipendium (Fulbright, Bundesministerium für Bildung, Wissenschaft und Kultur');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('13','Austausch','Austauschstipendium (z.B. Kulturabkommen, Aktionen Österreich-...)');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('14','Ausland','Auslandstipendium für Studierende von Universitäten der Künste');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('20','Gödel','Kurt Gödl - Stipendium');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('22','ALektorat','Auslandslektorat');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('30','so.Stip.','sonstiges Stipendium');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('31','EZusS','Stipendium der österreichischen Entwicklungszusammenarbeit');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('32','ÖStip','Österreich - Stipendium');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('33','Mach','Erst Mach - Stipendium');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('34','Werfel','Franz Werfel - Stipendium');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('35','Suttner','Bertha von Suttner - Stipendium');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('37','APART','APART - Stipendium der Österreichischen Akademie der Wissenschaften');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('41','EU3Prog.','EU-Drittstaatenprogramm (EU-China, EU-USA, EU-Kanada, usw.)');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('42','EUPrak','EU-Praktikumstipendium (EU-Kommission, EU-Rat, EU_Parlament)');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('201','FH-Mob','Von der FH organisierte/r Mobilitätsvereinbarung (Partnerschaftsabkommen, udgl.) bzw. Aufenthalt');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('202','selbst','Vom Studierenden selbst organisierte/r Mobilitätsvereinbarung bzw. Aufenthalt');");
pg_query($conn,"INSERT INTO bis.tbl_mobilitaetsprogramm(mobilitaetsprogramm_code, kurzbz, beschreibung) VALUES ('203','FHspez.','FH-spezifisches Mobilitätsprogramm mit einem anderen österreichischen FH-Studiengang');");
ECHO NL2BR ( "\nmobilitaetsprogramm synchronisiert");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','11','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','11','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','91','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','91','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','92','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','92','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','94','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','94','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','145','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','145','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','182','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','182','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
//pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','203','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
//pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','203','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','204','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','204','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','222','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','222','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','227','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','228','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','254','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','255','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','256','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','257','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','258','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','297','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','298','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','299','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','300','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','301','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','302','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','303','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','308','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','308','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','327','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','328','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','329','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','330','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','331','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','332','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','333','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','334','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','335','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','336','Master of Science in Engineering',null);");
ECHO NL2BR ( "\nakadgrad synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('0','nicht berufstätig','n.berufstätig')");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('2','arbeitslos gemeldet mit facheinschlägiger Berufserfahrung','fach.arbeitslos')");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('3','arbeitslos gemeldet sonstige','so.arbeitslos')");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('6','Vollzeit facheinschlägig berufstätig','Vz fach')");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('7','Teilzeit facheinschlägig berufstätig','Tz fach')");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('9','Vollzeit nicht facheinschlägig berufstätig','Vz sonst')");
pg_query($conn,"INSERT INTO bis.tbl_berufstaetigkeit (berufstaetigkeit_code, berufstaetigkeit_bez, berufstaetigkeit_kurzbz) VALUES ('10','Teilzeit nicht facheinschlägig berufstätig','Tz sonst')");
ECHO NL2BR ( "\nberufstätigkeit synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('4','Anerkannte Studienberechtigungsprüfung','Studberprüfung');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('5','Ausländische Universitätsreife','Ausl.Univreife');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('6','Abschlusszeugnis einer facheinschlägigen BMS','FachBMS');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('7','Lehrabschlussprüfung mit allfälligen Zusatzqualifikationen','Lehrabschluss');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('8','Werkmeister','Werkmeister');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('9','AHS (langform)','AHS-lang');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('10','Oberstufenrealgymnasium','OberstufenRG');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('11','AHS (Sonderformen)','AHS-sonder');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('12','Höhere technische und gewerbliche Lehranstalten','Htg.Lehranstalt');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('13','Handelsakademien','Handelsakademien');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('14','Höhere Lehranstalt für wirtschaftliche Berufe','Wirtschaftl.Ber.');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('15','Höhere land- und forstwirtschaftliche Lehranstalten','Land-u.Forst');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('16','Höhere Schulen der Lehrer- und Erzieherbildung','Lehrer');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('17','Externistenreifeprüfung','Externist');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('18','Berufreifeprüfung','Berufsreife');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('19','Inländische postsekundäre Bildungseinrichtung','Inl.postsekundär');");
pg_query($conn,"INSERT INTO bis.tbl_zgv (zgv_code, zgv_bez, zgv_kurzbz) VALUES ('99','Sonstige','Sonstige');");
ECHO NL2BR ( "\nzgv synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('1','FH-Abschluss Bachelor (Inland)','FH-Bachelor (I)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('2','FH-Abschluss Bachelor (Ausland)','FH-Bachelor (A)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('3','Abschluss postsekundäres Studium (Inland)','postsek.Inland');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('4','Abschluss postsekundäres Studium (Ausland)','postsek.Ausland');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('5','Univ.-Abschluss Bachelor (Inland)','Uni-Bachelor (I)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('6','Univ.-Abschluss Bachelor (Ausland)','Uni-Bachelor (A)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('7','FH-Abschluss Dipl.-Ing. / Mag. / Master / Dr. (Inland)','FH-Master (I)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('8','FH-Abschluss Dipl.-Ing. / Mag. / Master / Dr. / PhD (Ausland)','FH-Master (A)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('9','Univ. Abschluss Dipl.-Ing. / Mag. / Master / Dr. (Inland)','Uni-Master (I)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('10','Univ. Abschluss Dipl.-Ing. / Mag. / Master / Dr. / PhD (Ausland)','Uni-Master (A)');");
pg_query($conn,"INSERT INTO bis.tbl_zgvmaster (zgvmas_code, zgvmas_bez, zgvmas_kurzbz) VALUES ('11','Sonstige','Sonstige');");
ECHO NL2BR ( "\nzgvmaster synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('1','PhD','Universitätsabschluss mit Doktorat als Zweit- oder Drittabschluss oder PhD-Abschluss');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('2','Univ.-Master','Universitäts- oder Hochschulabschluss auf Dipolom- oder Masterebene, Doktorat der Medizin bzw. der Human- oder Zahnmedizin oder Doktorat auf Grund von Studienvorschriften aus der Zeit vor dem Inkrafttretendes AHStG BGBl. Nr. 177/1966 oder Abschluss eines Universitätslehrganges oder Lehrganges universitären Charakters (§51 Abs. 2 Z 23 UG 2002 oder §§26 Abs.1 und 28 Abs.1 UniStG) oder eines Lehrganges zur Weiterbildung (§14a Abs.2 FHStG) mit Mastergrad');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('3','FH-Master','Fachhochschulabschluss auf Diplom- oder Masterebene');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('4','Univ.-Bachelor','Universitäts- oder Hochschulabschluss auf Bachelorebene (einschließlich Kurzstudien)');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('5','FH-Bachelor','Fachhochschulabschluss auf Bachelorebene');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('6','Akad-Diplom','Diplom einer Akademie für Lehrerbildung, Akademie für Sozialarbeit, Medizinisch-technische Akademie, Hebammenakademie, Militärakademie oder einer anderen anerkannten postsekundären Bildungseinrichtung');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('7','tertiär','Anderer tertieärer Bildungsabschluss (Kolleg; Meisterprüfung; Universitätslehrgang oder Lehrgang gemäß §14a Abs.3 FHStG, mit dem kein akademischer Grad verbunden war)');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('8','AHS','Reifeprüfung an einer allgemeinbildenden höheren Schule');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('9','BHS','Reife- und Diplomprüfung einer berufsbildenden oder lehrer- und erzieherbildenden höheren Schule');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('10','Lehrabschluss','Lehrabschlussprüfung, berufsbildende mittlere Schule oder vergleichbare Berufsausbildung');");
pg_query($conn,"INSERT INTO bis.tbl_ausbildung (ausbildungcode, ausbildungbez, ausbildungbeschreibung) VALUES ('11','Pflichtschule','Pflichtschule');");
ECHO NL2BR ( "\nausbildung synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez) VALUES ('1','Dienstverhältnis zum Bund');");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez) VALUES ('2','Dienstverhältnis zu einer anderen Gebietskörperschaft');");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez) VALUES ('3','Dienstverhältnis zur Bildungseinrichtung oder deren Träger (Echter Dienstvertrag)');");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez) VALUES ('4','Dienstverhältnis zur Bildungseinrichtung oder deren Träger (Freier Dienstvertrag)');");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez) VALUES ('5','Lehr- oder Ausbildungsverhältnis');");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart1(ba1code, ba1bez) VALUES ('6','Sonstiges Beschäftigungsverhältnis (inkludiert z.B. Werkverträge');");
ECHO NL2BR ( "\nbeschaeftigungsart1 synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart2(ba2code, ba2bez) VALUES ('1','unbefristet');");
pg_query($conn,"INSERT INTO bis.tbl_beschaeftigungsart2(ba2code, ba2bez) VALUES ('2','befristet');");
ECHO NL2BR ( "\nbeschaeftigungsart2 synchronisiert");
pg_query($conn, "INSERT INTO bis.tbl_beschaeftigungsausmass(beschausmasscode, beschausmassbez, min, max) VALUES ('1','Vollzeit','36','168')");
pg_query($conn, "INSERT INTO bis.tbl_beschaeftigungsausmass(beschausmasscode, beschausmassbez, min, max) VALUES ('2','0-15','0','15')");
pg_query($conn, "INSERT INTO bis.tbl_beschaeftigungsausmass(beschausmasscode, beschausmassbez, min, max) VALUES ('3','16-25','16','25')");
pg_query($conn, "INSERT INTO bis.tbl_beschaeftigungsausmass(beschausmasscode, beschausmassbez, min, max) VALUES ('4','26-35','26','35')");
pg_query($conn, "INSERT INTO bis.tbl_beschaeftigungsausmass(beschausmasscode, beschausmassbez, min, max) VALUES ('5','Karenz','0','0')");
ECHO NL2BR ( "\nbeschaeftigungsausmass synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('1','Lehr- und Forschungspersonal (Academic staff)');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('2','Lehr- und Forschungshilfspersonal (Teaching and Research assistants)');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('3','Akademische Dienste für Studierende(Academic Support');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('4','Soziale Dienste und Gesundheitsdienste (Health and Social Support');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('5','Studiengangsleiter/in');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('6','Leiter/in FH-Kollegium');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('7','Management (Scool Level Management');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('8','Verwaltung (Scool Level Administrative Personnel');");
pg_query($conn,"INSERT INTO bis.tbl_verwendung(verwendung_code, verwendungbez) VALUES ('9','Hauspersonal, Gebäude-/Hautechnik (Maintainance and Operations Personnel');");
ECHO NL2BR ( "\nverwendung synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_besqual(besqualcode, besqualbez) VALUES ('0','Keine');");
pg_query($conn,"INSERT INTO bis.tbl_besqual(besqualcode, besqualbez) VALUES ('1','Habilitation');");
pg_query($conn,"INSERT INTO bis.tbl_besqual(besqualcode, besqualbez) VALUES ('2','der Habilitation gleichwertige Qualifikation');");
pg_query($conn,"INSERT INTO bis.tbl_besqual(besqualcode, besqualbez) VALUES ('3','berufliche Tätigkeit');");
ECHO NL2BR ( "\nbesqual synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('0','Universität');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('1','Fachhochschule');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('2','Andere postsekundäre Bildungseinrichtung');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('3','Allgemeinbildende höhere Schule');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('4','Berufsbildende höhere Schule');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('5','Andere Schule');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('6','Öffentlicher Sektor');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('7','Unternehmenssektor');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('8','Freiberuflich tätig');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('9','Privater gemeinnütziger Sektor');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('10','Außerhochschulische Forschungseinrichtung');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('11','Internationale Organisation');");
pg_query($conn,"INSERT INTO bis.tbl_hauptberuf(hauptberufcode, bezeichnung) VALUES ('12','Sonstiges');");
ECHO NL2BR ( "\nhauptberuf synchronisiert");
pg_query($conn,"INSERT INTO bis.tbl_zweck(zweck_code, kurzbz, bezeichnung) VALUES ('1','S','Studium');");
pg_query($conn,"INSERT INTO bis.tbl_zweck(zweck_code, kurzbz, bezeichnung) VALUES ('2','P','Praktikum');");
pg_query($conn,"INSERT INTO bis.tbl_zweck(zweck_code, kurzbz, bezeichnung) VALUES ('3','SP','Studium und Praktikum');");
ECHO NL2BR ( "\nzweck synchronisiert");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('1','Sehr Gut','1');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('2','Gut','2');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('3','Befriedigend','3');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('4','Genügend','4');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('5','Nicht Genügend','5');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('6','angerechnet','ar');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('7','Nicht beurteilt','nb');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('8','Teilgenommen','tg');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('9','Noch nicht eingetragen', null);");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('10','Bestanden','b');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('11','Approbiert','ap');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('12','Erfolgreich absolviert','ea');");
pg_query($conn,"INSERT INTO lehre.tbl_note(note, bezeichnung, anmerkung) VALUES ('13','Nicht erfolgreich absolviert','nea');");
ECHO NL2BR ( "\nnote synchronisiert");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Geburtsu','Geburtsurkunde','2');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Staatsbn','Staatsbürgerschaftsnachweis','3');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Meldezet','Meldezettel','4');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Maturaze','Maturazeugnis','5');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Führungs','Führungszeugnis','6');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Lichtbil','2 Lichtbilder','7');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('SVNr','Sozialversicherungsnummer','8');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Ausbvert','Ausbildungsvertrag 2-fach','9');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Statisti','Statistikblatt','10');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Studausw','Studentenausweis','11');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Heiratsu','Heiratsurkunde','13');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('Ing.Nach','Ing.Nachweis','14');");
pg_query($conn,"INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES ('BD-urkun','Bakkalaureats- bzw. Diplomurkunde','15');");
ECHO NL2BR ( "\ndokument synchronisiert");
pg_query($conn,"INSERT INTO public.tbl_firmentyp(firmentyp_kurzbz, beschreibung) VALUES ('Partnerfirma','');");
pg_query($conn,"INSERT INTO public.tbl_firmentyp(firmentyp_kurzbz, beschreibung) VALUES ('Partneruniversität','');");
ECHO NL2BR ( "\nfirmentyp synchronisiert");
pg_query($conn, "INSERT INTO lehre.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('Bachelor','Bachelorarbeit');");
pg_query($conn, "INSERT INTO lehre.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('Diplom','Diplomarbeit');");
pg_query($conn, "INSERT INTO lehre.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('Projekt','Projektarbeit');");
pg_query($conn, "INSERT INTO lehre.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('Praktikum','Berufspraktikum');");
pg_query($conn, "INSERT INTO lehre.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('Praxis','Praxissemester');");
ECHO NL2BR ( "\nprojekttyp synchronisiert");
pg_query($conn, "INSERT INTO lehre.tbl_pruefungstyp(pruefungstyp_kurzbz, beschreibung) VALUES ('Bachelor','Bachelorprüfung');");
pg_query($conn, "INSERT INTO lehre.tbl_pruefungstyp(pruefungstyp_kurzbz, beschreibung) VALUES ('Diplom','Diplomprüfung');");
ECHO NL2BR ( "\npruefungstyp synchronisiert");
pg_query($conn, "INSERT INTO public.tbl_kontakttyp(kontakttyp, beschreibung) VALUES ('email','E-Mail');");
pg_query($conn, "INSERT INTO public.tbl_kontakttyp(kontakttyp, beschreibung) VALUES ('telefon','Telefonnummer');");
pg_query($conn, "INSERT INTO public.tbl_kontakttyp(kontakttyp, beschreibung) VALUES ('mobil','Mobiltelefonnummer');");
pg_query($conn, "INSERT INTO public.tbl_kontakttyp(kontakttyp, beschreibung) VALUES ('fax','Faxnummer');");
pg_query($conn, "INSERT INTO public.tbl_kontakttyp(kontakttyp, beschreibung) VALUES ('so.tel','sonstige Telefonnummer');");
ECHO NL2BR ( "\nkontaktyp synchronisiert");
?>
</body>
</html>
@@ -1,398 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Adressendatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/adresse.class.php');
require_once('../../../include/firma.class.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$anzahl_quelle2=0;
$anzahl_eingefuegt2=0;
$anzahl_update2=0;
$anzahl_fehler2=0;
$ausgabe='';
$ausgabe_adresse='';
$update=false;
function validate($row)
{
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Adresse</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//nation
$qry = "SELECT * FROM adresse WHERE person_fk IN
(SELECT person_fk FROM mitarbeiter WHERE creationdate>'2007-07-12');";
if($result = pg_query($conn_fas, $qry))
{
echo "Adresse Sync\n--------------<br>";
echo "Adressensynchro Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."<br><br>";
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$adresse =new adresse($conn);
$adresse->name =$row->name;
$adresse->strasse =$row->strasse;
$adresse->plz =$row->plz;
$adresse->ort =$row->ort;
$adresse->gemeinde =$row->gemeinde;
$adresse->nation =$row->nation;
//$adresse->typ =$row->typ; //h=Hauptws.(2), n=Nebenws.(3), f=Firma(1)
$adresse->heimatadresse =$row->bismeldeadresse=='J'?true:false;
$adresse->zustelladresse =$row->zustelladresse=='J'?true:false;
$adresse->firma_id =null;
//$adresse->updateamum =$row->;
$adresse->updatevon ="SYNC";
$adresse->insertamum =$row->creationdate;
//$adresse->insertvon ="SYNC";
$adresse->ext_id =$row->adresse_pk;
if($row->typ=='1')
{
$adresse->typ='f';
}
elseif($row->typ=='2')
{
$adresse->typ='h';
}
if($row->typ=='3')
{
$adresse->typ='n';
}
else
{
$adresse->typ='h';
}
$ausgabe_adresse='';
$update=false;
//echo nl2br ($adresse->ext_id."\n");
$qrycu="SELECT name FROM benutzer WHERE benutzer_pk='".$row->creationuser."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
{
$adresse->insertvon=$rowcu->name;
}
}
//person_id herausfinden
$qry1="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas=".$row->person_fk.";";
if($result1 = pg_query($conn, $qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
{
if($row1=pg_fetch_object($result1))
{
$adresse->person_id=$row1->person_portal;
$qry2="SELECT * FROM public.tbl_adresse WHERE ext_id=".$row->adresse_pk.";";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
$update=false;
if(trim($row2->name)!=trim($adresse->name))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Name: '".trim($adresse->name)."'";
}
else
{
$ausgabe_adresse="Name: '".trim($adresse->name)."'";
}
}
if(trim($row2->strasse)!=trim($adresse->strasse))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Strasse: '".trim($adresse->strasse)."'";
}
else
{
$ausgabe_adresse="Strasse: '".trim($adresse->strasse)."'";
}
}
if(trim($row2->plz)!=trim($adresse->plz))
{
$update=true;
if(strlen(trim($ausgabe_plz))>0)
{
$ausgabe_adresse.=", Plz: '".trim($adresse->plz)."'";
}
else
{
$ausgabe_adresse="Plz: '".trim($adresse->plz)."'";
}
}
if(trim($row2->ort)!=trim($adresse->ort))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Ort: '".trim($adresse->ort)."'";
}
else
{
$ausgabe_adresse="Ort: '".trim($adresse->ort)."'";
}
}
if(trim($row2->gemeinde)!=trim($adresse->gemeinde))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Gemeinde: '".trim($adresse->gemeinde)."'";
}
else
{
$ausgabe_adresse="Gemeinde: '".trim($adresse->gemeinde)."'";
}
}
if(trim($row2->nation)!=trim($adresse->nation))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Nation: '".trim($adresse->nation)."'";
}
else
{
$ausgabe_adresse="Nation: '".trim($adresse->nation)."'";
}
}
if(trim($row2->typ)!=trim($adresse->typ))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Typ: '".trim($adresse->typ)."'";
}
else
{
$ausgabe_adresse="Typ: '".trim($adresse->typ)."'";
}
}
if($row2->heimatadresse!=($adresse->heimatadresse=='J'?'t':'f'))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Heimatadresse: '".($adresse->heimatadresse=='J'?'true':'false')."'";
}
else
{
$ausgabe_adresse="Heimatadresse: '".($adresse->heimatadresse=='J'?'true':'false')."'";
}
}
if($row2->zustelladresse!=($adresse->zustelladresse=='J'?'t':'f'))
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Zustelladresse: '".($adresse->zustelladresse=='J'?'true':'false')."'";
}
else
{
$ausgabe_adresse="Zustelladresse: '".($adresse->zustelladresse=='J'?'true':'false')."'";
}
}
if($row2->insertamum!=$adresse->insertamum)
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Insertamum: '".$adresse->insertamum."' (statt '".$row2->insertamum."')";
}
else
{
$ausgabe_adresse="Insertamum: '".$adresse->insertamum."' (statt '".$row2->insertamum."')";
}
}
if($row2->insertvon!=$adresse->insertvon)
{
$update=true;
if(strlen(trim($ausgabe_adresse))>0)
{
$ausgabe_adresse.=", Insertvon: '".$adresse->insertvon."' (statt '".$row2->insertvon."')";
}
else
{
$ausgabe_adresse="Insertvon: '".$adresse->insertvon."' (statt '".$row2->insertvon."')";
}
}
if ($update)
{
// update adresse, wenn datensatz bereits vorhanden
$adresse->new=false;
$adresse->adresse_id=$row2->adresse_id;
}
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$adresse->new=true;
//firma eintragen, wenn firmenadresse
if ($row->typ==1 && strlen(trim($row->bezeichnung))>0 && $row->bezeichnung!=NULL)
{
$anzahl_quelle2++;
$firma=new firma($conn);
$firma->name=$row->bezeichnung;
$firma->anmerkung=null;
$firma->ext_id=$row->adresse_pk;
$firma->firmentyp_kurzbz='Partnerfirma';
$qry3="SELECT firma_id, ext_id FROM tbl_firma WHERE ext_id=".$row->adresse_pk.";";
if($result3 = pg_query($conn, $qry3))
{
if(pg_num_rows($result3)>0) //eintrag gefunden
{
if($row3=pg_fetch_object($result3))
{
$firma->new=false;
$firma->firma_id=$row3->firma_id;
}
else
{
$error_log.="Firma mit adresse_pk: $row->adresse_pk konnte nicht ermittelt werden! Firma wird nicht eingetragen.\n";
}
}
else
{
$firma->new=true;
}
}
if(!$error)
{
if(!$firma->save())
{
$error_log.=$firma->errormsg."\n";
$anzahl_fehler2++;
$error_log.="Firma mit adresse_pk: $row->adresse_pk wurde nicht eingetragen!\n";
}
else
{
if($firma->new)
{
$ausgabe.="Firma ".$firma->name." eingefügt.\n";
$anzahl_eingefuegt2++;
}
else
{
$ausgabe.="Firma ".$firma->name." geändert.\n";
$anzahl_update2++;
}
}
$adresse->firma_id=$firma->firma_id;
}
}
}
}
}
else
{
$ausgabe_adresse='';
$error=true;
$error_log.="adresse mit adresse_pk: ".$row->adresse_pk." konnte nicht ermittelt werden!\n";
$anzahl_fehler++;
}
}
else
{
$ausgabe_adresse='';
$error=true;
$error_log.="Person mit person_pk '$row->person_fk' für Adresse mit adresse_pk '$row->adresse_pk' konnte in tbl_syncperson nicht gefunden werden!\n";
$anzahl_fehler++;
}
}
if(!$error)
{
if($adresse->new || $update)
{
if(!$adresse->save())
{
$error_log.=$adresse->errormsg."\n";
$anzahl_fehler++;
}
else
{
if($adresse->new)
{
$ausgabe.="Adresse '".$adresse->plz."', '".$adresse->strasse."' eingefügt.\n";
$anzahl_eingefuegt++;
}
else
{
if($update)
{
$ausgabe.="Adresse '".$adresse->plz."', '".$adresse->strasse."' geändert: ".$ausgabe_adresse."\n";
$anzahl_update++;
}
}
//echo "- ";
//ob_flush();
//flush();
}
}
}
//flush();
}
}
echo "Adressensynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."<br><br>";
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nAdresse\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler");
echo nl2br("\nFirma\nGesamt: $anzahl_quelle2 / Eingefügt: $anzahl_eingefuegt2 / Geändert: $anzahl_update2 / Fehler: $anzahl_fehler2");
echo nl2br("\n".$ausgabe);
$ausgabe="\nAdresse\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler"
."\nFirma\nGesamt: $anzahl_quelle2 / Eingefügt: $anzahl_eingefuegt2 / Geändert: $anzahl_update2 / Fehler: $anzahl_fehler2\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler Adresse von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Adresse von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,96 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Akadgrad - Datensaetze von FAS DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log = '';
$text = '';
$anzahl_quelle = 0;
$anzahl_eingefuegt = 0;
$anzahl_fehler = 0;
$anzahl_quelle2 = 0;
$anzahl_eingefuegt2 = 0;
$anzahl_fehler2 = 0;
function validate($row)
{
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Akademische Grade</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','11','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','11','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','91','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','91','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','92','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','92','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','94','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','94','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','145','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','145','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','182','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','182','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
//pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','203','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
//pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','203','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','204','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','204','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','222','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','222','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','227','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','228','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','254','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','255','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','256','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','257','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','258','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','297','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','298','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','299','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','300','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','301','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','302','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','303','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','308','Diplomingenieur (FH) für technisch-wissenschaftliche Berufe','m');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('Dipl.-Ing.(FH)','308','Diplomingenieurin (FH) für technisch-wissenschaftliche Berufe','w');");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','327','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','328','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','329','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','330','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','331','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','332','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','333','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','334','Master of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('BSc','335','Bachelor of Science in Engineering',null);");
pg_query($conn,"INSERT INTO lehre.tbl_akadgrad (akadgrad_kurzbz, studiengang_kz, titel, geschlecht) VALUES ('MSc','336','Master of Science in Engineering',null);");
ECHO NL2BR ( "\nakadgrad synchronisiert");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,454 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Diplomprüfungsdatensä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;
$studiengang_kz='';
$abschlussbeurteilung_kurzbz='';
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Bachelorprüfung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry_main = "SELECT * FROM bakkalaureatspruefung;";
if($result = pg_query($conn_fas, $qry_main))
{
echo nl2br("Bachelorprüfung Sync\n----------------------\n");
echo nl2br("Bachelorprüfungsynchro Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//pg_query($conn, "BEGIN");
$error=false;
//$error_log='';
//$abschlusspruefung_id =''; //serial
//$student_uid ='';
//$vorsitz ='';
//$pruefer1 ='';
//$pruefer2 ='';
//$pruefer3 ='';
//$abschlussbeurteilung_kurzbz ='';
//$akadgrad_id ='';
$datum =$row->datum;
$sponsion =$row->feier;
$pruefungstyp_kurzbz ='Bachelor';
$anmerkung =$row->protokoll;
//$updateamum ='';
$updatevon ='SYNC';
$insertamum =$row->creationdate;
//$insertvon ='';
$ext_id =$row->bakkalaureatspruefung_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;
}
}
//student_id ermitteln
$qry="SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE ext_id='".$row->student_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$student_uid=$rowo->student_uid;
$studiengang_kz=$rowo->studiengang_kz;
}
else
{
$error=true;
$error_log.="Student mit student_fk: $row->student_fk konnte nicht gefunden werden.\n";
}
}
//vorsitz ermitteln
if($row->vorsitz_fk>'-1')
{
$qry="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE ext_id='".$row->vorsitz_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$vorsitz=$rowo->mitarbeiter_uid;
}
else
{
$error=true;
$error_log.="Vorsitz mit mitarbeiter_fk: $row->vorsitz_fk konnte nicht gefunden werden.\n";
}
}
}
else
{
$vorsitz=NULL;
}
//prüfer1 ermitteln
if($row->pruefer1_fk>'-1')
{
$qry="SELECT person_id FROM public.tbl_mitarbeiter, public.tbl_benutzer WHERE tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_mitarbeiter.ext_id='".$row->pruefer1_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$pruefer1=$rowo->person_id;
}
else
{
$error=true;
$error_log.="Prüfer1 mit mitarbeiter_fk: $row->pruefer1_fk konnte nicht gefunden werden.\n";
}
}
}
else
{
$pruefer1=NULL;
}
//prüfer2 ermitteln
if($row->pruefer2_fk>'-1')
{
$qry="SELECT person_id FROM public.tbl_mitarbeiter, public.tbl_benutzer WHERE tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_mitarbeiter.ext_id='".$row->pruefer2_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$pruefer2=$rowo->person_id;
}
else
{
$error=true;
$error_log.="Prüfer2 mit mitarbeiter_fk: $row->pruefer2_fk konnte nicht gefunden werden.\n";
}
}
}
else
{
$pruefer2=NULL;
}
//prüfer3 ermitteln, wenn an prüfung teilgenommen
if($row->pruefer3_fk>'-1')
{
$qry="SELECT person_id FROM public.tbl_mitarbeiter, public.tbl_benutzer WHERE tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_mitarbeiter.ext_id='".$row->pruefer3_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$pruefer3=$rowo->person_id;
}
else
{
$error=true;
$error_log.="Prüfer3 mit mitarbeiter_fk: $row->pruefer3_fk konnte nicht gefunden werden.\n";
}
}
}
else
{
$pruefer3=NULL;
}
//beurteilung ermitteln
if($row->beurteilung=='0')
{
$abschlussbeurteilung_kurzbz=NULL;
}
elseif($row->beurteilung=='1')
{
$abschlussbeurteilung_kurzbz='ausgezeichnet';
}
elseif($row->beurteilung=='2')
{
$abschlussbeurteilung_kurzbz='gut';
}
elseif($row->beurteilung=='3')
{
$abschlussbeurteilung_kurzbz='bestanden';
}
elseif($row->beurteilung=='4')
{
$abschlussbeurteilung_kurzbz='nicht';
}
//akadgrad ermitteln
$qry="SELECT akadgrad_id FROM lehre.tbl_akadgrad WHERE studiengang_kz='".$studiengang_kz."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$akadgrad_id=$rowo->akadgrad_id;
}
}
//insert oder update?
if(!$error)
{
$qry="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$student_uid."' AND pruefungstyp_kurzbz='Bachelor' AND ext_id='".$row->bakkalaureatspruefung_pk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$update=false;
if($rowo->vorsitz!=$vorsitz)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Vorsitz: '".$vorsitz."' (statt '".$rowo->vorsitz."')";
}
else
{
$ausgabe1="Vorsitz: '".$vorsitz."' (statt '".$rowo->vorsitz."')";
}
}
if($rowo->pruefer1!=$pruefer1)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfer1: '".$pruefer1."' (statt '".$rowo->pruefer1."')";
}
else
{
$ausgabe1="Prüfer1: '".$pruefer1."' (statt '".$rowo->pruefer1."')";
}
}
if($rowo->pruefer2!=$pruefer2)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfer2: '".$pruefer2."' (statt '".$rowo->pruefer2."')";
}
else
{
$ausgabe1="Prüfer2: '".$pruefer2."' (statt '".$rowo->pruefer2."')";
}
}
if($rowo->pruefer3!=$pruefer3)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfer3: '".$pruefer3."' (statt '".$rowo->pruefer3."')";
}
else
{
$ausgabe1="Prüfer3: '".$pruefer3."' (statt '".$rowo->pruefer3."')";
}
}
if($rowo->abschlussbeurteilung_kurzbz!=$abschlussbeurteilung_kurzbz)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Abschlussbeurteilung: '".$abschlussbeurteilung_kurzbz."' (statt '".$rowo->abschlussbeurteilung_kurzbz."')";
}
else
{
$ausgabe1="Abschlussbeurteilung: '".$abschlussbeurteilung_kurzbz."' (statt '".$rowo->abschlussbeurteilung_kurzbz."')";
}
}
if($rowo->akadgrad_id!=$akadgrad_id)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", akad.Grad: '".$akadgrad_id."' (statt '".$rowo->akadgrad_id."')";
}
else
{
$ausgabe1="Akad.Grad: '".$akadgrad_id."' (statt '".$rowo->akadgrad_id."')";
}
}
if($rowo->datum!=$datum)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfungsdatum: '".$datum."' (statt '".$rowo->datum."')";
}
else
{
$ausgabe1="Prüfungsdatum: '".$datum."' (statt '".$rowo->datum."')";
}
}
if($rowo->sponsion!=$sponsion)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')";
}
else
{
$ausgabe1="Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')";
}
}
if($rowo->pruefungstyp_kurzbz!=$pruefungstyp_kurzbz)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')";
}
else
{
$ausgabe1="Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')";
}
}
if($rowo->anmerkung!=$anmerkung)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Anmerkung: '".$anmerkung."' (statt '".$rowo->anmerkung."')";
}
else
{
$ausgabe1="Anmerkung: '".$anmerkung."' (statt '".$rowo->anmerkung."')";
}
}
if($rowo->insertvon!=$insertvon)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Insertvon: '".$insertvon."' (statt '".$rowo->insertvon."')";
}
else
{
$ausgabe1="Insertvon: '".$insertvon."' (statt '".$rowo->insertvon."')";
}
}
if(date("d.m.Y", $rowo->insertamum)!=date("d.m.Y", $insertamum))
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Insertamum: '".$insertamum."' (statt '".$rowo->insertamum."')";
}
else
{
$ausgabe1="Insertamum: '".$insertamum."' (statt '".$rowo->insertamum."')";
}
}
if($update)
{
$qry="UPDATE lehre.tbl_abschlusspruefung SET ".
"abschlusspruefung_id=".myaddslashes($rowo->abschlusspruefung_id).", ".
"student_uid=".myaddslashes($student_uid).", ".
"vorsitz=".myaddslashes($vorsitz).", ".
"pruefer1=".myaddslashes($pruefer1).", ".
"pruefer2=".myaddslashes($pruefer2).", ".
"pruefer3=".myaddslashes($pruefer3).", ".
"abschlussbeurteilung_kurzbz=".myaddslashes($abschlussbeurteilung_kurzbz).", ".
"akadgrad_id=".myaddslashes($akadgrad_id).", ".
"datum=".myaddslashes($datum).", ".
"sponsion=".myaddslashes($sponsion).", ".
"pruefungstyp_kurzbz=".myaddslashes($pruefungstyp_kurzbz).", ".
"anmerkung=".myaddslashes($anmerkung).", ".
"insertvon=".myaddslashes($insertvon).", ".
"insertamum=".myaddslashes($insertamum).", ".
"updatevon='SYNC', ".
"updateamum= now(), ".
"ext_id=".myaddslashes($ext_id).
";";
$ausgabe.="Abschlussprüfung von Student mit UID '".$student_uid."' geändert: ".$ausgabe1."\n;";
$anzahl_geaendert++;
}
else
{
$qry="select 1;";
}
}
else
{
$qry="INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1, pruefer2, pruefer3, ".
"abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion, pruefungstyp_kurzbz, anmerkung, ".
"insertvon, insertamum, updatevon, updateamum, ext_id) VALUES (".
myaddslashes($student_uid).", ".
myaddslashes($vorsitz).", ".
myaddslashes($pruefer1).", ".
myaddslashes($pruefer2).", ".
myaddslashes($pruefer3).", ".
myaddslashes($abschlussbeurteilung_kurzbz).", ".
myaddslashes($akadgrad_id).", ".
myaddslashes($datum).", ".
myaddslashes($sponsion).", ".
myaddslashes($pruefungstyp_kurzbz).", ".
myaddslashes($anmerkung).", ".
myaddslashes($insertvon).", ".
myaddslashes($insertamum).", ".
"'SYNC', ".
"now(), ".
myaddslashes($ext_id).
");";
$ausgabe.="Abschlussprüfung von Student mit UID '".$student_uid."' am '".$datum."' eingetragen.\n";
$anzahl_eingefuegt++;
}
}
else
{
$error_log.= "*****\nFehler beim Zugriff auf tbl_abschlusspruefung!\n";
$anzahl_fehler++;
}
if(!pg_query($conn,$qry))
{
$anzahl_fehler++;
$error_log.='Fehler beim Speichern des Bachelorprüfung-Datensatzes von Student:'.$student_uid." \n".$qry."\n";
$ausgabe1='';
}
}
else
{
$anzahl_fehler++;
}
}
$error_log="Sync Bachelorprüfung\n-----------------------\n\n".$error_log."\n";
echo nl2br("Bachelorprüfungsynchro 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 Bachelorprüfung von '.$_SERVER['HTTP_HOST'], $error_log, "From: vilesci@technikum-wien.at");
mail($adress, 'SYNC Bachelorprüfung von '.$_SERVER['HTTP_HOST'], "Sync Bachelorprüfung\n-----------------------\n\nGesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt++." / Geändert: ".$anzahl_geaendert." / Fehler: ".$anzahl_fehler."\n\n".$ausgabe, "From: vilesci@technikum-wien.at");
}
?>
</body>
</html>
@@ -1,165 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Bankverbindungsdatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/bankverbindung.class.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
$ausgabe="";
$ausgabe_all="";
function validate($row)
{
}
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Bankverbindung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS-PORTAL - Synchronisation
*/
//nation
$qry = "SELECT * FROM bankverbindung WHERE person_fk IN
(SELECT person_fk FROM mitarbeiter WHERE creationdate>'2007-07-12');";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Bankverbindung Sync\n---------------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
/*echo "- ";
ob_flush();
flush();*/
$error=false;
$bankverbindung =new bankverbindung($conn);
$bankverbindung->name =$row->name;
$bankverbindung->anschrift =$row->anschrift;
$bankverbindung->bic =$row->bic;
$bankverbindung->blz =$row->blz;
$bankverbindung->iban =$row->iban;
$bankverbindung->kontonr =$row->kontonr;
$bankverbindung->updatevon ="SYNC";
$bankverbindung->insertvon ="SYNC";
$bankverbindung->ext_id =$row->bankverbindung_pk;
if($row->typ=='1')
{
$bankverbindung->typ ='p'; //Privatkonto
$bankverbindung->verrechnung =false;
}
if($row->typ=='2')
{
$bankverbindung->typ ='f'; //Firmenkonto
$bankverbindung->verrechnung =false;
}
if($row->typ=='11')
{
$bankverbindung->typ ='p'; //Privatverrechnungskonto
$bankverbindung->verrechnung =true;
}
if($row->typ=='12')
{
$bankverbindung->typ ='f'; //Firmenverrechnungskonto
$bankverbindung->verrechnung =true;
}
//Person_id feststellen
if($row->kontonr!='')
{
$qry1="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas=".$row->person_fk.";";
if($result1 = pg_query($conn, $qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
{
if($row1=pg_fetch_object($result1))
{
$qry2="SELECT bankverbindung_id, ext_id FROM tbl_bankverbindung WHERE ext_id=".$row->bankverbindung_pk.";";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
// update , wenn datensatz bereits vorhanden
$bankverbindung->person_id=$row1->person_portal;
$bankverbindung->bankverbindung_id=$row2->bankverbindung_id;
$bankverbindung->new=false;
$ausgabe="Bankverbindung aktualisiert: Name '".$bankverbindung->name."', Typ '".$bankverbindung->typ."'.\n";
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$bankverbindung->new=true;
$bankverbindung->person_id=$row1->person_portal;
$ausgabe="Bankverbindung eingefügt: Name '".$bankverbindung->name."', Typ '".$bankverbindung->typ."'.\n";
}
}
}
}
else
{
$error=true;
$error_log.="person mit person_fk: $row->person_fk konnte in tbl_syncperson nicht gefunden werden! (".pg_num_rows($result1).")\n";
$anzahl_fehler++;
}
}
If (!$error)
{
if(!$bankverbindung->save())
{
$error_log.=$bankverbindung->errormsg."\n";
$anzahl_fehler++;
}
else
{
$anzahl_eingefuegt++;
}
}
}
$ausgabe_all.= $ausgabe;
$ausgabe="";
}
}
//echo nl2br($text);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
echo nl2br("\n".$error_log);
echo nl2br("\n".$ausgabe_all);
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler Bankverbindung von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Bankverbindung von '.$_SERVER['HTTP_HOST'], $ausgabe_all,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,271 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Benutzergruppendatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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='';
$error_log_fas='';
$text = '';
$anzahl_quelle=0;
$anzahl_quelle_student=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$nicht_gefunden=0;
$ausgabe='';
$ausgabe_slv='';
$ausgabe_all='';
$update=false;
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Benutzergruppe</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//nation
$qry="SELECT * FROM person left join student on person_pk=person_fk
WHERE uid IS NOT null AND uid<>''
AND perskz IS NOT null AND perskz<>''
ORDER BY Familienname, Vorname;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Benutzergruppe Sync\n----------------------\n");
$anzahl_quelle_student=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$uid ="";
$gruppe_kurzbz ="";
$studiensemester_kurzbz ="";
$updateamum ="";
$updatevon ="SYNC";
$insertamum =$row->creationdate;
//$insertvon =$row->;
$ext_id ="";
$error=false;
$error_log="";
$studiengang_kz='';
$qrycu="SELECT name FROM benutzer WHERE benutzer_pk='".$row->creationuser."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
{
$insertvon=$rowcu->name;
}
}
$qry4="SELECT * from public.tbl_benutzer WHERE ext_id='".$row->student_pk."';";
if($result4 = pg_query($conn, $qry4))
{
if(pg_num_rows($result4)<1)
{
$error=true;
$error_log_fas.="Benutzer mit ext_id='".$row->student_pk."' nicht gefunden! ('".$row->perskz."', '".$row->familienname."', '".$row->vorname."')\n";
$nicht_gefunden++;
}
else
{
if($row4=pg_fetch_object($result4))
{
$uid=$row4->uid;
}
}
}
if(!$error)
{
$qry1="SELECT gruppe_fk FROM student_gruppe WHERE student_fk='".$row->student_pk."' ORDER BY gruppe_fk;";
if($result1 = pg_query($conn_fas, $qry1))
{
while($row1=pg_fetch_object($result1))
{
$error=false;
$error_log="";
$anzahl_quelle++;
$qry2="SELECT * FROM sync.tbl_syncgruppe WHERE fas_gruppe='".$row1->gruppe_fk."';";
$gruppe_kurzbz="";
if($result2 = pg_query($conn, $qry2))
{
if($row2=pg_fetch_object($result2))
{
//echo nl2br("qry2=".$qry2."\n");
$gruppe_kurzbz=$row2->vilesci_gruppe;
}
else
{
$error=true;
}
}
else
{
$error=true;
$error_log="Fehler beim Zugriff auf Tablelle tbl_gruppe.".$qry2;
$anzahl_fehler++;
}
$qry3="SELECT studiensemester_fk,studiengang_fk FROM gruppe WHERE gruppe_pk='".$row1->gruppe_fk."';";
$studiensemester_kurzbz="";
if($result3 = pg_query($conn_fas, $qry3))
{
if($row3=pg_fetch_object($result3))
{
$qry4="SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ext_id='".$row3->studiensemester_fk."';";
if($result4 = pg_query($conn, $qry4))
{
if($row4=pg_fetch_object($result4))
{
$studiensemester_kurzbz=$row4->studiensemester_kurzbz;
}
}
else
{
$error=true;
$error_log="Fehler beim Zugriff auf Tablelle tbl_studiensemester.".$qry4;
$anzahl_fehler++;
}
$qry5="SELECT studiengang_kz FROM public.tbl_studiengang WHERE ext_id='".$row3->studiengang_fk."';";
if($result5 = pg_query($conn, $qry5))
{
if($row5=pg_fetch_object($result5))
{
$studiengang_kz=$row5->studiengang_kz;
}
}
else
{
$error=true;
$error_log="Fehler beim Zugriff auf Tablelle tbl_studiengang.".$qry5;
$anzahl_fehler++;
}
}
else
{
$error=true;
}
}
else
{
$error=true;
$error_log="Fehler beim Zugriff auf Tablelle gruppe.".$qry3;
$anzahl_fehler++;
}
if($gruppe_kurzbz!="" && $studiensemester_kurzbz!="" && !$error && $uid!="")
{
$qrychk2="SELECT * FROM public.tbl_benutzergruppe WHERE uid='".$uid."' AND gruppe_kurzbz='".$gruppe_kurzbz."';";
//echo nl2br("...".$qrychk2."\n");
if($resultchk2 = pg_query($conn, $qrychk2))
{
if($rowchk2=pg_fetch_object($resultchk2))
{
if(!in_array($studiengang_kz, $dont_sync_php))
{
//update
if($rowchk2->studiensemester_kurzbz<$studiensemester_kurzbz)
{
$qrybg="UPDATE public.tbl_benutzergruppe SET ".
"uid=".myaddslashes($uid).", ".
"gruppe_kurzbz=".myaddslashes($gruppe_kurzbz).", ".
"studiensemester_kurzbz=".myaddslashes($studiensemester_kurzbz).", ".
"insertamum=".myaddslashes($insertamum).", ".
"insertvon=".myaddslashes($insertvon).", ".
"updateamum=now(), ".
"updatevon='SYNC'".
"WHERE uid='".$uid."' AND gruppe_kurzbz='".$gruppe_kurzbz."';";
if($resultbg=pg_query($conn, $qrybg))
{
$anzahl_update++;
$ausgabe="Benutzergruppe auf UID='".$uid."', Gruppe='".$gruppe_kurzbz."', Studiensemester='".$studiensemester_kurzbz."' geändert (statt UID='".$rowchk2->uid."', Gruppe='".$rowchk2->gruppe_kurzbz."', Studiensemester='".$rowchk2->studiensemester_kurzbz."').\n";
}
else
{
$anzahl_fehler++;
$error_log="Fehler beim Ändern in Tabelle tbl_benutzergruppe. ".$qrybg."\n";
}
}
}
}
else
{
//insert
$qrybg="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, studiensemester_kurzbz, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES( ".
myaddslashes($uid).", ".
myaddslashes($gruppe_kurzbz).", ".
myaddslashes($studiensemester_kurzbz).", ".
myaddslashes($insertamum).", ".
myaddslashes($insertvon).", ".
"now(), ".
"'SYNC', ".
myaddslashes($ext_id).");";
if($resultbg=pg_query($conn, $qrybg))
{
$ausgabe="Benutzergruppe mit UID='".$uid."', Gruppe='".$gruppe_kurzbz."', Studiensemester='".$studiensemester_kurzbz."' angelegt.\n";
$anzahl_eingefuegt++;
}
else
{
$anzahl_fehler++;
$error_log="Fehler beim Einfügen in Tabelle tbl_benutzergruppe. ".$qrybg."\n";
}
}
}
}
//echo nl2br($ext_id.", ".$error);
$ausgabe_all.=$ausgabe;
$error_log_fas.=$error_log;
$ausgabe='';
$error_log='';
}
}
}
}
}
//echo nl2br($text);
echo nl2br("\nBenutzergruppe\nStudenten: $anzahl_quelle_student / Gruppen: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n");
echo nl2br("\nStudenten, die in tbl_benutzer nicht gefunden wurden: ".$nicht_gefunden."\n".$error_log_fas);
echo nl2br ("\n\n".$ausgabe_all);
$ausgabe="\nBenutzergruppe\nStudenten: $anzahl_quelle_student / Gruppen: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler."
."\n\n".$ausgabe_all;
if(strlen(trim($error_log_fas))>0)
{
mail($adress, 'SYNC-Fehler Benutzergruppe von '.$_SERVER['HTTP_HOST'], "Studenten, die in tbl_benutzer nicht gefunden wurden: ".$nicht_gefunden."\n".$error_log_fas,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Benutzergruppe von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,409 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Diplomprüfungsdatensätze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_fehler=0;
$anzahl_eingefuegt=0;
$anzahl_geaendert=0;
$fachbereich_kurzbz='';
$ausgabe='';
$ausgabe1='';
$ausgabe_all='';
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Diplomprüfung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//nation
$qry = "SELECT *,creationdate::timestamp as insertamum FROM diplomarbeit WHERE mitarbeiter_fk IS NOT NULL AND pruefungsdatum IS NOT NULL AND mitarbeiter_fk>0;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Diplomprüfung Sync\n------------------------\n");
echo nl2br("Diplomprüfungssynchro Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//pg_query($conn, "BEGIN");
$error=false;
//$error_log='';
//$abschlusspruefung_id =''; //serial
//$student_uid ='';
//$vorsitz ='';
$pruefer1 =$row->vilesci_pruefer;
$pruefer2 =$row->vilesci_pruefer1;
//$pruefer3 ='';//kein dritter Prüfer bei Diplomprüfungen
//$abschlussbeurteilung_kurzbz ='';
//$akadgrad_id ='';
$datum =$row->pruefungsdatum;
$sponsion =$row->diplomarbeitsdatum;
$pruefungstyp_kurzbz ='Diplom';
$anmerkung =$row->pruefungsprotokoll;
//$updateamum ='';
$updatevon ='SYNC';
$insertamum =$row->insertamum;
//$insertvon ='';
$ext_id =$row->diplomarbeit_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;
}
}
//student_id ermitteln
$qry="SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE ext_id='".$row->student_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$student_uid=$rowo->student_uid;
$studiengang_kz=$rowo->studiengang_kz;
}
else
{
$error=true;
$error_log.="Student mit student_fk: $row->student_fk konnte nicht gefunden werden.\n";
}
}
//beurteilung ermitteln
If($row->gesamtnote=='10')
{
$abschlussbeurteilung_kurzbz='ausgezeichnet';
}
elseif($row->gesamtnote=='20')
{
$abschlussbeurteilung_kurzbz='gut';
}
elseif($row->gesamtnote=='30')
{
$abschlussbeurteilung_kurzbz='bestanden';
}
else
{
$abschlussbeurteilung_kurzbz=NULL;
}
//vorsitz ermitteln
if($row->vilesci_vorsitzender==null)
{
$vorsitz=null;
}
else
{
$qry="SELECT uid FROM public.tbl_benutzer WHERE person_id='".$row->vilesci_vorsitzender."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$vorsitz=$rowo->uid;
}
else
{
$error=true;
$error_log.="Vorsitz mit person_id: $row->vilesci_vorsitzender konnte nicht gefunden werden.\n";
}
}
}
//geschlecht ermitteln
$qry="SELECT geschlecht from person,student WHERE student_pk='".$row->student_fk."' AND student.person_fk=person.person_pk;";
if($resulto=pg_query($conn_fas, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$geschlecht=strtolower($rowo->geschlecht);
}
else
{
$error=true;
$error_log.="Person mit student_fk: $row->student_fk konnte nicht gefunden werden.\n";
}
}
//akadgrad ermitteln
if($studiengang_kz<=222 || $studiengang_kz==308)
{
$qry="SELECT * FROM lehre.tbl_akadgrad WHERE studiengang_kz='".$studiengang_kz."' AND geschlecht='".$geschlecht."';";
}
else
{
$qry="SELECT * FROM lehre.tbl_akadgrad WHERE studiengang_kz='".$studiengang_kz."';";
}
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$akadgrad_id=$rowo->akadgrad_id;
}
}
//insert oder update?
if(!$error)
{
$qry="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$student_uid."' AND pruefungstyp_kurzbz='Diplom' AND ext_id='".$row->diplomarbeit_pk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$update=false;
if($rowo->vorsitz!=$vorsitz)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Vorsitz: '".$vorsitz."' (statt '".$rowo->vorsitz."')";
}
else
{
$ausgabe1="Vorsitz: '".$vorsitz."' (statt '".$rowo->vorsitz."')";
}
}
if($rowo->pruefer1!=$pruefer1)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfer1: '".$pruefer1."' (statt '".$rowo->pruefer1."')";
}
else
{
$ausgabe1="Prüfer1: '".$pruefer1."' (statt '".$rowo->pruefer1."')";
}
}
if($rowo->pruefer2!=$pruefer2)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfer2: '".$pruefer2."' (statt '".$rowo->pruefer2."')";
}
else
{
$ausgabe1="Prüfer2: '".$pruefer2."' (statt '".$rowo->pruefer2."')";
}
}
if($rowo->abschlussbeurteilung_kurzbz!=$abschlussbeurteilung_kurzbz)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Abschlussbeurteilung: '".$abschlussbeurteilung_kurzbz."' (statt '".$rowo->abschlussbeurteilung_kurzbz."')";
}
else
{
$ausgabe1="Abschlussbeurteilung: '".$abschlussbeurteilung_kurzbz."' (statt '".$rowo->abschlussbeurteilung_kurzbz."')";
}
}
if($rowo->akadgrad_id!=$akadgrad_id)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", akad.Grad: '".$akadgrad_id."' (statt '".$rowo->akadgrad_id."')";
}
else
{
$ausgabe1="Akad.Grad: '".$akadgrad_id."' (statt '".$rowo->akadgrad_id."')";
}
}
if($rowo->datum!=$datum)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfungsdatum: '".$datum."' (statt '".$rowo->datum."')";
}
else
{
$ausgabe1="Prüfungsdatum: '".$datum."' (statt '".$rowo->datum."')";
}
}
if($rowo->sponsion!=$sponsion)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')";
}
else
{
$ausgabe1="Sponsionsdatum: '".$sponsion."' (statt '".$rowo->sponsion."')";
}
}
if($rowo->pruefungstyp_kurzbz!=$pruefungstyp_kurzbz)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')";
}
else
{
$ausgabe1="Prüfungstyp: '".$pruefungstyp_kurzbz."' (statt '".$rowo->pruefungstyp_kurzbz."')";
}
}
if($rowo->anmerkung!=$anmerkung)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Anmerkung: '".$anmerkung."' (statt '".$rowo->anmerkung."')";
}
else
{
$ausgabe1="Anmerkung: '".$anmerkung."' (statt '".$rowo->anmerkung."')";
}
}
if($rowo->insertvon!=$insertvon)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Insertvon: '".$insertvon."' (statt '".$rowo->insertvon."')";
}
else
{
$ausgabe1="Insertvon: '".$insertvon."' (statt '".$rowo->insertvon."')";
}
}
if($rowo->insertamum!=$insertamum)
{
$update=true;
if(strlen(trim($ausgabe1))>0)
{
$ausgabe1.=", Insertamum: '".$insertamum."' (statt '".$rowo->insertamum."')";
}
else
{
$ausgabe1="Insertamum: '".$insertamum."' (statt '".$rowo->insertamum."')";
}
}
if($update)
{
$qry="UPDATE lehre.tbl_abschlusspruefung SET ".
//"abschlusspruefung_id=".myaddslashes($rowo->abschlusspruefung_id).", ".
"student_uid=".myaddslashes($student_uid).", ".
"vorsitz=".myaddslashes($vorsitz).", ".
"pruefer1=".myaddslashes($pruefer1).", ".
"pruefer2=".myaddslashes($pruefer2).", ".
"abschlussbeurteilung_kurzbz=".myaddslashes($abschlussbeurteilung_kurzbz).", ".
"akadgrad_id=".myaddslashes($akadgrad_id).", ".
"datum=".myaddslashes($datum).", ".
"sponsion=".myaddslashes($sponsion).", ".
"pruefungstyp_kurzbz=".myaddslashes($pruefungstyp_kurzbz).", ".
"anmerkung=".myaddslashes($anmerkung).", ".
"insertvon=".myaddslashes($insertvon).", ".
"insertamum=".myaddslashes($insertamum).", ".
"updatevon='SYNC', ".
"updateamum= now(), ".
"ext_id=".myaddslashes($ext_id).
";";
$ausgabe.="Abschlussprüfung von Student mit UID '".$student_uid."' geändert: ".$ausgabe1."\n;";
$anzahl_geaendert++;
}
else
{
$qry="select 1;";
}
}
else
{
$qry="INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1, pruefer2, ".
"abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion, pruefungstyp_kurzbz, anmerkung, ".
"insertvon, insertamum, updatevon, updateamum, ext_id) VALUES (".
myaddslashes($student_uid).", ".
myaddslashes($vorsitz).", ".
myaddslashes($pruefer1).", ".
myaddslashes($pruefer2).", ".
myaddslashes($abschlussbeurteilung_kurzbz).", ".
myaddslashes($akadgrad_id).", ".
myaddslashes($datum).", ".
myaddslashes($sponsion).", ".
myaddslashes($pruefungstyp_kurzbz).", ".
myaddslashes($anmerkung).", ".
myaddslashes($insertvon).", ".
myaddslashes($insertamum).", ".
"'SYNC', ".
"now(), ".
myaddslashes($ext_id).
");";
$ausgabe.="Abschlussprüfung von Student mit UID '".$student_uid."' am '".$datum."' eingetragen.\n";
$anzahl_eingefuegt++;
}
}
else
{
$error_log.= "*****\nFehler beim Zugriff auf tbl_abschlusspruefung!\n";
$anzahl_fehler++;
}
if(!pg_query($conn,$qry))
{
$anzahl_fehler++;
$error_log.='Fehler beim Speichern des Diplomprüfung-Datensatzes von Student:'.$student_uid." \n".$qry."\n";
$ausgabe1='';
}
}
else
{
$anzahl_fehler++;
}
}
//echo und mail
echo nl2br("Diplomprüfungssynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
$error_log_fas="Sync Diplomprüfung\n------------------------\n\n".$error_log;
echo nl2br("Allgemeine Fehler: ".$anzahl_fehler."\nAnzahl Diplomprüfungen: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt." / Geändert: ".$anzahl_geaendert.".\n\n");
echo nl2br($error_log_fas."\n--------------------------------------------------------------------------------------------------------------------------------\n");
echo nl2br($ausgabe);
mail($adress, 'SYNC Diplomprüfung von '.$_SERVER['HTTP_HOST'],
"Allgemeine Fehler: ".$anzahl_fehler.", Anzahl Diplomprüfungen: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt." / Geändert: ".$anzahl_geaendert.".\n\n".
$ausgabe,"From: vilesci@technikum-wien.at");
mail($adress, 'SYNC-Fehler Diplomprüfung von '.$_SERVER['HTTP_HOST'], $error_log_fas, "From: vilesci@technikum-wien.at");
}
?>
</body>
</html>
-203
View File
@@ -1,203 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert EMaildatensaetze von FAS DB in VILESCI DB
//*
//*benötigt: tbl_kontakttyp, tbl_syncperson
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/kontakt.class.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$update=false;
$ausgabe='';
$ausgabe_email='';
function validate($row)
{
}
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - E-Mail</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS - VILESCI - Synchronisation
*/
//nation
$qry = "SELECT * FROM email WHERE person_fk IN
(SELECT person_fk FROM mitarbeiter WHERE creationdate>'2007-07-11');";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("E-Mail Sync\n-------------\n");
echo nl2br("Emailsynchro Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//echo "- ";
//ob_flush();
//flush();
$error=false;
$kontakt =new kontakt($conn);
$kontakt->firma_id ='';
$kontakt->kontakttyp ='email';
$kontakt->anmerkung =$row->name;
$kontakt->kontakt =$row->email;
$kontakt->zustellung =$row->zustelladresse=='J'?true:false;
$kontakt->updatevon ="SYNC";
$kontakt->insertvon ="SYNC";
$kontakt->ext_id =$row->email_pk;
$update=false;
$ausgabe_email='';
//Person_id feststellen
$qry1="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas=".$row->person_fk.";";
if($result1 = pg_query($conn, $qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
{
if($row1=pg_fetch_object($result1))
{
$qry2="SELECT * FROM tbl_kontakt WHERE ext_id=".$row->email_pk." AND kontakttyp='email';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
if($row2->anmerkung!=$row->name)
{
$update=true;
if(strlen(trim($ausgabe_email))>0)
{
$ausgabe_email.=", Name: '".trim($row->name)."'";
}
else
{
$ausgabe_email="Name: '".trim($row->name)."'";
}
}
if($row2->kontakt!=$row->email)
{
$update=true;
if(strlen(trim($ausgabe_email))>0)
{
$ausgabe_email.=", E-Mail: '".trim($row->email)."'";
}
else
{
$ausgabe_email="E-Mail: '".trim($row->email)."'";
}
}
if($row2->zustellung!=($row->zustelladresse=='J'?'t':'f'))
{
$update=true;
if(strlen(trim($ausgabe_email))>0)
{
$ausgabe_email.=", Zustelladresse: '".($row->zustelladresse=='J'?'true':'false')."'";
}
else
{
$ausgabe_email="Zustelladresse: '".($row->zustelladresse=='J'?'true':'false')."'";
}
}
if($update)
{
// update , wenn datensatz bereits vorhanden
$kontakt->person_id=$row1->person_portal;
$kontakt->kontakt_id=$row2->kontakt_id;
$kontakt->new=false;
}
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$kontakt->new=true;
$kontakt->person_id=$row1->person_portal;
}
}
}
}
else
{
$ausgabe_email='';
$error=true;
$error_log.="Person mit person_fk: $row->person_fk konnte in tbl_syncperson nicht gefunden werden!\n";
$anzahl_fehler++;
}
}
If (!$error)
{
if($kontakt->new || $update)
{
//echo $studiengang_kz."<br>";
if(!$kontakt->save())
{
$error_log.=$kontakt->errormsg."\n";
$anzahl_fehler++;
}
else
{
if($kontakt->new)
{
$ausgabe.="E-Mail $kontakt->kontakt eingefügt!\n";
$anzahl_eingefuegt++;
}
else
{
if($update)
{
$ausgabe.="E-Mail $kontakt->kontakt geändert: ".$ausgabe_email." !\n";
$anzahl_update++;
}
}
}
}
//echo nl2br($ausgabe);
}
}
}
echo nl2br("Emailsynchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
//echo nl2br($text);
echo nl2br("\n".$error_log);
echo nl2br("\n\nE-Mailsync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler");
echo nl2br("\n".$ausgabe);
$ausgabe="E-Mailsync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler Email von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Email von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,197 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Entwicklungsteam-Datensaetze von FAS DB in VILESCI DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$update=false;
$ausgabe='';
$ausgabe_et='';
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - E-Team</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS - VILESCI - Synchronisation
*/
$qry="SELECT * FROM bis.tbl_entwicklungsteam";
$anzahl_quelle=pg_num_rows(pg_query($conn,$qry));
$qry = "SELECT *, creationdate::timestamp as insertamum
FROM funktion
WHERE entwicklungsteam='J' AND studiengang_fk>1 AND studiengang_fk<37;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("E-Team-Sync\n-------------\n");
echo nl2br("E-Team-Synchro Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
//$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//echo "- ";
//ob_flush();
//flush();
$error=false;
$update=false;
$ausgabe_et='';
$mitarbeiter_uid = '';
$studiengang_kz = '';
$besqualcode = $row->besonderequalifikation;
$beginn = '';
$ende = '';
$updateamum = $row->insertamum;
$updatevon = 'SYNC';
$insertamum = $row->insertamum;
//$insertvon = '';
$ext_id = $row->funktion_pk;
//insertvon
$qrycu="SELECT name FROM benutzer WHERE benutzer_pk='".$row->creationuser."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
{
$insertvon=$rowcu->name;
}
}
if($besqualcode<0 || $besqualcode=='')
{
$besqualcode=0;
}
//mitarbeiter_uid ermitteln
$qry="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE ext_id='".$row->mitarbeiter_fk."';";
if($resultma = pg_query($conn, $qry))
{
if(pg_num_rows($resultma)>0)
{
if($rowma = pg_fetch_object($resultma))
{
$mitarbeiter_uid=$rowma->mitarbeiter_uid;
}
}
else
{
echo nl2br("Mitarbeiter ".$row->mitarbeiter_fk." nicht gefunden.");
}
}
else
{
$error_log.="Kein Zugriff auf tbl_mitarbeiter => Mitarbeiter ".$row->mitarbeiter_fk." nicht gefunden.";
$error=true;
}
//studiengang_kz
$qry="SELECT studiengang_kz FROM public.tbl_studiengang WHERE ext_id='".$row->studiengang_fk."';";
if($resultstg = pg_query($conn, $qry))
{
if(pg_num_rows($resultstg)>0)
{
if($rowstg = pg_fetch_object($resultstg))
{
$studiengang_kz=$rowstg->studiengang_kz;
}
}
else
{
echo nl2br("Studiengang ".$row->studiengang_fk." nicht gefunden.");
}
}
else
{
$error_log.="Kein Zugriff auf tbl_studiengang => Studiengang ".$row->studiengang_fk." nicht gefunden.";
$error=true;
}
if(!$error)
{
$qry="SELECT * FROM bis.tbl_entwicklungsteam";
$anzahl_quelle=pg_num_rows(pg_query($conn,$qry));
$qry="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid='".$mitarbeiter_uid."' AND studiengang_kz='".$studiengang_kz."';";
if($result2=pg_query($conn,$qry))
{
if(!pg_num_rows($result2)>0)
{
//einfügen
$qry="INSERT INTO bis.tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz, besqualcode,
beginn, ende, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES(".
myaddslashes($mitarbeiter_uid).", ".
myaddslashes($studiengang_kz).", ".
myaddslashes($besqualcode).", ".
myaddslashes($beginn).", ".
myaddslashes($ende).", ".
myaddslashes($updateamum).", ".
myaddslashes($updatevon).", ".
myaddslashes($insertamum).", ".
myaddslashes($insertvon).", ".
myaddslashes($ext_id)." ".
");";
$ausgabe.="Mitarbeiter '".$mitarbeiter_uid."' zu Entwicklungsteam von Studiengang: '".$studiengang_kz."' hinzugefügt.\n";
if(!pg_query($conn,$qry))
{
$error_log.= "*****\nFehler beim Speichern des E-Team-Datensatzes von Mitarbeiter '".$mitarbeiter_uid."'\n ".$qry."\n";
$anzahl_fehler++;
}
else
{
$anzahl_quelle++;
$anzahl_eingefuegt++;
}
}
}
}
}
}
echo nl2br("E-Team-Synchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
//echo nl2br($text);
echo nl2br("\n".$error_log);
echo nl2br("\n\nE-Team-Sync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler\n".$ausgabe);
$ausgabe="E-Team-Sync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler E-Team von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC E-Team von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
-310
View File
@@ -1,310 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Gruppendatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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='';
$error_log_fas='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$ausgabe='';
$ausgabe_all='';
$update=false;
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Gruppe</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//nation
$qry="SELECT * FROM gruppe WHERE typ='4' OR typ='5' Or typ='6' ORDER BY gruppe_pk;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Gruppe Sync\n-------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$gruppe_kurzbz ="";
$studiengang_kz ="";
$semester ="";
$bezeichnung ="";
$beschreibung ="";
$sichtbar =TRUE;
$lehre =TRUE;
$aktiv =TRUE;
$sort =NULL;
$mailgrp =FALSE;
$generiert =FALSE;
$updateamum ="";
$updatevon ="SYNC";
$insertamum ="";
$insertvon ="SYNC";
$ext_id ="";
$verband ="";
$gruppe ="";
$untergruppe ="";
if($row->obergruppe_fk!='0')
{
$qry1="SELECT * FROM gruppe WHERE gruppe_pk='".$row->obergruppe_fk."';";
if($result1 = pg_query($conn_fas, $qry1))
{
if($row1=pg_fetch_object($result1))
{
if($row1->obergruppe_fk!='0')
{
$qry2="SELECT * FROM gruppe WHERE gruppe_pk='".$row1->obergruppe_fk."';";
if($result2 = pg_query($conn_fas, $qry2))
{
if($row2=pg_fetch_object($result2))
{
if($row2->obergruppe_fk!='0')
{
$qry3="SELECT * FROM gruppe WHERE gruppe_pk='".$row2->obergruppe_fk."';";
if($result3 = pg_query($conn_fas, $qry3))
{
if($row3=pg_fetch_object($result3))
{
$semester=$row3->name;
$verband=$row2->name;
$gruppe=$row1->name;
$untergruppe=$row->name;
}
}
else
{
$error=true;
$error_log="Zugriff auf Tabelle gruppe ist fehlgeschlagen.\n";
}
}
else
{
$semester=$row2->name;
$verband=$row1->name;
$gruppe=$row->name;
}
}
}
else
{
$error=true;
$error_log="Zugriff auf Tabelle Gruppe fehlgeschlagen.\n";
}
}
else
{
$semester=$row1->name;
$verband=$row->name;
$gruppe=' ';
}
}
}
else
{
$error=true;
$error_log="Zugriff auf Tabelle gruppe fehlgeschlagen.\n";
}
}
else
{
$semester=$row->name;
$verband=' ';
$gruppe=' ';
}
$ext_id=$row->gruppe_pk;
//echo nl2br($semester."/".$verband."/".$gruppe."/".$untergruppe."--".$ext_id."\n");
//continue;
$qry2="SELECT * FROM studiengang WHERE studiengang_pk='".$row1->studiengang_fk."';";
if($result2 = pg_query($conn_fas, $qry2))
{
if($row2=pg_fetch_object($result2))
{
$studiengang_kz=$row2->kennzahl;
}
else
{
$error_log.="Studiengang mit studiengang_pk='".$row1->studiengang_fk."' nicht gefunden.\n";
$error=true;
}
}
else
{
$error=true;
$error_log="Fehler beim Zugriff auf Tabelle studiengang.\n";
}
$qry2="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz='".$studiengang_kz."';";
if($result2 = pg_query($conn, $qry2))
{
if($row2=pg_fetch_object($result2))
{
$gruppe_kurzbz=strtoupper($row2->typ).strtoupper($row2->kurzbz)."-".strtoupper(trim($semester)).strtoupper(trim($verband)).strtoupper(trim($gruppe)).strtoupper(trim($untergruppe));
if(strlen($gruppe_kurzbz)>16)
{
$verband=substr($verband,0,strlen($verband)-(strlen($gruppe_kurzbz)-16));
$gruppe_kurzbz=strtoupper($row2->typ).strtoupper($row2->kurzbz)."-".strtoupper(trim($semester)).strtoupper(trim($verband)).strtoupper(trim($gruppe)).strtoupper(trim($untergruppe));
}
}
else
{
$error_log.="Studiengang mit studiengang_kz='".$studiengang_kz."' nicht gefunden.\n";
$error=true;
}
}
else
{
$error=true;
$error_log="Fehler beim Zugriff auf Tabelle tbl_studiengang.\n";
}
$bezeichnung=$gruppe_kurzbz;
$beschreibung=$bezeichnung;
if(!$error)
{
$qry2="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='".$gruppe_kurzbz."' AND studiengang_kz='".$studiengang_kz."';";
if($result2 = pg_query($conn, $qry2))
{
if($row2=pg_fetch_object($result2))
{
if(!in_array($studiengang_kz, $dont_sync_php))
{
//Eintrag bereits vorhanden - Eintragung in Sync-Tabelle
$qrysync="SELECT * FROM sync.tbl_syncgruppe WHERE fas_gruppe='".$ext_id."' AND vilesci_gruppe='".$gruppe_kurzbz."';";
if($resultsync = pg_query($conn, $qrysync))
{
$qryupd="UPDATE public.tbl_gruppe SET ext_id='".$ext_id."' WHERE gruppe_kurzbz='".$gruppe_kurzbz."' AND studiengang_kz='".$studiengang_kz."';";
if($resultupd = pg_query($conn, $qryupd))
{
$anzahl_update++;
if(pg_num_rows($resultsync)<1)
{
//Sync-Eintrag nicht vorhanden
$qryinss="INSERT INTO sync.tbl_syncgruppe (fas_gruppe, vilesci_gruppe) VALUES ('".$ext_id."','".$gruppe_kurzbz."');";
$ausgabe="Gruppe in Vilesci bereits vorhanden.\n";
$ausgabe.="---Sync-Eintrag : FAS-'".$ext_id."', Vilesci-'".$gruppe_kurzbz."'.\n";
if(!(pg_query($conn, $qryinss)))
{
$error=true;
$error_log="Eintrag in Tabelle tbl_syncgruppe fehlgeschlagen: ".$qryinss."\n";
}
}
}
else
{
$error=true;
$error_log="Update in Tabelle tbl_gruppe fehlgeschlagen: ".$qryupd."\n";
}
}
}
}
else
{
//Eintrag noch nicht vorhanden - Insert und Eintragung in Sync-Tabelle
$qryinsg="INSERT INTO public.tbl_gruppe (gruppe_kurzbz, studiengang_kz, semester, bezeichnung, beschreibung, sichtbar, lehre, aktiv, sort, mailgrp, generiert, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES(".
myaddslashes($gruppe_kurzbz).", ".
myaddslashes($studiengang_kz).", ".
myaddslashes($semester).", ".
myaddslashes($bezeichnung).", ".
myaddslashes($beschreibung).", ".
($sichtbar?'true':'false').", ".
($lehre?'true':'false').", ".
($aktiv?'true':'false').", ".
myaddslashes($sort).", ".
($mailgrp?'true':'false').", ".
($generiert?'true':'false').",
now(),
'SYNC',
now(),
'SYNC', ".
$ext_id.");";
//echo nl2br($qryinsg."\n");
if($resultinsg = pg_query($conn, $qryinsg))
{
$anzahl_eingefuegt++;
$ausgabe="Gruppe mit gruppe_pk='".$ext_id."' eingetragen als: Gruppe='".$gruppe_kurzbz."', Stg.='".$studiengang_kz."'.\n";
$qryinss="INSERT INTO sync.tbl_syncgruppe (fas_gruppe, vilesci_gruppe) VALUES ('".$ext_id."','".$gruppe_kurzbz."');";
if(!(pg_query($conn, $qryinss)))
{
$error=true;
$error_log="Eintrag in Tabelle tbl_syncgruppe fehlgeschlagen: ".$qryinss.";\n";
}
else
{
$ausgabe.="---Sync-Eintrag: FAS-'".$ext_id."', Vilesci-'".$gruppe_kurzbz."'.\n";
}
}
else
{
$error=true;
$error_log="Eintrag in Tabelle tbl_gruppe fehlgeschlagen: ".$qryinsg."\n";
}
}
}
else
{
$error=true;
$error_log="Fehler bei Zugriff auf Tabelle tbl_gruppe";
}
}
else
{
$anzahl_fehler++;
}
$ausgabe_all.=$ausgabe;
}
}
//echo nl2br($text);
echo nl2br("\nGruppe\nGruppe: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n");
echo nl2br($error_log_fas."\n\n");
echo nl2br ($ausgabe_all);
$ausgabe="\nGruppe\nGruppe: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / geändert: $anzahl_update / Fehler: $anzahl_fehler."
."\n\n".$ausgabe_all;
if(strlen(trim($error_log_fas))>0)
{
mail($adress, 'SYNC-Fehler Gruppe von '.$_SERVER['HTTP_HOST'], $error_log_fas,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Gruppe von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
-278
View File
@@ -1,278 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert IO-Datensaetze von FAS DB in VILESCI DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$update=false;
$ausgabe='';
$ausgabe_io='';
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - IO</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS - VILESCI - Synchronisation
*/
$qry = "SELECT *, creationdate::timestamp as insertamum FROM mobilitaetsprogramm;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("IO-Sync\n-------------\n");
echo nl2br("IO-Synchro Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//echo "- ";
//ob_flush();
//flush();
$error=false;
$update=false;
$ausgabe_io='';
$mobilitaetsprogramm_code = $row->programm;
$nation_code = $row->gastland;
$von = $row->von;
$bis = $row->bis;
$zweck_code = $row->zweck;
//$student_uid = '';
$updateamum = $row->insertamum;
$updatevon = 'SYNC';
$insertamum = $row->insertamum;
//$insertvon = '';
$ext_id =$row->mobilitaetsprogramm_pk;
//insertvon
$qrycu="SELECT name FROM benutzer WHERE benutzer_pk='".$row->creationuser."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
{
$insertvon=$rowcu->name;
}
}
//student_id ermitteln
$qry="SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE ext_id='".$row->student_fk."';";
if($resulto=pg_query($conn, $qry))
{
if($rowo=pg_fetch_object($resulto))
{
$student_uid=$rowo->student_uid;
}
else
{
$error=true;
$error_log.="Student mit student_fk: $row->student_fk konnte nicht gefunden werden.\n ".$qry."\n";
}
}
if(!$error)
{
$qry="SELECT * FROM bis.tbl_bisio WHERE student_uid='".$student_uid."' AND ext_id='".$ext_id."';";
if($result2=pg_query($conn,$qry))
{
if(pg_num_rows($result2)>0)
{
//eintrag gefunden
if($row2=pg_fetch_object($result2))
{
$update=false;
if($row2->mobilitaetsprogramm_code!=$mobilitaetsprogramm_code)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", Mobilitätsprogramm: '".$mobilitaetsprogramm_code."' (statt '".$row2->mobilitaetsprogramm_code."')";
}
else
{
$ausgabe_io="Mobilitätsprogramm: '".$mobilitaetsprogramm_code."' (statt '".$row2->mobilitaetsprogramm_code."')";
}
}
if($row2->nation_code!=$nation_code)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", Nation: '".$nation_code."' (statt '".$row2->nation_code."')";
}
else
{
$ausgabe_io="Nation: '".$nation_code."' (statt '".$row2->nation_code."')";
}
}
if($row2->von!=$von)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", von: '".$von."' (statt '".$row2->von."')";
}
else
{
$ausgabe_io="von: '".$von."' (statt '".$row2->von."')";
}
}
if($row2->bis!=$bis)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", bis: '".$bis."' (statt '".$row2->bis."')";
}
else
{
$ausgabe_io="bis: '".$bis."' (statt '".$row2->bis."')";
}
}
if($row2->zweck_code!=$zweck_code)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", Zweck: '".$zweck_code."' (statt '".$row2->zweck_code."')";
}
else
{
$ausgabe_io="Zweck: '".$zweck_code."' (statt '".$row2->zweck_code."')";
}
}
if($row2->zweck_code!=$zweck_code)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", Zweck: '".$zweck_code."' (statt '".$row2->zweck_code."')";
}
else
{
$ausgabe_io="Zweck: '".$zweck_code."' (statt '".$row2->zweck_code."')";
}
}
if($row2->updateamum!=$updateamum)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", updateamum: '".$updateamum."' (statt '".$row2->updateamum."')";
}
else
{
$ausgabe_io="updateamum: '".$updateamum."' (statt '".$row2->updateamum."')";
}
}
if($row2->updatevon!=$updatevon)
{
$update=true;
if(strlen(trim($ausgabe_io))>0)
{
$ausgabe_io.=", updatevon: '".$updatevon."' (statt '".$row2->updatevon."')";
}
else
{
$ausgabe_io="updatevon: '".$updatevon."' (statt '".$row2->updatevon."')";
}
}
if($update)
{
$qry="UPDATE bis.tbl_bisio SET ".
"mobilitaetsprogramm_code=".myaddslashes($mobilitaetsprogramm_code).", ".
"nation_code=".myaddslashes(nation_code).", ".
"von=".myaddslashes(von).", ".
"bis=".myaddslashes(bis).", ".
"zweck_code=".myaddslashes(zweck_code).", ".
"student_uid=".myaddslashes(student_uid).", ".
"updateamum=now(), ".
"updatevon='SYNC', ".
"WHERE bisio_id=".myaddslashes($row2->bisio_id).";";
$ausgabe.="IO von Student: '".$student_uid."' aktualisiert: ".$ausgabe_io.".\n";
$anzahl_update++;
}
else
{
$qry="select 1;";
}
}
}
else
{
//einfügen
$qry="INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis, zweck_code,
student_uid, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES(".
myaddslashes($mobilitaetsprogramm_code).", ".
myaddslashes($nation_code).", ".
myaddslashes($von).", ".
myaddslashes($bis).", ".
myaddslashes($zweck_code).", ".
myaddslashes($student_uid).", ".
myaddslashes($updateamum).", ".
myaddslashes($updatevon).", ".
myaddslashes($insertamum).", ".
myaddslashes($insertvon).", ".
myaddslashes($ext_id)." ".
");";
$ausgabe.="IO von Student: '".$student_uid."' angelegt.\n";
$anzahl_eingefuegt++;
}
if(!pg_query($conn,$qry))
{
$error_log.= "*****\nFehler beim Speichern des IO-Datensatzes von Student: ".$student_uid."\n ".$qry."\n";
$anzahl_fehler++;
}
}
}
}
}
echo nl2br("IO-Synchro Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."\n\n");
//echo nl2br($text);
echo nl2br("\n".$error_log);
echo nl2br("\n\nIO-Sync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n$ausgabe");
$ausgabe="IO-Sync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler IO von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC IO von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
-276
View File
@@ -1,276 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Kontodatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/functions.inc.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_vorhanden=0;
$anzahl_fehler=0;
$ausgabe='';
$ausgabe_adresse='';
$update=false;
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Konto</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//konto
//studiensemester
$qry="SELECT studiensemester_kurzbz, ext_id FROM public.tbl_studiensemester;";
if($result = pg_query($conn, $qry))
{
while($row=pg_fetch_object($result))
{
$studiensemester[$row->ext_id]=$row->studiensemester_kurzbz;
}
}
$qry="SELECT studiengang_kz, ext_id FROM public.tbl_studiengang WHERE ext_id IS NOT NULL;";
if($result = pg_query($conn, $qry))
{
while($row=pg_fetch_object($result))
{
$studiengang[$row->ext_id]=$row->studiengang_kz;
}
}
$qry="SELECT *, student_zahlung.creationuser as cuser, student_zahlung.creationdate as cdate
FROM student_zahlung, zahlung WHERE student_zahlung.zahlung_fk=zahlung.zahlung_pk ;";
if($result = pg_query($conn_fas, $qry))
{
echo "Konto Sync<br>--------------<br>";
echo "Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."<br><br>";
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$konto =new konto($conn);
//$konto->person_id ='';
//$konto->studiengang_kz ='';
$konto->studiensemester_kurzbz =getStudiensemesterFromDatum($conn, $row->bezahltam, true);
//$konto->buchungsnr_verweis ='';
$betrag =$row->betrag;
$konto->buchungsdatum =$row->bezahltam;
$konto->buchungstext =$row->name;
$konto->buchungstyp_kurzbz ='Sonstiges';
$konto->mahnspanne ='30';
$konto->updateamum =date("Y-m-d H:i:s");
$konto->updatevon ="SYNC";
$konto->insertamum =$row->cdate;
$konto->insertvon =$row->cuser;
$konto->ext_id ='';
$konto->new=false;
//ext_id "basteln": soll aus student_fk und dreistelliger zahlung_fk bestehen
if(strlen(trim($row->zahlung_fk))==1)
{
$konto->ext_id=trim($row->student_fk)."00".trim($row->zahlung_fk);
}
elseif(strlen(trim($row->zahlung_fk))==2)
{
$konto->ext_id=trim($row->student_fk)."0".trim($row->zahlung_fk);
}
elseif(strlen(trim($row->zahlung_fk))==3)
{
$konto->ext_id=trim($row->student_fk).trim($row->zahlung_fk);
}
$qry="SELECT * FROM public.tbl_konto WHERE ext_id='".$konto->ext_id."';";
if($result3 = pg_query($conn, $qry))
{
if(pg_num_rows($result3)>0) //kontobewegung bereits eingetragen
{
//eintrag bereits vorhanden
$konto->new=false;
//$ausgabe.="Eintrag bereits vorhanden! ('".$row->name."' - '".$row->student_fk."')\n";
//echo "Eintrag bereits vorhanden! ('".$row->name."' - '".$row->student_fk."')<br>";
$anzahl_vorhanden++;
continue;
}
}
//insertvon ermitteln
$qrycu="SELECT name FROM benutzer WHERE benutzer_pk='".$row->creationuser."';";
if($resultcu = pg_query($conn_fas, $qrycu))
{
if($rowcu=pg_fetch_object($resultcu))
{
$konto->insertvon=$rowcu->name;
}
}
//person_id herausfinden
$qry="SELECT person_fk, studiengang_fk FROM student WHERE student_pk='".$row->student_fk."';";
if($result2 = pg_query($conn_fas, $qry))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
$konto->studiengang_kz=$studiengang[$row2->studiengang_fk];
}
}
else
{
//person nicht gefunden
$anzahl_fehler++;
$error_log.="Person mit student_fk '".$row->student_fk."' nicht in Tabelle 'student' gefunden.\n";
echo "Person mit student_fk '".$row->student_fk."' nicht in Tabelle 'student' gefunden.<br>";
continue;
}
}
if(in_array($konto->studiengang_kz, $dont_sync_php))
{
//bereits umgestellte Stg. werden nicht bearbeitet
continue;
}
$qry1="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas=".$row2->person_fk.";";
if($result1 = pg_query($conn, $qry1))
{
if(pg_num_rows($result1)>0) //person gefunden
{
if($row1=pg_fetch_object($result1))
{
$konto->person_id=$row1->person_portal;
$konto->new=true; //vorhandene Einträge wurden bereits übersprungen
}
else
{
$error_log.="Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden.\n";
echo "Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden.<br>";
$anzahl_fehler++;
$error=true;
continue;
}
}
else
{
$error_log.="Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden!\n";
echo "Person mit person_pk '".$row2->person_fk."' in tbl_syncperson nicht gefunden!<br>";
$anzahl_fehler++;
$error=true;
continue;
}
}
else
{
$error=true;
$error_log.="Fehler beim Zugriff auf tbl_syncperson bei Person mit person_pk '".$row2->person_fk."'!\n";
echo "Fehler beim Zugriff auf tbl_syncperson bei Person mit person_pk '".$row2->person_fk."'!<br>";
$anzahl_fehler++;
}
if(!$error)
{
if($konto->new)
{
if($row->art==1)
{
//Buchung1 - Belastung
$konto->buchungsnr_verweis=null;
$konto->betrag='-'.$betrag;
if(!$konto->save())
{
$error_log.=$konto->errormsg."\n";
echo $konto->errormsg."<br>";
$anzahl_fehler++;
}
else
{
//Buchung2 - Zahlung
$konto->buchungsnr_verweis=$konto->buchungsnr;
$konto->buchungsnr='';
$konto->betrag=$betrag;
if(!$konto->save())
{
$error_log.=$konto->errormsg."\n";
echo $konto->errormsg."<br>";
$anzahl_fehler++;
}
else
{
$ausgabe.="Buchung (e) von Person '".$konto->person_id."' mit Zahlung '".$row->zahlung_fk."', Text '".$konto->buchungstext."' und Betrag €".$konto->betrag." eingefügt.\n";
echo "Buchung (e) von Person '".$konto->person_id."' mit Zahlung '".$row->zahlung_fk."', Text '".$konto->buchungstext."' und Betrag €".$konto->betrag." eingefügt.<br>";
$anzahl_eingefuegt++;
}
}
}
elseif($row->art==2)
{
//Buchung1 - Gutschrift
$konto->betrag=$betrag;
$konto->buchungsnr_verweis=null;
if(!$konto->save())
{
$error_log.=$konto->errormsg."\n";
echo $konto->errormsg."<br>";
$anzahl_fehler++;
}
else
{
//Buchung2 - Zahlung
$konto->buchungsnr_verweis=$konto->buchungsnr;
$konto->buchungsnr='';
$konto->betrag='-'.$betrag;
if(!$konto->save())
{
$error_log.=$konto->errormsg."\n";
echo $konto->errormsg."<br>";
$anzahl_fehler++;
}
else
{
$ausgabe.="Buchung (a) von Person '".$konto->person_id."' mit Zahlung '".$row->zahlung_fk."', Text '".$konto->buchungstext."' und Betrag €".$betrag." eingefügt.\n";
echo "Buchung (a) von Person '".$konto->person_id."' mit Zahlung '".$row->zahlung_fk."', Text '".$konto->buchungstext."' und Betrag €".$betrag." eingefügt.<br>";
$anzahl_eingefuegt++;
}
}
}
}
}
}
}
echo "-------------------------------------------------------------------------------------------------------------------------------<br><br>";
echo "Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."<br><br>";
//echo nl2br($error_log);
echo nl2br("\nZahlungen\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / bereits vorhanden: $anzahl_vorhanden / Fehler: $anzahl_fehler");
$ausgabe="\nZahlungen\nGesamt: ".$anzahl_quelle." / Eingefügt: ".$anzahl_eingefuegt." / bereits vorhanden: ".$anzahl_vorhanden." / Fehler: ". $anzahl_fehler."\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler Konto von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Konto von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,506 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Lehrveranstaltungen
// FAS -> VILESCI
// setzt vorraus: - tbl_sprache
// - tbl_studiengang
// **************************************
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../sync_config.inc.php');
$adress='fas_sync@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
$conn=pg_connect(CONN_STRING);
$conn_fas=pg_connect(CONN_STRING_FAS);
$plausi_error=0;
$update_error=0;
$insert_error=0;
$double_error=0;
$double_lva_error=0;
$missing_lva=0;
$anz_update=0;
$anz_insert=0;
$headtext='';
$head_stg_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
$text='';
$double_lva = array();
$stg_data = array();
$studiensemester = array();
$studiengang_kz='';
$notin='';
//**** FUNCTIONS ****
//Plausi checks
function validate($row)
{
global $text, $plausi_error, $stg_data, $studiensemester;
if($row->studiensemester_fk==0)
{
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' '.$row->name." hat Studiensemester 0\n";
$plausi_error++;
return false;
}
if($row->kurzbezeichnung == '')
{
//$text.= 'LVA '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' LVA '.$row->name." hat keine Kurzbezeichnung\n";
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat keine Kurzbezeichnung\n";
$plausi_error++;
return false;
}
if(strlen($row->name)>128)
{
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat einen zu langen LV-Titel (maximal 128 Zeichen)\n";
$plausi_error++;
return false;
}
if(strlen($row->kurzbezeichnung)>16)
{
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat eine zu lange Kurzbezeichnung (2-4 Zeichen + 1 Ziffer)\n";
$plausi_error++;
return false;
}
if(strlen($row->beschreibung)>64)
{
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat eine zu lange Beschreibung (maximal 64 Zeichen)\n";
$plausi_error++;
return false;
}
if($row->ectspunkte>40)
{
$stg_data[$row->kennzahl]['text'] .= ' '.$stg_data[$row->kennzahl]['kuerzel'].' Semester '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->name." hat mehr als 40 ECTS-Punkte\n";
$plausi_error++;
return false;
}
return true;
}
//Liefert Bezeichnung der Lehrveranstaltung
function getlvabez($row)
{
global $studiensemester, $stg_data;
return $stg_data[$row->kennzahl]['kuerzel']." Semester $row->semester $row->kurzbezeichnung ".$studiensemester[$row->studiensemester_fk]." ($row->lehrveranstaltung_pk)";
}
// Fuegt einen Eintrag in die Synctabelle hinzu
function synctabentry($lehrveranstaltung_id_vilesci, $lehrveranstaltung_id_fas)
{
global $conn;
$qry = "INSERT INTO sync.tbl_synclehrveranstaltung(lva_fas,lva_vilesci) VALUES($lehrveranstaltung_id_fas, $lehrveranstaltung_id_vilesci);";
pg_query($conn, $qry);
}
//Schaut welche Felder aktualisiert gehoeren und liefert den Update Befehl
function getupdateqry($row_found, $row_fas_alle)
{
$update=false;
$qry="UPDATE lehre.tbl_lehrveranstaltung SET";
if($row_fas_alle->name!=$row_found->bezeichnung)
{
$qry.=($update?',':'');
$qry.=" bezeichnung='".addslashes($row_fas_alle->name)."'";
$update=true;
}
if($row_fas_alle->kurzbezeichnung!=$row_found->kurzbz)
{
$qry.=($update?',':'');
$qry.=" kurzbz='".addslashes($row_fas_alle->kurzbezeichnung)."'";
$update=true;
}
if($row_fas_alle->kennzahl!=$row_found->studiengang_kz)
{
$qry.=($update?',':'');
$qry.=" studiengang_kz=$row_fas_alle->kennzahl";
$update=true;
}
if($row_fas_alle->semester!=$row_found->semester)
{
$qry.=($update?',':'');
$qry.=" semester=$row_fas_alle->semester";
$update=true;
}
if($row_fas_alle->ectspunkte!=$row_found->ects)
{
$qry.=($update?',':'');
if($row_fas_alle->ectspunkte!='')
$qry.=" ects='$row_fas_alle->ectspunkte'";
else
$qry.=" ects=null";
$update=true;
}
if($row_fas_alle->beschreibung!=$row_found->anmerkung)
{
$qry.=($update?',':'');
$qry.=" anmerkung='".addslashes($row_fas_alle->beschreibung)."'";
$update=true;
}
$qry.=" WHERE lehrveranstaltung_id='$row_found->lehrveranstaltung_id'";
if($update)
return $qry;
else
return '';
}
//**** BEGIN OF SYNCRONISATION ****
// Assistenz-Email holen
$sql_query="SELECT studiengang_kz, email, UPPER(typ::varchar(1) || kurzbz) as kuerzel FROM public.tbl_studiengang";
$result = pg_query($conn, $sql_query);
while($row=pg_fetch_object($result))
{
$stg_data[$row->studiengang_kz]['mail']=$row->email;
$stg_data[$row->studiengang_kz]['kuerzel']=$row->kuerzel;
$stg_data[$row->studiengang_kz]['text']='';
}
//Fehler fuer die Freifaecher an Augustin schicken
$stg_data[0]['mail']='caugust@technikum-wien.at';
//Studiensemester holen
$sql_query="SELECT studiensemester_pk,
CASE WHEN art=1 THEN 'WS'
WHEN art=2 THEN 'SS'
END || jahr AS stsem FROM studiensemester";
$result = pg_query($conn_fas, $sql_query);
while($row=pg_fetch_object($result))
{
$studiensemester[$row->studiensemester_pk]=$row->stsem;
}
// Lehreinheiten ohne Lehrveranstaltung suchen
$qry = "SELECT bezeichnung, semester, kennzahl, studiensemester_fk FROM lehreinheit, studiengang, ausbildungssemester WHERE ausbildungssemester_fk=ausbildungssemester_pk AND lehreinheit.studiengang_fk=studiengang_pk AND lehrveranstaltung_fk NOT IN(SELECT lehrveranstaltung_pk FROM lehrveranstaltung)";
$result = pg_query($conn_fas, $qry);
while($row = pg_fetch_object($result))
{
$stg_data[$row->kennzahl]['text'] .= ' Lehreinheit '.$stg_data[$row->kennzahl]['kuerzel'].' '.$row->semester.' ('.$studiensemester[$row->studiensemester_fk].') '.$row->bezeichnung." hat keine zugehoerige Lehrveranstaltung\n";
$missing_lva++;
}
// Anzahl der Lehrveranstaltungen in VileSci
$sql_query="SELECT count(*) AS anz FROM lehre.tbl_lehrveranstaltung";
$result=pg_query($conn, $sql_query);
$row=pg_fetch_object($result);
$vilesci_anz_lva = $row->anz;
//bereits umgestellte Stg. werden nicht bearbeitet
foreach ($dont_sync_php as $notstg)
{
if($notin=='')
{
$notin="'".$notstg."'";
}
else
{
$notin.=", '".$notstg."'";
}
}
// Start LVA Synchro
$sql_query="SELECT lehrveranstaltung.*, ausbildungssemester.semester, studiengang.kennzahl
FROM lehrveranstaltung, ausbildungssemester, studiengang
WHERE ausbildungssemester_fk=ausbildungssemester_pk AND
lehrveranstaltung.studiengang_fk=studiengang_pk AND
studiengang.kennzahl NOT IN (".$notin.") AND
studiensemester_fk<>0 AND
lehrveranstaltung.lehrveranstaltung_pk NOT IN(
SELECT lv1.lehrveranstaltung_pk
FROM lehrveranstaltung lv1, lehrveranstaltung lv2
WHERE lv1.lehrveranstaltung_pk<>lv2.lehrveranstaltung_pk AND
lv1.ausbildungssemester_fk=lv2.ausbildungssemester_fk AND
lv1.kurzbezeichnung=lv2.kurzbezeichnung AND
lv1.name<>lv2.name AND lv1.kurzbezeichnung is not null AND
lv1.kurzbezeichnung<>'' AND lv2.kurzbezeichnung is not null AND lv2.kurzbezeichnung<>'')
ORDER BY kennzahl, semester, studiensemester_fk";
flush();
$result_fas_alle=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result_fas_alle);
$headtext.="Dies ist eine automatische eMail!\n\n";
$headtext.="Es wurde eine Synchronisation mit FAS durchgeführt.\n";
$headtext.="Anzahl der Lehrveranstaltungen vom FAS: $num_rows \n";
$headtext.="Anzahl der Lehrveranstaltungen in Vilesci: $vilesci_anz_lva \n\n";
for ($i=0;$row_fas_alle=pg_fetch_object($result_fas_alle);$i++)
{
//btec auf 0 umlenken (Freifaecher)
if($row_fas_alle->kennzahl==203 && $row_fas_alle->studiensemester_fk>5)
$row_fas_alle->kennzahl='0';
// Plausibilitaetscheck
if(validate($row_fas_alle))
{
//schauen ob lva schon in synctabelle ist
$qry = "SELECT * FROM sync.tbl_synclehrveranstaltung WHERE lva_fas='$row_fas_alle->lehrveranstaltung_pk'";
$result = pg_query($conn, $qry);
if(pg_num_rows($result)==0)
{
//WEITERSUCHEN
//Gleicher /Stg/Sem/Kurzbz
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE
studiengang_kz='$row_fas_alle->kennzahl' AND
semester='$row_fas_alle->semester' AND
kurzbz='$row_fas_alle->kurzbezeichnung'";
$result = pg_query($conn, $qry);
$studiengang_kz=$row_fas_alle->kurzbezeichnung;
if(pg_num_rows($result)==1)
{
//$text.='FOUND on Kurzbz LVA '.getlvabez($row_fas_alle)." -> UPDATE & SYNCTAB-Insert\n";
if($row_found = pg_fetch_object($result))
{
if (!in_array($studiengang_kz,$dont_sync_php))
{
//Datensatz aktualisieren
$qry = getupdateqry($row_found, $row_fas_alle);
if($qry!='')
{
if(pg_query($conn, $qry))
{
//Eintrag zur Synctabelle hinzufuegen
synctabentry($row_found->lehrveranstaltung_id, $row_fas_alle->lehrveranstaltung_pk);
//$text.="LVA wurde aktualisiert: $qry\n";
$anz_update++;
}
else
{
$text.="Fehler beim Update einer LVA: $qry\n";
$update_error++;
}
}
else
{
synctabentry($row_found->lehrveranstaltung_id, $row_fas_alle->lehrveranstaltung_pk);
$text.="SYNC-Eintrag wurde angelegt!\n";
}
}
}
else
{
$text.='Fehler beim Lesen des Datensatzes:'.getlvabez($row_fas_alle)."\n";
$update_error++;
}
}
elseif(pg_num_rows($result)==0)
{
//WEITERSUCHEN
//Gleicher /Stg/Sem/Bezeichnung
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE
studiengang_kz='$row_fas_alle->kennzahl' AND
semester='$row_fas_alle->semester' AND
bezeichnung='$row_fas_alle->name'";
$result = pg_query($conn, $qry);
$studiengang_kz=$row_fas_alle->kurzbezeichnung;
if(pg_num_rows($result)==1)
{
if($row_found = pg_fetch_object($result))
{
if(!in_array($studiengang_kz,$dont_sync_php))
{
//Gefunden->Update und Synctab-Eintrag
//$text.='FOUND on Name LVA '.getlvabez($row_fas_alle)." -> UPDATE & SYNCTAB-Insert\n";
$qry = getupdateqry($row_found, $row_fas_alle);
if($qry!='')
{
if(pg_query($conn, $qry))
{
//Eintrag zur Synctabelle hinzufuegen
synctabentry($row_found->lehrveranstaltung_id, $row_fas_alle->lehrveranstaltung_pk);
//$text.="LVA wurde aktualisiert: $qry\n";
$anz_update++;
}
else
{
$text.="Fehler beim Update einer LVA: $qry\n";
$update_error++;
}
}
else
{
synctabentry($row_found->lehrveranstaltung_id, $row_fas_alle->lehrveranstaltung_pk);
$text.="SYNC-Eintrag wurde angelegt!\n";
}
}
}
else
{
$text.='Fehler beim Lesen des Datensatzes:'.getlvabez($row_fas_alle)."\n";
$update_error++;
}
}
elseif(pg_num_rows($result)==0)
{
//$text.="NOT FOUND -> INSERT & SYNCTAB-Insert\n";
//Neue Lehrveranstaltung anlegen
$lv = new lehrveranstaltung($conn);
$lv->kurzbz = $row_fas_alle->kurzbezeichnung;
$lv->bezeichnung = $row_fas_alle->name;
$lv->studiengang_kz = $row_fas_alle->kennzahl;
$lv->semester = $row_fas_alle->semester;
$lv->sprache = 'German';
$lv->ects = $row_fas_alle->ectspunkte;
$lv->semesterstunden = 0;
$lv->anmerkung = $row_fas_alle->beschreibung;
$lv->lehre = false;
$lv->lehreverzeichnis = strtolower($row_fas_alle->kurzbezeichnung);
$lv->aktiv = false;
$lv->planfaktor = 0;
$lv->planlektoren = 0;
$lv->planpersonalkosten = 0;
$lv->plankostenprolektor=0;
$lv->updateamum = date('Y-m-d H:i:s');
$lv->updatevon = 'Sync';
$lv->insertamum = date('Y-m-d H:i:s');
$lv->insertvon = 'Sync';
if($lv->save(true))
{
synctabentry($lv->lehrveranstaltung_id, $row_fas_alle->lehrveranstaltung_pk);
$text.="Eine neue Lehrveranstaltung wurde angelegt: ".getlvabez($row_fas_alle)."\n";
$anz_insert++;
}
else
{
$text.="Fehler beim Anlegen der LVA ".getlvabez($row_fas_alle).": $lv->errormsg\n";
$insert_error++;
}
}
else
{
$text.="MULTIFOUND Bezeichnung".getlvabez($row_fas_alle)."-> BREAK\n";
}
}
else
{
$text.="MULTIFOUND kurzbz ".getlvabez($row_fas_alle)."-> BREAK\n";
if(!isset($double_lva[$row_fas_alle->lehrveranstaltung_pk]))
$double_lva[$row_fas_alle->lehrveranstaltung_pk] = getlvabez($row_fas_alle);
$double_lva_error++;
}
}
elseif(pg_num_rows($result)==1)
{
$row_id = pg_fetch_object($result);
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$row_id->lva_vilesci'";
$result = pg_query($conn, $qry);
$studiengang_kz=$row_fas_alle->kurzbezeichnung;
//UPDATE
if($row_found = pg_fetch_object($result))
{
if(!in_array($studiengang_kz,$dont_sync_php))
{
//Datensatz aktualisieren
$qry = getupdateqry($row_found, $row_fas_alle);
if($qry!='')
{
if(pg_query($conn, $qry))
{
//$text.="LVA wurde aktualisiert: $qry\n";
$anz_update++;
}
else
{
$text.="Fehler beim Update einer LVA: $qry\n";
$update_error++;
}
}
}
}
else
{
$text.='Fehler beim Lesen des Datensatzes:'.getlvabez($row_fas_alle);
$update_error++;
}
}
else
{
$text.="\nLVA ".getlvabez($row_fas_alle)." hat mehrere Eintraege in tbl_synclehrveranstaltung\n";
$double_error++;
}
}
else
{
//$text.="\nLVA ".getlvabez($row_fas_alle)." hat nicht plausible Daten\n";
}
}
$headtext.="\n$plausi_error Fehler beim Plausibilitaetscheck!\n";
$headtext.="$update_error Fehler bei LVA-Update!\n";
$headtext.="$insert_error Fehler bei LVA-Insert!\n";
$headtext.="$double_error Fas_id's kommen in Synctab mehrmals vor!\n";
$headtext.="$double_lva_error Lehrveranstaltungen kommen in VileSci mehrmals vor!\n";
$headtext.="$anz_update LVAs wurden aktualisiert.\n";
$headtext.="$anz_insert LVAs wurden neu angelegt.\n";
$headtext.="$missing_lva Lehreinheiten haben keine LV.\n";
$qry = "Select count(*) as anzahl FROM (SELECT distinct lv1.lehrveranstaltung_pk
FROM lehrveranstaltung lv1, lehrveranstaltung lv2
WHERE lv1.lehrveranstaltung_pk<lv2.lehrveranstaltung_pk AND
lv1.ausbildungssemester_fk=lv2.ausbildungssemester_fk AND
lv1.kurzbezeichnung=lv2.kurzbezeichnung AND
lv1.name<>lv2.name AND lv1.kurzbezeichnung is not null AND
lv1.kurzbezeichnung<>'' AND lv2.kurzbezeichnung is not null AND lv2.kurzbezeichnung<>'') as a";
$result = pg_query($conn_fas, $qry);
$row = pg_fetch_object($result);
if($row->anzahl>0)
{
$headtext.="$row->anzahl LVAs haben verschiedene Bezeichnungen";
$text.="Gleiche LVAs mit unterschiedlicher Bezeichnung vorhanden: \n\nSELECT distinct lv1.lehrveranstaltung_pk FROM lehrveranstaltung lv1, lehrveranstaltung lv2 WHERE lv1.lehrveranstaltung_pk<>lv2.lehrveranstaltung_pk AND lv1.ausbildungssemester_fk=lv2.ausbildungssemester_fk AND lv1.kurzbezeichnung=lv2.kurzbezeichnung AND lv1.name<>lv2.name AND lv1.kurzbezeichnung is not null AND lv1.kurzbezeichnung<>'' AND lv2.kurzbezeichnung is not null AND lv2.kurzbezeichnung<>''\n";
}
if(count($double_lva)>0)
{
$headtext.="\nDoppelte Lehrveranstaltungen:\n\n";
foreach ($double_lva as $bez)
$headtext.=$bez."\n";
}
foreach ($stg_data as $stg=>$trash)
{
$msg = $stg_data[$stg]['text'];
if($msg!='')
{
$text.="\nMails an Studiengang ".$stg_data[$stg]['kuerzel'].'('.$stg_data[$stg]['mail'].") ... ";
if(mail($adress,"FAS - Vilesci (Lehrveranstaltungen) ".$stg_data[$stg]['kuerzel'],$head_stg_text.$msg,"From: vilesci@technikum-wien.at"))
$text.="gesendet\n\n$msg";
else
$text.="FEHLER beim senden\n\n$msg";
}
}
$text.="\nEND OF SYNCHRONISATION\n";
if (mail($adress,"FAS - Vilesci (Lehrveranstaltungen)",$headtext."\n\n".$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS - Vilesci (Lehrveranstaltungen)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo nl2br($headtext);
echo "<br><br>";
echo nl2br($text);
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,87 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Nationendatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
include('../../../include/nation.class.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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* FAS-PORTAL - Synchronisation
*/
//nation
$qry = "SELECT * FROM nation";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Nation Sync\n--------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$nation =new nation($conn);
$nation->code =$row->code;
$nation->entwicklungsstand =$row->entwland;
$nation->eu =$row->euflag=='U'?true:false;
$nation->ewr =$row->ewrflag=='W'?true:false;
$nation->kontinent =$row->kontinent;
$nation->kurztext =$row->kurztext;
$nation->langtext =$row->langtext;
$nation->engltext =$row->engltext;
$nation->sperre =$row->sperre=='J'?true:false;
if(!$nation->save())
{
$error_log.=$nation->errormsg."\n";
$anzahl_fehler++;
}
else
{
$anzahl_eingefuegt++;
}
}
}
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Nation</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
$error_log.="Sync Nation:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler";
mail($adress, 'SYNC Nation', $error_log,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
-486
View File
@@ -1,486 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Noten
// FAS -> VILESCI
// setzt vorraus: - tbl_sprache
// - tbl_studiengang
// einschraenkung auf student_fk per http-get:
// sync_fas_vilesci_note.php?student_fk_von=x&student_fk_bis=y
// **************************************
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/zeugnisnote.class.php');
require_once('../../../include/pruefung.class.php');
$adress='fas_sync@technikum-wien.at';
//$adress='pam@technikum-wien.at';
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$startzeit = time();
$plausi_error=0;
$double_error=0;
$update_error_pruef=0;
$insert_error_pruef=0;
$update_error_zeug=0;
$insert_error_zeug=0;
$anz_update_pruef=0;
$anz_not_updated_pruef=0;
$anz_not_updated_zeug=0;
$anz_insert_pruef=0;
$anz_update_zeug=0;
$anz_insert_zeug=0;
$anz_processed_pruef=0;
$anz_processed_zeug=0;
$anz_processed=0;
$headtext='';
$head_stg_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
$text='';
$double_lva = array();
$stg_data = array();
$fasnoten_arr = array(); //mehrdimensionaler array (lehrverstaltung_fk->(note_pk->("note"->"x","datum"->"y" ..)))
$mitarbeiter_arr = array(); //array (ext_id->mitarbeiter_uid)
$studenten_arr = array(); //array (ext_id->student_uid)
$lv_arr = array(); //array (lehrveranstaltung_fk->lehrveranstaltung_id)
$studsem_arr = array(); //array (ext_id->studiensemester_kurzbz)
$lehreinheiten_fas_arr = array();
$lehreinheiten_sync_arr = array();
//array aller mitarbeiter (ext_id->mitarbeiter_uid)
$sqlstr = "SELECT ext_id, mitarbeiter_uid FROM tbl_mitarbeiter";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$mitarbeiter_arr[$row->ext_id] = $row->mitarbeiter_uid;
}
//array aller studenten (ext_id->mitarbeiter_uid)
$sqlstr = "SELECT ext_id, student_uid FROM tbl_student";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$studenten_arr[$row->ext_id] = $row->student_uid;
}
//array aller lehrveranstaltungen aus sync-tabelle (lva_fas->lva_vilesci)
$sqlstr = "SELECT lva_fas, lva_vilesci FROM sync.tbl_synclehrveranstaltung";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$lv_arr[$row->lva_fas] = $row->lva_vilesci;
}
//array aller studiensemester (ext_id->studiensemester_kurzbz)
$sqlstr = "SELECT * FROM tbl_studiensemester";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$studsem_arr[$row->ext_id] = $row->studiensemester_kurzbz;
}
//array aller lehreinheiten in der synctabelle
$sqlstr = "SELECT * FROM sync.tbl_synclehreinheit";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$lehreinheiten_sync_arr[$row->lehreinheit_pk] = $row->lehreinheit_id;
}
//**** FUNCTIONS ****
function getNoten4Student($conn_fas, $student_fk)
{
$fasnoten_arr = array();
$mehrfach_arr = array();
$sqlstr = "SELECT note.note_pk,
note.student_fk,
note.lehrveranstaltung_fk,
note.datum,
note.note,
note.status,
note.bemerkung,
note.creationdate,
benutzer.name,
lehrveranstaltung.studiensemester_fk,
lehrveranstaltung.notenlektor_fk
FROM note, benutzer, lehrveranstaltung
WHERE note.creationuser = benutzer.benutzer_pk AND
note.lehrveranstaltung_fk = lehrveranstaltung.lehrveranstaltung_pk AND
note.student_fk = '".$student_fk."'
ORDER BY note.lehrveranstaltung_fk ASC, note.datum DESC, note.creationdate DESC";
if($result = pg_query($conn_fas, $sqlstr))
{
//$anzahl_quelle = pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$bemerkung_history = "";
if (key_exists($row->lehrveranstaltung_fk,$fasnoten_arr))
{
$bemerkung_history = "Note am ".$row->datum.": ".$row->note;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 0;
}
else
{
$mehrfach_arr[$row->lehrveranstaltung_fk]["main"] = $row->note_pk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 1;
}
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["note"] = $row->note;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["status"] = $row->status;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["creationdate"] = $row->creationdate;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["creationuser_name"] = $row->name;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["name"] = $row->name;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["studiensemester_fk"] = $row->studiensemester_fk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["bemerkung"] = $row->bemerkung;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["datum"] = $row->datum;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["notenlektor_fk"] = $row->notenlektor_fk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["student_fk"] = $row->student_fk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["ext_id"] = $row->note_pk;
if ($bemerkung_history != "")
$fasnoten_arr[$row->lehrveranstaltung_fk][$mehrfach_arr[$row->lehrveranstaltung_fk]["main"]]["bemerkung"] .= "\n".$bemerkung_history;
}
}
return $fasnoten_arr;
}
function getPruefungstyp($status)
{
$pruefungstyp = "";
if ($status == 1)
$pruefungstyp = "Termin1";
else if ($status == 2)
$pruefungstyp = "Termin2";
else if ($status == 11)
$pruefungstyp = "kommPruef";
else
$pruefungstyp = 'undefiniert'; //$status;
return $pruefungstyp;
}
function checkUpdatePruefung($conn, $pruef)
{
$sqlstr = "select * from lehre.tbl_pruefung where ext_id = '".$pruef->ext_id."'";
if($res = pg_query($conn, $sqlstr))
{
if($row = pg_fetch_object($res))
{
if ($row->lehreinheit_id == $pruef->lehreinheit_id && $row->student_uid == $pruef->student_uid && $row->mitarbeiter_uid == $pruef->mitarbeiter_uid && $row->note == $pruef->note && $row->pruefungstyp_kurzbz == $pruef->pruefungstyp_kurzbz && $row->datum == $pruef->datum and $row->anmerkung == $pruef->anmerkung)
return -1;
else
return $row->pruefung_id;
}
}
else
{
return false;
}
}
function checkUpdateZeugnis($conn, $zeug)
{
$sqlstr = "select * from lehre.tbl_zeugnisnote where ext_id = '".$zeug->ext_id."'";
if($res = pg_query($conn, $sqlstr))
{
if($row = pg_fetch_object($res))
{
if ($row->lehrveranstaltung_id == $zeug->lehrveranstaltung_id && $row->student_uid == $zeug->student_uid && $row->studiensemester_kurzbz == $zeug->studiensemester_kurzbz && $row->note == $zeug->note && $row->bemerkung == $zeug->bemerkung)
return -1;
else
return 1;
}
else
{
return false;
}
}
}
function getLehreinheitID($conn_fas, $note_pk)
{
$lehreinheiten_fas_arr = array();
$sqlstr = "select lehreinheit.lehreinheit_pk,note.note_pk from lehreinheit, lehrveranstaltung, note, student_gruppe where lehrveranstaltung.lehrveranstaltung_pk = lehreinheit.lehrveranstaltung_fk and note.lehrveranstaltung_fk = lehrveranstaltung.lehrveranstaltung_pk and note.student_fk=student_gruppe.student_fk and student_gruppe.gruppe_fk = lehreinheit.gruppe_fk and note.note_pk = '".$note_pk."'";
if($result = pg_query($conn_fas, $sqlstr))
{
while($row = pg_fetch_object($result))
$lehreinheiten_fas_arr[] = $row->lehreinheit_pk;
return $lehreinheiten_fas_arr;
}
else
return false;
}
$text .= "<table border='1'>";
//query bauen: falls http-get-einschraenkungen fuer student_fk
//sync_fas_vilesci_note.php?student_fk_von=x&student_fk_bis=y
$getstr = "";
$sqlstr = "SELECT DISTINCT student_fk FROM note";
if (isset($_REQUEST["student_fk_von"]))
$getstr .= " student_fk >='".$_REQUEST["student_fk_von"]."'";
if (isset($_REQUEST["student_fk_bis"]))
{
if ($getstr != "")
$getstr .= " AND";
$getstr .= " student_fk <='".$_REQUEST["student_fk_bis"]."'";
}
if ($getstr != "")
$getstr = " WHERE ".$getstr;
$sqlstr = $sqlstr.$getstr." order by student_fk";
if($result = pg_query($conn_fas, $sqlstr))
{
while($row = pg_fetch_object($result))
{
$fasnoten_arr = getNoten4Student($conn_fas,$row->student_fk);
$lvkeys_arr = array_keys($fasnoten_arr);
foreach ($lvkeys_arr as $lvkey)
{
$idkeys_arr = array_keys($fasnoten_arr[$lvkey]);
foreach ($idkeys_arr as $idkey)
{
$anz_processed++;
$lehreinheit_id = $lvkey;
if (key_exists($fasnoten_arr[$lvkey][$idkey]["student_fk"],$studenten_arr))
$student_uid = $studenten_arr[$fasnoten_arr[$lvkey][$idkey]["student_fk"]];
else
$student_uid = "FEHLT";
$mitarbeiter_uid = $mitarbeiter_arr[$fasnoten_arr[$lvkey][$idkey]["notenlektor_fk"]];
$note = $fasnoten_arr[$lvkey][$idkey]["note"];
$pruefungstyp_kurzbz = getPruefungstyp($fasnoten_arr[$lvkey][$idkey]["status"]);
$datum = $fasnoten_arr[$lvkey][$idkey]["datum"];
$anmerkung = $fasnoten_arr[$lvkey][$idkey]["bemerkung"];
$insertamum = $fasnoten_arr[$lvkey][$idkey]["creationdate"];
$insertvon = $fasnoten_arr[$lvkey][$idkey]["creationuser_name"];
$updatevon = "sync";
$ext_id = $idkey;
$zeugnistabeintrag = $fasnoten_arr[$lvkey][$idkey]["main"];
if (key_exists($lvkey,$lv_arr))
$lehrveranstaltung_id = $lv_arr[$lvkey];
else
$lehrveranstaltung_id = "FEHLT";
$studiensemester_kurzbz = $studsem_arr[$fasnoten_arr[$lvkey][$idkey]["studiensemester_fk"]];
if($lehreinheit_id_arr = getLehreinheitID($conn_fas,$idkey))
{
$lehreinheit_id = "FEHLT";
foreach($lehreinheit_id_arr as $lehreinh)
{
if (key_exists($lehreinh,$lehreinheiten_sync_arr))
{
$lehreinheit_id = $lehreinheiten_sync_arr[$lehreinh];
break;
}
}
}
else
$lehreinheit_id = "FEHLT";
//begin insert tbl_pruefung
$anz_processed_pruef++;
if($student_uid == "FEHLT")
{
$insert_error_pruef++;
$text .= "Pr&uuml;fung: Datensatz FAS ID".$idkey.": student_uid ohne zuordnung<br>";
}
else if($lehreinheit_id == "FEHLT")
{
$insert_error_pruef++;
$text .= "Pr&uuml;fung: Datensatz FAS ID".$idkey.": Lehreinheit ohne zuordnung<br>";
}
else
{
$pruef = new pruefung($conn);
$pruef->lehreinheit_id=$lehreinheit_id;
$pruef->student_uid=$student_uid;
$pruef->mitarbeiter_uid=$mitarbeiter_uid;
$pruef->note=$note;
$pruef->pruefungstyp_kurzbz=$pruefungstyp_kurzbz;
$pruef->datum=$datum;
$pruef->anmerkung=$anmerkung;
$pruef->insertamum=$insertamum;
$pruef->insertvon=$insertvon;
$pruef->updateamum=date("Y-m-d H:m:s");
$pruef->updatevon=$updatevon;
$pruef->ext_id=$ext_id;
if (!($pruef->pruefung_id=checkUpdatePruefung($conn,$pruef)))
$pruef->new = 1;
if($pruef->pruefung_id == -1)
$anz_not_updated_pruef++;
else
{
if(!$pruef->save())
{
echo $pruef->errormsg."<br>";
$text .= "Pr&uuml;fung: Datensatz FAS ID".$idkey.": ".$pruef->errormsg."<br>";
if($pruef->new)
$insert_error_pruef++;
else
$update_error_pruef++;
}
else
if($pruef->new)
$anz_insert_pruef++;
else
$anz_update_pruef++;
}
}
//begin insert tbl_zeugnisnote
if ($zeugnistabeintrag == 1)
{
$anz_processed_zeug++;
if($student_uid == "FEHLT")
{
$insert_error_zeug++;
$text .= "<span style='background-color:#cccccc;'>Zeugnis: Datensatz FAS ID".$idkey.": student_uid ohne zuordnung</span><br>";
}
else if ($lehrveranstaltung_id == "FEHLT")
{
$insert_error_zeug++;
$text .= "<span style='background-color:#cccccc;'>Zeugnis: Datensatz FAS ID".$idkey.": lehrveranstaltung_id ohne zuordnung</span><br>";
}
else
{
$zeug = new zeugnisnote($conn);
$zeug->lehrveranstaltung_id = $lehrveranstaltung_id;
$zeug->student_uid = $student_uid;
$zeug->studiensemester_kurzbz = $studiensemester_kurzbz;
$zeug->note = $note;
$zeug->uebernahmedatum = null;
$zeug->benotungsdatum = $datum;
$zeug->updateamum = date("Y-m-d H:m:s");
$zeug->updatevon = $updatevon;
$zeug->insertamum = $insertamum;
$zeug->insertvon = $insertvon;
$zeug->ext_id = $ext_id;
$zeug->bemerkung = $anmerkung;
if (!($zeug->check = checkUpdateZeugnis($conn,$zeug)))
$zeug->new = 1;
if($zeug->check == -1)
$anz_not_updated_zeug++;
else
{
if(!$zeug->save())
{
$text .= "<span style='background-color:#cccccc;'>Zeugnis: Datensatz FAS ID".$idkey.": ".$zeug->errormsg."</span><br>";
if($zeug->new)
$insert_error_zeug++;
else
$update_error_zeug++;
}
else
if($zeug->new)
$anz_insert_zeug++;
else
$anz_update_zeug++;
}
}
}
//debug-output start
/*
if ($zeugnistabeintrag == 1)
$text .= "<tr style='background:#eeeeee'>";
else
$text .= "<tr>";
$text .= "<td>".$lehreinheit_id."</td>";
$text .= "<td>".$student_uid."<br>(".$fasnoten_arr[$lvkey][$idkey]["student_fk"].")</td>";
$text .= "<td>".$mitarbeiter_uid."</td>";
$text .= "<td>".$note."</td>";
$text .= "<td>".$pruefungstyp_kurzbz."</td>";
$text .= "<td><textarea cols='40'>".$anmerkung."</textarea></td>";
$text .= "<td>".$insertamum."</td>";
$text .= "<td>".$insertvon."</td>";
$text .= "<td>now()</td>";
$text .= "<td>".$updatevon."</td>";
$text .= "<td>".$ext_id."</td>";
if ($zeugnistabeintrag == 1)
{
$text .= "<td style='background:#cccccc'>".$lehrveranstaltung_id."</td>";
$text .= "<td style='background:#cccccc'>".$studiensemester_kurzbz."</td>";
}
else
$text .= "<td></td><td></td>";
$text .= "</tr>";
*/
//debug-output ende
}
}
}
$text .= "</table>";
$text .= "<hr><h3>Stats</h3><hr>";
$text .= "Anzahl der bearbeiteten Datens&auml;tze: ".$anz_processed."<br>";
$text .= "Anzahl Pr&uuml;fungseintr&auml;ge: ".$anz_processed_pruef."<br>";
$text .= "Pr&uuml;fungen insert fehler/ok: <span style='color:red'>".$insert_error_pruef."</span>/".$anz_insert_pruef."<br>";
$text .= "Pr&uuml;fungen update fehler/ok/noupdate: <span style='color:red'> ".$update_error_pruef."</span>/".$anz_update_pruef."/".$anz_not_updated_pruef."<br>";
$text .= "Anzahl Zeugniseintr&auml;ge: ".$anz_processed_zeug."<br>";
$text .= "Zeugnisnoten insert fehler/ok: <span style='color:red'>".$insert_error_zeug."</span>/".$anz_insert_zeug.")<br>";
$text .= "Zeugnisnoten update fehler/ok/noupdate: <span style='color:red'> ".$update_error_zeug."</span>/".$anz_update_zeug."/".$anz_not_updated_zeug."<br>";
$stopzeit = time();
$runzeit = $stopzeit - $startzeit;
$text .= "Dauer: ".$runzeit." s";
}
$text.="\nEND OF SYNCHRONISATION\n";
if (mail($adress,"FAS - Vilesci (Noten/Pruefungen)",$headtext."\n\n".$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS - Vilesci (Noten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo $headtext;
echo "<br><br>";
echo $text;
?>
</body>
</html>
@@ -1,602 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Noten
// FAS -> VILESCI
// setzt vorraus: - tbl_sprache
// - tbl_studiengang
// einschraenkung auf studiengang_fk per http-get:
// sync_fas_vilesci_note_stg.php?stg_von=x&stg_bis=y
// **************************************
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/zeugnisnote.class.php');
require_once('../../../include/pruefung.class.php');
//$adress='fas_sync@technikum-wien.at';
$adress='raab@technikum-wien.at';
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$startzeit = time();
$plausi_error=0;
$double_error=0;
$update_error_pruef=0;
$insert_error_pruef=0;
$update_error_zeug=0;
$insert_error_zeug=0;
$anz_update_pruef=0;
$anz_not_updated_pruef=0;
$anz_not_updated_zeug=0;
$anz_insert_pruef=0;
$anz_update_zeug=0;
$anz_insert_zeug=0;
$anz_processed_pruef=0;
$anz_processed_zeug=0;
$anz_processed=0;
$anz_students_processed = 0;
$stg_processed = "";
$fas_lvs_notinsync = array();
$stud_no_ext_id = array();
$headtext='';
$head_stg_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
$text='';
$double_lva = array();
$stg_data = array();
$fasnoten_arr = array(); //mehrdimensionaler array (lehrverstaltung_fk->(note_pk->("note"->"x","datum"->"y" ..)))
$mitarbeiter_arr = array(); //array (ext_id->mitarbeiter_uid)
$studenten_arr = array(); //array (ext_id->student_uid)
$lv_arr = array(); //array (lehrveranstaltung_fk->lehrveranstaltung_id)
$studsem_arr = array(); //array (ext_id->studiensemester_kurzbz)
$lehreinheiten_fas_arr = array();
$lehreinheiten_sync_arr = array();
//array aller mitarbeiter (ext_id->mitarbeiter_uid)
$sqlstr = "SELECT ext_id, mitarbeiter_uid FROM tbl_mitarbeiter";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$mitarbeiter_arr[$row->ext_id] = $row->mitarbeiter_uid;
}
//array aller studenten (ext_id->student_uid)
$sqlstr = "SELECT ext_id, student_uid FROM tbl_student";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$studenten_arr[$row->ext_id] = $row->student_uid;
}
//array aller lehrveranstaltungen aus sync-tabelle (lva_fas->lva_vilesci)
$sqlstr = "SELECT lva_fas, lva_vilesci FROM sync.tbl_synclehrveranstaltung";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$lv_arr[$row->lva_fas] = $row->lva_vilesci;
}
//array aller studiensemester (ext_id->studiensemester_kurzbz)
$sqlstr = "SELECT * FROM tbl_studiensemester";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$studsem_arr[$row->ext_id] = $row->studiensemester_kurzbz;
}
//array aller lehreinheiten in der synctabelle
$sqlstr = "SELECT * FROM sync.tbl_synclehreinheit";
if($result = pg_query($conn, $sqlstr))
{
while($row = pg_fetch_object($result))
$lehreinheiten_sync_arr[$row->lehreinheit_pk] = $row->lehreinheit_id;
}
//**** FUNCTIONS ****
function getNoten4Student($conn_fas, $student_fk)
{
$fasnoten_arr = array();
$mehrfach_arr = array();
$sqlstr = "SELECT note.note_pk,
note.student_fk,
note.lehrveranstaltung_fk,
note.datum,
note.note,
note.status,
note.bemerkung,
note.creationdate,
benutzer.name,
lehrveranstaltung.studiensemester_fk,
lehrveranstaltung.notenlektor_fk
FROM note, benutzer, lehrveranstaltung
WHERE note.creationuser = benutzer.benutzer_pk AND
note.lehrveranstaltung_fk = lehrveranstaltung.lehrveranstaltung_pk AND
note.student_fk = '".$student_fk."'
ORDER BY note.lehrveranstaltung_fk ASC, note.datum DESC, note.creationdate DESC";
if($result = pg_query($conn_fas, $sqlstr))
{
//$anzahl_quelle = pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$bemerkung_history = "";
if (key_exists($row->lehrveranstaltung_fk,$fasnoten_arr))
{
$bemerkung_history = "Note am ".$row->datum.": ".$row->note;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 0;
}
else
{
$mehrfach_arr[$row->lehrveranstaltung_fk]["main"] = $row->note_pk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 1;
}
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["note"] = $row->note;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["status"] = $row->status;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["creationdate"] = $row->creationdate;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["creationuser_name"] = $row->name;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["name"] = $row->name;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["studiensemester_fk"] = $row->studiensemester_fk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["bemerkung"] = $row->bemerkung;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["datum"] = $row->datum;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["notenlektor_fk"] = $row->notenlektor_fk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["student_fk"] = $row->student_fk;
$fasnoten_arr[$row->lehrveranstaltung_fk][$row->note_pk]["ext_id"] = $row->note_pk;
if ($bemerkung_history != "")
$fasnoten_arr[$row->lehrveranstaltung_fk][$mehrfach_arr[$row->lehrveranstaltung_fk]["main"]]["bemerkung"] .= "\n".$bemerkung_history;
}
}
return $fasnoten_arr;
}
function getNoten4Studiengang($conn_fas, $studiengang_pk)
{
$fasnoten_arr = array();
$mehrfach_arr = array();
$sqlstr = "SELECT note.note_pk,
note.student_fk,
note.lehrveranstaltung_fk,
note.datum,
note.note,
note.status,
note.bemerkung,
note.creationdate,
benutzer.name,
lehrveranstaltung.studiensemester_fk,
lehrveranstaltung.notenlektor_fk,
note.student_fk
FROM note, benutzer, lehrveranstaltung, student
WHERE note.creationuser = benutzer.benutzer_pk AND
note.lehrveranstaltung_fk = lehrveranstaltung.lehrveranstaltung_pk AND
note.student_fk = student.student_pk AND
student.studiengang_fk = '".$studiengang_pk."'
ORDER BY note.student_fk ASC, note.lehrveranstaltung_fk ASC, note.datum DESC, note.creationdate DESC";
if($result = pg_query($conn_fas, $sqlstr))
{
//$anzahl_quelle = pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$bemerkung_history = "";
if (key_exists($row->student_fk, $fasnoten_arr))
{
if (key_exists($row->lehrveranstaltung_fk,$fasnoten_arr[$row->student_fk]))
{
$bemerkung_history = "Note am ".$row->datum.": ".$row->note;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 0;
}
else
{
$mehrfach_arr[$row->student_fk][$row->lehrveranstaltung_fk]["main"] = $row->note_pk;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 1;
}
}
else
{
$mehrfach_arr[$row->student_fk][$row->lehrveranstaltung_fk]["main"] = $row->note_pk;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["main"] = 1;
}
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["note"] = $row->note;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["status"] = $row->status;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["creationdate"] = $row->creationdate;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["creationuser_name"] = $row->name;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["name"] = $row->name;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["studiensemester_fk"] = $row->studiensemester_fk;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["bemerkung"] = $row->bemerkung;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["datum"] = $row->datum;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["notenlektor_fk"] = $row->notenlektor_fk;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["student_fk"] = $row->student_fk;
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$row->note_pk]["ext_id"] = $row->note_pk;
if ($bemerkung_history != "")
$fasnoten_arr[$row->student_fk][$row->lehrveranstaltung_fk][$mehrfach_arr[$row->student_fk][$row->lehrveranstaltung_fk]["main"]]["bemerkung"] .= "\n".$bemerkung_history;
}
}
return $fasnoten_arr;
}
function getPruefungstyp($status)
{
$pruefungstyp = "";
if ($status == 1)
$pruefungstyp = "Termin1";
else if ($status == 2)
$pruefungstyp = "Termin2";
else if ($status == 11)
$pruefungstyp = "kommPruef";
else
$pruefungstyp = 'undefiniert'; //$status;
return $pruefungstyp;
}
function checkUpdatePruefung($conn, $pruef)
{
$sqlstr = "select * from lehre.tbl_pruefung where ext_id = '".$pruef->ext_id."'";
if($res = pg_query($conn, $sqlstr))
{
if($row = pg_fetch_object($res))
{
if ($row->lehreinheit_id == $pruef->lehreinheit_id && $row->student_uid == $pruef->student_uid && $row->mitarbeiter_uid == $pruef->mitarbeiter_uid && $row->note == $pruef->note && $row->pruefungstyp_kurzbz == $pruef->pruefungstyp_kurzbz && $row->datum == $pruef->datum and $row->anmerkung == $pruef->anmerkung)
return -1;
else
return $row->pruefung_id;
}
}
else
{
return false;
}
}
function checkUpdateZeugnis($conn, $zeug)
{
$sqlstr = "select * from lehre.tbl_zeugnisnote where ext_id = '".$zeug->ext_id."'";
if($res = pg_query($conn, $sqlstr))
{
if($row = pg_fetch_object($res))
{
if ($row->lehrveranstaltung_id == $zeug->lehrveranstaltung_id && $row->student_uid == $zeug->student_uid && $row->studiensemester_kurzbz == $zeug->studiensemester_kurzbz && $row->note == $zeug->note && $row->bemerkung == $zeug->bemerkung)
return -1;
else
return 1;
}
else
{
return false;
}
}
}
function getLehreinheitID($conn_fas, $note_pk)
{
$lehreinheiten_fas_arr = array();
//$sqlstr = "select lehreinheit.lehreinheit_pk,note.note_pk from lehreinheit, lehrveranstaltung, note, student_gruppe where lehrveranstaltung.lehrveranstaltung_pk = lehreinheit.lehrveranstaltung_fk and note.lehrveranstaltung_fk = lehrveranstaltung.lehrveranstaltung_pk and note.student_fk=student_gruppe.student_fk and student_gruppe.gruppe_fk = lehreinheit.gruppe_fk and note.note_pk = '".$note_pk."'";
$sqlstr = "select lehreinheit.lehreinheit_pk,note.note_pk from lehreinheit, lehrveranstaltung, note where lehrveranstaltung.lehrveranstaltung_pk = lehreinheit.lehrveranstaltung_fk and note.lehrveranstaltung_fk = lehrveranstaltung.lehrveranstaltung_pk and note.note_pk = '".$note_pk."'";
if($result = pg_query($conn_fas, $sqlstr))
{
while($row = pg_fetch_object($result))
$lehreinheiten_fas_arr[] = $row->lehreinheit_pk;
return $lehreinheiten_fas_arr;
}
else
return false;
}
$text .= "<table border='1'>";
//query bauen: falls http-get-einschraenkungen fuer student_fk
//sync_fas_vilesci_note.php?student_fk_von=x&student_fk_bis=y
/*
$getstr = "";
$sqlstr = "SELECT DISTINCT student_fk FROM note";
if (isset($_REQUEST["student_fk_von"]))
$getstr .= " student_fk >='".$_REQUEST["student_fk_von"]."'";
if (isset($_REQUEST["student_fk_bis"]))
{
if ($getstr != "")
$getstr .= " AND";
$getstr .= " student_fk <='".$_REQUEST["student_fk_bis"]."'";
}
if ($getstr != "")
$getstr = " WHERE ".$getstr;
$sqlstr = $sqlstr.$getstr." order by student_fk";
*/
$getstr = "";
$sqlstr = "select * from studiengang";
if (isset($_REQUEST["stg_von"]))
$getstr .= " studiengang_pk >= '".$_REQUEST["stg_von"]."'";
if (isset($_REQUEST["stg_bis"]))
{
if ($getstr != "")
$getstr .= " AND";
$getstr .= " studiengang_pk <= '".$_REQUEST["stg_bis"]."'";
}
if ($getstr != "")
$getstr = " WHERE".$getstr;
$sqlstr = $sqlstr.$getstr." order by studiengang_pk";
//echo $sqlstr;
//$sqlstr ="select count(*) from note, student where note.student_fk = student.student_pk and student.studiengang_fk = '16' and (note.student_fk=12217 or note.student_fk = 10704);";
if($result = pg_query($conn_fas, $sqlstr))
{
while($row = pg_fetch_object($result))
{
//$fasnoten_arr = getNoten4Student($conn_fas,$row->student_fk);
$fasnoten_arr = getNoten4Studiengang($conn_fas,$row->studiengang_pk);
$stg_processed .= $row->kuerzel." (".$row->studiengang_pk.") / ";
$studkeys_arr = array_keys($fasnoten_arr);
foreach ($studkeys_arr as $studkey)
{
$text .= "<b>*** Student: ".$studkey."</b><br>";
$anz_students_processed++;
$lvkeys_arr = array_keys($fasnoten_arr[$studkey]);
foreach ($lvkeys_arr as $lvkey)
{
$idkeys_arr = array_keys($fasnoten_arr[$studkey][$lvkey]);
foreach ($idkeys_arr as $idkey)
{
//echo "___".$idkey."<br>";
$anz_processed++;
$lehreinheit_id = $lvkey;
if (key_exists($fasnoten_arr[$studkey][$lvkey][$idkey]["student_fk"],$studenten_arr))
$student_uid = $studenten_arr[$fasnoten_arr[$studkey][$lvkey][$idkey]["student_fk"]];
else
$student_uid = "FEHLT";
$mitarbeiter_uid = $mitarbeiter_arr[$fasnoten_arr[$studkey][$lvkey][$idkey]["notenlektor_fk"]];
$note = $fasnoten_arr[$studkey][$lvkey][$idkey]["note"];
$pruefungstyp_kurzbz = getPruefungstyp($fasnoten_arr[$studkey][$lvkey][$idkey]["status"]);
$datum = $fasnoten_arr[$studkey][$lvkey][$idkey]["datum"];
$anmerkung = $fasnoten_arr[$studkey][$lvkey][$idkey]["bemerkung"];
$insertamum = $fasnoten_arr[$studkey][$lvkey][$idkey]["creationdate"];
$insertvon = $fasnoten_arr[$studkey][$lvkey][$idkey]["creationuser_name"];
$updatevon = "sync";
$ext_id = $idkey;
$zeugnistabeintrag = $fasnoten_arr[$studkey][$lvkey][$idkey]["main"];
if (key_exists($lvkey,$lv_arr))
$lehrveranstaltung_id = $lv_arr[$lvkey];
else
$lehrveranstaltung_id = "FEHLT";
$studiensemester_kurzbz = $studsem_arr[$fasnoten_arr[$studkey][$lvkey][$idkey]["studiensemester_fk"]];
$lehreinheit_str = "fas-lh: ";
if($lehreinheit_id_arr = getLehreinheitID($conn_fas,$idkey))
{
$lehreinheit_id = "FEHLT";
foreach($lehreinheit_id_arr as $lehreinh)
{
if (key_exists($lehreinh,$lehreinheiten_sync_arr))
{
$lehreinheit_id = $lehreinheiten_sync_arr[$lehreinh];
$lehreinheit_str .= $lehreinh."; ";
break;
}
}
}
else
$lehreinheit_id = "FEHLT";
//begin insert tbl_pruefung
$anz_processed_pruef++;
if($student_uid == "FEHLT")
{
$insert_error_pruef++;
$text .= "Pr&uuml;fung: Datensatz FAS ID".$idkey.": student_uid ohne zuordnung<br>";
}
else if($lehreinheit_id == "FEHLT")
{
$insert_error_pruef++;
$text .= "Pr&uuml;fung: Datensatz FAS ID".$idkey.": Lehreinheit ohne zuordnung (".$lehreinheit_str.")<br>";
}
else
{
$pruef = new pruefung($conn);
$pruef->lehreinheit_id=$lehreinheit_id;
$pruef->student_uid=$student_uid;
$pruef->mitarbeiter_uid=$mitarbeiter_uid;
$pruef->note=$note;
$pruef->pruefungstyp_kurzbz=$pruefungstyp_kurzbz;
$pruef->datum=$datum;
$pruef->anmerkung=$anmerkung;
$pruef->insertamum=$insertamum;
$pruef->insertvon=$insertvon;
$pruef->updateamum=date("Y-m-d H:m:s");
$pruef->updatevon=$updatevon;
$pruef->ext_id=$ext_id;
if (!($pruef->pruefung_id=checkUpdatePruefung($conn,$pruef)))
$pruef->new = 1;
if($pruef->pruefung_id == -1)
$anz_not_updated_pruef++;
else
{
if(!$pruef->save())
{
echo $pruef->errormsg."<br>";
$text .= "Pr&uuml;fung: Datensatz FAS ID".$idkey.": ".$pruef->errormsg."<br>";
if($pruef->new)
$insert_error_pruef++;
else
$update_error_pruef++;
}
else
if($pruef->new)
$anz_insert_pruef++;
else
$anz_update_pruef++;
}
}
//begin insert tbl_zeugnisnote
if ($zeugnistabeintrag == 1)
{
$anz_processed_zeug++;
if($student_uid == "FEHLT")
{
$insert_error_zeug++;
$text .= "<span style='background-color:#cccccc;'>Zeugnis: Datensatz FAS ID".$idkey.": student_uid ohne zuordnung</span><br>";
if (!in_array($studkey, $stud_no_ext_id))
$stud_no_ext_id[] = $studkey;
}
else if ($lehrveranstaltung_id == "FEHLT")
{
$insert_error_zeug++;
$text .= "<span style='background-color:#cccccc;'>Zeugnis: Datensatz FAS ID".$idkey.": lehrveranstaltung_id ohne zuordnung (".$lvkey.")</span><br>";
if (!in_array($lvkey, $fas_lvs_notinsync))
$fas_lvs_notinsync[] = $lvkey;
}
else
{
$zeug = new zeugnisnote($conn);
$zeug->lehrveranstaltung_id = $lehrveranstaltung_id;
$zeug->student_uid = $student_uid;
$zeug->studiensemester_kurzbz = $studiensemester_kurzbz;
$zeug->note = $note;
$zeug->uebernahmedatum = null;
$zeug->benotungsdatum = $datum;
$zeug->updateamum = date("Y-m-d H:m:s");
$zeug->updatevon = $updatevon;
$zeug->insertamum = $insertamum;
$zeug->insertvon = $insertvon;
$zeug->ext_id = $ext_id;
$zeug->bemerkung = $anmerkung;
if (!($zeug->check = checkUpdateZeugnis($conn,$zeug)))
$zeug->new = 1;
if($zeug->check == -1)
$anz_not_updated_zeug++;
else
{
if(!$zeug->save())
{
$text .= "<span style='background-color:#cccccc;'>Zeugnis: Datensatz FAS ID".$idkey.": ".$zeug->errormsg."</span><br>";
if($zeug->new)
$insert_error_zeug++;
else
$update_error_zeug++;
}
else
if($zeug->new)
$anz_insert_zeug++;
else
$anz_update_zeug++;
}
}
}
//debug-output start
/*
if ($zeugnistabeintrag == 1)
$text .= "<tr style='background:#eeeeee'>";
else
$text .= "<tr>";
$text .= "<td>".$lehreinheit_id."</td>";
$text .= "<td>".$student_uid."<br>(".$fasnoten_arr[$lvkey][$idkey]["student_fk"].")</td>";
$text .= "<td>".$mitarbeiter_uid."</td>";
$text .= "<td>".$note."</td>";
$text .= "<td>".$pruefungstyp_kurzbz."</td>";
$text .= "<td><textarea cols='40'>".$anmerkung."</textarea></td>";
$text .= "<td>".$insertamum."</td>";
$text .= "<td>".$insertvon."</td>";
$text .= "<td>now()</td>";
$text .= "<td>".$updatevon."</td>";
$text .= "<td>".$ext_id."</td>";
if ($zeugnistabeintrag == 1)
{
$text .= "<td style='background:#cccccc'>".$lehrveranstaltung_id."</td>";
$text .= "<td style='background:#cccccc'>".$studiensemester_kurzbz."</td>";
}
else
$text .= "<td></td><td></td>";
$text .= "</tr>";
*/
//debug-output ende
}
}
}
}
$text .= "</table>";
$text .= "<hr><h3>Stats</h3><hr>";
$text .= "Bearbeitete StudiengÀnge: ".$stg_processed."<br>";
$text .= "Anzahl der bearbeiteten Studenten: ".$anz_students_processed."<br>";
$text .= "Anzahl der bearbeiteten Datens&auml;tze: ".$anz_processed."<br>";
$text .= "Anzahl Pr&uuml;fungseintr&auml;ge: ".$anz_processed_pruef."<br>";
$text .= "Pr&uuml;fungen insert fehler/ok: <span style='color:red'>".$insert_error_pruef."</span>/".$anz_insert_pruef."<br>";
$text .= "Pr&uuml;fungen update fehler/ok/noupdate: <span style='color:red'> ".$update_error_pruef."</span>/".$anz_update_pruef."/".$anz_not_updated_pruef."<br>";
$text .= "Anzahl Zeugniseintr&auml;ge: ".$anz_processed_zeug."<br>";
$text .= "Zeugnisnoten insert fehler/ok: <span style='color:red'>".$insert_error_zeug."</span>/".$anz_insert_zeug.")<br>";
$text .= "Zeugnisnoten update fehler/ok/noupdate: <span style='color:red'> ".$update_error_zeug."</span>/".$anz_update_zeug."/".$anz_not_updated_zeug."<br>";
$text .= "FAS- LVs nicht in sync-Tabelle: ";
foreach ($fas_lvs_notinsync as $lv_id)
$text .= $lv_id."; ";
$text .= "<br>";
$text .= "Studenten Ext-IDs: ";
foreach ($stud_no_ext_id as $stud_ext_id)
$text .= $stud_ext_id."; ";
$text .= "<br>";
$stopzeit = time();
$runzeit = $stopzeit - $startzeit;
$text .= "Dauer: ".$runzeit." s";
$text.="\nEND OF SYNCHRONISATION\n";
if (mail($adress,"FAS - Vilesci (Noten/Pruefungen)",$headtext."\n\n<html><body>".$text."</body></html>","From: vilesci@technikum-wien.at\nContent-Type: text/html\n"))
$sendmail=true;
else
$sendmail=false;
}
?>
<html>
<head>
<title>FAS - Vilesci (Noten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo $headtext;
echo "<br><br>";
echo $text;
?>
</body>
</html>
-368
View File
@@ -1,368 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Personendatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: sync von tbl_nation, tbl_sprache
//* benötigt: tbl_syncperson
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/person.class.php');
require_once('../sync_config.inc.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
//$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur FAS Datenbank fehlgeschlagen");
//set_time_limit(60);
//$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$error_log_fas='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$plausi='';
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Person</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="
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.titel AS titel1, p1.gebnation AS gebnation1, p1.postnomentitel AS postnomentitel1, p1.uid as uid1,
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.titel AS titel2, p2.gebnation AS gebnation2, p2.postnomentitel AS postnomentitel2, p2.uid as uid2
FROM person AS p1, person AS p2 WHERE
((p1.svnr=p2.svnr AND p1.svnr IS NOT NULL AND p1.svnr<>'')
OR (p1.svnr<>p2.svnr AND p1.svnr IS NOT NULL AND p1.svnr<>'' AND p1.familienname=p2.familienname AND p1.familienname IS NOT NULL AND p1.familienname!=''
AND p1.gebdat=p2.gebdat AND p1.gebdat IS NOT NULL AND p1.gebdat>'1935-01-01' AND p1.gebdat<'2000-01-01'))
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.gebort<>p2.gebort 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)
order by p1.familienname;
";
//AND (p1.svnr<>'0005010400' AND p2.svnr<>'0005010400')
$error_log_fas="Überprüfung Personendaten im FAS:\n\n";
if($resultp = pg_query($conn_fas, $qry))
{
$error_log_fas.="Anzahl der Datensätze: ".pg_num_rows($resultp)."\n";
echo nl2br($error_log_fas);
while($rowp=pg_fetch_object($resultp))
{
$plausi='';
if ($rowp->geschlecht1<>$rowp->geschlecht2)
{
$plausi="Geschlecht der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->geschlecht1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->geschlecht2."'.\n";
$error=true;
}
if ($rowp->familienname1<>$rowp->familienname2)
{
$plausi.="Familienname der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->familienname1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->familienname2."'.\n";
$error=true;
}
if ($rowp->vorname1<>$rowp->vorname2)
{
$plausi.="Vorname der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->familienname1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->vorname2."'.\n";
$error=true;
}
if ($rowp->vornamen1<>$rowp->vornamen2)
{
$plausi.="Vornamen der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->vornamen1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->vornamen2."'.\n";
$error=true;
}
if ($rowp->gebdat1<>$rowp->gebdat2)
{
$plausi.="Geburtsdatum der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->gebdat1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->gebdat2."'.\n";
$error=true;
}
if ($rowp->gebort1<>$rowp->gebort2)
{
$plausi.="Geburtsort der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->gebort1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->gebort2."'.\n";
$error=true;
}
if ($rowp->staatsbuergerschaft1<>$rowp->staatsbuergerschaft2)
{
$plausi.="Staatsbürgerschaft der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->staatsbuergerschaft1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->staatsbuergerschaft2."'.\n";
$error=true;
}
if ($rowp->familienstand1<>$rowp->familienstand2)
{
$plausi.="Familienstand der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->familienstand1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->familienstand2."'.\n";
$error=true;
}
if ($rowp->svnr1<>$rowp->svnr2)
{
$plausi.="Sozialversicherung der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->svnr1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->svnr2."'.\n";
$error=true;
}
if ($rowp->ersatzkennzeichen1<>$rowp->ersatzkennzeichen2)
{
$plausi.="Ersatzkennzeichen der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->ersatzkennzeichen1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->ersatzkennzeichen2."'.\n";
$error=true;
}
if ($rowp->anrede1<>$rowp->anrede2)
{
$plausi.="Anrede der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->anrede1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->anrede2."'.\n";
$error=true;
}
if ($rowp->anzahlderkinder1<>$rowp->anzahlderkinder2)
{
$plausi.="Anzahl der Kinder der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->anzahlderkinder1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->anzahlderkinder2."'.\n";
$error=true;
}
if ($rowp->titel1<>$rowp->titel2)
{
$plausi.="Titel der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->titel1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->titel2."'.\n";
$error=true;
}
if ($rowp->gebnation1<>$rowp->gebnation2)
{
$plausi.="Geburtsnation der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->gebnation1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->gebnation2."'.\n";
$error=true;
}
if ($rowp->postnomentitel1<>$rowp->postnomentitel2)
{
$plausi.="Postnomentitel der Person ".$rowp->familienname1." (".$rowp->uid1.", person_pk=".$rowp->person1.") ist '".$rowp->postnomentitel1."' bei ".$rowp->familienname2." (".$rowp->uid2.", person_pk=".$rowp->person2.") aber '".$rowp->postnomentitel2."'.\n";
$error=true;
}
if ($error)
{
$plausi="*****\n".$plausi."*****\n";
echo nl2br ($plausi);
$error_log_fas.=$plausi;
//ob_flush();
//flush();
$error=false;
}
}
}
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");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,182 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Reihungstestdatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/reihungstest.class.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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$ausgabe='';
$ausgabe_test='';
function validate($row)
{
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Reihungstest</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//nation
$qry = "SELECT * FROM reihungstest ORDER BY datum;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Reihungstest Sync\n-------------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$reihungstest =new reihungstest($conn);
$studiengang_kz ='';
$reihungstest->ort_kurzbz ='';
$reihungstest->anmerkung =$row->raum;
$reihungstest->datum =$row->datum;
$reihungstest->uhrzeit =$row->uhrzeit;
//$reihungstest->updateamum =$row->;
$reihungstest->updatevon ="SYNC";
//$reihungstest->insertamum =$row->;
$reihungstest->insertvon ="SYNC";
$reihungstest->ext_id =$row->reihungstest_pk;
$update=false;
$ausgabe_test='';
//echo nl2br ($reihungstest->ext_id."\n");
$qry2="SELECT * FROM tbl_reihungstest WHERE ext_id=".$row->reihungstest_pk.";";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
// update adresse, wenn datensatz bereits vorhanden
if($row2->anmerkung!=$row->raum)
{
$update=true;
if(strlen(trim($ausgabe_test))>0)
{
$ausgabe_test.=", Raum: '".$row->raum."'";
}
else
{
$ausgabe_test="Raum: '".$row->raum."'";
}
}
if($row2->datum!=$row->datum)
{
$update=true;
if(strlen(trim($ausgabe_test))>0)
{
$ausgabe_test.=", Datum: '".$row->datum."'";
}
else
{
$ausgabe_test="Datum: '".$row->datum."'";
}
}
if($row2->uhrzeit!=$row->uhrzeit)
{
$update=true;
if(strlen(trim($ausgabe_test))>0)
{
$ausgabe_test.=", Uhrzeit: '".$row->uhrzeit."'";
}
else
{
$ausgabe_test="Uhrzeit: '".$row->uhrzeit."'";
}
}
$reihungstest->new=false;
$reihungstest->reihungstest_id=$row2->reihungstest_id;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$reihungstest->new=true;
}
}
if(!$error)
{
if($reihungstest->new || $update)
{
if(!$reihungstest->save())
{
$error_log.=$reihungstest->errormsg."\n";
$anzahl_fehler++;
$ausgabe_test='';
}
else
{
if($reihungstest->new)
{
$ausgabe.="Reihungstest '$row->raum', '$row->datum' eingefügt!\n";
$anzahl_eingefuegt++;
}
else
{
if($update)
{
$ausgabe.="Reihungstest geändert: ".$ausgabe_test." !\n";
$anzahl_update++;
}
}
//echo "- ";
//ob_flush();
//flush();
}
}
}
//flush();
}
}
//echo nl2br($text);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler");
echo nl2br("\n\n".$error_log);
echo nl2br("\n\n".$ausgabe);
//$ausgabe="\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n".$ausgabe;
$ausgabe="Sync Reihungstest:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler Reihungstest von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Reihungstest von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,242 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Schlüsseldatensaetze von FAS DB in PORTAL DB
//*
//*benötigt: tbl_betriebsmitteltyp, tbl_ort
include('../../../vilesci/config.inc.php');
include('../../../include/betriebsmittel.class.php');
include('../../../include/betriebsmittelperson.class.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 = '';
$anzahl_quelle = 0;
$anzahl_eingefuegt = 0;
$anzahl_eingefuegt2 = 0;
$anzahl_fehler = 0;
$anzahl_fehler2 = 0;
$krit = '';
function validate($row)
{
}
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Schlüssel</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS-PORTAL - Synchronisation
*/
$qry = "SELECT * FROM person_schluessel ORDER BY person_fk;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Schlüssel Sync\n--------------\n");
echo nl2br("=====Hinweis: Es werden keine bestehenden Datensätze verändert (update).=====");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
//echo "- ";
//ob_flush();
//flush();
$error=false;
$betriebsmittel =new betriebsmittel($conn);
//$betriebsmittel->betriebsmittel_id ='';
$betriebsmittel->beschreibung ='';
//$betriebsmittel->betriebsmitteltyp ='';
$betriebsmittel->nummer =$row->nummer;
$betriebsmittel->reservieren =false;
$betriebsmittel->ort_kurzbz =null;
$betriebsmittel->updatevon ="SYNC";
$betriebsmittel->insertvon ="SYNC";
$betriebsmittel->ext_id =$row->person_fk+($row->schluessel_fk*100000);
$betriebsmittelperson =new betriebsmittelperson($conn);
//$betriebsmittelperson->betriebsmittel_id ='';
//$betriebsmittelperson->person_id ='';
$betriebsmittelperson->anmerkung ='';
$betriebsmittelperson->kaution =$row->betrag;
$betriebsmittelperson->ausgegebenam =date('Y-m-d',strtotime(strftime($row->verliehenam)));
$betriebsmittelperson->retouram ='';
$betriebsmittelperson->updatevon ="SYNC";
$betriebsmittelperson->insertvon ="SYNC";
$betriebsmittelperson->ext_id =$row->person_fk+($row->schluessel_fk*100000);
//Person_id feststellen
$qry1="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas=".$row->person_fk.";";
if($result1 = pg_query($conn, $qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
{
if($row1=pg_fetch_object($result1))
{
$betriebsmittelperson->person_id=$row1->person_portal;
//Schlüsseltyp feststellen
$qry2="SELECT * FROM sync.tbl_syncschluesseltyp WHERE fas_typ='".$row->schluessel_fk."';";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
$betriebsmittel->betriebsmitteltyp=$row2->portal_typ;
//Insert oder Update
$qry3="SELECT betriebsmittel_id FROM public.tbl_betriebsmittel WHERE ext_id=".($row->person_fk+($row->schluessel_fk*100000))." OR nummer='".$row->nummer."';";
if($result3 = pg_query($conn, $qry3))
{
if(pg_num_rows($result3)>0) //eintrag gefunden
{
if($row3=pg_fetch_object($result3))
{
// update , wenn datensatz bereits vorhanden
$betriebsmittel->betriebsmittel_id=$row3->betriebsmittel_id;
$betriebsmittelperson->betriebsmittel_id=$row3->betriebsmittel_id;
$betriebsmittel->new=false;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$betriebsmittel->new=true;
$qry = "SELECT nextval('public.tbl_betriebsmittel_betriebsmittel_id_seq') as id;";
if(!$row = pg_fetch_object(pg_query($conn, $qry)))
{
$error_log.= 'Fehler beim Auslesen der Betriebsmittel-Sequence\n';
$error=true;
}
$betriebsmittel->betriebsmittel_id=$row->id;
$betriebsmittelperson->betriebsmittel_id=$row->id;
}
}
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$betriebsmittel->new=true;
}
}
else
{
$error=true;
$error_log.="Betriebsmitteltyp mit schluessel_fk: $row->schluessel_fk konnte in tbl_betriebsmitteltyp nicht gefunden werden! \n";
$anzahl_fehler++;
}
}
}
else
{
$error=true;
$error_log.="Person mit person_fk: $row->person_fk konnte in tbl_syncperson nicht gefunden werden!\n";
$anzahl_fehler++;
}
}
If (!$error)
{
pg_query($conn,"BEGIN");
if($betriebsmittel->new)
{
if(!$betriebsmittel->save())
{
$error_log.=$betriebsmittel->errormsg."\n";
$anzahl_fehler++;
pg_query($conn,"ROLLBACK");
}
else
{
$anzahl_eingefuegt++;
//insert oder update?
$qry3="SELECT betriebsmittel_id, person_id FROM public.tbl_betriebsmittelperson WHERE betriebsmittel_id=".$betriebsmittel->betriebsmittel_id." AND person_id=".$betriebsmittelperson->person_id.";";
if($result3 = pg_query($conn, $qry3))
{
if(pg_num_rows($result3)>0) //eintrag gefunden
{
if($row3=pg_fetch_object($result3))
{
// update , wenn datensatz bereits vorhanden
$betriebsmittelperson->new=false;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$betriebsmittelperson->new=true;
}
}
else
{
$error=true;
$error_log.="Fehler beim Zugriff auf tbl_betreibsmittelperson.\n";
}
if (!$error)
{
if($betriebsmittelperson->new)
{
if(!$betriebsmittelperson->save())
{
$error_log.=$betriebsmittel->errormsg."\n";
$anzahl_fehler2++;
pg_query($conn,"ROLLBACK");
}
else
{
$anzahl_eingefuegt2++;
pg_query($conn,"COMMIT");
}
}
else
{
//es werden keine Datensätze über das Synchro verändert !
pg_query($conn, "ROLLBACK");
}
}
else
{
pg_query($conn, "ROLLBACK");
}
}
}
else
{
//es werden keine Datensätze über das Synchro verändert !
pg_query($conn, "ROLLBACK");
}
}
}
}
//echo nl2br($text);
echo nl2br("\n\n".$error_log);
echo nl2br("\n"."Betriebsmittel:");
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
echo nl2br("\n"."Betriebsmittelperson:");
echo nl2br("\nGesamt: $anzahl_eingefuegt / Eingefügt: $anzahl_eingefuegt2 / Fehler: $anzahl_fehler2");
$error_log="\nBetriebsmittel: \nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler\nBetriebsmittelperson: \nGesamt: $anzahl_eingefuegt / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler\n".$error_log;
mail($adress, 'SYNC Schluessel', $error_log,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,112 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert schluesseltypdatensaetze von FAS DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
include('../../../include/betriebsmitteltyp.class.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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Schlüsseltyp</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS-PORTAL - Synchronisation
*/
$qry = "SELECT * FROM schluessel;";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Schlüsseltyp Sync\n---------------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
echo "- ";
ob_flush();
flush();
$error=false;
$betriebsmitteltyp =new betriebsmitteltyp($conn);
$betriebsmitteltyp->anzahl =$row->anzahl==''?'0':$row->anzahl;
$betriebsmitteltyp->kaution =$row->betrag==''?'0':$row->betrag;
if($row->name=='Gaderobenschlüssel')
{
$betriebsmitteltyp->betriebsmitteltyp='Gaderobe';
}elseif($row->name=='Generalschlüssel')
{
$betriebsmitteltyp->betriebsmitteltyp='Schluessel';
}elseif($row->name=='Schlüssel')
{
$betriebsmitteltyp->betriebsmitteltyp='Schluessel';
}
else
{
$betriebsmitteltyp->betriebsmitteltyp=$row->name;
}
$betriebsmitteltyp->beschreibung =$betriebsmitteltyp->betriebsmitteltyp;
$betriebsmitteltyp->new=true;
if(!$betriebsmitteltyp->save())
{
$error_log.=$betriebsmitteltyp->errormsg."\n";
$anzahl_fehler++;
}
else
{
//überprüfen, ob sync-eintrag schon vorhanden
$qryz="SELECT * FROM sync.tbl_syncschluesseltyp WHERE fas_typ='$row->schluessel_pk' AND portal_typ='$betriebsmitteltyp->betriebsmitteltyp'";
if($resultz = pg_query($conn, $qryz))
{
if(pg_num_rows($resultz)==0) //wenn dieser eintrag noch nicht vorhanden ist
{
$qry="INSERT INTO sync.tbl_syncschluesseltyp (fas_typ, portal_typ)".
"VALUES ('".$row->schluessel_pk."', '".$betriebsmitteltyp->betriebsmitteltyp."');";
$resulti = pg_query($conn, $qry);
}
}
$anzahl_eingefuegt++;
}
}
}
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
$error_log.="\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler";
mail($adress, 'SYNC Schluesseltyp', $error_log,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,484 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Studentlehrverbanddatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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='';
$error_log_fas='';
$text = '';
$anzahl_quelle=0;
$anzahl_quelle_student=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$nicht_gefunden=0;
$ausgabe='';
$ausgabe_slv='';
$ausgabe_all='';
$update=false;
$typ='';
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Studentlehrverband</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="SELECT * FROM person, student, studiengang
WHERE person_pk=person_fk AND student.studiengang_fk=studiengang.studiengang_pk ".$dont_sync_sql_fas."
AND uid IS NOT null AND uid<>'' AND perskz IS NOT null AND perskz<>''
;"; //ORDER BY Familienname, Vorname
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Studentlehrverband Sync\n-------------------------\n");
$anzahl_quelle_student=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$student_uid ="";
$studiensemester_kurzbz ="";
$studiengang_kz ="";
$semester ="";
$verband ="";
$gruppe ="";
$updateamum ="";
$updatevon ="SYNC";
$insertamum ="";
$insertvon ="SYNC";
$ext_id ="";
$qry5="SELECT * from public.tbl_student WHERE ext_id='".$row->student_pk."';";
if($result5 = pg_query($conn, $qry5))
{
if(pg_num_rows($result5)<1)
{
$error=true;
$error_log_fas.="Student mit ext_id='".$row->student_pk."' nicht gefunden! ('".$row->perskz."', '".$row->familienname."', '".$row->vorname."')\n".$qry5."\n";
$nicht_gefunden++;
}
else
{
if($row5=pg_fetch_object($result5))
{
$student_uid=$row5->student_uid;
}
}
}
if(!$error)
{
$qry="SELECT * FROM student_gruppe WHERE student_fk='".$row->student_pk."';";
if($result1 = pg_query($conn_fas, $qry))
{
while($row1=pg_fetch_object($result1))
{
//semester, verband, gruppe
$typ='';
$error=false;
$error_log="";
$anzahl_quelle++;
$insertamum=$row1->creationdate;
$insertvon=$row1->creationuser;
$qry2="SELECT * FROM gruppe WHERE gruppe_pk='".$row1->gruppe_fk."';";
if($result2 = pg_query($conn_fas, $qry2))
{
if($row2=pg_fetch_object($result2))
{
$typ=$row2->typ;
if($row2->typ=='1')
{
$semester=$row2->name;
$verband=' ';
$gruppe=' ';
}
elseif ($row2->typ=='2')
{
$verband=$row2->name;
$gruppe=' ';
$qry3="SELECT * FROM gruppe WHERE gruppe_pk='".$row2->obergruppe_fk."';";
if($result3 = pg_query($conn_fas, $qry3))
{
if($row3=pg_fetch_object($result3))
{
$semester=$row3->name;
}
else
{
$error_log="Gruppe mit gruppe_pk=".$row2->obergruppe_fk."nicht gefunden (1).\n";
$error=true;
}
}
else
{
$error_log="Fehler beim Zugriff auf Tabelle gruppe (1).\n";
$error=true;
}
}
elseif ($row2->typ=='3')
{
$gruppe=$row2->name;
$qry3="SELECT * FROM gruppe WHERE gruppe_pk='".$row2->obergruppe_fk."';";
if($result3 = pg_query($conn_fas, $qry3))
{
if($row3=pg_fetch_object($result3))
{
$verband=$row3->name;
$qry4="SELECT * FROM gruppe WHERE gruppe_pk='".$row3->obergruppe_fk."';";
if($result4 = pg_query($conn_fas, $qry4))
{
if($row4=pg_fetch_object($result4))
{
$semester=$row4->name;
}
else
{
$error_log="Gruppe mit gruppe_pk=".$row2->obergruppe_fk."nicht gefunden (3).\n";
$error=true;
}
}
else
{
$error_log="Fehler beim Zugriff auf Tabelle gruppe (3).\n";
$error=true;
}
}
else
{
$error_log="Gruppe mit gruppe_pk=".$row2->obergruppe_fk."nicht gefunden (2).\n";
$error=true;
}
}
else
{
$error_log="Fehler beim Zugriff auf Tabelle gruppe (2).\n";
$error=true;
}
}
elseif($row2->typ=='10' && strlen($row2->name)==1)
{
if($row2->obergruppe_fk!=0)
{
$qry3="SELECT * FROM gruppe WHERE gruppe_pk='".$row2->obergruppe_fk."';";
if($result3 = pg_query($conn_fas, $qry3))
{
if($row3=pg_fetch_object($result3))
{
if($row3->obergruppe_fk!=0)
{
$qry4="SELECT * FROM gruppe WHERE gruppe_pk='".$row3->obergruppe_fk."';";
if($result4 = pg_query($conn_fas, $qry4))
{
if($row4=pg_fetch_object($result4))
{
$semester=$row4->name;
$verband=$row3->name;
$gruppe=$row2->name;
}
}
}
else
{
$semester=$row3->name;
$verband=$row2->name;
$gruppe=' ';
}
}
}
}
else
{
$semester=$row2->name;
$verband=' ';
$gruppe=' ';
}
}
else
{
//$error_log="Gruppentyp nicht 1, 2, 3 oder 10.\n";
//$error=true;
continue;
}
}
else
{
$error_log="Eintragung in Tabelle gruppe mit gruppe_pk='".$row1->gruppe_fk."' nicht gefunden.\n";
$error=true;
continue;
}
if($semester==null || $semester=='') $semester=' ';
if($verband==null || $verband=='') $verband=' ';
if($gruppe==null || $gruppe=='') $gruppe=' ';
if($verband=='S')
{
continue;
}
//studiengang_kz
$qry="SELECT * FROM studiengang WHERE studiengang_pk='".$row2->studiengang_fk."';";
if($result3 = pg_query($conn_fas, $qry))
{
if($row3=pg_fetch_object($result3))
{
$studiengang_kz=$row3->kennzahl;
}
else
{
$error_log="Studiengang mit studiengang_pk='".$row2->studiengang_fk."' nicht gefunden.\n";
$error=true;
}
}
//studiensemester_kurzbz
$qry="SELECT * FROM public.tbl_studiensemester WHERE ext_id='".$row2->studiensemester_fk."';";
if($result3 = pg_query($conn, $qry))
{
if($row3=pg_fetch_object($result3))
{
$studiensemester_kurzbz=$row3->studiensemester_kurzbz;
}
else
{
$error_log="Studiensemester '".$row2->studiensemester_fk."' nicht gefunden.\n";
$error=true;
}
}
}
else
{
$error_log="Fehler beim Zugriff auf Tabelle gruppe (1).\n";
$error=true;
}
if(!is_numeric($semester))
{
$error_log="Semester ist keine Zahl - Gruppenbezeichnung:'".$semester.$verband.$gruppe."'\n";
}
if(!($semester==' ' && $verband==' ' && $gruppe==' ') && !$error && is_numeric($semester))
{
if(!$error)
{
$qrylvb="SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='".$studiengang_kz."' AND semester='".$semester."' AND verband='".$verband."' AND gruppe='".$gruppe."';";
if($resultlvb = pg_query($conn, $qrylvb))
{
if(pg_num_rows($resultlvb)<1)
{
$qryinsl="INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, ext_id) VALUES (".
myaddslashes($studiengang_kz).", ".
myaddslashes($semester).", ".
myaddslashes($verband).", ".
myaddslashes($gruppe).", ".
"'true', ".
"null, ".
"null);" ;
if (!pg_query($conn, $qryinsl))
echo pg_last_error($conn).'<BR>'.$qryinsl;
}
}
$qry="SELECT * FROM public.tbl_studentlehrverband WHERE student_uid='".$student_uid."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."';";
if($result4 = pg_query($conn, $qry))
{
if(pg_num_rows($result4)>0)
{
if($row4=pg_fetch_object($result4))
{
//update
$updates=false;
$ausgabe_slv="";
if(trim($row4->student_uid)!=trim($student_uid))
{
$updates=true;
if(strlen(trim($ausgabe_slv))>0)
{
$ausgabe_slv.=", Student_UID: '".$student_uid."' (statt '".trim($row4->student_uid)."')";
}
else
{
$ausgabe_slv="Student_UID: '".$student_uid."' (statt '".trim($row4->student_uid)."')";
}
}
if(trim($row4->studiensemester_kurzbz)!=trim($studiensemester_kurzbz))
{
$updates=true;
if(strlen(trim($ausgabe_slv))>0)
{
$ausgabe_slv.=", Studiensemester_kurzbz: '".$studiensemester_kurzbz."' (statt '".trim($row4->studiensemester_kurzbz)."')";
}
else
{
$ausgabe_slv="Studiensemester_kurzbz: '".$studiensemester_kurzbz."' (statt '".trim($row4->studiensemester_kurzbz)."')";
}
}
if(trim($row4->studiengang_kz)!=trim($studiengang_kz))
{
$updates=true;
if(strlen(trim($ausgabe_slv))>0)
{
$ausgabe_slv.=", Studiengang_kz: '".$studiengang_kz."' (statt '".trim($row4->studiengang_kz)."')";
}
else
{
$ausgabe_slv="Studiengang_kz: '".$studiengang_kz."' (statt '".trim($row4->studiengang_kz)."')";
}
}
if(trim($row4->semester)!=trim($semester))
{
$updates=true;
if(strlen(trim($ausgabe_slv))>0)
{
$ausgabe_slv.=", Semester: '".$semester."' (statt '".trim($row4->semester)."')";
}
else
{
$ausgabe_slv="Semester: '".$semester."' (statt '".trim($row4->semester)."')";
}
}
if(trim($row4->verband)!=trim($verband))
{
$updates=true;
if(strlen(trim($ausgabe_slv))>0)
{
$ausgabe_slv.=", verband: '".$verband."' (statt '".trim($row4->verband)."')";
}
else
{
$ausgabe_slv="verband: '".$verband."' (statt '".trim($row4->verband)."')";
}
}
if(!(trim($row4->semester)==trim($semester) AND trim($row4->verband)==trim($verband) AND trim($row4->gruppe)!=trim($gruppe) AND $gruppe==' '))
{
if(trim($row4->gruppe)!=trim($gruppe))
{
$updates=true;
if(strlen(trim($ausgabe_slv))>0)
{
$ausgabe_slv.=", gruppe: '".$gruppe."' (statt '".trim($row4->gruppe)."')";
}
else
{
$ausgabe_slv="gruppe: '".$gruppe."' (statt '".trim($row4->gruppe)."')";
}
}
}
if($updates && !in_array($studiengang_kz, $dont_sync_php))
{
$anzahl_update++;
$qry = "UPDATE public.tbl_studentlehrverband SET".
" student_uid=".myaddslashes($student_uid).", ".
" studiensemester_kurzbz=".myaddslashes($studiensemester_kurzbz).", ".
" studiengang_kz=".myaddslashes($studiengang_kz).", ".
" semester=".myaddslashes($semester).", ".
" verband=".myaddslashes($verband);
//nicht updaten, wenn nur gruppe leer - zb.: 4A wird nicht über 4A1 geschrieben
if(!(trim($row4->semester)==trim($semester) AND trim($row4->verband)==trim($verband) AND trim($row4->gruppe)!=trim($gruppe) AND $gruppe==' '))
{
$qry.=", gruppe=".myaddslashes($gruppe);
}
$qry.=", updateamum=now(), ".
" updatevon=".myaddslashes($updatevon).", ".
" ext_id=".myaddslashes($ext_id).
" WHERE student_uid='".$student_uid."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."';";
$ausgabe="SLV-Änderungen bei Student ".$student_uid.", ".$row->familienname.", (".$row->perskz."): ".$ausgabe_slv."('".$semester.$verband.$gruppe."/".$studiensemester_kurzbz."'). ".$typ."\n";
$ausgabe_slv='';
}
}
}
else
{
//insert
$qry = "INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES("
.myaddslashes($student_uid).", ".
myaddslashes($studiensemester_kurzbz).", ".
myaddslashes($studiengang_kz).", ".
myaddslashes($semester).", ".
myaddslashes($verband).", ".
myaddslashes($gruppe).",
now(),
'SYNC',
now(),
'SYNC',".
myaddslashes($ext_id).");";
$ausgabe="SLV für Student mit UID/Name/Perskz ".$student_uid.", ".$row->familienname.", (".$row->perskz.") eingefügt: Studiengang '".$studiengang_kz."', Sem.'".$studiensemester_kurzbz."' gruppe_pk='".$row1->gruppe_fk."' mit Semester/Verband/Gruppe: '".$semester."'/'".$verband."'/'".$gruppe."'.\n";
$anzahl_eingefuegt++;
}
}
if(!pg_query($conn,$qry))
{
$error_log.= "*****\nFehler beim Speichern des Studentlehrverband-Datensatzes: ".$row->familienname."\n".$qry."\n".pg_errormessage($conn)."\n*****\n";
$error=true;
}
else
{
$ausgabe_all.=$ausgabe;
$ausgabe='';
}
}
else
{
$anzahl_fehler++;
$error_log_fas.="### Student ".$student_uid.", ".$row->familienname.", (".$row->perskz.") gruppe_pk='".$row1->gruppe_fk."' : ".$error_log;
}
}
else
{
$anzahl_fehler++;
$error_log_fas.="### Student mit UID/Name/Perskz ".$student_uid.", ".$row->familienname.", (".$row->perskz.") gruppe_pk='".$row1->gruppe_fk."' : ".$error_log;
}
}
}
else
{
$error_log_fas.="Fehler beim Zugriff auf Tabelle student_gruppe.\n";
$error=true;
}
}
}
}
//echo nl2br($text);
echo nl2br("\nStudentlehrverband\nStudenten: $anzahl_quelle_student / Gruppen: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n");
echo nl2br("\nStudenten, die in tbl_student nicht gefunden wurden: ".$nicht_gefunden."\n".$error_log_fas);
echo nl2br ("---------------------------------------------------------------------------------------------------------\n".$ausgabe_all);
$ausgabe="\nStudentlehrverband\nStudenten: $anzahl_quelle_student / Gruppen: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler."
."\n\n".$ausgabe_all;
if(strlen(trim($error_log_fas))>0)
{
mail($adress, 'SYNC-Fehler Studentlehrverband von '.$_SERVER['HTTP_HOST'], "Studenten, die in tbl_benutzer nicht gefunden wurden: ".$nicht_gefunden."\n".$error_log_fas,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Studentlehrverband von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,159 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Studiengangsdatensaetze von FAS DB in PORTAL DB
//*
//*
include('../../../vilesci/config.inc.php');
include('../../../include/studiengang.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_fas=pg_connect(CONN_STRING_FAS) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//studiengang
$qry = "SELECT * FROM studiengang";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Studiengang Sync\n-----------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$studiengang = new studiengang($conn);
$studiengang->studiengang_kz =$row->kennzahl;
$studiengang->kurzbz =$row->emailkuerzel;
$studiengang->kurzbzlang ='';
$studiengang->bezeichnung =$row->name;
$studiengang->english =$row->program_name;
$studiengang->typ ='';
$studiengang->farbe ='';
$studiengang->email ='';
$studiengang->max_verband ='';
$studiengang->max_semester ='';
$studiengang->max_gruppe ='';
$studiengang->erhalter_kz ='5';
$studiengang->bescheid =$row->bescheid;
$studiengang->bescheidbgbl1 =$row->bescheidbgbl1;
$studiengang->bescheidbgbl2 =$row->bescheidbgbl2;
$studiengang->bescheidgz =$row->bescheidgz;
$studiengang->bescheidvom =$row->bescheidvom;
$studiengang->organisationsform ='';
$studiengang->titelbescheidvom =$row->titelbescheidvom;
$studiengang->ext_id =$row->studiengang_pk;
If($row->organisationsform=='1')
{
$studiengang->organisationsform='n'; //normal
}
If($row->organisationsform=='2')
{
$studiengang->organisationsform='b'; //berufsbegleitend
}
If($row->organisationsform=='4')
{
$studiengang->organisationsform='z'; //zielgruppenspezifisch
}
if($row->studiengangsart=='1')
{
$studiengang->typ='b';
}
if($row->studiengangsart=='2')
{
$studiengang->typ='m';
}
if($row->studiengangsart=='3')
{
$studiengang->typ='d';
}
$qry = "SELECT * FROM tbl_studiengang WHERE studiengang_kz='$row->kennzahl'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Studiengangsdaten updaten
$studiengang->farbe =$row1->farbe;
$studiengang->email =$row1->email;
$studiengang->max_verband =$row1->max_verband;
$studiengang->max_semester =$row1->max_semester;
$studiengang->max_gruppe =$row1->max_gruppe;
$studiengang->kurzbzlang =$row1->kurzbzlang;
$studiengang->kurzbz =$row1->kurzbz;
$studiengang->typ =$row1->typ;
$studiengang->new=false;
}
else
{
$error_log.="studiengang_kz von $row->studiengang_kz konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Studiengang neu anlegen
$studiengang->new=true;
}
if(!$error)
if(!$studiengang->save())
{
$error_log.=$studiengang->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Studiengangsdatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - FAS -> Portal - Studiengang</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
$error_log.="\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler";
mail($adress, 'SYNC Studiengang', $error_log,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,213 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Telefondatensaetze von FAS DB in PORTAL DB
//*
//* benötigt: tbl_syncperson, tbl_kontakttyp
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/kontakt.class.php');
require_once('../sync_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 = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$update=false;
$ausgabe='';
$ausgabe_telefon='';
function validate($row)
{
}
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Telefon</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*************************
* FAS-PORTAL - Synchronisation
*/
//nation
$qry = "SELECT * FROM telefonnummer WHERE person_fk IN
(SELECT person_fk FROM mitarbeiter WHERE creationdate>'2007-07-12');";
if($result = pg_query($conn_fas, $qry))
{
echo nl2br("Telefon Sync\n-------------\n");
$anzahl_quelle=pg_num_rows($result);
echo "Beginn: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."<br><br>";
while($row = pg_fetch_object($result))
{
//echo "- ";
//ob_flush();
//flush();
$update=false;
$ausgabe_telefon='';
$error=false;
$kontakt =new kontakt($conn);
$kontakt->firma_id ='';
If($row->typ<'20')
{
$kontakt->kontakttyp ='telefon';
}
elseif($row->typ>='20' && $row->typ<'30')
{
$kontakt->kontakttyp ='mobil';
}
elseif($row->typ>='30' && $row->typ<'40')
{
$kontakt->kontakttyp ='fax';
}
else
{
$kontakt->kontakttyp ='so.tel';
}
$kontakt->anmerkung =$row->name;
$kontakt->kontakt =$row->nummer;
$kontakt->zustellung =false;
$kontakt->updatevon ="SYNC";
$kontakt->insertvon ="SYNC";
$kontakt->ext_id =$row->telefonnummer_pk;
//Person_id feststellen
if($row->nummer!='')
{
$qry1="SELECT person_portal FROM sync.tbl_syncperson WHERE person_fas=".$row->person_fk.";";
if($result1 = pg_query($conn, $qry1))
{
if(pg_num_rows($result1)>0) //eintrag gefunden
{
if($row1=pg_fetch_object($result1))
{
$qry2="SELECT * FROM tbl_kontakt WHERE ext_id=".$row->telefonnummer_pk." AND (kontakttyp='telefon' OR kontakttyp='mobil' OR kontakttyp='fax' OR kontakttyp='so.tel');";
if($result2 = pg_query($conn, $qry2))
{
if(pg_num_rows($result2)>0) //eintrag gefunden
{
if($row2=pg_fetch_object($result2))
{
if($row2->kontakttyp!=$kontakt->kontakttyp)
{
$update=true;
if(strlen(trim($ausgabe_telefon))>0)
{
$ausgabe_telefon.=", Kontakttyp: '".$kontakt->kontakttyp."'";
}
else
{
$ausgabe_telefon="Kontakttyp: '".$kontakt->kontakttyp."'";
}
}
if($row2->anmerkung!=$row->name)
{
$update=true;
if(strlen(trim($ausgabe_telefon))>0)
{
$ausgabe_telefon.=", Anmerkung: '".$row->name."'";
}
else
{
$ausgabe_telefon="Anmerkung: '".$row->name."'";
}
}
if($row2->kontakt!=$row->nummer)
{
$update=true;
if(strlen(trim($ausgabe_telefon))>0)
{
$ausgabe_telefon.=", Kontakt: '".$row->nummer."'";
}
else
{
$ausgabe_telefon="Kontakt: '".$row->nummer."'";
}
}
// update , wenn datensatz bereits vorhanden
$kontakt->person_id=$row1->person_portal;
$kontakt->kontakt_id=$row2->kontakt_id;
$kontakt->new=false;
}
}
else
{
// insert, wenn datensatz noch nicht vorhanden
$kontakt->new=true;
$kontakt->person_id=$row1->person_portal;
}
}
}
}
else
{
$ausgabe_telefon='';
$error=true;
$error_log.="Person mit person_fk: $row->person_fk konnte in tbl_syncperson nicht gefunden werden!\n";
$anzahl_fehler++;
}
}
If (!$error)
{
if($kontakt->new || $update)
{
if(!$kontakt->save())
{
$error_log.=$kontakt->errormsg."\n";
$anzahl_fehler++;
}
else
{
if($kontakt->new)
{
$ausgabe.="Telefonnummer '$kontakt->kontakt' eingefügt!\n";
$anzahl_eingefuegt++;
}
else
{
if($update)
{
$ausgabe.="Telefonnummer '$kontakt->kontakt' geändert: ".$ausgabe_telefon." !\n";
$anzahl_update++;
}
}
}
}
}
}
}
}
echo "Ende: ".date("d.m.Y H:i:s")." von ".$_SERVER['HTTP_HOST']."<br><br>";
//echo nl2br($text);
echo nl2br("\n".$error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler \n\n $ausgabe");
$ausgabe="Telefonsync:\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Geändert: $anzahl_update / Fehler: $anzahl_fehler\n\n".$ausgabe;
if(strlen(trim($error_log))>0)
{
mail($adress, 'SYNC-Fehler Telefon von '.$_SERVER['HTTP_HOST'], $error_log,"From: vilesci@technikum-wien.at");
}
mail($adress, 'SYNC Telefon von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
</body>
</html>
@@ -1,255 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert bis-verwendungsdatensaetze von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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='';
$fehler=0;
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$ausgabe='';
$update=false;
$verwendung_aktuell='';
$beschart1_aktuell='';
$beschart2_aktuell='';
$semester_aktuell='';
$ext_id_aktuell='';
$beginn=array();
$ende=array();
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FAS -> Vilesci - Verwendung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry="SELECT * FROM public.tbl_studiensemester";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$beginn[$row->ext_id]=$row->start;
$ende[$row->ext_id]=$row->ende;
}
}
$qry_ma="SELECT DISTINCT ON(mitarbeiter_fk) * FROM funktion";
if($result_ma = pg_query($conn_fas, $qry_ma))
{
$anzahl_quelle=pg_num_rows($result_ma);
while($row_ma = pg_fetch_object($result_ma))
{
//mitarbeiter_uid ermitteln
$qry_uid="SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE ext_id='".$row_ma->mitarbeiter_fk."';";
if($result_uid = pg_query($conn, $qry_uid))
{
if($row_uid = pg_fetch_object($result_uid))
{
$mitarbeiter_uid=$row_uid->mitarbeiter_uid;
}
else
{
$error_log.="Mitarbeiter mit mitarbeiter_fk '".$row_ma->mitarbeiter_fk."' in tbl_mitarbeiter nicht gefunden!\n";
$fehler++;
continue;
}
}
//habilitation aus tabelle mitarbeiter holen
$qry_hab="SELECT habilitation FROM mitarbeiter WHERE mitarbeiter_pk='".$row_ma->mitarbeiter_fk."';";
if($result_hab = pg_query($conn_fas, $qry_hab))
{
if($row_hab = pg_fetch_object($result_hab))
{
$habilitation=$row_hab->habilitation=='J'?true:false;
}
else
{
$error_log.="Habilitation von Mitarbeiter '".$row_ma->mitarbeiter_fk."' in Tabelle mitarbeiter nicht gefunden!";
$fehler++;
continue;
}
}
$qry="SELECT * FROM funktion WHERE mitarbeiter_fk='".$row_ma->mitarbeiter_fk."' AND ausmass>0 AND ausmass<6 ORDER BY verwendung, beschart1, beschart2, ausmass, studiensemester_fk;";
if($result = pg_query($conn_fas, $qry))
{
while($row = pg_fetch_object($result))
{
if(!($row->verwendung>=1 AND $row->verwendung<=9))
{
$error_log.="Verwendungscode ungültig (".$row->verwendung.") bei funktion_pk=".$row->funktion_pk.".\n";
$fehler++;
continue;
}
if(!($row->hauptberuf>=0 AND $row->hauptberuf<=12))
{
$hauptberuf=12;
}
else
{
$hauptberuf=$row->hauptberuf;
}
if(!($row->beschart1>=1 AND $row->beschart1<=6))
{
$error_log.="Beschäftigungsart 1 ungültig (".$row->beschart1.") bei funktion_pk=".$row->funktion_pk.".\n";
$fehler++;
continue;
}
if(!($row->beschart2>=1 AND $row->beschart2<=2))
{
$error_log.="Beschäftigungsart 2 ungültig (".$row->beschart2.") bei funktion_pk=".$row->funktion_pk.".\n";
$fehler++;
continue;
}
if($verwendung_aktuell=='' || $verwendung_aktuell!=$row->verwendung || $beschart1_aktuell!=$row->beschart1 || $beschart2_aktuell!=$row->beschart2 || $ausmass_aktuell!=$row->ausmass)
{
//neue verwendung
$qry2="INSERT INTO bis.tbl_bisverwendung (ba1code,ba2code,beschausmasscode, verwendung_code,
mitarbeiter_uid, hauptberufcode,hauptberuflich,habilitation,beginn,ende,insertamum,insertvon,
updateamum, updatevon,ext_id) VALUES (".
myaddslashes($row->beschart1).", ".
myaddslashes($row->beschart2).", ".
myaddslashes($row->ausmass).", ".
myaddslashes($row->verwendung).", ".
myaddslashes($mitarbeiter_uid).", ".
myaddslashes($hauptberuf).", ".
myaddslashes($row->hauptberuflich?'true':'false').", ".
myaddslashes($habilitation?'true':'false').", ".
myaddslashes($beginn[$row->studiensemester_fk]).", ".
myaddslashes($ende[$row->studiensemester_fk]).", ".
"now(), ".
"'SYNC', ".
"now(), ".
"'SYNC',".
myaddslashes($row->funktion_pk).");";
$verwendung_aktuell=$row->verwendung;
$beschart1_aktuell=$row->beschart1;
$beschart2_aktuell=$row->beschart2;
$ausmass_aktuell=$row->ausmass;
$ext_id_aktuell=$row->funktion_pk;
$semester_aktuell=$row->studiensemester_fk;
$ausgabe.="Mitarbeiter :'".$mitarbeiter_uid."' Verwendung: ".$row->verwendung." (".$row->beschart1."/".$row->beschart2.") von '".$beginn[$row->studiensemester_fk]."' bis '".$ende[$row->studiensemester_fk]."' Ausmass: '".$row->ausmass."' angelegt!\n";
}
else
{
if($row->studiensemester_fk==$semester_aktuell+1)
{
//update mit ende==semesterendedatum
if(date("d.m.Y")>$ende[$row->studiensemester_fk])
{
$qry2="UPDATE bis.tbl_bisverwendung SET ".
"ende='".$ende[$row->studiensemester_fk]."' ".
"WHERE ext_id='".$ext_id_aktuell."';";
$verwendung_aktuell=$row->verwendung;
$beschart1_aktuell=$row->beschart1;
$beschart2_aktuell=$row->beschart2;
$semester_aktuell=$row->studiensemester_fk;
$ausgabe.="Mitarbeiter :'".$mitarbeiter_uid."' Verwendung: ".$row->verwendung." (".$row->beschart1."/".$row->beschart2.") bis '".$ende[$row->studiensemester_fk]."' erweitert!\n";
}
else
{
$qry2="UPDATE bis.tbl_bisverwendung SET ".
"ende=NULL ".
"WHERE ext_id='".$ext_id_aktuell."';";
$verwendung_aktuell=$row->verwendung;
$beschart1_aktuell=$row->beschart1;
$beschart2_aktuell=$row->beschart2;
$semester_aktuell=$row->studiensemester_fk;
$ausgabe.="Mitarbeiter: '".$mitarbeiter_uid."' Verwendung: ".$row->verwendung." (".$row->beschart1."/".$row->beschart2.") bis '".$ende[$row->studiensemester_fk]."' erweitert!\n";
}
}
else if ($row->studiensemester_fk>$semester_aktuell+1)
{
//insert neue verwendung
$qry2="INSERT INTO bis.tbl_bisverwendung (ba1code,ba2code,beschausmasscode,verwendung_code,
mitarbeiter_uid,hauptberufcode,hauptberuflich,habilitation,beginn,ende,insertamum,insertvon,
updateamum, updatevon,ext_id) VALUES (".
myaddslashes($row->beschart1).", ".
myaddslashes($row->beschart2).", ".
myaddslashes($row->ausmass).", ".
myaddslashes($row->verwendung).", ".
myaddslashes($mitarbeiter_uid).", ".
myaddslashes($hauptberuf).", ".
myaddslashes($row->hauptberuflich?'true':'false').", ".
myaddslashes($habilitation?'true':'false').", ".
myaddslashes($beginn[$row->studiensemester_fk]).", ".
myaddslashes($ende[$row->studiensemester_fk]).", ".
"now(), ".
"'SYNC', ".
"now(), ".
"'SYNC',".
myaddslashes($row->funktion_pk).");";
$verwendung_aktuell=$row->verwendung;
$beschart1_aktuell=$row->beschart1;
$beschart2_aktuell=$row->beschart2;
$ext_id_aktuell=$row->funktion_pk;
$semester_aktuell=$row->studiensemester_fk;
$ausgabe.="Mitarbeiter :'".$mitarbeiter_uid."' Verwendung: ".$row->verwendung." (".$row->beschart1."/".$row->beschart2.") von '".$beginn[$row->studiensemester_fk]."' bis '".$ende[$row->studiensemester_fk]."' Ausmass: '".$row->ausmass."' angelegt.\n";
}
else
{
//zweite gleiche verwendung im selben semester wird ignoriert
$qry2="SELECT 1;";
}
}
//sql-befehl $qry2 abschicken
pg_query($conn, 'BEGIN');
if(!pg_query($conn, $qry2))
{
$error=true;
$error_log.="Fehler beim Schreiben in tbl_bisverwendung:\n".$qry2."'\n";
pg_query($conn, 'ROLLBACK');
}
else
{
pg_query($conn, 'COMMIT');
}
}
}
else
{
$error=true;
$error_log.="Fehler beim Schreiben in tbl_bisverwendung:\n".$qry."'\n";
}
}
}
echo nl2br("Gesamt: ".$anzahl_quelle."\nFehler: ".$fehler."\n".$error_log);
echo nl2br("\n***********************************\nLog: \n".$ausgabe);
mail($adress, 'SYNC-Fehler BIS-Verwendung von '.$_SERVER['HTTP_HOST'], "Gesamt: ".$anzahl_quelle."\nFehler: ".$fehler."\n".$error_log,"From: vilesci@technikum-wien.at");
mail($adress, 'SYNC BIS-Verwendung von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: vilesci@technikum-wien.at");
?>
File diff suppressed because it is too large Load Diff
@@ -1,92 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Betriebsmitteldaten (Kaution, Datum der Entleihung) von FAS DB in PORTAL DB
//*
//*
require_once('../../../vilesci/config.inc.php');
require_once('../sync_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';
$ausgabe='';
$ausgabe1='';
$ausgabe2='';
$all=0;
$ngef1=0;
$ngef2=0;
$upd=0;
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
//*************************
?>
<html>
<head>
<title>Zutrittskarten Datenergänzung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$qry_bm="SELECT betriebsmittel_id,nummer FROM public.tbl_betriebsmittel WHERE nummer IS NOT NULL AND nummer<>'';";
if($result_bm = pg_query($conn, $qry_bm))
{
$all=pg_num_rows($result_bm);
while($row_bm = pg_fetch_object($result_bm))
{
$qry="SELECT * FROM person_schluessel WHERE nummer='".$row_bm->nummer."'";
if($result = pg_query($conn_fas, $qry))
{
if($row = pg_fetch_object($result))
{
$qry_sel="SELECT * FROM public.tbl_betriebsmittelperson WHERE betriebsmittel_id=".myaddslashes($row_bm->betriebsmittel_id);
if($result_sel = pg_query($conn, $qry_sel))
{
if(pg_num_rows($result_sel)>0)
{
$qry_upd="UPDATE public.tbl_betriebsmittelperson SET ".
"ausgegebenam=".myaddslashes($row->verliehenam).
"kaution=".myaddslashes($row->betrag).
"WHERE betriebsmittel_id=".myaddslashes($row_bm->betriebsmittel_id).
";";
$ausgabe.="Karte: '".$row_bm->nummer."', Ausgabe: '".$row->verliehenam."', Kaution: ".$row->betrag."'\n";
pg_query($conn, $qry_sel);
$upd++;
}
else
{
$ausgabe2.="Karte: '".$row_bm->nummer."' in tbl_betriebsmittelperson nicht gefunden\n";
$ngef2++;
}
}
}
else
{
$ausgabe1.="Karte: '".$row_bm->nummer."' in person_schluessel nicht gefunden\n";
$ngef1++;
}
}
}
}
echo nl2br("Anzahl Betriebsmittel: ".$all.", nicht gefunden(vilesci/fas): ".$ngef1."/".$ngef2.", geändert: ".$upd."\n\n".$ausgabe1."\n".$ausgabe2."\n".$ausgabe);
mail($adress, 'SYNC-Update Betriebsmittel von '.$_SERVER['HTTP_HOST'],
"Anzahl Betriebsmittel: ".$all.", nicht gefunden(fas/vilesci): ".$ngef1."/".$ngef2.", geändert: ".$upd."\n\n".$ausgabe, "From: vilesci@technikum-wien.at");
?>
</body>
</html>
-404
View File
@@ -1,404 +0,0 @@
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Prestudentrollendatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: sync von sync.stp_person, sync.stp_staat
//* benoetigt: tbl_syncperson, tbl_studiensemester
require_once('sync_config.inc.php');
require_once('../../../include/functions.inc.php');
$starttime=time();
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
$error_log='';
$error_log_ext='';
$error_log1='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$eingefuegt=0;
$fehler=0;
$update=0;
$plausi='';
$start='';
$stg='';
$Kalender='';
$rolle='';
$iu='';
$log_qry_ins='';
$beginnsem='';
$semstart=array();
$semende=array();
$studiensemester=array();
$maxsemester=array();
$semdiff=0;
$instg='';
$status_kurzbz='';
$i=0;
/*************************
* StP-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Check - StPoelten - Prestudentrollen (Lückenfüller)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
$start=date("d.m.Y H:i:s");
//einlesen von studiensemesterdaten in arrays
$qry="SELECT * FROM public.tbl_studiensemester ORDER BY start;";
if($result = pg_query($conn,$qry))
{
while($row=pg_fetch_object($result))
{
$studiensemester[$i]=$row->studiensemester_kurzbz;
$semstart[$row->studiensemester_kurzbz]=$row->start;
$semende[$row->studiensemester_kurzbz]=$row->ende;
$i++;
}
}
//einlesen von studiendauer der stg in array
$qry="SELECT * FROM public.tbl_studiengang;";
if($result = pg_query($conn,$qry))
{
while($row=pg_fetch_object($result))
{
$maxsemester[$row->studiengang_kz]=$row->max_semester;
}
}
//$adress="ruhan@technikum-wien.at";
//*********** Neue Daten holen *****************
$qry="SELECT __Person, chtitel, chnachname, chvorname, daEintrittDat, prestudent_id
FROM sync.stp_person JOIN public.tbl_prestudent ON (__Person=ext_id)
WHERE (_cxPersonTyp='1' OR _cxPersonTyp='2');";
//alle prestudentrollen sortiert nach datum desc
//bis zu Semester von daEintrittDat fehlende Rollen eintragen - vergleich studiensemester mit getStudiensemesterFromDatum($conn, $datum, $naechstes=true) von deintrittdat
if($resultall = pg_query($conn,$qry))
{
$anzahl_gesamt=pg_num_rows($resultall);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_gesamt."\n";
echo nl2br($error_log_ext);
while($rowall=pg_fetch_object($resultall))
{
//echo nl2br("\n".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname));
$cont='';
if($rowall->daeintrittdat==NULL || $rowall->daeintrittdat=='')
{
$error_log1.="\nKein Eintrittsdatum eingetragen";
$cont=true;
$error=true;
}
if($error)
{
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$error_log1;
$error_log1='';
$error=false;
if($cont)
{
$fehler++;
continue;
}
}
$qry_pre="SELECT * FROM public.tbl_prestudent WHERE prestudent_id=".myaddslashes($rowall->prestudent_id).";";
if($resultpre = pg_query($conn,$qry_pre))
{
if($rowpre=pg_fetch_object($resultpre))
{
//Studiengang des aktuellen prestudenten
$instg=$rowpre->studiengang_kz;
}
}
else
{
$fehler++;
$error_log.= "\n".$qry_rl."\n".pg_last_error($conn)."\n";
}
$qry_rl="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." ORDER BY datum desc LIMIT 1";
if($resultrl = pg_query($conn,$qry_rl))
{
if($rowrl=pg_fetch_object($resultrl))
{
$beginnsem=getStudiensemesterFromDatum($conn, $rowall->daeintrittdat, true);
if($rowrl->ausbildungssemester==NULL || $rowrl->ausbildungssemester=='')
{
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname)." (Prestudent ".$rowall->prestudent_id.")";
$error_log.="\nAusbildungssemester = ".$rowrl->ausbildungssemester." !";
$fehler++;
}
else
{
//wieviele semester seit studienbeginn
$semdiff=array_search($rowrl->studiensemester_kurzbz, $studiensemester)-array_search($beginnsem, $studiensemester)+1;
if($semdiff<1)
{
$semdiff=1;
}
$ausgabe.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat."/".$beginnsem." (Prestudent ".$rowall->prestudent_id.")";
$ausgabe.="\nAusbildungssemester = ".$rowrl->ausbildungssemester." / semdiff= ".$semdiff.".";
while (array_search($rowrl->studiensemester_kurzbz, $studiensemester)>=array_search($beginnsem, $studiensemester))
{
if($semdiff>=$maxsemester[$instg])
{
$status_kurzbz="Diplomand";
}
else
{
$status_kurzbz="Student";
}
if($semdiff>$maxsemester[$instg])
{
$ausbsem=$maxsemester[$instg];
}
else
{
$ausbsem=$semdiff;
}
$qry_chk="SELECT * FROM public.tbl_prestudentstatus
WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)."
AND studiensemester_kurzbz=".myaddslashes($rowrl->studiensemester_kurzbz)."
AND status_kurzbz=".myaddslashes($status_kurzbz)."
AND ausbildungssemester=".myaddslashes($ausbsem).";";
if($resultchk = pg_query($conn,$qry_chk))
{
if(pg_num_rows($resultchk)==0)
{
//INSERT Prestudentrolle
if($rowrl->studiensemester_kurzbz==$beginnsem)
{
$rowrl->datum=$rowall->daeintrittdat;
}
$qry_ins="INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
insertamum, insertvon, updateamum, updatevon, ext_id)
VALUES (".
myaddslashes($rowall->prestudent_id).", ".
myaddslashes($status_kurzbz).", ".
myaddslashes($rowrl->studiensemester_kurzbz).", ";
//wenn semdiff>maxsemester dann maxsemester sonst semdiff
if($semdiff>$maxsemester[$instg])
{
$qry_ins.=myaddslashes($maxsemester[$instg]).", ";
}
else
{
$qry_ins.=myaddslashes($semdiff).", ";
}
$qry_ins.=myaddslashes($rowrl->datum).", ".
myaddslashes($rowrl->orgform_kurzbz).",
now(), 'SYNC', NULL, NULL, NULL)";
if(!$resultins = pg_query($conn,$qry_ins))
{
$fehler++;
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
$error_log.= "\n".$qry_ins."\n".pg_last_error($conn)."\n";
}
else
{
$eingefuegt++;
//$ausgabe.="\n---".$qry_ins;
$ausgabe.="\n---".$rowrl->studiensemester_kurzbz.": ".($semdiff>=$maxsemester[$instg]?'Diplomand':'Student').", ".($semdiff>$maxsemester[$instg]?$maxsemester[$instg]:$semdiff).".Semester, Datum: ".$rowrl->datum.", Orgform: ".$rowrl->orgform_kurzbz.";";
}
}
else
{
$qry_chk='';
if($row_chk=pg_fetch_object($resultchk))
{
if($semdiff>=$maxsemester[$instg])
{
if($row_chk->status_kurzbz!='Diplomand')
{
$qry_chk="status_kurzbz='Diplomand', ";
}
}
else
{
if($row_chk->status_kurzbz!='Student')
{
$qry_chk="status_kurzbz='Student', ";
}
}
if($semdiff>$maxsemester[$instg])
{
if($row_chk->ausbildungssemester!=$maxsemester[$instg])
{
$qry_chk.="ausbildungssemester=".myaddslashes($maxsemester[$instg]).", ";
}
}
else
{
if($row_chk->ausbildungssemester!=$semdiff)
{
$qry_chk.="ausbildungssemester=".myaddslashes($semdiff).", ";
}
}
if($row_chk->datum!=$rowrl->datum)
{
$qry_chk.="datum=".myaddslashes($rowrl->datum).", ";
}
if($row_chk->orgform_kurzbz!=$rowrl->orgform_kurzbz)
{
$qry_chk.="orgform_kurzbz=".myaddslashes($rowrl->orgform_kurzbz).", ";
}
if($qry_chk!='')
{
$qry_upd="UPDATE public.tbl_prestudentstatus SET ".$qry_chk."updateamum=now(), updatevon='sync'
WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)."
AND studiensemester_kurzbz=".myaddslashes($rowrl->studiensemester_kurzbz)."
AND status_kurzbz=".myaddslashes($status_kurzbz)."
AND ausbildungssemester=".$ausbsem.";";
if(!$resultins = pg_query($conn,$qry_upd))
{
$fehler++;
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
$error_log.= "\n".$qry_upd."\n".pg_last_error($conn)."\n";
}
else
{
$eingefuegt++;
//$ausgabe.="\n---".$qry_ins;
$ausgabe.="\n---".$qry_chk.";";
}
}
else
{
$ausgabe.="\nEintrag in Semester ".$rowrl->studiensemester_kurzbz." bereits vorhanden!";
}
}
}
}
//studiensemester, ausbildungssemester, datum
if(array_search($rowrl->studiensemester_kurzbz, $studiensemester)-1>=array_search($beginnsem,$studiensemester))
{
$rowrl->studiensemester_kurzbz=$studiensemester[array_search($rowrl->studiensemester_kurzbz, $studiensemester)-1];
//ausbildungssemester nicht kleiner als 1
if($semdiff>1)
{
//$rowrl->ausbildungssemester=$rowrl->ausbildungssemester-1;
$semdiff=$semdiff-1;
}
else
{
//$rowrl->ausbildungssemester=1;
$semdiff=1;
}
$rowrl->datum=$semstart[$rowrl->studiensemester_kurzbz];
}
else
{
break;
}
}
//Interessent (6Mon.) und Bewerber (4Mon.) eintragen
if($rowrl->studiensemester_kurzbz==$beginnsem)
{
$rowrl->datum=$rowall->daeintrittdat;
}
$qry_chk="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND status_kurzbz='Bewerber';";
if($resultchk = pg_query($conn,$qry_chk))
{
if(pg_num_rows($resultchk)==0)
{
$qry_ins="INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
insertamum, insertvon, updateamum, updatevon, ext_id)
VALUES (".
myaddslashes($rowall->prestudent_id).",
'Bewerber', ".
myaddslashes($rowrl->studiensemester_kurzbz).", ".
myaddslashes($semdiff).", ".
myaddslashes(date('Y-m-d', strtotime($rowrl->datum.' -4 months'))).", ".
myaddslashes($rowrl->orgform_kurzbz).",
now(), 'SYNC', NULL, NULL, NULL)";
if(!$resultins = pg_query($conn,$qry_ins))
{
$fehler++;
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
$error_log.= "\n".$qry_ins."\n<strong>".pg_last_error($conn)." </strong>\n";
}
else
{
$eingefuegt++;
$ausgabe.="\n---".$rowrl->studiensemester_kurzbz.": Bewerber, ".$semdiff.".Semester , Datum: ".date('Y-m-d', strtotime($rowrl->datum.' -4 months')).", Orgform: ".$rowrl->orgform_kurzbz.";";
//$ausgabe.="\n".$qry_ins;
}
}
}
$qry_chk="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND status_kurzbz='Interessent';";
if($resultchk = pg_query($conn,$qry_chk))
{
if(pg_num_rows($resultchk)==0)
{
$qry_ins="INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
insertamum, insertvon, updateamum, updatevon, ext_id)
VALUES (".
myaddslashes($rowall->prestudent_id).",
'Interessent', ".
myaddslashes($rowrl->studiensemester_kurzbz).", ".
myaddslashes($semdiff).", ".
myaddslashes(date('Y-m-d', strtotime($rowrl->datum.' -6 months'))).", ".
myaddslashes($rowrl->orgform_kurzbz).",
now(), 'SYNC', NULL, NULL, NULL)";
if(!$resultins = pg_query($conn,$qry_ins))
{
$fehler++;
$error_log.="\n*****\n".$rowall->__person." - ".trim($rowall->chtitel)." ".trim($rowall->chnachname).", ".trim($rowall->chvorname).": ".$rowall->daeintrittdat;
$error_log.= "\n".$qry_ins."\n<strong>".pg_last_error($conn)." </strong>\n";
}
else
{
$update++;
$ausgabe.="\n---".$rowrl->studiensemester_kurzbz.": Interessent, ".$semdiff.".Semester , Datum: ".$new_date = date('Y-m-d', strtotime($rowrl->datum.' -6 months')).", Orgform: ".$rowrl->orgform_kurzbz.";";
}
}
}
}
}
}
else
{
$fehler++;
$error_log.= "\n".$qry_rl."\n".pg_last_error($conn)."\n";
}
}
}
echo nl2br($ausgabe);
mail($adress, 'SYNC-Fehler StP-Prestudentrollen von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Prestudentrollen von '.$_SERVER['HTTP_HOST'], "Sync Person\n------------\n\n"
."Personen: Gesamt: ".$anzahl_gesamt." / Fehler: ".$fehler." / Eingefügte Rollen: ".$eingefuegt." Geändert: ".$update
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
-120
View File
@@ -1,120 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Lehrveranstaltungen
// StPoelten -> VILESCI
// setzt vorraus: - tbl_sprache
// - tbl_studiengang
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/lehrveranstaltung.class.php');
$adress='pam@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
//$conn=pg_connect(CONN_STRING);
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
$tabellen=array("studiengang","person","lv","adresse","EMail","Note","SemesterplanEintrag","StudienGebuehren","StudienplanEintrag","StgVertiefung","StudIO","_person_studiengang","cxPersonTyp","cxStudStatus");
if (isset($_POST['sql']))
$sql=$_POST['sql'];
else
$sql='SELECT TOP 30 * FROM ';
?>
<html>
<head>
<title>DB-CHECK DB-StPoelten</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/vilesci.css" rel="stylesheet" type="text/css">
</head>
<body>
<form action="" method="POST">
<input type="text" name="sql" size="150" value="<?php echo $sql; ?>">
<input type="submit">
</form>
<?php
if (isset($_GET['table']) || isset($_POST['sql']))
{
if (!isset($_POST['sql']))
{
$sql='SELECT count(*) AS anz FROM '.$_GET['table'].';';
if ($ergebnis = mssql_query($sql,$conn_ext))
{
$row=mssql_fetch_object($ergebnis);
echo '<H1>Tabelle: <strong>'.$_GET['table'].'</strong> ('.$row->anz.' Eintraege)</H1>';
}
$sql='SELECT TOP 50 * FROM '.$_GET['table'];
if (isset($_GET['orderby']))
$sql.=' ORDER BY '.$_GET['orderby'];
$sql.=';';
}
else
$sql=$_POST['sql'];
if ($ergebnis = mssql_query($sql,$conn_ext))
{
$j=0;
echo '<table><tr>';
for ($i = 0; $i < mssql_num_fields($ergebnis); $i++)
{
$infos = mssql_fetch_field($ergebnis, $i);
echo '<td>'.$infos->name.' ('.$infos->type.')';
if (isset($_GET['table']))
{
echo '&nbsp;&nbsp;<a href="?table='.$_GET['table'].'&orderby='.$infos->name.'">&uarr;</a>';
echo '&nbsp;<a href="?table='.$_GET['table'].'&orderby='.$infos->name.' DESC">&darr;</a>';
}
echo '</td>';
}
echo '</tr>';
while ($row=mssql_fetch_row($ergebnis))
{
echo '<tr class="liste'.($j%2).'">';
for ($i = 0; $i < mssql_num_fields($ergebnis); $i++)
echo '<td>'.$row[$i].'</td>';
echo '</tr>';
$j++;
}
echo '</table>';
}
else
echo '<BR>'.$sql.'<BR>';
}
else
{
foreach ($tabellen AS $tab)
{
$sql='SELECT TOP 1 * FROM '.$tab.';';
if ($ergebnis = mssql_query($sql,$conn_ext))
{
echo '<table><tr class="liste"><td colspan="2">Tabelle: <strong><a href="?table='.$tab.'">'.$tab.'</a></strong></td></tr>';
for ($i = 0; $i < mssql_num_fields($ergebnis); $i++)
{
$infos = mssql_fetch_field($ergebnis, $i);
echo '<tr class="liste'.($i%2).'"><td>'.$infos->name.'</td><td>'.$infos->type.'</td></tr>';
}
echo '</table><BR>';
}
}
$sql='SELECT * FROM INFORMATION_SCHEMA.TABLES;';
if ($ergebnis = mssql_query($sql,$conn_ext))
{
$j=0;
echo '<table><tr class="liste"><td colspan="2"><strong>Alle Tabellen</strong></td></tr>';
while ($row=mssql_fetch_row($ergebnis))
{
echo '<tr class="liste'.($j%2).'">';
for ($i = 0; $i < mssql_num_fields($ergebnis); $i++)
echo '<td>'.$row[$i].'</td>';
echo '</tr>';
$j++;
}
echo '</table>';
}
}
?>
</body>
</html>
@@ -1,307 +0,0 @@
<?php
// ************************************
// * Script befuellt/aktualisiert Aufgrund der Eintraege in der
// * Tabelle prestudentrolle die Tabelle studentlehrverband
// * Bei 50ern und 60ern wird das Semester fortlaufend vergeben
// * und nicht anhand der rolle
// **********************************
require_once('../../../vilesci/config.inc.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/prestudent.class.php');
require_once('../../../include/lehrverband.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Hestellen der DB Verbindung');
$text='';
//Alle Studenten mit Studiensemester der Rolle holen
$qry = "SELECT
distinct student_uid, tbl_prestudent.prestudent_id, tbl_prestudentstatus.studiensemester_kurzbz, tbl_student.studiengang_kz
FROM
public.tbl_prestudent JOIN public.tbl_student USING(prestudent_id)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
ORDER BY
student_uid";
$text.="Studentlehrverbandeintraege mit Prestudentrollen abgleichen\n\n";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$student = new student($conn);
$prestd = new prestudent($conn);
//Aktuellen Status in diesem Studiensemester holen
if(!$prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz))
{
$text.="Fehler beim Laden des Status von $row->prestudent_id\n";
continue;
}
//Abbrecher und Unterbrecher ins 0. Semester verschieben
if($prestd->status_kurzbz=='Abbrecher')
{
$semester='0';
$verband='A';
}
elseif($prestd->status_kurzbz=='Unterbrecher')
{
$semester='0';
$verband='B';
}
else
{
$semester = $prestd->ausbildungssemester;
$verband=' ';
}
//Keinen Eintrag erstellen fuer Semester in denen er noch kein Student war und
//keinen Eintrag fuer Diplomanden und Absolventen (werden weiter unten gesondert behandelt)
if(in_array($prestd->status_kurzbz, array('Interessent','Bewerber','Abgewiesener','Aufgenommener','Wartender', 'Diplomand','Absolvent')))
continue;
if($student->load_studentlehrverband($row->student_uid, $row->studiensemester_kurzbz))
{
$student->new = false;
//Wenn der gleiche Eintrag schon vorhanden ist dann ueberspringen
if($student->semester==$semester)
continue;
}
else
{
$student->new = true;
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'chkstdlvbrolle';
$student->verband = $verband;
$student->gruppe = ' ';
}
$student->uid = $row->student_uid;
$student->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = $semester;
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstdlvbrolle';
//Lehrverband anlegen falls dieser nicht existiert
$lvb = new lehrverband($conn);
if(!$lvb->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lvb->studiengang_kz = $student->studiengang_kz;
$lvb->semester = $student->semester;
$lvb->verband = $student->verband;
$lvb->gruppe = $student->gruppe;
$lvb->aktiv = true;
if(!$lvb->save(true))
{
$text.="Fehler beim Anlegen des Lehrverbandes: ".$lvb->errormsg;
}
}
//Zuteilung Speichern
if($student->save_studentlehrverband())
{
if($student->new)
$text.="Erstelle Studentlehrverbandeintrag für $row->student_uid im $row->studiensemester_kurzbz in Semester $student->semester\n";
else
$text.="Aktualisiere Studentlehrverbandeintrag für $row->student_uid im $row->studiensemester_kurzbz in Semester $student->semester\n";
}
else
{
$text.="Fehler bei $student->uid im $student->studiensemester_kurzbz Semester $student->semester Studiengang $student->studiengang_kz Verband '$student->verband' Gruppe '$student->gruppe'\n";
}
}
}
$text.="\n\nAbsolventen, Diplomanden, 50er und 60er abgleichen\n\n";
//Absolventen, Diplomanden, 50er und 60er
// Bei 50ern und 60ern wird das Semester immer weitergezaehlt. In der Prestudentrolle
// steht aber weiterhin das wirkliche Semester. Daher wird zum Semester dass in der Prestudentrolle
// steht die Anzahl der Semester hinzugezaehlt in denen er schon Diplomand ist.
//Alle Studenten holen die einen Diplomanden oder Absolventeneintrag haben
$qry = "SELECT distinct student_uid, prestudent_id, studiengang_kz, verband FROM public.tbl_prestudentstatus JOIN public.tbl_student USING(prestudent_id) WHERE status_kurzbz='Diplomand' OR status_kurzbz='Absolvent'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//Alle Diplomandeneintraege des Studenten holen
$qry_diplomand = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$row->prestudent_id' AND status_kurzbz='Diplomand' ORDER BY datum";
if($result_diplomand = pg_query($conn, $qry_diplomand))
{
$i=0;
while($row_diplomand = pg_fetch_object($result_diplomand))
{
$student = new student($conn);
$prestd = new prestudent($conn);
//Aktuellen Status in diesem Studiensemester holen
if(!$prestd->getLastStatus($row->prestudent_id, $row_diplomand->studiensemester_kurzbz))
{
$text.="Fehler beim Laden des Status von $row->prestudent_id\n";
continue;
}
//Wenn Diplomand nicht der letzte Status in diesem Semester ist, dann Weiterspringen
if($prestd->status_kurzbz!='Diplomand')
{
$i++;
continue;
}
//50er und 60er rutschen immer ein Semester weiter
$semester = $row_diplomand->ausbildungssemester+$i;
//Studentlehrverband Eintrag laden
if($student->load_studentlehrverband($row->student_uid, $row_diplomand->studiensemester_kurzbz))
{
$student->new = false;
//Wenn der gleiche Eintrag schon vorhanden ist dann ueberspringen
if($student->semester==$semester)
{
$i++;
continue;
}
}
else
{
$student->new = true;
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'chkstdlvbrolle';
$student->verband = ' ';
$student->gruppe = ' ';
}
$student->uid = $row->student_uid;
$student->studiensemester_kurzbz = $row_diplomand->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = $semester;
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstdlvbrolle';
//Lehrverband anlegen falls dieser nicht existiert
$lvb = new lehrverband($conn);
if(!$lvb->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lvb->studiengang_kz = $student->studiengang_kz;
$lvb->semester = $student->semester;
$lvb->verband = $student->verband;
$lvb->gruppe = $student->gruppe;
$lvb->aktiv = true;
if(!$lvb->save(true))
{
$text.="Fehler beim Anlegen des Lehrverbandes: ".$lvb->errormsg;
}
}
//Zuteilung Speichern
if($student->save_studentlehrverband())
{
if($student->new)
$text.="Erstelle Studentlehrverbandeintrag für $row->student_uid im $row_diplomand->studiensemester_kurzbz in Semester $student->semester (Diplomand)\n";
else
$text.="Aktualisiere Studentlehrverbandeintrag für $row->student_uid im $row_diplomand->studiensemester_kurzbz in Semester $student->semester (Diplomand)\n";
}
else
{
$text.="Fehler bei $student->uid im $student->studiensemester_kurzbz Semester $student->semester Studiengang $student->studiengang_kz Verband '$student->verband' Gruppe '$student->gruppe'\n";
}
//Semester um eins weiterzaehlen
$i++;
}
//Absolventen Eintrag in der Tabelle Studentlehrverband anlegen
//Absolventeneintrag holen
$qry_absolvent = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='$row->prestudent_id' AND status_kurzbz='Absolvent' ORDER BY datum";
if($result_absolvent = pg_query($conn, $qry_absolvent))
{
while($row_absolvent = pg_fetch_object($result_absolvent))
{
$student = new student($conn);
//Der Absolventeneintrag befindet sich im gleichen Semester wie der letzte Diplomandeneintrag
$semester = $row_absolvent->ausbildungssemester+($i!=0?$i-1:0);
//Studentlehrverband Eintrag laden
if($student->load_studentlehrverband($row->student_uid, $row_absolvent->studiensemester_kurzbz))
{
$student->new = false;
//Wenn der gleiche Eintrag schon vorhanden ist dann ueberspringen
if($student->semester==$semester)
continue;
}
else
{
$student->new = true;
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'chkstdlvbrolle';
$student->verband = $row->verband;
$student->gruppe = ' ';
}
$student->uid = $row->student_uid;
$student->studiensemester_kurzbz = $row_absolvent->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = $semester;
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstdlvbrolle';
//Lehrverband anlegen falls dieser nicht existiert
$lvb = new lehrverband($conn);
if(!$lvb->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lvb->studiengang_kz = $student->studiengang_kz;
$lvb->semester = $student->semester;
$lvb->verband = $student->verband;
$lvb->gruppe = $student->gruppe;
$lvb->aktiv = true;
if(!$lvb->save(true))
{
$text.="Fehler beim Anlegen des Lehrverbandes: ".$lvb->errormsg;
}
}
//Zuteilung Speichern
if($student->save_studentlehrverband())
{
if($student->new)
$text.="Erstelle Studentlehrverbandeintrag für $student->uid im $student->studiensemester_kurzbz in Semester $student->semester (Absolvent)\n";
else
$text.="Aktualisiere Studentlehrverbandeintrag für $student->uid im $student->studiensemester_kurzbz in Semester $student->semester (Absolvent)\n";
}
else
{
$text.="Fehler bei $student->uid im $student->studiensemester_kurzbz Semester $student->semester Studiengang $student->studiengang_kz Verband '$student->verband' Gruppe '$student->gruppe'\n";
}
}
}
else
{
$text.="\nFehler beim Ermitteln des Absolventeneintrages:".$qry_absolvent;
}
}
else
{
$text.="\nFehler beim Ermitteln des Diplomandeneintrages:".$qry_diplomand;
}
}
}
else
{
$text.="\nFehler beim Ermitteln der Absolventen und Diplomanden".$qry;
}
echo nl2br($text);
?>
-328
View File
@@ -1,328 +0,0 @@
-- INSERTS fuer St.Poelten DB
-- Erhalter
INSERT INTO public.tbl_erhalter(erhalter_kz, kurzbz, bezeichnung, dvr, logo, zvr) VALUES(13,'FHSTP', 'Fachhochschule St. Pölten', '','','');
-- OrgForm
INSERT INTO bis.tbl_orgform(orgform_kurzbz, code, bezeichnung) VALUES ('VZ', 1, 'Vollzeit');
INSERT INTO bis.tbl_orgform(orgform_kurzbz, code, bezeichnung) VALUES ('BB', 2, 'Berufsbegleitend');
INSERT INTO bis.tbl_orgform(orgform_kurzbz, code, bezeichnung) VALUES ('VBB', 3, 'Vollzeit und Berufsbeleitend');
INSERT INTO bis.tbl_orgform(orgform_kurzbz, code, bezeichnung) VALUES ('ZGS', 4, 'Zielgruppenspezifisch');
-- Studiengang
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('0','fh','d','Fachhochschule','1','A','1','13','VZ',null);
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('2','sb','d','xxxSozialarbeit- berufsbegleitend','8','C','2','13','VZ','14');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('1','vo','d','xxxVerkehrsinformatik und Verkehrsökologie','8','C','2','13','VZ','15');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('261','mt','b','Bakkalaureatsstudiengang Medientechnik','6','C','2','13','VZ','16');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('323','sa','m','Magisterstudiengang Sozialarbeit','3','C','2','13','VZ','17');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('410','is','b','Bakkalaureatsstudiengang IT Security','6','C','2','13','VZ','18');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('405','bc','b','Bakkalaureatsstudiengang Computersimulation','6','C','2','13','VZ','19');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('403','bm','b','Bachelorstudiengang Medienmanagement','6','C','2','13','VZ','20');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('409','mk','b','Bachelorstudiengang Media- und Kommunikationsberatung','6','C','2','13','VZ','21');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('407','di','b','Diätologie','6','C','2','13','VZ','23');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('408','pt','b','Physiotherapie','6','C','2','13','VZ','24');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('406','bs','b','Bachelorstudiengang Soziale Arbeit','6','C','2','13','VZ','22');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('38','tm','d','Telekommunikation und Medien','8','C','2','13','VZ','10');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('88','mm','d','Medienmanagement','8','C','2','13','VZ','11');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('95','cs','d','Computersimulation','8','C','2','13','VZ','12');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('96','so','d','Sozialarbeit','8','C','2','13','VZ','13');
INSERT INTO public.tbl_studiengang(studiengang_kz, kurzbz, typ, bezeichnung, max_semester, max_verband, max_gruppe, erhalter_kz, orgform_kurzbz, ext_id) VALUES('262','ma','m','Masterstudiengang Telekommunikation und Medien','3','C','2','13','VZ','25');
-- Sprache
INSERT INTO public.tbl_sprache(sprache) VALUES('German');
INSERT INTO public.tbl_sprache(sprache) VALUES('English');
INSERT INTO public.tbl_sprache(sprache) VALUES('Espanol');
-- Fachbereich
INSERT INTO public.tbl_fachbereich(fachbereich_kurzbz, bezeichnung, farbe, studiengang_kz, ext_id, aktiv) VALUES('Dummy','','','0',null,true);
-- Ausbildung
INSERT INTO bis.tbl_ausbildung VALUES (1, 'PhD', 'Universitätsabschluss mit Doktorat als Zweit- oder Drittabschluss oder PhD-Abschluss');
INSERT INTO bis.tbl_ausbildung VALUES (3, 'FH-Master', 'Fachhochschulabschluss auf Diplom- oder Masterebene');
INSERT INTO bis.tbl_ausbildung VALUES (4, 'Univ.-Bachelor', 'Universitäts- oder Hochschulabschluss auf Bachelorebene (einschließlich Kurzstudien)');
INSERT INTO bis.tbl_ausbildung VALUES (5, 'FH-Bachelor', 'Fachhochschulabschluss auf Bachelorebene');
INSERT INTO bis.tbl_ausbildung VALUES (6, 'Akad-Diplom', 'Diplom einer Akademie für Lehrerbildung, Akademie für Sozialarbeit, Medizinisch-technische Akademie, Hebammenakademie, Militärakademie oder einer anderen anerkannten postsekundären Bildungseinrichtung');
INSERT INTO bis.tbl_ausbildung VALUES (8, 'AHS', 'Reifeprüfung an einer allgemeinbildenden höheren Schule');
INSERT INTO bis.tbl_ausbildung VALUES (9, 'BHS', 'Reife- und Diplomprüfung einer berufsbildenden oder lehrer- und erzieherbildenden höheren Schule');
INSERT INTO bis.tbl_ausbildung VALUES (10, 'Lehrabschluss', 'Lehrabschlussprüfung, berufsbildende mittlere Schule oder vergleichbare Berufsausbildung');
INSERT INTO bis.tbl_ausbildung VALUES (11, 'Pflichtschule', 'Pflichtschule');
INSERT INTO bis.tbl_ausbildung VALUES (7, 'tertiär', 'Anderer tertiärer Bildungsabschluss (Kolleg; Meisterprüfung; Universitätslehrgang oder Lehrgang gemäß §14a Abs.3 FHStG, mit dem kein akademischer Grad verbunden war)');
INSERT INTO bis.tbl_ausbildung VALUES (2, 'Univ.-Master', 'Universitäts- oder Hochschulabschluss auf Diplom- oder Masterebene, Doktorat der Medizin bzw. der Human- oder Zahnmedizin oder Doktorat auf Grund von Studienvorschriften aus der Zeit vor dem Inkrafttretendes AHStG BGBl. Nr. 177/1966 oder Abschluss eines Universitätslehrganges oder Lehrganges universitären Charakters (§51 Abs. 2 Z 23 UG 2002 oder §§26 Abs.1 und 28 Abs.1 UniStG) oder eines Lehrganges zur Weiterbildung (§14a Abs.2 FHStG) mit Mastergrad');
-- Studiensemester
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2001', '2001-09-03', '2002-01-31', NULL, 'Wintersemester 2001/2002');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2006', '2006-02-13', '2006-07-01', 9, 'Sommersemester 2006');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2005', '2005-02-14', '2005-07-02', 7, 'Sommersemester 2005');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2004', '2004-02-03', '2004-07-03', 5, 'Sommersemester 2004');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2003', '2003-02-02', '2003-07-02', 3, 'Sommersemester 2003');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2002', '2002-02-01', '2002-07-01', 1, 'Sommersemester 2002');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2009', '2009-02-05', '2009-07-05', 15, 'Sommersemester 2009');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2007', '2007-02-12', '2007-07-01', 11, 'Sommersemester 2007');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('SS2008', '2008-02-04', '2008-07-04', 13, 'Sommersemester 2008');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2009', '2009-09-04', '2010-02-04', 16, 'Wintersemester 2009/2010');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2008', '2008-09-03', '2009-02-03', 14, 'Wintersemester 2008/2009');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2006', '2006-09-04', '2007-02-03', 10, 'Wintersemester 2006/2007');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2005', '2005-09-05', '2006-02-04', 8, 'Wintersemester 2005/2006');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2004', '2004-09-06', '2005-02-05', 6, 'Wintersemester 2004/2005');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2003', '2003-09-02', '2004-02-02', 4, 'Wintersemester 2003/2004');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2002', '2002-09-01', '2003-02-01', 2, 'Wintersemester 2002/2003');
INSERT INTO public.tbl_studiensemester(studiensemester_kurzbz, start, ende, ext_id, bezeichnung) VALUES ('WS2007', '2007-09-01', '2008-02-01', 12, 'Wintersemester 2007/2008');
-- Aufmerksamdurch
INSERT INTO public.tbl_aufmerksamdurch VALUES ('Keine Quelle', 'Keine Quelle angegeben', 0);
INSERT INTO public.tbl_aufmerksamdurch VALUES ('Tag d.off.Tür', 'Tag der offenen Tür', 2);
INSERT INTO public.tbl_aufmerksamdurch VALUES ('Wien', '20060317 Wien', 1);
INSERT INTO public.tbl_aufmerksamdurch VALUES ('Messe Klagenfurt', 'Messe Klagenfurt', 3);
INSERT INTO public.tbl_aufmerksamdurch VALUES ('Best Wien', 'Best Wien', 4);
SET search_path = sync, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = true;
--
-- Name: stp_zugang; Type: TABLE; Schema: sync; Owner: fas; Tablespace:
--
CREATE TABLE stp_zugang (
cxzugang integer NOT NULL,
zgv_code integer NOT NULL
);
ALTER TABLE sync.stp_zugang OWNER TO fas;
--
-- Data for Name: stp_zugang; Type: TABLE DATA; Schema: sync; Owner: fas
--
INSERT INTO stp_zugang VALUES (5, 4);
INSERT INTO stp_zugang VALUES (6, 5);
INSERT INTO stp_zugang VALUES (7, 6);
INSERT INTO stp_zugang VALUES (8, 7);
INSERT INTO stp_zugang VALUES (9, 8);
INSERT INTO stp_zugang VALUES (10, 99);
INSERT INTO stp_zugang VALUES (11, 10);
INSERT INTO stp_zugang VALUES (12, 9);
INSERT INTO stp_zugang VALUES (13, 11);
INSERT INTO stp_zugang VALUES (14, 12);
INSERT INTO stp_zugang VALUES (15, 13);
INSERT INTO stp_zugang VALUES (16, 14);
INSERT INTO stp_zugang VALUES (17, 15);
INSERT INTO stp_zugang VALUES (18, 16);
INSERT INTO stp_zugang VALUES (19, 17);
INSERT INTO stp_zugang VALUES (20, 18);
INSERT INTO stp_zugang VALUES (21, 19);
--
-- Name: stp_zugang; Type: ACL; Schema: sync; Owner: fas
--
REVOKE ALL ON TABLE stp_zugang FROM PUBLIC;
GRANT INSERT,SELECT,UPDATE ON TABLE stp_zugang TO vilesci;
-- zgv
SET search_path = bis, pg_catalog;
--
-- Data for Name: tbl_zgv; Type: TABLE DATA; Schema: bis; Owner: postgres
--
INSERT INTO tbl_zgv VALUES (4, 'Anerkannte Studienberechtigungsprüfung', 'Studberprüfung');
INSERT INTO tbl_zgv VALUES (5, 'Ausländische Universitätsreife', 'Ausl.Univreife');
INSERT INTO tbl_zgv VALUES (7, 'Lehrabschlussprüfung mit allfälligen Zusatzqualifikationen', 'Lehrabschluss');
INSERT INTO tbl_zgv VALUES (8, 'Werkmeister', 'Werkmeister');
INSERT INTO tbl_zgv VALUES (9, 'AHS (langform)', 'AHS-lang');
INSERT INTO tbl_zgv VALUES (10, 'Oberstufenrealgymnasium', 'OberstufenRG');
INSERT INTO tbl_zgv VALUES (11, 'AHS (Sonderformen)', 'AHS-sonder');
INSERT INTO tbl_zgv VALUES (13, 'Handelsakademien', 'Handelsakademien');
INSERT INTO tbl_zgv VALUES (16, 'Höhere Schulen der Lehrer- und Erzieherbildung', 'Lehrer');
INSERT INTO tbl_zgv VALUES (17, 'Externistenreifeprüfung', 'Externist');
INSERT INTO tbl_zgv VALUES (18, 'Berufreifeprüfung', 'Berufsreife');
INSERT INTO tbl_zgv VALUES (19, 'Inländische postsekundäre Bildungseinrichtung', 'Inl.postsekundär');
INSERT INTO tbl_zgv VALUES (99, 'Sonstige', 'Sonstige');
INSERT INTO tbl_zgv VALUES (14, 'Höhere Lehranstalt für wirtschaftliche Berufe', 'HL wirtsch.Ber.');
INSERT INTO tbl_zgv VALUES (12, 'Höhere technische und gewerbliche Lehranstalten', 'HTBLA');
INSERT INTO tbl_zgv VALUES (6, 'Abschlusszeugnis einer facheinschlägigen BMS', 'BMS(facheinschl)');
INSERT INTO tbl_zgv VALUES (15, 'Höhere land- und forstwirtschaftliche Lehranstalten', 'HL Land-u.Forst');
-- zgvmaster
SET search_path = bis, pg_catalog;
--
-- Data for Name: tbl_zgvmaster; Type: TABLE DATA; Schema: bis; Owner: postgres
--
INSERT INTO tbl_zgvmaster VALUES (1, 'FH-Abschluss Bachelor (Inland)', 'FH-Bachelor (I)');
INSERT INTO tbl_zgvmaster VALUES (2, 'FH-Abschluss Bachelor (Ausland)', 'FH-Bachelor (A)');
INSERT INTO tbl_zgvmaster VALUES (3, 'Abschluss postsekundäres Studium (Inland)', 'postsek.Inland');
INSERT INTO tbl_zgvmaster VALUES (4, 'Abschluss postsekundäres Studium (Ausland)', 'postsek.Ausland');
INSERT INTO tbl_zgvmaster VALUES (5, 'Univ.-Abschluss Bachelor (Inland)', 'Uni-Bachelor (I)');
INSERT INTO tbl_zgvmaster VALUES (6, 'Univ.-Abschluss Bachelor (Ausland)', 'Uni-Bachelor (A)');
INSERT INTO tbl_zgvmaster VALUES (11, 'Sonstige', 'Sonstige');
INSERT INTO tbl_zgvmaster VALUES (9, 'Univ. Abschluss Dipl.-Ing. / Mag. / Master / Dr. (Inland)', 'Uni (I)');
INSERT INTO tbl_zgvmaster VALUES (10, 'Univ. Abschluss Dipl.-Ing. / Mag. / Master / Dr. / PhD (Ausland)', 'Uni (A)');
INSERT INTO tbl_zgvmaster VALUES (7, 'FH-Abschluss Dipl.-Ing. / Mag. / Master / Dr. (Inland)', 'FH (I)');
INSERT INTO tbl_zgvmaster VALUES (8, 'FH-Abschluss Dipl.-Ing. / Mag. / Master / Dr. / PhD (Ausland)', 'FH (A)');
-- rolle
SET search_path = public, pg_catalog;
--
-- Data for Name: tbl_status; Type: TABLE DATA; Schema: public; Owner: pam
--
INSERT INTO tbl_status VALUES ('Interessent', NULL, NULL, 1);
INSERT INTO tbl_status VALUES ('Bewerber', NULL, NULL, 2);
INSERT INTO tbl_status VALUES ('Student', NULL, NULL, 3);
INSERT INTO tbl_status VALUES ('Ausserordentlicher', NULL, NULL, 4);
INSERT INTO tbl_status VALUES ('Abgewiesener', NULL, NULL, 5);
INSERT INTO tbl_status VALUES ('Aufgenommener', NULL, NULL, 6);
INSERT INTO tbl_status VALUES ('Wartender', NULL, NULL, 7);
INSERT INTO tbl_status VALUES ('Abbrecher', NULL, NULL, 8);
INSERT INTO tbl_status VALUES ('Unterbrecher', NULL, NULL, 9);
INSERT INTO tbl_status VALUES ('Outgoing', NULL, NULL, 10);
INSERT INTO tbl_status VALUES ('Incoming', NULL, NULL, 11);
INSERT INTO tbl_status VALUES ('Praktikant', NULL, NULL, 12);
INSERT INTO tbl_status VALUES ('Absolvent', NULL, NULL, 14);
INSERT INTO tbl_status VALUES ('Diplomand', NULL, NULL, 13);
-- Lehrform
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('0','Sonstige',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('BOPR','Berufsorientierungspraktikum',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('DLLV','Dislozierte Lehrveranstaltung',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('EX','Exkursion',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('FUV','Fernlehrunterstützte Vorlesung',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('ILV','Integrierte Lehrveranstaltung',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('IT','Individualtraining',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('LB','Labor, Laborübung',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('PBL','Problemorientiertes Lernen',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('PS','Proseminar',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('PT','Projekt, Projektarbeit, Projektstudien, Projektsem',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('RE','Repetitorium',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('SE','Seminar, Diplomsem., Praktikumsbegl. Sem.',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('TU','Tutorial',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('UE','Übung, Konstruktionsübung',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('VO','Vorlesung',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('WK','Workshop',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('WS','Werkstätte',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('PL','Praxislabor',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('BA','Bakkalaureatsarbeit',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('PA','Schwerpunktprojekt',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('BP','Berufspraktikum',true);
INSERT INTO lehre.tbl_lehrform(lehrform_kurzbz, bezeichnung, verplanen) VALUES('WPF','Wahlpflichtfach',true);
-- Vorlagen
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Studienerfolg', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('AccountInfo', 'AccountInfoBlatt', NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('DiplSupplement', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Diplomurkunde', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Diplomzeugnis', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Bakkurkunde', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('BakkurkundeEng', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Bakkzeugnis', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('PrProtokollBakk', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('PrProtokollDipl', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Lehrauftrag', NULL, 'erledigt');
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Inskription', 'Inskriptionsbestaetigung', 'erledigt');
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('DiplomurkundeEng', NULL, NULL);
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Zeugnis', NULL, 'erledigt');
INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung) VALUES ('Zahlung', 'Zahlung', 'erledigt');
-- VorlageStudiengang
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Studienerfolg', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('AccountInfo', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('DiplSupplement', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Diplomurkunde', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Diplomzeugnis', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Bakkurkunde', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('BakkurkundeEng', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Bakkzeugnis', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('PrProtokollBakk', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('PrProtokollDipl', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Lehrauftrag', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Inskription', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('DiplomurkundeEng', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Zeugnis', 0, 1);
INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz, studiengang_kz, version) VALUES ('Zahlung', 0, 1);
-- Note
INSERT INTO lehre.tbl_note VALUES (1, 'Sehr Gut', '1', NULL);
INSERT INTO lehre.tbl_note VALUES (2, 'Gut', '2', NULL);
INSERT INTO lehre.tbl_note VALUES (3, 'Befriedigend', '3', NULL);
INSERT INTO lehre.tbl_note VALUES (4, 'Genügend', '4', NULL);
INSERT INTO lehre.tbl_note VALUES (7, 'Nicht beurteilt', 'nb', 'FF0000');
INSERT INTO lehre.tbl_note VALUES (6, 'angerechnet', 'ar', NULL);
INSERT INTO lehre.tbl_note VALUES (8, 'Teilgenommen', 'tg', NULL);
INSERT INTO lehre.tbl_note VALUES (10, 'Bestanden', 'b', NULL);
INSERT INTO lehre.tbl_note VALUES (11, 'Approbiert', 'ap', NULL);
INSERT INTO lehre.tbl_note VALUES (12, 'Erfolgreich absolviert', 'ea', NULL);
INSERT INTO lehre.tbl_note VALUES (13, 'Nicht erfolgreich absolviert', 'nea', NULL);
INSERT INTO lehre.tbl_note VALUES (0, 'Teilnote', '0', NULL);
INSERT INTO lehre.tbl_note VALUES (5, 'Nicht Genügend', '5', 'FF0000');
INSERT INTO lehre.tbl_note VALUES (9, 'Noch nicht eingetragen', NULL, '90EE90');
INSERT INTO lehre.tbl_note VALUES (16, 'Ausland', 'al', NULL);
INSERT INTO lehre.tbl_note VALUES (15, 'mit ausgezeichnetem Erfolg best', '15', NULL);
INSERT INTO lehre.tbl_note VALUES (17, 'komm. Prüfung', 'kp', NULL);
-- Berechtigung
INSERT INTO tbl_berechtigung VALUES ('admin', 'Super User Rechte');
INSERT INTO tbl_berechtigung VALUES ('user', 'Normale User ohne besonere Rechte');
INSERT INTO tbl_berechtigung VALUES ('mitarbeiter', 'FAS Mitarbeitermodul');
INSERT INTO tbl_berechtigung VALUES ('lehre', 'Berechtigung fuer CIS-Seite');
INSERT INTO tbl_berechtigung VALUES ('lv-plan', 'Stundenplan');
INSERT INTO tbl_berechtigung VALUES ('assistenz', 'Assistenz');
INSERT INTO tbl_berechtigung VALUES ('news', 'News eintragen');
-- buchungstyp
INSERT INTO public.tbl_buchungstyp VALUES ('Lehrmittelbeitrag', 'Lehrmittelbeitrag');
INSERT INTO public.tbl_buchungstyp VALUES ('Studiengebuehr', 'Studiengebühr');
INSERT INTO public.tbl_buchungstyp VALUES ('Sonstiges', 'Sonstiges');
INSERT INTO public.tbl_buchungstyp VALUES ('Unkostenbeitrag', 'Unkostenbeitrag');
INSERT INTO public.tbl_buchungstyp VALUES ('Kaution', 'Kaution');
-- bis.tbl_mobilitaetsprogramm
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (6, 'CEEPUS', 'CEEPUS');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (7, 'ERASMUS', 'ERASMUS');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (9, 'LEONARDO', 'LEONARDO da VINCI');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (10, 'supranat', 'Praktikum bei einer internationalen oder supranationalen Organisation');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (11, 'DAF', 'Deutsch als Fremdsprache - Praktikum (DAF)');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (12, 'Postgrad', 'Postgraduate - Stipendium (Fulbright, Bundesministerium für Bildung, Wissenschaft und Kultur');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (13, 'Austausch', 'Austauschstipendium (z.B. Kulturabkommen, Aktionen Österreich-...)');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (14, 'Ausland', 'Auslandstipendium für Studierende von Universitäten der Künste');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (20, 'Gödel', 'Kurt Gödl - Stipendium');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (22, 'ALektorat', 'Auslandslektorat');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (30, 'so.Stip.', 'sonstiges Stipendium');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (31, 'EZusS', 'Stipendium der österreichischen Entwicklungszusammenarbeit');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (32, 'ÖStip', 'Österreich - Stipendium');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (33, 'Mach', 'Erst Mach - Stipendium');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (34, 'Werfel', 'Franz Werfel - Stipendium');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (35, 'Suttner', 'Bertha von Suttner - Stipendium');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (37, 'APART', 'APART - Stipendium der Österreichischen Akademie der Wissenschaften');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (41, 'EU3Prog.', 'EU-Drittstaatenprogramm (EU-China, EU-USA, EU-Kanada, usw.)');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (42, 'EUPrak', 'EU-Praktikumstipendium (EU-Kommission, EU-Rat, EU_Parlament)');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (201, 'FH-Mob', 'Von der FH organisierte/r Mobilitätsvereinbarung (Partnerschaftsabkommen, udgl.) bzw. Aufenthalt');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (202, 'selbst', 'Vom Studierenden selbst organisierte/r Mobilitätsvereinbarung bzw. Aufenthalt');
INSERT INTO bis.tbl_mobilitaetsprogramm VALUES (203, 'FHspez.', 'FH-spezifisches Mobilitätsprogramm mit einem anderen österreichischen FH-Studiengang');
-- bis.tbl_zweck
INSERT INTO bis.tbl_zweck VALUES ('1', 'S', 'Studium');
INSERT INTO bis.tbl_zweck VALUES ('2', 'P', 'Praktikum');
INSERT INTO bis.tbl_zweck VALUES ('3', 'SP', 'Studium und Praktikum');
-98
View File
@@ -1,98 +0,0 @@
CREATE TABLE sync.stp_staat
(
__staat integer NOT NULL,
chbezeichnung character varying(256),
chkurzbez character varying(8),
chvorwahl character varying(16),
chkontinent character varying(32),
boeu boolean NOT NULL,
constraint stp_staat_pkey primary key (__staat)
);
REVOKE ALL ON TABLE sync.stp_staat FROM PUBLIC;
GRANT INSERT,SELECT,UPDATE ON TABLE sync.stp_staat TO GROUP admin;
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('1', 'Österreich', 'A', '++43', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('2', 'Deutschland', 'D', '++49', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('3', 'Schweiz', 'CH', '++41', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('4', 'Chile', 'RCH', '++56', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('5', 'Argentinien', 'RA', '++51', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('6', 'Brasilien', 'BR', '++59', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('14', 'Großbritanien', 'GB', '44', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('15', 'Bosnien', 'BSH', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('16', 'Türkei', 'TR', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('17', 'Slowakei', 'SQ', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('20', 'China', 'CHF', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('21', 'Ecuador', 'EC', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('24', 'Tschechische Republik', 'TCH', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('25', 'Kanada', 'KA', '001-613', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('28', 'Schweden', 'S', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('29', 'Jugoslawien', 'YU', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('30', 'Rumänien', 'RO', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('31', 'Kalifornien', 'Kal', '1', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('32', 'Polen', 'PL', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('33', 'Iran', 'IR', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('34', 'Kroatien', 'CRO', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('35', 'Australien', 'AUS', '', 'Australien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('36', 'Vietnam', 'VN', '', 'Asien', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('37', 'Bulgarien', 'BG', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('38', 'Slowenien', 'SLO', '386', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('39', 'Vereinigte Staaten von Amerika', 'USA', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('40', 'Bolivien', 'BOL', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('41', 'Mexiko', 'MEX', '', 'Amerika', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('42', 'Russland', 'RU', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('43', 'Frankreich', 'F', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('44', 'Kuwait', 'KW', '', 'Asien', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('45', 'Ukraine', 'UKR', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('46', 'Mazedonien', 'MAZ', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('47', 'Italien', 'I', '39', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('48', 'Indien', 'IND', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('49', 'Spanien', 'E', '34', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('50', 'Neuseeland', 'NZ', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('51', 'Irland', 'IRL', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('52', 'Finnland', 'SF', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('53', 'Bangladesh', 'BANG', '880', 'Asien', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('55', 'Marokko', 'MAR', '00 212', 'Afrika', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('56', 'Nigeria', 'WAN', '', 'Afrika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('57', 'Niederlande', 'NL', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('58', 'Litauen', 'LIT', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('59', 'Ungarn', 'H', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('60', 'Griechenland', 'GR', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('61', 'Kenia', 'EAK', '', 'Afrika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('62', 'Costa Rica', 'CR', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('63', 'Luxembourg', 'L', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('64', 'Tunesien', 'TN', '', 'Afrika', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('65', 'Algerien', 'ALG', '', 'Afrika', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('66', 'Zypern', 'CY', '', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('68', 'Dänemark', 'DK', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('69', 'Norwegen', 'N', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('70', 'Belgien', 'B', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('71', 'Lettland', 'LV', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('72', 'Japan', 'J', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('73', 'Island', 'IS', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('74', 'Lichtenstein', 'FL', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('76', 'Usbekistan', 'UZBE', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('77', 'Mongolei', 'MO', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('78', 'Ägypten', 'EYG', '', 'Afrika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('79', 'EE', 'EE', '', '', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('81', 'Kasachstan', 'KAS', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('82', 'Netherland Antilles', 'NA', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('83', 'Ghana', 'GH', '', 'Afrika', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('84', 'Panama', 'PA', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('85', 'Albanien', 'AL', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('86', 'Venezuela', 'YV', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('87', 'Thailand', 'T', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('88', 'Peru', 'PE', '', 'Amerika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('89', 'Mauretanien', 'RIM', '222', 'Afrika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('90', 'Simbabwe', 'RSR', '', 'Afrika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('91', 'Georgien', 'GG', '', 'Asien', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('92', 'Senegal', 'SN', '', 'Afrika', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('97', 'Portugal', 'PT', '351', 'Europa', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('98', 'Indonesien', 'RI', '', 'Asien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('99', 'Serbien', 'SB', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('100', 'Papua-Neuguinea', 'PNG', '', 'Australien', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('101', 'Vereinigte Arabische Emirate', 'VE', '', 'Asien', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('102', 'Kamerun', 'CAM', '', 'Afrika', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('103', 'Weißrussland', 'BLR', '', 'Europa', '0');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('107', 'Israel', 'IL', '972', 'Asien', '1');
insert into sync.stp_staat (__staat, chbezeichnung, chkurzbez, chvorwahl, chkontinent, boeu) values ('108', 'Laos', 'LA', '', 'Asien', '0');
@@ -1,106 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Kopiert adressen Tabelle von FH-DB StPoelten
//*
//*
require_once('sync_config.inc.php');
$starttime=time();
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
// Sync-Tabelle fuer Personen checken
if (!@pg_query($conn,'SELECT * FROM sync.stp_adresse LIMIT 1;'))
{
$sql='CREATE TABLE sync.stp_adresse (
__adresse integer,
_person integer,
chstrasse varchar(256),
chhausnr varchar(32),
chplz varchar(16),
chort varchar(256),
_staat integer,
chbemerkung varchar(256),
bostandardadr boolean,
boheimatadr boolean,
constraint "pk_tbl_sync_stp_adresse" primary key ("__adresse"));
Grant select on sync.stp_adresse to group "admin";
Grant update on sync.stp_adresse to group "admin";
Grant delete on sync.stp_adresse to group "admin";
Grant insert on sync.stp_adresse to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.stp_adresse: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_adresse wurde angelegt!<BR>';
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FHDB -> FH-Complete - PreSyncAdresse</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if (!@pg_query($conn,'DELETE FROM sync.stp_adresse;'))
echo '<strong>sync.stp_adresse: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_adresse wurde geleert!<BR>';
echo 'Daten werden geholt!<BR>';
$i=0;
$qry="SELECT __Adresse, _Person, chStrasse, chHausNr, chPLZ, chOrt, _Staat,
chBemerkung, boStandardAdr, boHeimatAdr FROM adresse;";
if($result_ext = mssql_query($qry,$conn_ext))
{
while($row=mssql_fetch_object($result_ext))
{
$qry="INSERT INTO sync.stp_adresse (__adresse, _person, chstrasse, chhausnr, chplz, chort, _staat, chbemerkung,
bostandardadr, boheimatadr)
VALUES ('$row->__Adresse','$row->_Person', ".
($row->chStrasse==''?'NULL':"'".addslashes($row->chStrasse)."'").", ".
($row->chHausNr==''?'NULL':"'".$row->chHausNr."'").", ".
($row->chPLZ==''?'NULL':"'".$row->chPLZ."'").", ".
($row->chOrt==''?'NULL':"'".addslashes($row->chOrt)."'").", ".
($row->_Staat==''?'NULL':"'".$row->_Staat."'").", ".
($row->chBemerkung==''?'NULL':"'".$row->chBemerkung."'").", ".
"'$row->boStandardAdr','$row->boHeimatAdr');";
if(!$result = pg_query($conn, $qry))
{
echo $qry.'<BR>'.pg_last_error($conn).' </strong><BR>';
}
echo '.';
flush();
$i++;
}
}
else
echo 'Fehler';//mssql_lasterror($conn_ext);
echo '<BR>Time elapsed: '.(time()-$starttime).' seconds!';
?>
</body>
</html>
@@ -1,397 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Adressendatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: sync von sync.stp_person, sync.stp_staat
//* benoetigt: tbl_syncperson, sync.stp_adresse
require_once('sync_config.inc.php');
$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;'))
{
$sql='CREATE TABLE sync.tbl_syncperson
(
person_id integer NOT NULL,
__Person integer NOT NULL
);
Grant select on sync.tbl_syncperson to group "admin";
Grant update on sync.tbl_syncperson to group "admin";
Grant delete on sync.tbl_syncperson to group "admin";
Grant insert on sync.tbl_syncperson to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.tbl_syncperson: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.tbl_syncperson wurde angelegt!<BR>';
}
$error_log='';
$error_log1='';
$error_log_ext='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$eingefuegt=0;
$fehler=0;
$dublette=0;
$updates=0;
$plausi='';
$start='';
$staat=array();
$person_id='';
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - StPoelten -> Vilesci - Adresse</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//Array für Nationen erzeugen
$qry_staat="SELECT __staat, chkurzbez FROM sync.stp_staat";
if($result_staat = pg_query($conn, $qry_staat))
{
while($row_staat = pg_fetch_object($result_staat))
{
$staat[$row_staat->__staat]=$row_staat->chkurzbez;
}
}
else
{
echo "<br>".$qry_staat."<br><strong>".pg_last_error($conn)." </strong><br>";
}
/*
Tabelle: adresse
__Adresse int
_Person int
chStrasse char
chHausNr char
chPLZ char
chOrt char
_Staat int
chBemerkung char
boStandardAdr bit
boHeimatAdr bit
_cxbundesland integer
chstrasse character varying(256)
chhausnr character varying(256)
chplz character varying(256)
chort character varying(256)
_staat integer
chadrbemerkung character varying(256)
*/
//*********** Neue Daten holen *****************
$qry="(SELECT __person as _person, chtitel, chnachname, chvorname, _cxbundesland,
chstrasse, chhausnr, chplz, chort, _staat, chadrbemerkung, NULL as bostandardadr, NULL as boheimatadr, 'h' as typ
FROM sync.stp_person WHERE __Person IN (SELECT ext_id FROM public.tbl_person))
UNION
(SELECT _person, titelpre, nachname, vorname, NULL,
chstrasse, chhausnr, chplz, chort, _staat, chbemerkung, bostandardadr, boheimatadr, 'n' as typ
FROM sync.stp_adresse JOIN public.tbl_person ON(_person=ext_id) WHERE _Person IN (SELECT ext_id FROM public.tbl_person))
ORDER BY _Person;";
$error_log_ext="Überprüfung Adressendaten in EXT-DB:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_person_gesamt."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
$cont='';
if($row->chort=='' || $row->chort==NULL)
{
$error_log1.="\nKein Ort eingetragen";
$cont=true;
$error=true;
}
if($row->chplz=='' || $row->chplz==NULL)
{
$error_log1.="\nKeine Postleitzahl eingetragen";
$cont=true;
$error=true;
}
if($row->chstrasse=='' || $row->chstrasse==NULL)
{
$error_log1.="\nKeine Straße eingetragen";
$cont=true;
$error=true;
}
/*if($row->_cxbundesland=='' || $row->_cxbundesland==NULL)
{
$error_log1.="\nKein Bundesland eingetragen";
$error=true;
}*/
if(!isset($staat[$row->_staat]))
{
$error_log1.="\nStaat-Nr.: '".$row->_staat."' in sync.stp_staat nicht gefunden";
$error=true;
$cont=true;
}
if($error)
{
$error_log.="\n*****\n".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).": ".$error_log1;
$error_log1='';
$error=false;
if($cont)
{
$fehler++;
$error_log.="\n-->nicht eingetragen";
continue;
}
}
//Person ermitteln
pg_query($conn, "BEGIN");
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".$row->_person.";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$person_id=$row_synk->person_id;
}
else
{
$error_log.="Person ".$row->_person." in tbl_syncperson nicht gefunden!";
$fehler++;
continue;
}
}
// Check auf Doppelgaenger
$qry_dubel="SELECT * FROM public.tbl_adresse
WHERE person_id='".$person_id."'
AND trim(strasse)='".trim(trim(addslashes($row->chstrasse))." ".trim($row->chhausnr))."'
AND plz='".$row->chplz."' AND trim(ort)='".trim(addslashes($row->chort))."';";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Neue Adresse anlegen
$sql="INSERT INTO public.tbl_adresse
(person_id, name, strasse, plz, ort, gemeinde, nation, typ, heimatadresse, zustelladresse, firma_id,
insertamum,insertvon,updateamum,updatevon, ext_id)
VALUES
(".myaddslashes($person_id).", ".
myaddslashes($row->chadrbemerkung).", ".
myaddslashes(trim(trim($row->chstrasse))." ".trim($row->chhausnr)).", ".
myaddslashes($row->chplz).", ".
myaddslashes(trim($row->chort)).", ".
myaddslashes(trim($row->chort)).", ".
myaddslashes($staat[$row->_staat]).", ".
myaddslashes($row->typ).", ".
($row->boheimatadr?'true':'false').", ".
($row->bostandardadr?'true':'false').",
NULL, now(), 'sync', now(), 'sync', NULL);";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler++;
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
else
{
$ausgabe.="\n------------------------------------\nÜbertragen: ".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Adresse: ".trim(trim($row->chstrasse))." ".trim($row->chhausnr).", ".$row->chplz.", ".$row->chort.", ".$staat[$row->_staat].", Typ: ".$row->typ;
$ausgabe.="\n---------Heimatadresse: '".($row->boheimatadr?'Ja':'Nein')."', Standardadresse: '".($row->bostandardadr?'Ja':'Nein')."',\n---------Anmerkung: '".$row->chadrbemerkung."';";
$eingefuegt++;
pg_query($conn, "COMMIT");
}
}
else
{
if($row_dubel=pg_fetch_object($result_dubel))
{
//Update
$sql='';
if($row_dubel->name != $row->chadrbemerkung
&& $row->chadrbemerkung!='' && $row->chadrbemerkung!=NULL)
{
$sql="name = ".myaddslashes($row->chadrbemerkung);
}
if($row_dubel->strasse!=trim(trim($row->chstrasse)." ".trim($row->chhausnr))
&& trim(trim($row->chstrasse))!='' && trim(trim($row->chstrasse))!=NULL
&& trim($row->chhausnr)!='' && trim($row->chhausnr)!=NULL)
{
if(strlen(trim($sql))>0)
{
$sql.=", strasse=".myaddslashes(trim(trim($row->chstrasse)." ".trim($row->chhausnr)));
}
else
{
$sql="strasse=".myaddslashes(trim(trim($row->chstrasse)." ".trim($row->chhausnr)));
}
}
if($row_dubel->plz!=$row->chplz
&& $row->chplz!='' && $row->chplz!=NULL)
{
if(strlen(trim($sql))>0)
{
$sql.=", plz='".$row->chplz."'";
}
else
{
$sql="plz='".$row->chplz."'";
}
}
if($row_dubel->ort!=$row->chort
&& $row->chort!='' && $row->chort!=NULL)
{
if(strlen(trim($sql))>0)
{
$sql.=", ort='".$row->chort."'";
}
else
{
$sql="ort='".$row->chort."'";
}
}
if($row_dubel->gemeinde!=$row->chort
&& $row->chort!='' && $row->chort!=NULL)
{
if(strlen(trim($sql))>0)
{
$sql.=", gemeinde='".$row->chort."'";
}
else
{
$sql="gemeinde='".$row->chort."'";
}
}
if($row_dubel->nation!=$staat[$row->_staat]
&& $staat[$row->_staat]!='' && $staat[$row->_staat]!=NULL)
{
if(strlen(trim($sql))>0)
{
$sql.=", nation='".$staat[$row->_staat]."'";
}
else
{
$sql="nation='".$staat[$row->_staat]."'";
}
}
if($row_dubel->typ!=$row->typ && $row_dubel->typ!='h'
&& $row->typ!='' && $row->typ!=NULL )
{
if(strlen(trim($sql))>0)
{
$sql.=", typ='".$row->typ."'";
}
else
{
$sql="typ='".$row->typ."'";
}
}
if(strlen(trim($sql))>0)
{
$sql="UPDATE public.tbl_adresse SET ".$sql."
WHERE person_id='".$person_id."'
AND trim(strasse)='".trim(trim(addslashes($row->chstrasse))." ".trim($row->chhausnr))."'
AND plz='".$row->chplz."' AND trim(ort)='".trim(addslashes($row->chort))."';";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
else
{
$ausgabe.="\n------------------------------------\nGeändert: ".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Adresse: ".$row_dubel->strasse.", ".$row_dubel->plz.", ".$row_dubel->ort.", ".$row_dubel->nation.", Typ: ".$row_dubel->typ;
$ausgabe.="\n---Heimatadresse: '".($row_dubel->heimatadresse?'Ja':'Nein')."', Zustelladresse: '".($row_dubel->zustelladresse?'Ja':'Nein')."',\n---name: '".$row_dubel->name."'\n".$sql;
$updates++;
pg_query($conn, "COMMIT");
}
}
else
{
//$ausgabe.="\n------------------------------------\nGeändert: ".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
//$ausgabe.="\n---Adresse: ".$row_dubel->strasse.", ".$row_dubel->plz.", ".$row_dubel->ort.", ".$row_dubel->nation.", Typ: ".$row_dubel->typ;
//$ausgabe.="\n--->bereits vorhanden. keine Änderung.";
$dublette++;
}
}
}
}
else
{
$fehler++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
}
}
else
{
$fehler++;
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
echo "<br><br>Eingefügt: ".$eingefuegt;
echo "<br>Updates: ".$updates;
echo "<br>Doppelt: ".$dublette;
echo "<br>Fehler: ".$fehler;
//echo "<br><br>Summe: ".($eingefuegt+$updates+$dublette+$fehler);
echo "<br><br>";
if($error_log=='' && $log_updates=='')
{
echo "o.k.<br>";
}
else
{
//echo nl2br($log_updates);
echo nl2br($error_log);
}
echo nl2br($ausgabe);
mail($adress, 'SYNC-Fehler StP-Adresse von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Adresse von '.$_SERVER['HTTP_HOST'], "Sync Person\n------------\n\n"
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Updates: ".$updates." / Fehler: ".$fehler
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe.$log_updates, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
@@ -1,206 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Benutzer
// StPoelten -> VILESCI
// setzt vorraus: - tbl_person
// - sync.stp_person
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
//$adress='pam@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (Benutzer)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte Benutzer Syncronisation '.date('H:i:s').'<br>';
flush();
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Benutzer aufgetreten:\n\n";
$text='';
$user_gesamt=0;
$anzahl_fehler=0;
$anzahl_update=0;
$anzahl_insert=0;
$statistik='';
// ******** SYNC START ********** //
$qry = "SELECT * FROM sync.stp_person WHERE chusername<>'' AND chusername is not null";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$user_gesamt++;
//Schauen ob dieser Eintrag schon vorhanden ist
$qry_ext = "SELECT * FROM public.tbl_benutzer WHERE ext_id='$row->__person'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)>0)
{
if($row_ext = pg_fetch_object($result_ext))
{
$uid = $row_ext->uid;
if($uid!=$row->chusername)
{
//Username wurde geaendert
$qry = "UPDATE public.tbl_benutzer SET uid='$row->chusername' WHERE uid='$uid'";
pg_query($conn, $qry);
$text.="UID von $uid auf $row->chusername geaendert\n";
$uid = $row->chusername;
$anzahl_update++;
}
}
else
{
$text.="Fehler beim Auslesen der UID fuer ext_id $row->__person\n";
$anzahl_fehler++;
continue;
}
}
else
{
$uid='';
}
}
else
{
$text.='Fehler beim Ermitteln der UID:'.pg_last_error($conn)."\n";
continue;
}
//Wenn der Eintrag anhand der ext_id nicht gefunden wurde, dann wird nach der UID gesucht
//Wenn diese vorhanden ist, dann kommt eine Fehlermeldung
if($uid=='')
{
$qry_ext = "SELECT * FROM public.tbl_benutzer WHERE uid='$row->chusername'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)>0)
{
$text.="Der Username $row->chusername ist doppelt vergeben\n";
$anzahl_fehler++;
continue;
}
}
}
$benutzer = new benutzer();
if($uid!='')
{
if($benutzer->load($uid))
{
$benutzer->new = false;
}
else
{
$text.="Fehler beim Laden von $uid\n";
$anzahl_fehler++;
continue;
}
}
else
{
$benutzer->new = true;
$qry_ext = "SELECT * FROM sync.tbl_syncperson WHERE __person='$row->__person'";
if($result_ext = pg_query($conn, $qry_ext))
{
if($row_ext = pg_fetch_object($result_ext))
{
$benutzer->person_id = $row_ext->person_id;
}
else
{
$text .= "Person wurde nicht gefunden: $row->__person\n";
$anzahl_fehler++;
continue;
}
}
else
{
$text .= "Fehler beim ermitteln der Person:".pg_last_error($conn)."\n";
$anzahl_fehler++;
continue;
}
}
$updtext='';
if($uid!='')
{
if($benutzer->uid!=$row->chusername)
$updtext.=" UID wurde von $benutzer->uid auf $row->chusername geaendert\n";
if(!$benutzer->bnaktiv)
$updtext.=" Aktiv wurde von false auf true gesetzt\n";
}
if($benutzer->new || $updtext!='')
{
$benutzer->insertamum = date('Y-m-d H:i:s');
$benutzer->insertvon = 'sync';
$benutzer->updateamum = date('Y-m-d H:i:s');
$benutzer->updatevon = 'sync';
$benutzer->uid = $row->chusername;
$benutzer->bn_ext_id = $row->__person;
$benutzer->bnaktiv = true;
//$benutzer->alias = '';
if($benutzer->save(null, false))
{
if($benutzer->new)
{
$text.="Benutzer $benutzer->uid wurde neu angelegt\n";
$anzahl_insert++;
}
else
{
$text.="Benutzer $benutzer->uid wurde aktualisiert\n".$updtext;
$anzahl_update++;
}
}
else
{
$text.="Fehler beim Speichern von $benutzer->uid: $benutzer->errormsg\n";
$anzahl_fehler;
}
}
}
}
else
$text.= "Fehler beim Laden der Personen\n\n";
$statistik .="Anzahl der Benutzer: $user_gesamt\n";
$statistik .="Anzahl der Fehler: $anzahl_fehler\n";
$statistik .="Anzahl Insert: $anzahl_insert\n";
$statistik .="Anzahl Update: $anzahl_update\n";
$text = $statistik."\n\n".$text;
if(mail($adress, 'SYNC Benutzer',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
-157
View File
@@ -1,157 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Mobilitaetsprogramme
// StPoelten -> VILESCI
// setzt vorraus: - tbl_student
// - tbl_nation
// - tbl_zweck
// - tbl_mobilitaetsprogramm
//
// Beschreibung:
// Syncronisiert alle Eintraege aus der Tabelle StudIO nach bis.tbl_bisio
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/bisio.class.php');
//$conn=pg_connect(CONN_STRING);
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (BisIO)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte BisIO Syncronisation '.date('H:i:s').'<br>';
flush();
$gesamt=0;
$statistik='';
$error=0;
$anzahl_insert=0;
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation des BisIO aufgetreten:\n\n";
$text='';
// ******** SYNC START ********** //
$qry = "SELECT __id, _person, _mobiprg, _gastland, von, bis, _zweck, chkurzbez FROM studio JOIN staat on(_gastland=__staat)";
if($result_ext = mssql_query($qry, $conn_ext))
{
while($row_ext=mssql_fetch_object($result_ext))
{
$gesamt++;
//Eintrag suchen
$qry = "SELECT * FROM bis.tbl_bisio WHERE ext_id='$row_ext->__id'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$bisio_id = $row->bisio_id;
//Kein Update - Datensatz ueberpringen
continue;
}
}
else
{
$text.="Fehler beim Ermitteln der ExtID: ".pg_last_error($conn)."\n";
$error++;
continue;
}
//Person suchen
$qry = "SELECT student_uid FROM public.tbl_student WHERE ext_id='$row_ext->_person'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$student_uid = $row->student_uid;
}
else
{
$text.="Person $row_ext->_person wurde nicht gefunden\n";
$error++;
continue;
}
}
else
{
$text.="Fehler beim Ermitteln der Person: ".pg_last_error($conn)."\n";
$error++;
continue;
}
$qry = "SELECT * FROM bis.tbl_nation WHERE nation_code='$row_ext->chkurzbez'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
//Nation ist vorhanden
}
else
{
$text.="Nation $row_ext->chkurzbez wurde nicht gefunden\n";
$error++;
continue;
}
}
else
{
$text.="Fehler beim Ermitteln der Nation: ".pg_last_error($conn)."\n";
$error++;
continue;
}
$bisio = new bisio($conn);
$bisio->mobilitaetsprogramm_code = $row_ext->_mobiprg;
$bisio->nation_code = $row_ext->chkurzbez;
$bisio->von = ($row_ext->von!=''?date('Y-m-d', strtotime($row_ext->von)):'');
$bisio->bis = ($row_ext->bis!=''?date('Y-m-d', strtotime($row_ext->bis)):'');
$bisio->zweck_code = $row_ext->_zweck;
$bisio->student_uid = $student_uid;
$bisio->updateamum = date('Y-m-d H:i:s');
$bisio->updatevon = 'sync';
$bisio->insertamum = date('Y-m-d H:i:s');
$bisio->insertvon = 'sync';
$bisio->ext_id = $row_ext->__id;
if($bisio->save(true))
{
$text.="Eintrag fuer $student_uid wurde angelegt\n";
$anzahl_insert++;
}
else
{
$text.="Fehler beim Anlegen: $bisio->errormsg\n";
$error++;
}
}
}
else
$text.= "Fehler beim Laden des Kontos\n\n";
$statistik .="Gesamt: $gesamt\n";
$statistik .="Eingefuegt: $anzahl_insert\n";
$statistik .="Fehler: $error\n";
$text = $statistik."\n\n".$text;
//$to = 'oesi@technikum-wien.at';
$to = $adress_ext;
if(mail($to, 'SYNC BisIO',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,482 +0,0 @@
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Diplomprüfungsdatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: tbl_akadgrad, tbl_abschlussbeurteilung
//* benoetigt: tbl_syncperson, tbl_studiengang
require_once('sync_config.inc.php');
$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;'))
{
$sql='CREATE TABLE sync.tbl_syncperson
(
person_id integer NOT NULL,
__Person integer NOT NULL
);
Grant select on sync.tbl_syncperson to group "admin";
Grant update on sync.tbl_syncperson to group "admin";
Grant delete on sync.tbl_syncperson to group "admin";
Grant insert on sync.tbl_syncperson to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.tbl_syncperson: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.tbl_syncperson wurde angelegt!<BR>';
}
//tbl_pruefungstyp checken
if(pg_num_rows(pg_query($conn,"SELECT * FROM lehre.tbl_pruefungstyp where pruefungstyp_kurzbz='Diplom'"))==0)
{
$qry="INSERT INTO lehre.tbl_pruefungstyp (pruefungstyp_kurzbz, beschreibung) VALUES ('Diplom', 'Diplomprüfung')";
if (!pg_query($conn, $qry))
{
die(pg_last_error($conn));
}
}
if(pg_num_rows(pg_query($conn,"SELECT * FROM lehre.tbl_pruefungstyp where pruefungstyp_kurzbz='Bachelor'"))==0)
{
$qry="INSERT INTO lehre.tbl_pruefungstyp (pruefungstyp_kurzbz, beschreibung) VALUES ('Bachelor', 'Bachelorprüfung')";
if (!pg_query($conn, $qry))
{
die(pg_last_error($conn));
}
}
$error_log='';
$error_log1='';
$error_log2='';
$error_log3='';
$error_log4='';
$error_log5='';
$error_log_ext='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$eingefuegt=0;
$fehler=0;
$updates=0;
$dublette=0;
$plausi='';
$start='';
$anzahl_person_gesamt=0;
$anzahl_person_gesamt2=0;
$staat=array();
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - StPoelten -> Vilesci - Abschlusspruefung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//*********** Neue Daten holen *****************
$qry="SELECT _vorsitzender, _cxbeurteilungsstufegesamt,_gegenstandtech, _gegenstandnichttech, _pruefertech, _pruefernichttech, chLfdNr, _cxbeurteilungsstufekommipruef,
__person, _cxgeschlecht, chtitel, chvorname, chnachname, studiengang_kz, tbl_studiengang.typ, COALESCE(dapruefungsdat,dapruefteil1dat) as pruefdat FROM sync.stp_person
JOIN sync.stp_stgvertiefung ON (_stgvertiefung=__stgvertiefung)
JOIN public.tbl_studiengang ON (_studiengang=ext_id)
WHERE __Person IN (SELECT __person FROM sync.tbl_syncperson) AND (_cxPersonTyp='1' OR _cxPersonTyp='2')
AND NOT (_vorsitzender IS NULL AND _pruefertech IS NULL AND _pruefernichttech IS NULL)
AND COALESCE(dapruefungsdat,dapruefteil1dat) IS NOT NULL;";
//$error_log="Überprüfung Abschlusspruefungsdaten in EXT-DB:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_person_gesamt."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
//UID ermitteln
pg_query($conn, "BEGIN");
$qry_synk="SELECT * FROM public.tbl_student where ext_id=".myaddslashes($row->__person).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$uid=$row_synk->student_uid;
}
else
{
$error_log1.="\nStudent ".$row->__person." (ext_id) ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname)." in tbl_student nicht gefunden!";
$fehler++;
continue;
}
}
//person_id von vorsitz,pruefer1,pruefer2 ermitteln
if($row->_vorsitzender==NULL || $row->_vorsitzender=='')
{
$vorsitzender=NULL;
}
else
{
$qry_synk="SELECT * FROM public.tbl_benutzer where ext_id=".myaddslashes($row->_vorsitzender).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$vorsitzender=$row_synk->uid;
}
else
{
$qry_err="SELECT chtitel, chvorname, chnachname FROM sync.stp_person
WHERE __person=".myaddslashes($row->_vorsitzender).";";
if($result_err=pg_query($conn,$qry_err))
{
if($row_err=pg_fetch_object($result_err))
{
$error_log2.="\nVorsitzender ".$row->_vorsitzender.", ".trim($row_err->chtitel)." ".trim($row_err->chnachname).", ".trim($row_err->chvorname)." in tbl_benutzer nicht gefunden!";
}
else
{
$error_log2.="\nVorsitzender ".$row->_vorsitzender." in tbl_benutzer nicht gefunden!";
}
}
//$error_log2.="\nVorsitzender ".$row->_vorsitzender." in tbl_benutzer nicht gefunden!";
$fehler++;
continue;
}
}
$qry_synk="SELECT * FROM public.tbl_mitarbeiter where mitarbeiter_uid=".myaddslashes($vorsitzender).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if(pg_num_rows($result_synk)==0)
{
$qry_err="SELECT chtitel, chvorname, chnachname FROM sync.stp_person
WHERE __person=".myaddslashes($row->_vorsitzender).";";
if($result_err=pg_query($conn,$qry_err))
{
if($row_err=pg_fetch_object($result_err))
{
$error_log2.="\nVorsitzender ".$row->_vorsitzender.", ".trim($row_err->chtitel)." ".trim($row_err->chnachname).", ".trim($row_err->chvorname)." in tbl_mitarbeiter nicht gefunden!";
}
else
{
$error_log2.="\nVorsitzender ".$row->_vorsitzender." in tbl_mitarbeiter nicht gefunden!";
}
}
//$error_log2.="\nVorsitzender ".$vorsitzender." in tbl_mitarbeiter nicht gefunden!";
$fehler++;
continue;
}
}
}
if($row->_pruefertech==NULL || $row->_pruefertech=='')
{
$pruefertech=NULL;
}
else
{
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".myaddslashes($row->_pruefertech).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$pruefertech=$row_synk->person_id;
}
else
{
$qry_err="SELECT chtitel, chvorname, chnachname FROM sync.stp_person
WHERE __person=".myaddslashes($row->_pruefertech).";";
if($result_err=pg_query($conn,$qry_err))
{
if($row_err=pg_fetch_object($result_err))
{
$error_log3.="\nTechn. Prüfer ".$row->_pruefertech.", ".trim($row_err->chtitel)." ".trim($row_err->chnachname).", ".trim($row_err->chvorname)." in tbl_syncperson nicht gefunden!";
}
else
{
$error_log3.="\nTechn. Prüfer ".$row->_pruefertech." in tbl_syncperson nicht gefunden!";
}
}
//$error_log3.="\nTechn. Prüfer ".$row->_pruefertech." in tbl_syncperson nicht gefunden!";
$fehler++;
continue;
}
}
}
if($row->_pruefernichttech==NULL || $row->_pruefernichttech=='')
{
$pruefernichttech=NULL;
}
else
{
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".myaddslashes($row->_pruefernichttech).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$pruefernichttech=$row_synk->person_id;
}
else
{
$qry_err="SELECT chtitel, chvorname, chnachname FROM sync.stp_person
WHERE __person=".myaddslashes($row->_pruefernichttech).";";
if($result_err=pg_query($conn,$qry_err))
{
if($row_err=pg_fetch_object($result_err))
{
$error_log4.="\nNicht-Techn. Prüfer ".$row->_pruefernichttech.", ".trim($row_err->chtitel)." ".trim($row_err->chnachname).", ".trim($row_err->chvorname)." in tbl_syncperson nicht gefunden!";
}
else
{
$error_log4.="\nNicht-Techn. Prüfer ".$row->_pruefernichttech." in tbl_syncperson nicht gefunden!";
}
}
//$error_log4.="\nNicht-Techn. Prüfer ".$row->_pruefernichttech." in tbl_syncperson nicht gefunden!";
$fehler++;
continue;
}
}
}
//akad.Grad holen
$qry_synk="SELECT * FROM lehre.tbl_akadgrad WHERE studiengang_kz=".myaddslashes($row->studiengang_kz)." ORDER BY geschlecht;";
if($result_synk=pg_query($conn, $qry_synk))
{
if(pg_num_rows($result)>0)
{
while($row_synk=pg_fetch_object($result_synk))
{
if($row_synk->geschlecht==NULL)
{
//Bachelor oder Masterstudiengang hat nur einen Eintrag mit geschlecht==NULL
$akadgrad_id=$row_synk->akadgrad_id;
break 1;
}
else
{
//Diplomstudiengang hat zwei Einträge
if($row->_cxgeschlecht==1 && $row_synk->geschlecht=='m')
{
$akadgrad_id=$row_synk->akadgrad_id;
break 1;
}
if($row->_cxgeschlecht==2 && $row_synk->geschlecht=='w')
{
$akadgrad_id=$row_synk->akadgrad_id;
break 1;
}
}
}
}
else
{
$error_log5.="\nAkad.Grad für Stg ".$row->studiengang_kz." nicht gefunden!";
$fehler++;
continue;
}
}
/*
// Konvertieren
if ($row->_cxgeschlecht==1)
$row->_cxgeschlecht='m';
elseif ($row->_cxgeschlecht==2)
$row->_cxgeschlecht='w';
else
$row->_cxgeschlecht='';
*/
// Check auf Doppelgaenger
$qry_dubel="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid='".$uid."' AND datum='".$row->pruefdat."';";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Neue Abschlussprüfung anlegen
$sql="INSERT INTO lehre.tbl_abschlusspruefung
(student_uid, vorsitz, pruefer1, pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, pruefungstyp_kurzbz, datum, sponsion, anmerkung, note,
insertamum,insertvon,updateamum,updatevon, ext_id)
VALUES
(".myaddslashes($uid).", ".
myaddslashes(trim($vorsitzender)).", ".
myaddslashes(trim($pruefernichttech)).", ".
myaddslashes(trim($pruefertech)).",
NULL, ".
myaddslashes($row->_cxbeurteilungsstufegesamt).", ".
myaddslashes($akadgrad_id).", ";
if($row->typ=='d' || $row->typ=='m')
{
$sql.=myaddslashes('Diplom').", ";
}
else
{
$sql.=myaddslashes('Bachelor').", ";
}
$sql.=myaddslashes($row->pruefdat).",
NULL, ".
myaddslashes($row->chlfdnr).", ".
myaddslashes($row->_cxbeurteilungsstufekommipruef).",
now(), 'sync', NULL, NULL, NULL);";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler++;
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
else
{
$ausgabe.="\n------------------------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Abschlussprüfung (".$row->typ."): am ".$row->pruefdat.", Vorsitz:".trim($vorsitzender).", Prüfer: ".$pruefertech." / ".$pruefernichttech.", Note: ".$row->_cxbeurteilungsstufekommipruef;
$eingefuegt++;
pg_query($conn, "COMMIT");
}
}
else
{
if($row_dubel=pg_fetch_object($result_dubel))
{
//Update
$sql='';
if($row_dubel->vorsitz!=$vorsitzender && $vorsitzender!=NULL && $vorsitzender!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", vorsitz=".myaddslashes(trim($vorsitzender));
}
else
{
$sql="vorsitz=".myaddslashes(trim($vorsitzender));
}
}
if($row_dubel->pruefer1!=$pruefernichttech && $pruefernichttech!=NULL && $pruefernichttech!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", pruefer1=".myaddslashes(trim($pruefernichttech));
}
else
{
$sql="pruefer1=".myaddslashes(trim($pruefernichttech));
}
}
if($row_dubel->pruefer2!=$pruefertech && $pruefertech!=NULL && $pruefertech!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", pruefer2=".myaddslashes(trim($pruefertech));
}
else
{
$sql="pruefer2=".myaddslashes(trim($pruefertech));
}
}
if($row_dubel->abschlussbeurteilung_kurzbz!=$row->_cxbeurteilungsstufegesamt && $row->_cxbeurteilungsstufegesamt!=NULL && $row->_cxbeurteilungsstufegesamt!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", abschlussbeurteilung_kurzbz=".myaddslashes(trim($row->_cxbeurteilungsstufegesamt));
}
else
{
$sql="abschlussbeurteilung_kurzbz=".myaddslashes(trim($row->_cxbeurteilungsstufegesamt));
}
}
if($row_dubel->note!=$row->_cxbeurteilungsstufekommipruef && $row->_cxbeurteilungsstufekommipruef!=NULL && $row->_cxbeurteilungsstufekommipruef!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", note=".myaddslashes(trim($row->_cxbeurteilungsstufekommipruef));
}
else
{
$sql="note=".myaddslashes(trim($row->_cxbeurteilungsstufekommipruef));
}
}
if(strlen(trim($sql))>0)
{
//update nur mit änderungen bei vorsitz,prüfer oder noten
$sql="UPDATE lehre.tbl_abschlusspruefung SET ".$sql."
WHERE student_uid='".$uid."' AND datum='".$row->pruefdat."';";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
else
{
$ausgabe.="\n------------------------------------\nGeändert: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Abschlussprüfung (".$row->typ."): am ".$row->pruefdat.", Vorsitz:".trim($vorsitzender).", Prüfer: ".$pruefertech." / ".$pruefernichttech.", Note: ".$row->_cxbeurteilungsstufekommipruef;
$updates++;
pg_query($conn, "COMMIT");
}
}
else
{
//kein update da bereits gleich vorhanden
$dublette++;
}
}
}
}
else
{
$fehler++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
}
}
else
{
$fehler++;
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
echo "Datensätze ohne Prüfungsdatum werden nicht berücksichtigt.";
echo "<br><br>Eingefügt: ".$eingefuegt;
echo "<br>Updates: ".$updates;
echo "<br>Bereits vorhanden: ".$dublette;
echo "<br>Fehler: ".$fehler;
echo "<br><br>";
$error_log=$error_log1.$error_log2.$error_log3.$error_log4.$error_log5.$error_log;
if($error_log=='' )
{
echo "o.k.<br>";
}
else
{
echo nl2br($error_log);
}
echo nl2br($ausgabe);
mail($adress, 'SYNC-Fehler StP-Abschlusspruefung von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Abschlusspruefung von '.$_SERVER['HTTP_HOST'], "Sync Abschlussprüfung\n---------------------\n\n"
."Abschlussprüfung: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Updates: ".$updates." / Fehler: ".$fehler." / Bereits vorhanden: ".$dublette
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
@@ -1,103 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Kopiert telefon Tabelle von FH-DB StPoelten
//*
//*
require_once('sync_config.inc.php');
$starttime=time();
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
/*
__EMail (int)
chBemerkung (char)
chAdresse (char)
_Person (int)
boFHWeb (bit)
boAutoEMail (bit)
*/
// Sync-Tabelle fuer email checken
if (!@pg_query($conn,'SELECT * FROM sync.stp_email LIMIT 1;'))
{
$sql='CREATE TABLE sync.stp_email (
__email integer,
_person integer,
chbemerkung varchar(64),
chadresse varchar(128),
boFHWeb varchar(1),
boAutoEmail varchar(1),
constraint "pk_tbl_sync_stp_email" primary key ("__email"));
Grant select on sync.stp_email to group "admin";
Grant update on sync.stp_email to group "admin";
Grant delete on sync.stp_email to group "admin";
Grant insert on sync.stp_email to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.stp_email: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_email wurde angelegt!<BR>';
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FHDB -> FH-Complete - PreSyncEMail/title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if (!@pg_query($conn,'DELETE FROM sync.stp_email;'))
echo '<strong>sync.stp_email: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_email wurde geleert!<BR>';
echo 'Daten werden geholt!<BR>';
$i=0;
$qry="SELECT __Email, _Person, chAdresse, chBemerkung, boFHWeb, boAutoEmail FROM email WHERE chAdresse!='' AND chAdresse IS NOT NULL;";
if($result_ext = mssql_query($qry,$conn_ext))
{
while($row=mssql_fetch_object($result_ext))
{
$qry="INSERT INTO sync.stp_email ( __email, _person, chadresse, chbemerkung, bofhweb, boautoemail)
VALUES ('$row->__Email','$row->_Person', ".
($row->chAdresse==''?'NULL':"'".addslashes($row->chAdresse)."'").", ".
($row->chBemerkung==''?'NULL':"'".$row->chBemerkung."'").", ".
"'$row->boFHWeb','$row->boAutoEmail');";
if(!$result = pg_query($conn, $qry))
{
echo $qry.'<BR>'.pg_last_error($conn).' </strong><BR>';
}
echo '.';
flush();
$i++;
}
}
else
echo 'Fehler';//mssql_lasterror($conn_ext);
echo '<BR>Time elapsed: '.(time()-$starttime).' seconds!';
?>
</body>
</html>
@@ -1,312 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Kontaktdatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: sync von sync.stp_person
//* benoetigt: tbl_syncperson, sync.stp_telefon, sync.stp_email
require_once('sync_config.inc.php');
$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;'))
{
$sql='CREATE TABLE sync.tbl_syncperson
(
person_id integer NOT NULL,
__Person integer NOT NULL
);
Grant select on sync.tbl_syncperson to group "admin";
Grant update on sync.tbl_syncperson to group "admin";
Grant delete on sync.tbl_syncperson to group "admin";
Grant insert on sync.tbl_syncperson to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.tbl_syncperson: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.tbl_syncperson wurde angelegt!<BR>';
}
$error_log='';
$error_log1='';
$error_log_ext='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$eingefuegt1=0;
$eingefuegt2=0;
$fehler=0;
$fehler1=0;
$fehler2=0;
$dublette1=0;
$dublette2=0;
$updates1=0;
$updates2=0;
$plausi='';
$start='';
$tel='';
$person_id='';
/*************************
* StP-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - StPoelten -> Vilesci - Kontakte</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
/*
chTelBemerkung char
chVorwahl char
chNummer char
chKlappe char
chEMailAdresse char
chEMailBemerkung char
boEMailFHWeb bit
__Telefon (int)
chBemerkung (char)
chVorwahl (char)
chNummer (char)
chKlappe (char)
_Person (int)
boStandard (bit)
__EMail (int)
chBemerkung (char)
chAdresse (char)
_Person (int)
boFHWeb (bit)
boAutoEMail (bit)
*/
//*********** Neue Daten holen *****************
$qry="(SELECT __person as _person, chtelbemerkung, chvorwahl, chnummer, chklappe, null as bostandard,
chemailadresse, chemailbemerkung, null as boautoemail,
chtitel, chnachname, chvorname, _cxbundesland
FROM sync.stp_person WHERE __Person IN (SELECT ext_id FROM public.tbl_person)
AND (chnummer!='' AND chnummer IS NOT NULL AND chemailadresse!='' AND chemailadresse IS NOT NULL))
UNION
(SELECT _person, chbemerkung, chvorwahl, chnummer, chklappe, bostandard,
null, null, null,
titelpre, nachname, vorname, NULL
FROM sync.stp_telefon JOIN public.tbl_person ON(_person=ext_id) WHERE _Person IN (SELECT ext_id FROM public.tbl_person))
UNION
(SELECT _person, null, null, null, null, null,
chadresse, chbemerkung, boautoemail,
titelpre, nachname, vorname, NULL
FROM sync.stp_email JOIN public.tbl_person ON(_person=ext_id) WHERE _Person IN (SELECT ext_id FROM public.tbl_person))
ORDER BY _Person;";
$error_log_ext="Überprüfung Kontaktdaten in EXT-DB:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_person_gesamt."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
$cont='';
if(($row->chnummer=='' || $row->chnummer==NULL) && ($row->chemailadresse=='' || $row->chemailadresse==NULL))
{
$error_log1.="\nDatensatz ohne Telefonnummer und E-Mail-Adresse!";
$cont=true;
$error=true;
}
if($error)
{
$error_log.="\n*****\n".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).": ".$error_log1;
$error_log1='';
$error=false;
if($cont)
{
$fehler++;
$error_log.="\n-->nicht eingetragen";
continue;
}
}
$tel=trim($row->chvorwahl).trim($row->chnummer).trim($row->chklappe);
//Person ermitteln
//pg_query($conn, "BEGIN");
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".$row->_person.";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$person_id=$row_synk->person_id;
}
else
{
$error_log.="Person ".$row->_person." in tbl_syncperson nicht gefunden!";
$fehler++;
continue;
}
}
// telefon
if((trim($row->chvorwahl).trim($row->chnummer).trim($row->chklappe))!='' && $row->chnummer!=NULL)
{
$qry_dubel="SELECT * FROM public.tbl_kontakt
WHERE person_id='".$person_id."'
AND kontakttyp='telefon' AND kontakt='".trim($row->chvorwahl).trim($row->chnummer).trim($row->chklappe)."';";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Neue Telefonnummer anlegen
$sql="INSERT INTO public.tbl_kontakt
(person_id, kontakttyp, anmerkung, kontakt, zustellung,
insertamum,insertvon,updateamum,updatevon, ext_id)
VALUES
(".myaddslashes($person_id).",
'telefon', ".
myaddslashes($row->chtelbemerkung).", ".
myaddslashes(trim($row->chvorwahl).trim($row->chnummer).trim($row->chklappe)).",
false,
now(), 'sync', now(), 'sync', NULL);";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler1++;
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
}
else
{
$ausgabe.="\n------------------------------------\nÜbertragen: ".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Telefon: ".trim($row->chvorwahl).trim($row->chnummer).trim($row->chklappe).", ".$row->chtelbemerkung;
$eingefuegt1++;
}
}
else
{
$dublette1++;
}
}
else
{
$fehler1++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
}
}
// email
if((trim($row->chemailadresse))!='' && $row->chemailadresse!=NULL)
{
$qry_dubel="SELECT * FROM public.tbl_kontakt
WHERE person_id='".$person_id."'
AND kontakttyp='email' AND kontakt='".trim($row->chemailadresse)."';";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Neue Telefonnummer anlegen
$sql="INSERT INTO public.tbl_kontakt
(person_id, kontakttyp, anmerkung, kontakt, zustellung,
insertamum,insertvon,updateamum,updatevon, ext_id)
VALUES
(".myaddslashes($person_id).",
'email', ".
myaddslashes($row->chemailbemerkung).", ".
myaddslashes(trim($row->chemailadresse)).",
false,
now(), 'sync', now(), 'sync', NULL);";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler2++;
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
}
else
{
$ausgabe.="\n------------------------------------\nÜbertragen: ".$row->_person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Email: ".trim($row->chemailadresse).", ".$row->chemailbemerkung;
$eingefuegt2++;
}
}
else
{
$dublette2++;
}
}
else
{
$fehler2++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
}
}
}
}
else
{
$fehler++;
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
echo "<br><b>Telefon: </b>";
echo "<br>Eingefügt: ".$eingefuegt1;
echo "<br>Updates: ".$updates1;
echo "<br>Doppelt: ".$dublette1;
echo "<br>Fehler: ".$fehler1;
echo "<br><br><b>E-Mail: </b>";
echo "<br>Eingefügt: ".$eingefuegt2;
echo "<br>Updates: ".$updates2;
echo "<br>Doppelt: ".$dublette2;
echo "<br>Fehler: ".$fehler2;
echo "<br><br>allg. Fehler: ".$fehler;
//echo "<br><br>Summe: ".($eingefuegt+$updates+$dublette+$fehler);
echo "<br><br>";
if($error_log=='')
{
echo "o.k.<br>";
}
else
{
//echo nl2br($log_updates);
echo nl2br($error_log);
}
echo nl2br($ausgabe);
mail($adress, 'SYNC-Fehler StP-Adresse von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Adresse von '.$_SERVER['HTTP_HOST'], "Sync Person\n------------\n\n"
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Updates: ".$updates." / Fehler: ".$fehler
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe.$log_updates, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
-186
View File
@@ -1,186 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Studiengebuehren
// StPoelten -> VILESCI
// setzt vorraus: - tbl_person
// - tbl_studiengang
// - tbl_studiensemester
// - tbl_buchungstyp
//
// Beschreibung:
// Syncronisert die Studiengebuehren aus der Tabelle Studiengebuehren in
// die Tabelle public.tbl_konto. Dabei wird zuerst die Belastung mit der
// negativen Studiengebuehr angelegt und danach die dazupassende Gegenbuchung.
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/functions.inc.php');
//$conn=pg_connect(CONN_STRING);
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (Konto)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte Konto Syncronisation '.date('H:i:s').'<br>';
flush();
$gesamt=0;
$statistik='';
$error=0;
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation des Kontos aufgetreten:\n\n";
$text='';
$stg_arr = array();
$stg_obj = new studiengang($conn);
$stg_obj->getAll(null, false);
foreach ($stg_obj->result as $stg)
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
// ******** SYNC START ********** //
$qry = "SELECT
_person, sem1, sem2, sem3, sem4, sem5, sem6, sem7, sem8, sem9, sem10
FROM
studiengebuehren
";
if($result_ext = mssql_query($qry, $conn_ext))
{
while($row_ext=mssql_fetch_object($result_ext))
{
$gesamt++;
//Person suchen
$qry = "SELECT person_id, studiengang_kz FROM public.tbl_prestudent WHERE ext_id='$row_ext->_person'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$person_id = $row->person_id;
$studiengang_kz = $row->studiengang_kz;
}
else
{
$text.="Person zu $row_ext->_person wurde nicht gefunden\n";
$error++;
continue;
}
}
else
{
$text.="Fehler beim ermitteln der Person: ".pg_last_error($conn)."\n";
$error++;
continue;
}
//Semester durchlaufen
for($i=1;$i<=10;$i++)
{
$semester = 'sem'.$i;
if($row_ext->$semester=='')
continue;
if (strtotime($row_ext->$semester)>0)
$datum = date('Y-m-d', strtotime($row_ext->$semester));
else
continue;
$studiensemester_kurzbz = getStudiensemesterFromDatum($conn, $datum, true);
if(!$studiensemester_kurzbz)
{
$text.="Es konnte kein passendes Studiensemester zu $datum gefunden werden\n";
$error++;
}
$konto = new konto($conn);
$qry = "SELECT * FROM public.tbl_konto WHERE
person_id='$person_id' AND
studiengang_kz='$studiengang_kz' AND
studiensemester_kurzbz='$studiensemester_kurzbz' AND
buchungstyp_kurzbz='Studiengebuehr'";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>0)
{
//Wenn der Eintrag schon vorhanden ist dann dieses Semester ueberspringen
continue;
}
}
else
{
$text.="Fehler bei Select:".pg_last_error($conn);
continue;
}
//Belastung Buchen
$konto->person_id = $person_id;
$konto->studiengang_kz = $studiengang_kz;
$konto->studiensemester_kurzbz = $studiensemester_kurzbz;
$konto->buchungstyp_kurzbz = 'Studiengebuehr';
$konto->buchungsnr_verweis = '';
$konto->betrag = -363.36;
$konto->buchungsdatum = $datum;
$konto->buchungstext = "Studiengebuehr $stg_arr[$studiengang_kz] $i. Semester";
$konto->mahnspanne = 0;
$konto->updateamum = date('Y-m-d H:i:s');
$konto->updatevon = 'sync';
$konto->insertamum = date('Y-m-d H:i:s');
$konto->insertvon = 'sync';
if($konto->save(true))
{
//Gegenbuchung
$konto->buchungsnr_verweis = $konto->buchungsnr;
$konto->betrag = 363.36;
if($konto->save(true))
{
$text.="Studiengebuehr fuer Person $person_id Studiengang $stg_arr[$studiengang_kz] Semester $i wurde hinzugefuegt\n";
}
else
{
$text.="Fehler beim Speichern der Gegenbuchung: $konto->errormsg\n";
$error++;
}
}
else
{
$text.="Fehler beim Speichern: $konto->errormsg\n";
$error++;
}
}
}
}
else
$text.= "Fehler beim Laden des Kontos\n\n";
$statistik .="Gesamt: $gesamt\n";
$statistik .="Fehler: $error\n";
$text = $statistik."\n\n".$text;
//$to = 'oesi@technikum-wien.at';
$to = $adress_ext;
if(mail($to, 'SYNC Konto',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,473 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Lehrveranstaltungen
// StPoelten -> VILESCI
// setzt vorraus: - tbl_sprache
// - tbl_studiengang
//
// Beschreibung:
// Das Semester der Lehrveranstaltungen wird ueber die Tabelle
// Studienplaneintrag ermittelt. Bei Lehrveranstaltungen die nicht in der Tabelle
// Studienplaneintrag vorkommen wird das Semester ueber die Tabelle SemesterplanEintrag
// ermittelt.
// LVs die weder in der Tabelle Studienplaneintrag noch in der Tabelle Semesterplaneintrag
// vorhanden sind werden im 0ten Semester angelegt.
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/lehrfach.class.php');
//$adress='pam@technikum-wien.at';
//$adress_ext='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
//$conn=pg_connect(CONN_STRING);
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (Lehrveranstaltungen)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte Lehrveranstaltungs Syncronisation '.date('H:i:s').'<br>';
flush();
$plausi_error=0;
$update_error=0;
$insert_error=0;
$lvs_gesamt=0;
$anz_update=0;
$anz_insert=0;
$update_lf_error=0;
$insert_lf_error=0;
$anz_lf_update=0;
$anz_lf_insert=0;
$statistik='';
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
$text='';
$typ_lehrform_arr = array(
"1"=>"0",
"2"=>"BOPR",
"3"=>"DLLV",
"5"=>"EX",
"6"=>"FUV",
"7"=>"ILV",
"8"=>"IT",
"12"=>"LB",
"13"=>"PBL",
"17"=>"PS",
"18"=>"PT",
"20"=>"RE",
"22"=>"SE",
"23"=>"TU",
"24"=>"UE",
"26"=>"VO",
"29"=>"WK",
"30"=>"WS",
"31"=>"PL",
"32"=>"BA",
"33"=>"PA",
"34"=>"BP",
"35"=>"WPF"
);
$stg_arr = array();
$stg_obj = new studiengang($conn);
$stg_obj->getAll(null, false);
foreach ($stg_obj->result as $stg)
$stg_arr[$stg->ext_id] = $stg->studiengang_kz;
// ******** FUNKTIONEN ********** //
function cleankurzbz($kurzbz)
{
$kurzbz = str_replace('/', '', $kurzbz);
$kurzbz = str_replace('Ü', 'U', $kurzbz);
$kurzbz = str_replace('Ö', 'O', $kurzbz);
$kurzbz = str_replace('Ä', 'A', $kurzbz);
return $kurzbz;
}
function synctabentry_lv($semester, $lv, $lehrveranstaltung_id)
{
global $conn;
$qry = "INSERT INTO sync.tbl_synclehrveranstaltung(lv, insemester, lehrveranstaltung_id) VALUES($lv, $semester, $lehrveranstaltung_id);";
pg_query($conn, $qry);
}
function synctabentry_lf($semester, $lv, $lehrfach_id)
{
global $conn;
$qry = "INSERT INTO sync.tbl_synclehrfach(lv, insemester, lehrfach_id) VALUES($lv, $semester, $lehrfach_id);";
pg_query($conn, $qry);
}
if (!@pg_query($conn,'SELECT * FROM sync.tbl_synclehrveranstaltung LIMIT 1;'))
{
$sql='CREATE TABLE sync.tbl_synclehrveranstaltung (
lv integer,
insemester integer,
lehrveranstaltung_id integer,
constraint "pk_tbl_sync_stp_lehrveranstaltung" primary key ("lv","insemester","lehrveranstaltung_id"));
Grant select on sync.tbl_synclehrveranstaltung to group "admin";
Grant update on sync.tbl_synclehrveranstaltung to group "admin";
Grant delete on sync.tbl_synclehrveranstaltung to group "admin";
Grant insert on sync.tbl_synclehrveranstaltung to group "admin";';
if (!@pg_query($conn,$sql))
$text.= "sync.tbl_synclehrveranstaltung: ".pg_last_error($conn)."\n";
else
$text.= "sync.tbl_synclehrveranstaltung wurde angelegt!\n";
}
if (!@pg_query($conn,'SELECT * FROM sync.tbl_synclehrfach LIMIT 1;'))
{
$sql='CREATE TABLE sync.tbl_synclehrfach (
lv integer,
insemester integer,
lehrfach_id integer,
constraint "pk_tbl_sync_stp_lehrfach" primary key ("lv","insemester","lehrfach_id"));
Grant select on sync.tbl_synclehrfach to group "admin";
Grant update on sync.tbl_synclehrfach to group "admin";
Grant delete on sync.tbl_synclehrfach to group "admin";
Grant insert on sync.tbl_synclehrfach to group "admin";';
if (!@pg_query($conn,$sql))
$text.= "sync.tbl_synclehrfach: ".pg_last_error($conn)."\n";
else
$text.= "sync.tbl_synclehrfach wurde angelegt!\n";
}
// ******** SYNC START ********** //
$qry = "SELECT
_LV, SUBSTRING(chLVNr_new, 0, 200) as chLVNr, SUBSTRING(chLVNr, 0, 200) as chLVNr_old, SUBSTRING(chBezeichnung, 0, 200) as chBezeichnung, _Studiengang, SUBSTRING(meKommentar, 0, 200) as meKommentar, inSemester, inSWS, ECTS, _cxLVTyp
FROM
lv JOIN studienplaneintrag ON(__LV=_LV)
UNION
SELECT
_LV, SUBSTRING(chLVNr_new, 0, 200) as chLVNr, SUBSTRING(chLVNr, 0, 200) as chLVNr_old, SUBSTRING(chBezeichnung, 0, 200) as chBezeichnung, _Studiengang, SUBSTRING(meKommentar, 0, 200) as meKommentar, inSemester, inSWS, ECTS, _cxLVTyp
FROM
lv JOIN semesterplaneintrag on(__LV=_LV)
WHERE
(CAST(semesterplaneintrag._lv AS varchar(10))+' '+CAST(inSemester AS varchar(10))) not in(SELECT CAST(_lv AS varchar(10))+ ' ' + CAST(insemester AS varchar(10)) FROM studienplaneintrag)
UNION
SELECT
__LV as _LV, SUBSTRING(chLVNr_new, 0, 200) as chLVNr, SUBSTRING(chLVNr, 0, 200) as chLVNr_old, SUBSTRING(chBezeichnung, 0, 200) as chBezeichnung, _Studiengang, SUBSTRING(meKommentar, 0, 200) as meKommentar, 0 as inSemester, 0 as inSWS, 0 as ECTS, _cxLVTyp
FROM
lv
WHERE
__LV not in(SELECT _lv FROM studienplaneintrag) AND
__LV not in(SELECT _lv FROM semesterplaneintrag)
";
if($result_ext = mssql_query($qry, $conn_ext))
{
while($row_ext=mssql_fetch_object($result_ext))
{
$lvs_gesamt++;
//Lehrveranstaltung
//Schauen ob dieser Eintrag schon vorhanden ist
$qry = "SELECT lehrveranstaltung_id FROM sync.tbl_synclehrveranstaltung WHERE lv='$row_ext->_LV' AND insemester='$row_ext->inSemester'";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>0)
{
if($row = pg_fetch_object($result))
$lehrveranstaltung_id=$row->lehrveranstaltung_id;
else
{
$text.="Fehler beim Auslesen der Lehrveranstaltung_id fuer lv $row_ext->_LV insemester $row_ext->inSemester\n";
continue;
}
}
else
{
$lehrveranstaltung_id='';
}
}
else
{
$text.='Fehler beim Ermitteln der Lehrveranstaltung:'.pg_last_error($conn)."\n";
continue;
}
$lv_obj = new lehrveranstaltung($conn);
if($lehrveranstaltung_id=='')
{
$lv_obj->new = true;
$lv_obj->aktiv = true;
$lv_obj->insertamum = date('Y-m-d H:i:s');
$lv_obj->insertvon = 'sync';
}
else
{
if($lv_obj->load($lehrveranstaltung_id))
{
$lv_obj->new = false;
$lv_obj->updateamum = date('Y-m-d H:i:s');
$lv_obj->updatevon = 'sync';
}
else
{
$text.="Fehler beim Laden einer gefundenen Lehrveranstaltung?!? Lehrveranstaltung_id:$lehrveranstaltung_id\n";
}
}
if(!array_key_exists($row_ext->_cxLVTyp, $typ_lehrform_arr))
{
$text.="Es wurde keine passende Lehrform zur ID $row_ext->_cxLVTyp gefunden";
continue;
}
$updtext = '';
if(!$lv_obj->new)
{
//Aenderungen suchen
if($lv_obj->kurzbz!=cleankurzbz($row_ext->chLVNr))
$updtext.=" Kurzbz wurde von $lv_obj->kurzbz auf ".cleankurzbz($row_ext->chLVNr)." geaendert\n";
if($lv_obj->bezeichnung!=$row_ext->chBezeichnung)
$updtext.=" Bezeichnung wurde von $lv_obj->bezeichnung auf $row_ext->chBezeichnung geaendert\n";
if($lv_obj->studiengang_kz!=$stg_arr[$row_ext->_Studiengang])
$updtext.=" Studiengang wurde von $lv_obj->studiengang_kz auf ".$stg_arr[$row_ext->_Studiengang]." geaendert\n";
if($lv_obj->semester!=$row_ext->inSemester)
$updtext.=" Semester wurde von $lv_obj->semester auf $row_ext->inSemester geaendert\n";
if($lv_obj->sprache!='German')
$updtext.=" Sprache wurde von $lv_obj->sprache auf German geaendert\n";
if($lv_obj->ects!=round($row_ext->ECTS,2) && $row_ext->ECTS!='' && $row_ext->ECTS!='0')
$updtext.=" ECTS wurde von $lv_obj->ects auf ".round($row_ext->ECTS,2)." geaendert\n";
if($lv_obj->semesterstunden!=((int)$row_ext->inSWS*ANZAHL_SEMESTERWOCHEN) && $row_ext->inSWS!='' && $row_ext->inSWS!='0')
$updtext.=" Semesterstunden wurde von $lv_obj->semesterstunden auf ".($row_ext->inSWS*ANZAHL_SEMESTERWOCHEN)." geaendert\n";
if($lv_obj->anmerkung!=$row_ext->chLVNr_old)
$updtext.=" Anmerkung wurde von $lv_obj->anmerkung auf $row_ext->chLVNr_old geaendert\n";
if($lv_obj->lehre != true)
$updtext.=" lehre wurde von $lv_obj->lehre auf true geaendert\n";
if($lv_obj->lehreverzeichnis != strtolower(cleankurzbz($row_ext->chLVNr)))
$updtext.=" Lehreverzeichnis wurde von $lv_obj->lehreverzeichnis auf ".strtolower(cleankurzbz($row_ext->chLVNr))." geaendert\n";
//if($lv_obj->aktiv != true)
// $updtext.=" aktiv wurde von $lv_obj->aktiv auf true geaendert\n";
if($lv_obj->planfaktor != '')
$updtext.=" planfaktor wurde von $lv_obj->planfaktor auf '' geaendert\n";
if($lv_obj->planlektoren != '')
$updtext.=" planlektoren wurde von $lv_obj->planlektoren auf '' geaendert\n";
if($lv_obj->planpersonalkosten != '')
$updtext.=" lehre wurde von $lv_obj->planpersonalkosten auf '' geaendert\n";
//if($lv_obj->ext_id != $row_ext->__StudienplanEintrag)
// $updtext.=" ext_id wurde von $lv_obj->ext_id auf $row_ext->__StudienplanEintrag geaendert\n";
if($lv_obj->sort != '')
$updtext.=" sort wurde von $sort auf '' geaendert\n";
if($lv_obj->zeugnis != true)
$updtext.=" zeugnis wurde von $lv_obj->zeugnis auf true geaendert\n";
if($lv_obj->koordinator != '')
$updtext.=" koordinator wurde von $lv_obj->koordinator auf '' geaendert\n";
if($lv_obj->projektarbeit != false)
$updtext.=" projektarbeit wurde von $lv_obj->projektarbeit auf false geaendert\n";
if($lv_obj->lehrform_kurzbz != $typ_lehrform_arr[$row_ext->_cxLVTyp])
$updtext.=" lehrform_kurzbz wurde von $lv_obj->lehrform_kurzbz auf ".$typ_lehrform_arr[$row_ext->_cxLVTyp]." geaendert\n";
}
$lv_obj->kurzbz = cleankurzbz($row_ext->chLVNr);
$lv_obj->bezeichnung = $row_ext->chBezeichnung;
$lv_obj->studiengang_kz = $stg_arr[$row_ext->_Studiengang];
$lv_obj->semester = $row_ext->inSemester;
$lv_obj->sprache = 'German';
if($row_ext->ECTS!='0' && $row_ext->ECTS!='')
$lv_obj->ects = $row_ext->ECTS;
if($row_ext->inSWS!='' && $row_ext->inSWS!='0')
$lv_obj->semesterstunden = (int) $row_ext->inSWS*ANZAHL_SEMESTERWOCHEN;
$lv_obj->anmerkung = $row_ext->chLVNr_old;
$lv_obj->lehre = true;
$lv_obj->lehreverzeichnis = strtolower(cleankurzbz($row_ext->chLVNr));
//$lv_obj->aktiv = true;
$lv_obj->planfaktor = '';
$lv_obj->planlektoren = '';
$lv_obj->planpersonalkosten = '';
$lv_obj->ext_id = '';
$lv_obj->sort = '';
$lv_obj->zeugnis = true;
$lv_obj->koordinator = '';
$lv_obj->projektarbeit = false;
$lv_obj->lehrform_kurzbz = $typ_lehrform_arr[$row_ext->_cxLVTyp];
if($updtext!='' || $lv_obj->new)
{
if($lv_obj->save())
{
if($lv_obj->new)
{
$text.= "Lehrveranstaltung $lv_obj->bezeichnung/$lv_obj->semester wurde neu angelegt\n";
synctabentry_lv($lv_obj->semester, $row_ext->_LV, $lv_obj->lehrveranstaltung_id);
$anz_insert++;
}
else
{
$text.= "Lehrveranstaltung $lv_obj->bezeichnung/$lv_obj->semester wurde aktualisiert\n".$updtext;
$anz_update++;
}
}
else
{
$text.= "Fehler beim Speichern von $lv_obj->bezeichnung/$lv_obj->semester/$lv_obj->lehrveranstaltung_id:".$lv_obj->errormsg.' '.pg_last_error($conn);
if($lv_obj->new)
$insert_error++;
else
$update_error++;
}
}
// *********** Lehrfach **************
//Schauen ob dieser Eintrag schon vorhanden ist
$qry = "SELECT lehrfach_id FROM sync.tbl_synclehrfach WHERE lv='$row_ext->_LV' AND insemester='$row_ext->inSemester'";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>0)
{
if($row = pg_fetch_object($result))
$lehrfach_id=$row->lehrfach_id;
else
{
$text.="Fehler beim Auslesen der Lehrfach_id bei lv $row_ext->_LV semester $row_ext->inSemester\n";
continue;
}
}
else
{
$lehrfach_id='';
}
}
else
{
$text.='Fehler beim Ermitteln der Lehrveranstaltung:'.pg_last_error($conn)."\n";
continue;
}
$lf_obj = new lehrfach($conn);
if($lehrfach_id=='')
{
$lf_obj->new = true;
$lf_obj->insertamum = date('Y-m-d H:i:s');
$lf_obj->insertvon = 'sync';
}
else
{
if($lf_obj->load($lehrfach_id))
{
$lf_obj->new = false;
$lf_obj->updateamum = date('Y-m-d H:i:s');
$lf_obj->updatevon = 'sync';
}
else
{
$text.="Fehler beim Laden eines gefundenen Lehrfaches?!? Lehrfach_id:$lehrfach_id\n";
}
}
if(cleankurzbz($row_ext->chLVNr)=='')
{
$text.="Fehler bei $lf_obj->bezeichnung/$lf_obj->semester (id $row_ext->_LV): chLVNr_new darf nicht leer sein";
$anz_lf_insert++;
continue;
}
$updtext = '';
if(!$lf_obj->new)
{
//Aenderungen suchen
if($lf_obj->studiengang_kz!=$stg_arr[$row_ext->_Studiengang])
$updtext.=" Studiengang wurde von $lf_obj->studiengang_kz auf ".$stg_arr[$row_ext->_Studiengang]." geaendert\n";
if($lf_obj->semester!=$row_ext->inSemester)
$updtext.=" Semester wurde von $lv_obj->semester auf $row_ext->inSemester geaendert\n";
if($lf_obj->sprache!='German')
$updtext.=" Sprache wurde von $lf_obj->sprache auf German geaendert\n";
if($lf_obj->fachbereich_kurzbz!='Dummy')
$updtext.=" Fachbereich_kurzbz wurde von $lf_obj->fachbereich_kurzbz auf 'Dummy' geaendert\n";
if($lf_obj->kurzbz != cleankurzbz($row_ext->chLVNr))
$updtext.=" Kurzbz wurde von $lf_obj->kurzbz auf ".cleankurzbz($row_ext->chLVNr)." geaendert\n";
if($lf_obj->bezeichnung!=$row_ext->chBezeichnung)
$updtext.=" Bezeichnung wurde von $lf_obj->bezeichnung auf $row_ext->chBezeichnung geaendert\n";
if($lf_obj->farbe != '')
$updtext.=" farbe wurde von $lf_obj->farbe auf '' geaendert\n";
if($lf_obj->aktiv != true)
$updtext.=" aktiv wurde von $lf_obj->aktiv auf true geaendert\n";
//if($lf_obj->ext_id != $row_ext->__StudienplanEintrag)
// $updtext.=" ext_id wurde von $lf_obj->ext_id auf $row_ext->__StudienplanEintrag geaendert\n";
}
$lf_obj->kurzbz = cleankurzbz($row_ext->chLVNr);
$lf_obj->bezeichnung = $row_ext->chBezeichnung;
$lf_obj->studiengang_kz = $stg_arr[$row_ext->_Studiengang];
$lf_obj->semester = $row_ext->inSemester;
$lf_obj->sprache = 'German';
$lf_obj->aktiv = true;
$lf_obj->fachbereich_kurzbz = 'Dummy';
$lf_obj->farbe = '';
$lf_obj->ext_id = '';
if($updtext!='' || $lf_obj->new)
{
if($lf_obj->save())
{
if($lf_obj->new)
{
$text.= "Lehrfach $lf_obj->bezeichnung/$lf_obj->semester wurde neu angelegt\n";
synctabentry_lf($lf_obj->semester, $row_ext->_LV, $lf_obj->lehrfach_id);
$anz_lf_insert++;
}
else
{
$text.= "Lehrfach $lf_obj->bezeichnung/$lf_obj->semester wurde aktualisiert\n".$updtext;
$anz_lf_update++;
}
}
else
{
$text.= "Fehler beim Speichern von $lf_obj->bezeichnung/$lf_obj->semester/$lf_obj->lehrfach_id:".$lf_obj->errormsg.' '.pg_last_error($conn);
if($lf_obj->new)
$insert_lf_error++;
else
$update_lf_error++;
}
}
}
}
else
$text.= "Fehler beim Laden der Lehrveranstaltungen\n\n";
$statistik .="LVs Import: $lvs_gesamt\n";
$statistik .="Neue LVs: $anz_insert\n";
$statistik .="Aktualisierte LVs: $anz_update\n";
$statistik .="Fehler beim Anlegen von LVs: $insert_error\n";
$statistik .="Fehler beim Aktualisieren von LVs: $update_error\n\n";
$statistik .="Neue LF: $anz_lf_insert\n";
$statistik .="Aktualisierte LF: $anz_lf_update\n";
$statistik .="Fehler beim Anlegen von LF: $insert_lf_error\n";
$statistik .="Fehler beim Aktualisieren von LF: $update_lf_error\n\n";
$text = $statistik."\n\n".$text;
//$to = 'oesi@technikum-wien.at';
$to = $adress_ext;
if(mail($to, 'SYNC Lehrveranstaltung',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,262 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Mitarbeiter
// StPoelten -> VILESCI
// setzt vorraus: - tbl_benutzer
// - tbl_ausbildung
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
//$adress='pam@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (Mitarbeiter)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte Mitarbeiter Syncronisation '.date('H:i:s').'<br>';
flush();
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Mitarbeiter aufgetreten:\n\n";
$text='';
$user_gesamt=0;
$anzahl_fehler=0;
$anzahl_update=0;
$anzahl_insert=0;
$anzahl_ohne_personalnummer=0;
$statistik='';
// ******** SYNC START ********** //
$qry = "SELECT * FROM sync.stp_person WHERE chusername<>'' AND chusername is not null AND _cxPersonTyp in(2,3,4)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$user_gesamt++;
//Schauen ob dieser Eintrag schon vorhanden ist
$qry_ext = "SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE ext_id='$row->__person'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)>0)
{
if($row_ext = pg_fetch_object($result_ext))
{
$uid = $row_ext->mitarbeiter_uid;
if($uid!=$row->chusername)
{
//Username wurde geaendert
$qry = "UPDATE public.tbl_benutzer SET uid='$row->chusername' WHERE uid='$uid'";
pg_query($conn, $qry);
$text.="UID von $uid auf $row->chusername geaendert\n";
$uid = $row->chusername;
$anzahl_update++;
}
}
else
{
$text.="Fehler beim Auslesen der UID fuer ext_id $row->__person\n";
$anzahl_fehler++;
continue;
}
}
else
{
$uid='';
}
}
else
{
$text.='Fehler beim Ermitteln der UID:'.pg_last_error($conn)."\n";
$anzahl_fehler++;
continue;
}
//Wenn der Eintrag anhand der ext_id nicht gefunden wurde, dann wird nach der UID gesucht
//Wenn diese vorhanden ist, dann kommt eine Fehlermeldung
if($uid=='')
{
$qry_ext = "SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='$row->chusername'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)>0)
{
$text.="Der Username $row->chusername ist doppelt vergeben\n";
$anzahl_fehler++;
continue;
}
}
}
//Wenn keine Personalnummer angegeben ist -> Fehler
if($row->personalnr=='')
{
$anzahl_ohne_personalnummer++;
continue;
}
//Pruefen ob der Benutzer angelegt ist
if($uid=='')
{
$qry_ext = "SELECT * FROM public.tbl_benutzer WHERE uid='$row->chusername'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)==0)
{
$text.="Der Benutzer $row->chusername ist nicht vorhanden\n";
$anzahl_fehler++;
continue;
}
}
}
//Wenn schon ein Eintrag mit der gleichen Personalnummer vorhanden ist, dann ueberspringen
if($uid=='')
{
$qry_ext = "SELECT * FROM public.tbl_mitarbeiter WHERE personalnummer='$row->personalnr'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)>0)
{
$text.="Die Personalnummer $row->personalnr von $row->chusername ist doppelt vergeben\n";
$anzahl_fehler++;
continue;
}
}
}
$mitarbeiter = new mitarbeiter($conn);
if($uid!='')
{
if($mitarbeiter->load($uid))
{
$mitarbeiter->new = false;
}
else
{
$text.="Fehler beim Laden von $uid\n";
$anzahl_fehler++;
continue;
}
}
else
{
$mitarbeiter->new = true;
}
$updtext='';
if(!$mitarbeiter->new)
{
if($mitarbeiter->uid != $row->chusername)
$updtext.=" UID wird von $mitarbeiter->uid auf $row->chusername geaendert\n";
if($mitarbeiter->ext_id_mitarbeiter != $row->__person)
$updtext.=" ext_id wird von $mitarbeiter->ext_id_mitarbeiter auf $row->__person geaendert\n";
if($mitarbeiter->personalnummer != $row->personalnr)
$updtext.=" Personalnummer wird von $mitarbeiter->personalnummer auf $row->personalnr geaendert\n";
if($mitarbeiter->telefonklappe!=$row->chklappe)
$updtext.=" Telefonklappe wird von $mitarbeiter->telefonklappe auf $row->chklappe geaendert\n";
if($mitarbeiter->kurzbz != (substr($row->chnachname, 0, 6).substr($row->chvorname, 0, 2)))
$updtext.=" Kurzbz wird von $mitarbeiter->kurzbz auf ".substr($row->chnachname, 0, 6).substr($row->chvorname, 0, 2)." geaendert\n";
if(!$mitarbeiter->lektor)
$updtext.=" Lektor wird von false auf true gesetzt\n";
if(!$mitarbeiter->fixangestellt)
$updtext.=" Fixangestellt wird von false auf true gesetzt\n";
if(!$mitarbeiter->bismelden)
$updtext.=" Bismelden wird von false auf true gesetzt\n";
if($mitarbeiter->stundensatz!=80)
$updtext.=" Stundensatz wird von $mitarbeiter->stundensatz auf 80 geaendert\n";
if($mitarbeiter->ausbildungcode!=$row->hoechsteausbildung)
$updtext.=" Ausbildungcode wird von $mitarbeiter->ausbildungcode auf $row->hochsteausbildung geaendert\n";
if($mitarbeiter->ort_kurzbz!='')
$updtext.=" Ort_kurzbz wird von $mitarbeiter->ort_kurzbz auf '' geaendert\n";
if($mitarbeiter->standort_kurzbz!='')
$updtext.=" Standort_kurzbz wird von $mitarbeiter->standort_kurzbz auf '' geaendert\n";
if($mitarbeiter->anmerkung !='')
$updtext.=" Anmerkung wird von $mitarbeiter->anmerkung auf '' geaendert\n";
}
if($updtext!='' || $mitarbeiter->new)
{
$mitarbeiter->insertamum = date('Y-m-d H:i:s');
$mitarbeiter->insertvon = 'sync';
$mitarbeiter->updateamum = date('Y-m-d H:i:s');
$mitarbeiter->updatevon = 'sync';
$mitarbeiter->uid = $row->chusername;
$mitarbeiter->ext_id_mitarbeiter = $row->__person;
$mitarbeiter->personalnummer = $row->personalnr;
$mitarbeiter->telefonklappe = $row->chklappe;
$mitarbeiter->kurzbz = substr($row->chnachname, 0, 6).substr($row->chvorname, 0, 2);
$mitarbeiter->lektor = true;
$mitarbeiter->fixangestellt = true;
$mitarbeiter->bismelden = true;
$mitarbeiter->stundensatz = 80;
$mitarbeiter->ausbildungcode = $row->hoechsteausbildung;
$mitarbeiter->ort_kurzbz = '';
$mitarbeiter->standort_kurzbz = '';
$mitarbeiter->anmerkung = '';
if($mitarbeiter->save(null, false))
{
if($mitarbeiter->new)
{
$text.="Mitarbeiter $mitarbeiter->uid wurde neu angelegt\n";
$anzahl_insert++;
}
else
{
$text.="Mitarbeiter $mitarbeiter->uid wurde aktualisiert\n".$updtext;
$anzahl_update++;
}
}
else
{
$text.="Fehler beim Speichern von $mitarbeiter->uid: $mitarbeiter->errormsg\n";
$anzahl_fehler;
}
}
}
}
else
$text.= "Fehler beim Laden der Personen\n\n";
$qry = "SELECT count(*) as anzahl FROM sync.stp_person WHERE _cxpersontyp in(2,3,4) AND chusername=''";
$anzahl_ohne_username=0;
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$anzahl_ohne_username=$row->anzahl;
$statistik .="Anzahl der Mitarbeiter: ".($user_gesamt+$anzahl_ohne_username)."\n";
$statistik .="Anzahl der Fehler: ".($anzahl_fehler+$anzahl_ohne_personalnummer+$anzahl_ohne_username)."\n";
$statistik .="Anzahl Insert: $anzahl_insert\n";
$statistik .="Anzahl Update: $anzahl_update\n";
$statistik .="Mitarbeiter mit Username aber ohne Personalnummer: $anzahl_ohne_personalnummer\n";
$statistik .="Mitarbeiter ohne Username: $anzahl_ohne_username\n";
$text = $statistik."\n\n".$text;
if(mail($adress, 'SYNC Mitarbeiter',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
-317
View File
@@ -1,317 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Noten
// StPoelten -> VILESCI
// setzt vorraus: - tbl_lehrveranstaltung
// - tbl_student
// - tbl_studiensemester
// - tbl_note
// - tbl_synclehrveranstaltung
//
// Beschreibung:
// Kopiert alle Noten von Tabelle Note/SemesterplanEintrag anhand von _LV und insemester
// in die Tabelle lehre.tbl_zeugnisnote
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/zeugnisnote.class.php');
require_once('../../../include/studiensemester.class.php');
//$adress='pam@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
//$conn=pg_connect(CONN_STRING);
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (Noten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte Noten Syncronisation '.date('H:i:s').'<br>';
$beginn = date('H:i:s');
flush();
$update_error=0;
$insert_error=0;
$noten_gesamt=0;
$error=0;
$student_not_found=0;
$stsem_not_found_count=0;
$lv_not_found=0;
$anz_update=0;
$anz_insert=0;
$statistik='';
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Noten aufgetreten:\n\n";
$text='';
$stsem_not_found = array();
$stsem_obj = new studiensemester($conn);
$stsem_obj->getAll();
$stsem_arr = array();
foreach ($stsem_obj->studiensemester as $row)
$stsem_arr[]=$row->studiensemester_kurzbz;
$noten_arr = array( "1"=>"1",
"2"=>"2",
"3"=>"3",
"4"=>"4",
"5"=>"5",
"6"=>"10", //bestanden
"7"=>"13", //nicht bestanden->nicht erfolgreich absolviert
"8"=>"6", //befreit->angerechnet
"9"=>"7", //Nicht beurteilt
"10"=>"8", // Teilgenommen
"18"=>"12", //mit Erfolg Teilgenommen->erfolgreich absolviert
"11"=>"15", //mit ausgezeichnetem erfolg bestanden
"14"=>"6", //anerkannt->angerechnet
"16"=>"16", //Ausland
"17"=>"17" // komm. Pruefung
);
/*Fehlende Notenzuordnungen
12 ?
13 ?
*/
$stg_arr = array();
$stg_obj = new studiengang($conn);
$stg_obj->getAll(null, false);
foreach ($stg_obj->result as $stg)
$stg_arr[$stg->ext_id] = $stg->studiengang_kz;
// ******** SYNC START ********** //
$qry = "SELECT
_lv, insemester, _person, _cxbeurteilungsstufe, chKalenderSem, __Note
FROM
note JOIN semesterplaneintrag ON(_semesterplaneintrag=__semesterplaneintrag)
ORDER BY _person
";
$lastperson='';
if($result_ext = mssql_query($qry, $conn_ext))
{
while($row_ext=mssql_fetch_object($result_ext))
{
$noten_gesamt++;
//Alle 100 Noten einen Punkt ausgeben und alle 10.000 einen Zeilenumbruch
if($noten_gesamt%100==0)
{
echo '.';
flush();
}
if($noten_gesamt%10000==0)
{
echo '<br>';
flush();
}
//Student_uid nur ermitteln wenn die person unterschiedlich zur vorigen ist
if($lastperson!=$row_ext->_person)
{
$lastperson=$row_ext->_person;
// student_uid ermitteln
$qry_std = "SELECT student_uid FROM public.tbl_student WHERE ext_id='".addslashes($row_ext->_person)."'";
if($result_std = pg_query($conn, $qry_std))
{
if(pg_num_rows($result_std)==0)
{
//$text.="Es wurde kein Studenteneintrag zu Person_id $row_ext->_person gefunden\n";
$student_not_found++;
$error++;
$student_uid='';
continue;
}
elseif(pg_num_rows($result_std)==1)
{
$row_std = pg_fetch_object($result_std);
$student_uid = $row_std->student_uid;
}
else
{
$text.="Es wurde mehr als ein passender Studenteneintrag zu $row_ext->_person gefunden\n";
$student_uid='';
$error++;
continue;
}
}
else
{
$text.="Fehler beim Ermitteln des Studenten:".pg_last_error($conn)."\n";
$student_uid='';
$error++;
continue;
}
}
//wenn keine UID zu dieser Person gefunden wurde, dann Weiterspringen
if($student_uid=='')
{
$student_not_found++;
$error++;
continue;
}
//Nicht zuordenbare Noten entfernen
if(!array_key_exists($row_ext->_cxbeurteilungsstufe, $noten_arr))
{
$text.="Die Note $row_ext->_cxbeurteilungsstufe von Person $row_ext->_person kann nicht zugeordnet werden\n";
$error++;
continue;
}
// LV Ermitteln
$qry_lv = "SELECT lehrveranstaltung_id FROM sync.tbl_synclehrveranstaltung WHERE lv='".addslashes($row_ext->_lv)."' AND insemester='".addslashes($row_ext->insemester)."'";
if($result_lv = pg_query($conn, $qry_lv))
{
if(pg_num_rows($result_lv)==0)
{
$text.="Lehrveranstaltung zu $row_ext->_lv/$row_ext->insemester wurde nicht gefunden\n";
$lv_not_found++;
$error++;
continue;
}
elseif(pg_num_rows($result_lv)==1)
{
$row_lv = pg_fetch_object($result_lv);
$lehrveranstaltung_id = $row_lv->lehrveranstaltung_id;
}
else
{
$text.="Es wurde mehr als eine passende Lehrveranstaltung zu $row_ext->lv/$row_ext->insemester gefunden\n";
$error++;
continue;
}
}
else
{
$text.="Fehler beim Ermitteln der LV:".pg_last_error($conn)."\n";
$error++;
continue;
}
// Studiensemester Ermitteln
$stsem=strtoupper((substr($row_ext->chKalenderSem,0,1)).'S'.((integer)substr($row_ext->chKalenderSem,1,2)<11?'20':'19').substr($row_ext->chKalenderSem,1,2));
if(!in_array($stsem, $stsem_arr))
{
if(!in_array($stsem, $stsem_not_found))
$stsem_not_found[] = $stsem;
$error++;
$stsem_not_found_count++;
continue;
}
// Nachschauen ob Note im Vilesci vorhanden ist
$zeugnisnote = new zeugnisnote($conn);
$updtext='';
if($zeugnisnote->load($lehrveranstaltung_id, $student_uid, $stsem))
{
$zeugnisnote->new = false;
if($zeugnisnote->note != $noten_arr[$row_ext->_cxbeurteilungsstufe])
{
$updtext.=" Note wurde bei $lehrveranstaltung_id/$student_uid/$stsem von $zeugnisnote->note auf ".$noten_arr[$row_ext->_cxbeurteilungsstufe]." geaendert\n";
}
}
else
{
$zeugnisnote->new = true;
$zeugnisnote->insertamum = date('Y-m-d H:i:s');
$zeugnisnote->insertvon = 'sync';
}
if($updtext!='' || $zeugnisnote->new)
{
//Daten Speichern
$zeugnisnote->lehrveranstaltung_id = $lehrveranstaltung_id;
$zeugnisnote->studiensemester_kurzbz = $stsem;
$zeugnisnote->student_uid = $student_uid;
$zeugnisnote->note = $noten_arr[$row_ext->_cxbeurteilungsstufe];
$zeugnisnote->updateamum = date('Y-m-d H:i:s');
$zeugnisnote->updatevon = 'sync';
$zeugnisnote->ext_id = $row_ext->__Note;
if($zeugnisnote->save())
{
if($zeugnisnote->new)
{
$text.="Es wurde eine neue Note: ".$noten_arr[$row_ext->_cxbeurteilungsstufe]." für Lehrveranstaltung: $lehrveranstaltung_id Student: $student_uid Studiensemester: $stsem angelegt\n";
$anz_insert++;
}
else
{
$text.="Eintrag von Lehrveranstaltung: $lehrveranstaltung_id Student: $student_uid Studiensemester: $stsem wurde aktualisiert\n".$updtext;
$anz_update++;
}
}
else
{
if($zeugnisnote->new)
{
$text.="Fehler beim Anlegen einer Neuen Note Lehrveranstaltung: $lehrveranstaltung_id Student: $student_uid Studiensemester: $stsem ".$zeugnisnote->errormsg."\n";
$insert_error++;
$error++;
}
else
{
$text.="Fehler beim Aktualisieren von Lehrveranstaltung: $lehrveranstaltung_id Student: $student_uid Studiensemester: $stsem ".$zeugnisnote->errormsg."\n";
$update_error++;
$error++;
}
}
}
}
}
else
$text.= "Fehler beim Laden der Noten\n\n";
$ende = date('H:i:s');
$statistik .="Start: $beginn Ende: $ende\n\n";
$statistik .="Noten Import: $noten_gesamt\n";
$statistik .="Neue Noten angelegt: $anz_insert\n";
$statistik .="Aktualisierte Noten: $anz_update\n";
$statistik .="Fehler beim Anlegen von Noten: $insert_error\n";
$statistik .="Fehler beim Aktualisieren von Noten: $update_error\n";
$statistik .="Nicht gefundene Studenten: $student_not_found\n";
$statistik .="Nicht gefundene LVs: $lv_not_found\n";
$statistik .="Fehler Gesamt: $error\n";
if(count($stsem_not_found)>0)
{
$statistik .="Folgende Studiensemester sind nicht in der Tabelle tbl_studiensemester vorhanden: ";
foreach ($stsem_not_found as $row)
$statistik.=$row.', ';
$statistik .="\nDadurch aufgetretene Fehler: $stsem_not_found_count\n";
}
$text = $statistik."\n\n".$text;
if(mail($adress, 'SYNC Noten',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "<br>Mail wurde an $adress versandt<br><br>";
else
echo "<br>Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
-401
View File
@@ -1,401 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Personendatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: sync von sync.stp_person, sync.stp_staat
//* benoetigt: tbl_syncperson
require_once('sync_config.inc.php');
$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;'))
{
$sql='CREATE TABLE sync.tbl_syncperson
(
person_id integer NOT NULL,
__Person integer NOT NULL
);
Grant select on sync.tbl_syncperson to group "admin";
Grant update on sync.tbl_syncperson to group "admin";
Grant delete on sync.tbl_syncperson to group "admin";
Grant insert on sync.tbl_syncperson to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.tbl_syncperson: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.tbl_syncperson wurde angelegt!<BR>';
}
$error_log='';
$error_log1='';
$error_log_ext='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$eingefuegt=0;
$fehler=0;
$dublette=0;
$plausi='';
$start='';
$anzahl_person_gesamt=0;
$anzahl_person_gesamt2=0;
$staat=array();
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - StPoelten -> Vilesci - Person</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//Array für Nationen erzeugen
$qry_staat="SELECT __staat, chkurzbez FROM sync.stp_staat";
if($result_staat = pg_query($conn, $qry_staat))
{
while($row_staat = pg_fetch_object($result_staat))
{
$staat[$row_staat->__staat]=$row_staat->chkurzbez;
}
}
else
{
echo "<br>".$qry_staat."<br><strong>".pg_last_error($conn)." </strong><br>";
}
//*********** Neue Daten holen *****************
$qry='SELECT __Person,_Staatsbuerger,_GebLand,Briefanrede,chTitel,chNachname,chVorname,daGebDat,chGebOrt,meBemerkung,chHomepage,chSVNr,chErsatzKZ,_cxFamilienstand,_cxGeschlecht,inKinder
FROM sync.stp_person
WHERE _cxGeschlecht!=3 AND _cxPersonTyp!=5
AND __Person NOT IN (SELECT __Person FROM sync.tbl_syncperson) ;';
$error_log_ext="Überprüfung Personendaten in EXT-DB:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_person_gesamt."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
$cont='';
// Konvertieren
if ($row->_cxgeschlecht==1)
$row->_cxgeschlecht='m';
elseif ($row->_cxgeschlecht==2)
$row->_cxgeschlecht='w';
else
$row->_cxgeschlecht='';
// Check
if($row->chnachname==NULL)
{
$error_log1.="\nKein Nachname eingetragen";
$cont=true;
$error=true;
}
if($row->chvorname==NULL)
{
$error_log1.="\nKein Vorname eingetragen";
$cont=true;
$error=true;
}
/*if($row->_staatsbuerger==NULL)
{
$error_log1.="\nKeine Staatsbürgerschaft eingetragen";
$cont=true;
$error=true;
}
if($row->_gebland==NULL)
{
$error_log1.="\nKein Geburtsland eingetragen";
$cont=true;
$error=true;
}*/
if($row->dagebdat=='' || $row->dagebdat==NULL)
{
$error_log1.="\nKein Geburtsdatum eingetragen";
$error=true;
}
/*if(($row->chsvnr=='' || $row->chsvnr==NULL) && ($row->chersatzkz=='' || $row->chersatzkz==NULL))
{
$error_log1.="\nKeine SVNr und kein Ersatzkennzeichen eingetragen";
//$cont=true;
$error=true;
}*/
if($row->_cxgeschlecht=='' || $row->_cxgeschlecht==NULL)
{
$error_log1.="\nKein Familienstand eingetragen";
$error=true;
}
if($error)
{
$error_log.="\n*****\n".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).": ".$error_log1;
$error_log1='';
$error=false;
if($cont)
{
$fehler++;
continue;
}
}
// Check auf Doppelgaenger
if ($row->chsvnr!='' || $row->dagebdat!='' )
{
pg_query($conn, "BEGIN");
$sql="SELECT * FROM public.tbl_person
WHERE (svnr=".myaddslashes($row->chsvnr)." AND svnr!='' AND svnr 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)
VALUES
(".($row->_staatsbuerger!=''?myaddslashes($staat[$row->_staatsbuerger]):'null').", ".
($row->_gebland!=''?myaddslashes($staat[$row->_gebland]):'null').", ".
"NULL, ".
myaddslashes(substr($row->briefanrede,0,16)).", ".
myaddslashes(trim($row->chtitel)).", ".
"NULL, ".
myaddslashes(trim($row->chnachname)).", ".
myaddslashes(trim($row->chvorname)).", ".
"NULL, ".
myaddslashes($row->dagebdat).", ".
myaddslashes($row->chgebort).", ".
"NULL, ".
"NULL, ".
myaddslashes($row->mebemerkung).", ".
myaddslashes($row->chhomepage).", ".
myaddslashes($row->chsvnr).", ".
myaddslashes($row->chersatzkz).", ".
myaddslashes($row->_cxfamilienstand).", ".
myaddslashes($row->_cxgeschlecht).", ".
myaddslashes($row->inkinder).", ".
"TRUE, now(), 'sync', now(), 'sync', ".
myaddslashes($row->__person).");";
if(!$result_neu = pg_query($conn, $sql))
{
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
else
{
//Eintrag Synctabelle
$qry_seq = "SELECT currval('public.tbl_person_person_id_seq') AS id;";
if($row_seq=pg_fetch_object(pg_query($conn,$qry_seq)))
{
$person_id=$row_seq->id;
}
else
{
$error=true;
$error_log.='Person-Sequence konnte nicht ausgelesen werden\n';
}
if(!$error)
{
$qryz="SELECT * FROM sync.tbl_syncperson WHERE __person='$row->__person' AND person_id='$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, person_id)'.
'VALUES ('.$row->__person.', '.$person_id.');';
$resulti = pg_query($conn, $qry);
}
$ausgabe.="\n------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$eingefuegt++;
pg_query($conn, "COMMIT");
}
else
{
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
}
else
{
pg_query($conn, "ROLLBACK");
}
}
}
else
{
if($row_dubel=pg_fetch_object($result_dubel))
{
$dublette++;
//Eintrag Synctabelle
$qryz="SELECT * FROM sync.tbl_syncperson WHERE __person='$row->__person' AND person_id='$row_dubel->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, person_id)'.
'VALUES ('.$row->__person.', '.$row_dubel->person_id.');';
$resulti = pg_query($conn, $qry);
}
$ausgabe.="\n------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$eingefuegt++;
pg_query($conn, "COMMIT");
}
else
{
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
}
}
}
else
{
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
}
}
}
}
else
{
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
//*********** Updates holen *****************
// Staatsbuergerschaft, Geburtsnation werden nicht geprueft.
$updates=0;
$qry='SELECT __Person,_Staatsbuerger,_GebLand,Briefanrede,chTitel,chNachname,chVorname,daGebDat,chGebOrt,meBemerkung,
chHomepage,chSVNr,chErsatzKZ,_cxFamilienstand,_cxGeschlecht,inKinder,_cxBundesland,
person_id,staatsbuergerschaft,geburtsnation,anrede,titelpre,nachname,vorname,
gebdatum,gebort,anmerkung,homepage,svnr,ersatzkennzeichen,familienstand,geschlecht,anzahlkinder,
aktiv,bundesland_code
FROM sync.stp_person JOIN sync.tbl_syncperson USING (__Person) JOIN public.tbl_person USING (person_id)
WHERE chNachname!=nachname OR anrede!=Briefanrede OR titelpre!=chTitel OR vorname!=chVorname
OR gebdatum!=daGebDat OR gebort!=chGebOrt OR anmerkung!=meBemerkung OR homepage!=chHomepage
OR svnr!=chSVNr OR ersatzkennzeichen!=chErsatzKZ OR familienstand!=_cxFamilienstand OR anzahlkinder!=inKinder
OR bundesland_code!=_cxBundesland ORDER BY nachname,vorname;'; // OR geschlecht!=_cxGeschlecht
$error_log_ext="Updates holen:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
$log_updates='';
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt2=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze für updates: ".$anzahl_person_gesamt2."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
$cont='';
$sql='';
//$sql='UPDATE public.tbl_person SET';
if ($row->chnachname!=$row->nachname && $row->chnachname!='' && $row->chnachname!=NULL)
$sql.=" nachname='$row->chnachname',";
if ($row->anrede!=$row->briefanrede && $row->briefanrede!='' && $row->briefanrede!=NULL)
$sql.=" anrede=".myaddslashes(substr($row->briefanrede,0,16)).",";
if ($row->titelpre!=$row->chtitel && $row->chtitel!='' && $row->chtitel!=NULL)
$sql.=" titelpre='$row->chtitel',";
if ($row->vorname!=$row->chvorname && $row->chvorname!='' && $row->chvorname!=NULL)
$sql.=" vorname='$row->chvorname',";
if ($row->gebdatum!=$row->dagebdat && $row->dagebdat!='' && $row->dagebdat!=NULL)
$sql.=" gebdatum='$row->dagebdat',";
if ($row->gebort!=$row->chgebort && $row->chgebort!='' && $row->chgebort!=NULL)
$sql.=" gebort='$row->chgebort',";
if ($row->anmerkung!=$row->mebemerkung && $row->mebemerkung!='' && $row->mebemerkung!=NULL)
$sql.=" anmerkung='$row->mebemerkung',";
if ($row->homepage!=$row->chhomepage && $row->chhomepage!='' && $row->chhomepage!=NULL)
$sql.=" homepage='$row->chhomepage',";
if ($row->svnr!=$row->chsvnr && $row->chsvnr!='' && $row->chsvnr!=NULL)
$sql.=" svnr=".myaddslashes($row->chsvnr).",";
if ($row->ersatzkennzeichen!=$row->chersatzkz && $row->chersatzkz!='' && $row->chersatzkz!=NULL)
$sql.=" ersatzkennzeichen='$row->chersatzkz',";
if ($row->familienstand!=$row->_cxfamilienstand && $row->_cxfamilienstand!='' && $row->_cxfamilienstand!=NULL)
$sql.=" familienstand='$row->_cxfamilienstand',";
//if ($row->geschlecht!=$row->_cxgeschlecht)
// $sql.=" geschlecht='$row->_cxgeschlecht',";
if ($row->anzahlkinder!=$row->inkinder && $row->inkinder!='' && $row->inkinder!=NULL)
$sql.=" anzahlkinder='$row->inkinder',";
if ($row->bundesland_code!=$row->_cxbundesland && $row->_cxbundesland!='' && $row->_cxbundesland!=NULL)
$sql.=" bundesland_code=".myaddslashes($row->_cxbundesland).",";
$sql=substr($sql,0,-1);
if($sql!='')
{
$sql="UPDATE public.tbl_person SET ".$sql." WHERE person_id=".$row->person_id.";";
//echo $sql;
if (!pg_query($conn, $sql))
$log_updates.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
else
{
$log_updates.= "\n".$row->nachname.' '.$row->vorname.' - '.$sql;
$updates++;
}
}
}
}
else
{
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
echo "<br><br>Eingefügt: ".$eingefuegt;
echo "<br>Updates: ".$updates;
echo "<br>Doppelt: ".$dublette;
echo "<br>Fehler: ".$fehler;
echo "<br><br>";
if($error_log=='' && $log_updates=='')
{
echo "o.k.<br>";
}
else
{
echo nl2br($log_updates);
echo nl2br($error_log);
}
echo nl2br($ausgabe);
mail($adress, 'SYNC-Fehler StP-Person von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Person von '.$_SERVER['HTTP_HOST'], "Sync Person\n------------\n\n"
."Personen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Updates: ".$updates." / Fehler: ".$fehler." / Doppelt: ".$dublette
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe.$log_updates, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
File diff suppressed because one or more lines are too long
@@ -1,522 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Prestudentdatensaetze von StP DB in PORTAL DB
//*
//*
//* setzt voraus: sync von sync.stp_person
//* benötigt: tbl_syncperson, tbl_zgv, tbl_zgvmaster, tbl_studiensemester
//*
require_once('sync_config.inc.php');
$starttime=time();
/*if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);*/
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
// Sync-Tabelle fuer Zugang checken
if (!@pg_query($conn,'SELECT * FROM sync.stp_zugang LIMIT 1;'))
{
$sql=' CREATE TABLE sync.stp_zugang
(
cxzugang integer NOT NULL,
zgv_code integer NOT NULL
);
REVOKE ALL ON TABLE stp_zugang FROM PUBLIC;
GRANT INSERT,SELECT,UPDATE ON TABLE stp_zugang TO admin;
';
if (!@pg_query($conn,$sql))
echo '<strong>sync.stp_zugang: '.pg_last_error($conn).' </strong><BR>';
else
{
echo 'sync.stp_zugang wurde angelegt!<BR>';
}
}
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
$error_log='';
$error_log1='';
$error_log2='';
$error_log_ext='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$eingefuegt=0;
$fehler=0;
$update=0;
$eingefuegt1=0;
$fehler1=0;
$update1=0;
$plausi='';
$start='';
$stg='';
$aufmerksam=array();
$zgv=array();
$semstart=array();
$Kalender='';
$rolle='';
$iu='';
$log_qry_ins='';
/*************************
* StP-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - StPoelten -> Vilesci - Prestudent</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if (!@pg_query($conn,'SELECT * FROM sync.tbl_syncperson LIMIT 1;'))
{
die("<strong>sync.tbl_syncperson: ".pg_last_error($conn)." </strong><BR>");
}
$qry="SELECT * FROM public.tbl_aufmerksamdurch";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$aufmerksam[$row->ext_id]=$row->aufmerksamdurch_kurzbz;
}
}
else
{
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
$qry="SELECT * FROM sync.stp_zugang";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$zgv[$row->cxzugang]=$row->zgv_code;
}
}
else
{
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
$zgv[2]=99;
$zgv['']=99;
$ststat=array(2=>'Bewerber', 3=>'Student', 4=>'Ausserordentlicher', 5=>'Unterbrecher', 6=>'Absolvent', 7=>'Abbrecher', 8=>'Abgewiesener',
10=>'Diplomand', 11=>'Diplomand', 12=>'Incoming');
//einlesen von studiendauer der stg in array
$qry="SELECT * FROM public.tbl_studiengang;";
if($result = pg_query($conn,$qry))
{
while($row=pg_fetch_object($result))
{
$maxsemester[$row->studiengang_kz]=$row->max_semester;
}
}
//einlesen von studiensemesterdaten in arrays
$i=0;
$qry="SELECT * FROM public.tbl_studiensemester ORDER BY start;";
if($result = pg_query($conn,$qry))
{
while($row=pg_fetch_object($result))
{
//$studiensemester[$i]=$row->studiensemester_kurzbz;
$semstart[$row->studiensemester_kurzbz]=$row->start;
//$semende[$row->studiensemester_kurzbz]=$row->ende;
$i++;
}
}
//*********** Neue Daten holen *****************
$qry="SELECT __Person, datenquelle, inAusmassBesch, HoechsteAusbildung, _cxZugang, daMaturaDat,
_cxZugangFHMag, daZugangFHMagDat, chtitel, chnachname, chvorname, studiengang_kz, typ,
chKalenderSemStatAend, inStudiensemester, _cxstudstatus, _StgOrgForm
FROM sync.stp_person JOIN sync.stp_stgvertiefung ON (_stgvertiefung=__stgvertiefung)
JOIN public.tbl_studiengang ON (_studiengang=ext_id)
WHERE __Person IN (SELECT __person FROM sync.tbl_syncperson) AND
(_cxPersonTyp='1' OR _cxPersonTyp='2');";
//WHERE __Person IN (SELECT ext_id FROM tbl_person WHERE ext_id IS NOT NULL) AND
$error_log_ext="Überprüfung Prestudentdaten in EXT-DB:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_person_gesamt."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
$cont='';
$iu='';
//plausi
if($row->datenquelle=='' || $row->datenquelle==NULL)
{
$datenquelle=0;
}
else
{
$datenquelle=$row->datenquelle;
}
if($row->studiengang_kz=='' || $row->studiengang_kz==NULL)
{
$error_log1.="\nKein zugeordneter Studiengang gefunden";
$cont=true;
$error=true;
}
if($row->_cxzugang=='' || $row->_cxzugang==NULL)
{
$error_log1.="\nZugangsvoraussetzung nicht eingetragen";
$error=true;
}
if($row->damaturadat=='' || $row->damaturadat==NULL)
{
$error_log1.="\nDatum der Zugangsvoraussetzung nicht eingetragen";
$error=true;
}
if($row->typ=="m")
{
if($row->_cxzugangfhmag=='' || $row->_cxzugangfhmag==NULL)
{
$error_log1.="\nZugangsvoraussetzung Mag. nicht eingetragen";
$error=true;
}
if($row->dazugangfhmagdat=='' || $row->dazugangfhmagdat==NULL)
{
$error_log1.="\nDatum der Zugangsvoraussetzung Mag. nicht eingetragen";
$error=true;
}
}
/*if($row->_stgorgform=='' || $row->_stgorgform==NULL)
{
$error_log1.="\nOrganisationsform nicht eingetragen";
$error=true;
}*/
if($row->_cxstudstatus=='' || $row->_cxstudstatus==NULL)
{
$error_log1.="\nStudentenstatus nicht eingetragen";
$cont=true;
$error=true;
}
//$row->chkalendersemstataend='W07';
if($row->chkalendersemstataend=='' || $row->chkalendersemstataend==NULL)
{
$error_log1.="\nchkalendersemstataend nicht eingetragen !";//Fehlerausgabe, wenn kein wert eingetragen, da vor ws1999 wert noch nicht in db//15.02.2008
$cont=true;
$error=true;
}
if($row->_cxstudstatus=='3' || $row->_cxstudstatus=='4' || $row->_cxstudstatus=='9' || $row->_cxstudstatus=='10' || $row->_cxstudstatus=='11')
{
$row->chkalendersemstataend='W07';// Standardwert WS2007; von FH-StP gewünscht; 11.12.07
}
if($error)
{
$error=false;
if($cont)
{
$error_log.="\n*****\n".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).": ".$error_log1;
$error_log.="\n==>nicht übertragen!";
$fehler++;
$error_log1='';
continue;
}
else
{
$error_log2.="\n*****\n".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).": ".$error_log1;
$error_log2.="\n==>übertragen!";
$error_log1='';
}
}
if($row->_stgorgform==1)
{
$orgform="VZ";
}
elseif($row->_stgorgform==2)
{
$orgform="BB";
}
elseif($row->_stgorgform==4)
{
$orgform="ZGS";
}
else
{
$orgform="VZ";
}
$iu='';
$qry_ins='';
$rolle=$ststat[$row->_cxstudstatus];
$Kalender=ucwords(substr($row->chkalendersemstataend,0,1)).'S'.((integer)substr($row->chkalendersemstataend,1,2)<11?'20':'19').substr($row->chkalendersemstataend,1,2);
//echo substr($row->chkalendersemstataend,2,2)."/".$row->chkalendersemstataend."--->".$Kalender;
pg_query($conn, "BEGIN");
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".$row->__person.";";
$row_synk=pg_fetch_object(pg_query($conn, $qry_synk));
$qry_chk="SELECT * FROM public.tbl_prestudent WHERE person_id=".myaddslashes($row_synk->person_id)." AND studiengang_kz=".myaddslashes($row->studiengang_kz).";";
if($result_chk = pg_query($conn, $qry_chk))
{
if(pg_num_rows($result_chk)==0)
{
$iu='i';
$qry_ins="INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id, studiengang_kz,
berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvmas_code, zgvmaort,
zgvmadatum, aufnahmeschluessel, facheinschlberuf, reihungstest_id, anmeldungreihungstest,
reihungstestangetreten, punkte, bismelden, anmerkung, insertamum, insertvon, updateamum,
updatevon, ext_id)
VALUES (".
myaddslashes($aufmerksam[$datenquelle]).", ".
myaddslashes($row_synk->person_id).", ".
myaddslashes($row->studiengang_kz).",
NULL, ".
myaddslashes($row->hoechsteausbildung).", ".
myaddslashes($zgv[$row->_cxzugang]).",
NULL, ".
myaddslashes($row->damaturadat).", ".
myaddslashes($row->_cxzugangfhmag).",
NULL, ".
myaddslashes($row->dazugangfhmagdat).",
NULL,
FALSE,
NULL,
NULL,
TRUE, ".
myaddslashes(0).",
TRUE,
'',
now(),
'SYNC',
NULL,
NULL, ".
myaddslashes($row->__person).");";
}
else
{
$iu='u';
if($row_chk=pg_fetch_object($result_chk))
{
$qry_ins='';
$log_qry_ins='';
if ($row_chk->aufmerksamdurch_kurzbz!=$aufmerksam[$datenquelle])
{
$qry_ins.=" aufmerksamdurch_kurzbz=".myaddslashes($aufmerksam[$datenquelle]).",";
$log_qry_ins=$row_chk->aufmerksamdurch_kurzbz."/".myaddslashes($aufmerksam[$datenquelle]);
}
if ($row_chk->ausbildungcode!=$row->hoechsteausbildung)
{
$qry_ins.=" ausbildungcode=".myaddslashes($row->hoechsteausbildung).", ";
$log_qry_ins.=", ".$row_chk->ausbildungcode."/".myaddslashes($row->hoechsteausbildung);
}
if ($row_chk->zgv_code!=$zgv[$row->_cxzugang])
{
$qry_ins.=" zgv_code=".myaddslashes($zgv[$row->_cxzugang]).", ";
$log_qry_ins.=", ".$row_chk->zgv_code."/".myaddslashes($zgv[$row->_cxzugang]);
}
if ($row_chk->zgvdatum!=$row->damaturadat)
{
$qry_ins.=" zgvdatum=".myaddslashes($row->damaturadat).", ";
$log_qry_ins.=", ".$row_chk->zgvdatum."/".myaddslashes($row->damaturadat);
}
if ($row_chk->zgvmas_code!=$row->_cxzugangfhmag)
{
$qry_ins.=" zgvmas_code=".myaddslashes($row->_cxzugangfhmag).", ";
$log_qry_ins.=", ".$row_chk->zgvmas_code."/".myaddslashes($row->_cxzugangfhmag);
}
if ($row_chk->zgvmadatum!=$row->dazugangfhmagdat)
{
$qry_ins.=" zgvmadatum=".myaddslashes($row->dazugangfhmagdat).", ";
$log_qry_ins.=", ".$row_chk->zgvmadatum."/".myaddslashes($row->dazugangfhmagdat);
}
if($qry_ins!='')
{
$qry_ins="UPDATE public.tbl_prestudent SET".$qry_ins." updateamum=now(), updatevon='SYNC' WHERE person_id=".myaddslashes($row_synk->person_id)." AND studiengang_kz=".myaddslashes($row->studiengang_kz).";";
}
}
}
if($qry_ins!='')
{
if(!$result_neu = pg_query($conn, $qry_ins))
{
$error_log.= $qry_ins."\n<strong>".pg_last_error($conn)." </strong>\n";
$fehler++;
pg_query($conn, "ROLLBACK");
}
else
{
if($iu=='i')
{
$ausgabe.="\n------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).", Stg: ".$row->studiengang_kz;
$eingefuegt++;
//Prestudent_id ermitteln
$qry_seq = "SELECT currval('public.tbl_prestudent_prestudent_id_seq') AS id;";
if($row_seq=pg_fetch_object(pg_query($conn,$qry_seq)))
{
$prestudent_id=$row_seq->id;
pg_query($conn, "COMMIT");
}
else
{
$error=true;
pg_query($conn, "ROLLBACK");
$error_log.='Prestudent-Sequence konnte nicht ausgelesen werden\n';
}
}
elseif($iu=='u')
{
$ausgabe.="\n------------------\nGeändert: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname).", Stg: ".$row->studiengang_kz."\n---".$qry_ins."\n---".$log_qry_ins;
$prestudent_id=$row_chk->prestudent_id;
$update++;
pg_query($conn, "COMMIT");
}
$iu='';
}
}
}
else
{
echo "<br>".$qry_chk."<br><strong>".pg_last_error($conn)." </strong><br>";
}
$qry_chk="SELECT * FROM public.tbl_prestudent WHERE person_id=".myaddslashes($row_synk->person_id)." AND studiengang_kz=".myaddslashes($row->studiengang_kz).";";
if($result_chk = pg_query($conn, $qry_chk))
{
if($row_chk=pg_fetch_object($result_chk))
{
$prestudent_id=$row_chk->prestudent_id;
}
}
if($row->instudiensemester>$maxsemester[$row->studiengang_kz])
{
$row->instudiensemester=$maxsemester[$row->studiengang_kz];
}
$qry_ins='';
$qry_status="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id='".$prestudent_id."' AND status_kurzbz='".$rolle."' AND studiensemester_kurzbz='".$Kalender."' AND ausbildungssemester='".$row->instudiensemester."';";
$result_status=pg_query($conn,$qry_status);
if(pg_num_rows($result_status)==0)
{
$iu='i';
$qry_ins="INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
insertamum, insertvon, updateamum, updatevon, ext_id)
VALUES (".
myaddslashes($prestudent_id).", ".
myaddslashes($rolle).", ".
myaddslashes($Kalender).", ";
//max.studiendauer wenn ausbildungssemester größer (v.a. für 50er und 60er)
if($row->instudiensemester>$maxsemester[$row->studiengang_kz])
{
$qry_ins.=myaddslashes($maxsemester[$row->studiengang_kz]);
}
else
{
$qry_ins.=myaddslashes($row->instudiensemester);
}
$qry_ins.=", ".myaddslashes($semstart[$Kalender]).", ".
myaddslashes($orgform).",
now(),
'SYNC',
NULL,
NULL, ".
myaddslashes($row->__person).")";
}
else
{
$iu='u';
if($row_status=pg_fetch_object($result_status))
{
$qry_ins='';
if ($row_status->orgform_kurzbz!=$orgform)
$qry_ins.="orgform_kurzbz=".myaddslashes($orgform).", ";
if($row->instudiensemester>$maxsemester[$row->studiengang_kz])
$row->instudiensemester=$maxsemester[$row->studiengang_kz];
if ($row_status->ausbildungssemester!=$row->instudiensemester)
$qry_ins.="ausbildungssemester=".myaddslashes($row->instudiensemester).", ";
if($row_status->datum!=($semstart[$Kalender]))
{
$qry_ins.="datum=".myaddslashes($semstart[$Kalender]).", ";
}
if($qry_ins!='')
{
$qry_ins="UPDATE public.tbl_prestudentstatus SET ".$qry_ins."updateamum=now(), updatevon='SYNC'
WHERE prestudent_id='".$prestudent_id."' AND status_kurzbz='".$rolle."' AND studiensemester_kurzbz='".$Kalender."';";
}
}
}
if($qry_ins!='')
{
if(!$result_neu = pg_query($conn, $qry_ins))
{
$error_log.= $qry_ins."\n<strong>".pg_last_error($conn)." </strong>\n";
$fehler1++;
pg_query($conn, "ROLLBACK");
}
else
{
pg_query($conn, "COMMIT");
if($iu=='i')
{
$ausgabe.="\n---Rolle eingefügt: ".$rolle." im Studiensemester ".$Kalender." und Ausbildungssemeser ".$row->instudiensemester." (OrgForm ".$orgform.");";
$eingefuegt1++;
}
elseif($iu=='u')
{
$ausgabe.="\n---Rolle geändert: ".$rolle." im Studiensemester ".$Kalender." und Ausbildungssemeser ".$row->instudiensemester." (OrgForm ".$orgform.");";
$update1++;
}
}
}
}
}
else
{
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
echo "<br><b>Prestudent:</b>";
echo "<br>Eingefügt: ".$eingefuegt;
echo "<br>Geändert: ".$update;
echo "<br>Fehler: ".$fehler;
echo "<br><b>Prestudent-Rolle:</b>";
echo "<br>Eingefügt: ".$eingefuegt1;
echo "<br>Geändert: ".$update1;
echo "<br>Fehler: ".$fehler1;
echo "<br><br>";
echo nl2br($error_log."\n----------------------------------------------------------------------------------------------------\n".$error_log2);
echo nl2br($ausgabe);
echo "<br><br>".date("d.m.Y H:i:s")."<br>";
mail($adress, 'SYNC-Fehler StP-Prestudent von '.$_SERVER['HTTP_HOST'], $error_log."\n---------------------------------------------------------\n"
.$error_log2,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Prestudent von '.$_SERVER['HTTP_HOST'], "Sync Student\n------------\n\n"
."Prestudenten: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Fehler: ".$fehler." / Geändert: ".$update
."\nPrestudentrollen: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt1." / Fehler: ".$fehler1." / Geändert: ".$update1
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
@@ -1,635 +0,0 @@
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Projektarbeitsdatensaetze von FAS DB in PORTAL DB
//*
//*
//* setzt voraus: tbl_raumtyp, tbl_fachbereich, tbl_betreuerart
//* benoetigt: tbl_syncperson, tbl_studiengang
require_once('sync_config.inc.php');
require_once('../../../include/functions.inc.php');
$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;'))
{
$sql='CREATE TABLE sync.tbl_syncperson
(
person_id integer NOT NULL,
__Person integer NOT NULL
);
Grant select on sync.tbl_syncperson to group "admin";
Grant update on sync.tbl_syncperson to group "admin";
Grant delete on sync.tbl_syncperson to group "admin";
Grant insert on sync.tbl_syncperson to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.tbl_syncperson: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.tbl_syncperson wurde angelegt!<BR>';
}
$error_log='';
$error_log1='';
$error_log2='';
$error_log3='';
$error_log4='';
$error_log_ext='';
$ausgabe="";
$text = '';
$error = '';
$cont='';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_update=0;
$anzahl_fehler=0;
$eingefuegt=0;
$fehler=0;
$fehler1=0;
$fehler2=0;
$updates=0;
$dublette=0;
$plausi='';
$start='';
$ende='';
$anzahl_person_gesamt=0;
$anzahl_person_gesamt2=0;
$projekttyp_kurzbz='';
$studiensemester_kurzbz='';
$projektarbeit_id='';
$b1angelegt=0;
$b2angelegt=0;
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - StPoelten -> Vilesci - Projektabeiten</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//*********** Neue Daten holen *****************
$qry="SELECT chthema, chthemaengl, _cxbeurteilungsstufediplarbeit, COALESCE(dapruefungsdat,dapruefteil1dat) as pruefdat, _personlb, _personlb2,
__person, _cxgeschlecht, chtitel, chvorname, chnachname, studiengang_kz, tbl_studiengang.typ, max_semester FROM sync.stp_person
JOIN sync.stp_stgvertiefung ON (_stgvertiefung=__stgvertiefung)
JOIN public.tbl_studiengang ON (_studiengang=ext_id)
WHERE __Person IN (SELECT __person FROM sync.tbl_syncperson) AND (_cxPersonTyp='1' OR _cxPersonTyp='2')
AND chthema IS NOT NULL AND chthema!=''
AND COALESCE(dapruefungsdat,dapruefteil1dat) IS NOT NULL;";
//$error_log="Überprüfung Projektarbeitsdaten in EXT-DB:\n\n";
$start=date("d.m.Y H:i:s");
echo $start."<br>";
if($result = pg_query($conn, $qry))
{
$anzahl_person_gesamt=pg_num_rows($result);
$error_log_ext.="Anzahl der Datensätze: ".$anzahl_person_gesamt."\n";
echo nl2br($error_log_ext);
while($row=pg_fetch_object($result))
{
if($row->typ=='d' || $row->typ=='m')
{
$projekttyp_kurzbz='Diplom';
$kurzbz='DA';
$bezeichnung_engl='master´s thesis';
}
else
{
$projekttyp_kurzbz='Bachelor';
$kurzbz='BA';
$bezeichnung_engl='bachelor´s thesis';
}
//UID ermitteln
pg_query($conn, "BEGIN");
$qry_synk="SELECT * FROM public.tbl_student where ext_id=".myaddslashes($row->__person).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$uid=$row_synk->student_uid;
}
else
{
$error_log1.="\nStudent ".$row->__person." (ext_id) ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname)." in tbl_student nicht gefunden!";
$fehler++;
pg_query($conn, "ROLLBACK");
continue;
}
}
//LEHRVERANSTALTUNG, LEHRFACH UND LEHREINHEIT ANLEGEN BZW. AUSWÄHLEN
$qry_lv="SELECT * FROM lehre.tbl_lehrveranstaltung WHERE studiengang_kz=".myaddslashes($row->studiengang_kz)." AND bezeichnung=".myaddslashes($projekttyp_kurzbz.'arbeit')." AND semester=".myaddslashes($row->max_semester);
if($result_lv = pg_query($conn, $qry_lv))
{
if (pg_num_rows($result_lv)>0)
{
//LV vorhanden
if($row_lv=pg_fetch_object($result_lv))
{
$lehrveranstaltung_id=$row_lv->lehrveranstaltung_id;
}
}
else
{
//LV anlegen
$ins_lv="INSERT INTO lehre.tbl_lehrveranstaltung (kurzbz, bezeichnung, studiengang_kz, semester, sprache, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis,
aktiv, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, koordinator, sort, zeugnis, projektarbeit, lehrform_kurzbz, bezeichnung_english,
insertamum, insertvon, updateamum, updatevon, ext_id) VALUES (".
myaddslashes($kurzbz).", ".
myaddslashes($projekttyp_kurzbz.'arbeit').", ".
myaddslashes($row->studiengang_kz).", ".
myaddslashes($row->max_semester).", ".
"'German', ".
myaddslashes(24).", ".
myaddslashes(0).",
NULL,
TRUE, ".
myaddslashes(strtolower($kurzbz)).",
TRUE, ".
myaddslashes(1).", ".
myaddslashes(0).", ".
myaddslashes(0).", ".
myaddslashes(0).",
NULL,
NULL,
TRUE,
TRUE,
'BE', ".
myaddslashes($bezeichnung_engl).",
now(), 'sync', NULL, NULL, NULL);";
if(pg_query($conn, $ins_lv))
{
echo "<br>Lehrveranstaltung ".$projekttyp_kurzbz.'arbeit, '.$row->max_semester.".Semester in Studiengang ".$row->studiengang_kz." angelegt!";
//Sequenz auslesen
$qry_seq = "SELECT currval('lehre.tbl_lehrveranstaltung_lehrveranstaltung_id_seq') AS id;";
if($row_seq=pg_fetch_object(pg_query($conn,$qry_seq)))
{
$lehrveranstaltung_id=$row_seq->id;
}
else
{
$fehler++;
pg_query($conn, "ROLLBACK");
$error_log.='LV-Sequence konnte nicht ausgelesen werden\n';
continue;
}
}
else
{
pg_query($conn, "ROLLBACK");
exit("<br>Konnte Lehrveranstaltung nicht anlegen!<br>".$ins_lv);
}
}
}
//Lehrfach anlegen bzw. aufrufen
$qry_lf="SELECT * FROM lehre.tbl_lehrfach WHERE studiengang_kz=".myaddslashes($row->studiengang_kz)." AND bezeichnung=".myaddslashes($projekttyp_kurzbz.'arbeit')." AND semester=".myaddslashes($row->max_semester).";";
if($result_lf = pg_query($conn, $qry_lf))
{
if (pg_num_rows($result_lf)>0)
{
//LF vorhanden
if($row_lf=pg_fetch_object($result_lf))
{
$lehrfach_id=$row_lf->lehrfach_id;
}
}
else
{
//LF anlegen
$ins_lf="INSERT INTO lehre.tbl_lehrfach(studiengang_kz, fachbereich_kurzbz, kurzbz, bezeichnung, farbe, aktiv, semester, sprache,
insertamum, insertvon, updateamum, updatevon, ext_id) VALUES (".
myaddslashes($row->studiengang_kz).", ".
myaddslashes('Dummy').", ".
myaddslashes($kurzbz).", ".
myaddslashes($projekttyp_kurzbz.'arbeit').",
NULL,
TRUE, ".
myaddslashes($row->max_semester).",
'German',
now(), 'sync', NULL, NULL, NULL);";
");";
if(pg_query($conn, $ins_lf))
{
echo "<br>Lehrfach ".$projekttyp_kurzbz.'arbeit'.", Studiengang ".$row->studiengang_kz." im Semester ".$row->max_semester." angelegt!";
//Sequenz auslesen
$qry_seq = "SELECT currval('lehre.tbl_lehrfach_lehrfach_id_seq') AS id;";
if($row_seq=pg_fetch_object(pg_query($conn,$qry_seq)))
{
$lehrfach_id=$row_seq->id;
}
else
{
$fehler++;
$error_log.='LF-Sequence konnte nicht ausgelesen werden\n';
pg_query($conn, "ROLLBACK");
continue;
}
}
else
{
pg_query($conn, "ROLLBACK");
exit("<br>Konnte Lehrfach nicht anlegen!<br>".$ins_lf);
}
}
}
//Lehreinheit anlegen bzw. aufrufen
$studiensemester_kurzbz=getStudiensemesterFromDatum($conn, $row->pruefdat, false);
$qry_le="SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=".myaddslashes($lehrveranstaltung_id)." AND studiensemester_kurzbz=".myaddslashes($studiensemester_kurzbz);
if($result_le = pg_query($conn, $qry_le))
{
if (pg_num_rows($result_le)>0)
{
//LE vorhanden
if($row_le=pg_fetch_object($result_le))
{
$lehreinheit_id=$row_le->lehreinheit_id;
}
}
else
{
//LE anlegen
$ins_le="INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung,
wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr,
insertamum, insertvon, updateamum, updatevon, ext_id) VALUES (".
myaddslashes($lehrveranstaltung_id).", ".
myaddslashes($studiensemester_kurzbz).", ".
myaddslashes($lehrfach_id).", ".
myaddslashes('0').", ".
myaddslashes(1).", ".
myaddslashes(1).",
NULL, ".
myaddslashes('Dummy').", ".
myaddslashes('Dummy').", ".
myaddslashes('German').",
TRUE,
NULL,
NULL,
NULL,
now(), 'sync', NULL, NULL, NULL);";
");";
if(pg_query($conn, $ins_le))
{
echo "<br>Lehreinheit für LV ".$lehrveranstaltung_id." im Studiensemester ".$studiensemester_kurzbz." angelegt!";
//Sequenz auslesen
$qry_seq = "SELECT currval('lehre.tbl_lehreinheit_lehreinheit_id_seq') AS id;";
if($row_seq=pg_fetch_object(pg_query($conn,$qry_seq)))
{
$lehreinheit_id=$row_seq->id;
}
else
{
$fehler++;
$error_log.='LE-Sequence konnte nicht ausgelesen werden\n';
pg_query($conn, "ROLLBACK");
continue;
}
}
else
{
pg_query($conn, "ROLLBACK");
$fehler++;
exit("<br>Konnte Lehreinheit nicht anlegen!<br>".$ins_le);
}
}
}
// Check auf Doppelgaenger
$qry_dubel="SELECT * FROM lehre.tbl_projektarbeit WHERE student_uid=".myaddslashes($uid)." AND titel=".myaddslashes($row->chthema).";";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Neue Abschlussprüfung anlegen
$sql="INSERT INTO lehre.tbl_projektarbeit
(projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte, beginn, ende, faktor,
freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
insertamum,insertvon,updateamum,updatevon, ext_id)
VALUES (".
myaddslashes($projekttyp_kurzbz).", ".
myaddslashes($row->chthema).", ".
myaddslashes($lehreinheit_id).", ".
myaddslashes($uid).",
NULL, ".
myaddslashes($row->_cxbeurteilungsstufediplarbeit).",
NULL,
NULL, ".
myaddslashes($row->pruefdat).",
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
now(), 'sync', NULL, NULL, ".
myaddslashes($row->__person).");";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler++;
$error_log.= $sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
continue;
}
else
{
$ausgabe.="\n------------------------------------\nÜbertragen: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Projektarbeit (".$projekttyp_kurzbz."): Note: ".$row->_cxbeurteilungsstufediplarbeit.", Titel: ".$row->chthema;
$eingefuegt++;
pg_query($conn, "COMMIT");
//Sequenz auslesen
$qry_seq = "SELECT currval('lehre.tbl_projektarbeit_projektarbeit_id_seq') AS id;";
if($row_seq=pg_fetch_object(pg_query($conn,$qry_seq)))
{
$projektarbeit_id=$row_seq->id;
}
else
{
$fehler++;
$error_log.='Projektarbeit-Sequence konnte nicht ausgelesen werden\n';
pg_query($conn, "ROLLBACK");
continue;
}
}
}
else
{
if($row_dubel=pg_fetch_object($result_dubel))
{
//Update?
$sql='';
if($row_dubel->projekttyp_kurzbz!=$projekttyp_kurzbz && $projekttyp_kurzbz!=NULL && $projekttyp_kurzbz!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", projekttyp_kurzbz=".myaddslashes($projekttyp_kurzbz);
}
else
{
$sql="projekttyp_kurzbz=".myaddslashes($projekttyp_kurzbz);
}
}
if($row_dubel->lehreinheit_id!=$lehreinheit_id && $lehreinheit_id!=NULL && $lehreinheit_id!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", lehreinheit_id=".myaddslashes($lehreinheit_id);
}
else
{
$sql="lehreinheit_id=".myaddslashes($lehreinheit_id);
}
}
if($row_dubel->note!=$row->_cxbeurteilungsstufediplarbeit && $row->_cxbeurteilungsstufediplarbeit!=NULL && $row->_cxbeurteilungsstufediplarbeit!='')
{
if(strlen(trim($sql))>0)
{
$sql.=", note=".myaddslashes($row->_cxbeurteilungsstufediplarbeit);
}
else
{
$sql="note=".myaddslashes($row->_cxbeurteilungsstufediplarbeit);
}
}
if(strlen(trim($sql))==1)
{
//update nur mit änderungen
$sql="UPDATE lehre.tbl_projektarbeit SET ".$sql."
WHERE student_uid='".$uid."' AND titel='".$row->chthema."';";
if(!$result_neu = pg_query($conn, $sql))
{
$fehler++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
continue;
}
else
{
$ausgabe.="\n------------------------------------\nGeändert: ".$row->__person." - ".trim($row->chtitel)." ".trim($row->chnachname).", ".trim($row->chvorname);
$ausgabe.="\n---Projektarbeit (".$projekttyp_kurzbz."): Note: ".$row->_cxbeurteilungsstufediplarbeit.", Titel: ".$row->chthema;
$updates++;
pg_query($conn, "COMMIT");
}
}
else
{
//kein update da bereits gleich vorhanden
$dublette++;
}
$projektarbeit_id=$row_dubel->projektarbeit_id;
}
}
}
else
{
$fehler++;
$error_log.= "\n".$sql."\n<strong>".pg_last_error($conn)." </strong>\n";
pg_query($conn, "ROLLBACK");
continue;
}
//Betreuer anlegen _personlb, _personlb2
if($row->_personlb==NULL || $row->_personlb=='')
{
$betreuer1=NULL;
}
else
{
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".myaddslashes($row->_personlb).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$betreuer1=$row_synk->person_id;
}
else
{
$qry_err="SELECT chtitel, chvorname, chnachname FROM sync.stp_person
WHERE __person=".myaddslashes($row->_personlb).";";
if($result_err=pg_query($conn,$qry_err))
{
if($row_err=pg_fetch_object($result_err))
{
$error_log3.="\nBetreuer1 ".$row->_personlb.", ".trim($row_err->chtitel)." ".trim($row_err->chnachname).", ".trim($row_err->chvorname)." in tbl_syncperson nicht gefunden!";
}
else
{
$error_log3.="\nBetreuer1 ".$row->_personlb." in tbl_syncperson nicht gefunden!";
}
}
$fehler1++;
$betreuer1=NULL;
}
}
}
if($row->_personlb2==NULL || $row->_personlb2=='')
{
$betreuer2=NULL;
}
else
{
$qry_synk="SELECT * FROM sync.tbl_syncperson where __person=".myaddslashes($row->_personlb2).";";
if($result_synk=pg_query($conn, $qry_synk))
{
if($row_synk=pg_fetch_object($result_synk))
{
$betreuer2=$row_synk->person_id;
}
else
{
$qry_err="SELECT chtitel, chvorname, chnachname FROM sync.stp_person
WHERE __person=".myaddslashes($row->_personlb2).";";
if($result_err=pg_query($conn,$qry_err))
{
if($row_err=pg_fetch_object($result_err))
{
$error_log4.="\nBetreuer2 ".$row->_personlb2.", ".trim($row_err->chtitel)." ".trim($row_err->chnachname).", ".trim($row_err->chvorname)." in tbl_syncperson nicht gefunden!";
}
else
{
$error_log4.="\nBetreuer2 ".$row->_personlb2." in tbl_syncperson nicht gefunden!";
}
}
$fehler2++;
$betreuer2=NULL;
}
}
}
if($betreuer1!=NULL)
{
$qry_dubel="SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id=".myaddslashes($betreuer1)." AND projektarbeit_id=".myaddslashes($projektarbeit_id).";";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Betreuer1 anlegen
$qry_ins="INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, faktor, name, punkte, stundensatz, betreuerart_kurzbz, stunden,
insertamum, insertvon, updateamum, updatevon, ext_id) VALUES (".
myaddslashes($betreuer1).", ".
myaddslashes($projektarbeit_id).",
NULL, ".
myaddslashes(1).",
NULL,
NULL,
NULL, ".
myaddslashes('Erstbegutachter').",
NULL,
now(), 'sync', NULL, NULL, ".
myaddslashes($row->_personlb).");";
");";
if(!pg_query($conn, $qry_ins))
{
$fehler1++;
$error_log3.="\nBetreuer1 ".$betreuer1." konnte für Projektarbeit ID ".$projektarbeit_id." nicht eingetragen werden!";
}
else
{
$b1angelegt++;
$ausgabe.="\nBetreuer1 (".$betreuer1.") wurde für Projektarbeit ID ".$projektarbeit_id." angelegt.";
}
}
else
{
//Betreuer1 bereits vorhanden
}
}
}
if($betreuer2!=NULL)
{
$qry_dubel="SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id=".myaddslashes($betreuer2)." AND projektarbeit_id=".myaddslashes($projektarbeit_id).";";
if($result_dubel = pg_query($conn, $qry_dubel))
{
if (pg_num_rows($result_dubel)==0)
{
//Betreuer2 anlegen
$qry_ins="INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, faktor, name, punkte, stundensatz, betreuerart_kurzbz, stunden,
insertamum, insertvon, updateamum, updatevon, ext_id) VALUES (".
myaddslashes($betreuer2).", ".
myaddslashes($projektarbeit_id).",
NULL, ".
myaddslashes(1).",
NULL,
NULL,
NULL, ".
myaddslashes('Zweitbegutachter').",
NULL,
now(), 'sync', NULL, NULL, ".
myaddslashes($row->_personlb2).");";
");";
if(!pg_query($conn, $qry_ins))
{
$fehler2++;
$error_log4.="\nBetreuer2 ".$betreuer2." konnte für Projektarbeit ID ".$projektarbeit_id." nicht eingetragen werden!";
}
else
{
$b2angelegt++;
$ausgabe.="\nBetreuer2 (".$betreuer2.") wurde für Projektarbeit ID ".$projektarbeit_id." angelegt.";
}
}
else
{
//Betreuer2 bereits vorhanden
}
}
}
}
}
else
{
$fehler++;
echo "<br>".$qry."<br><strong>".pg_last_error($conn)." </strong><br>";
}
echo "<br><br><b>Projektarbeiten:</b>";
echo "<br>Eingefügt: ".$eingefuegt;
echo "<br>Updates: ".$updates;
echo "<br>Bereits vorhanden: ".$dublette;
echo "<br>Fehler: ".$fehler;
echo "<br>-----------------------------------";
echo "<br>Betreuer1: ".$b1angelegt." / Fehler: ".$fehler1;
echo "<br>Betreuer2: ".$b2angelegt." / Fehler: ".$fehler2;
$ende=date("d.m.Y H:i:s");
echo "<br><br>".$ende."<br>";
echo "<br>";
$error_log=$error_log1.$error_log2."\n--------------\n".$error_log3.$error_log4."\n--------------\n".$error_log;
if($error_log=='' )
{
echo "o.k.<br>";
}
else
{
echo nl2br($error_log);
}
echo nl2br("\n\n".$ausgabe);
mail($adress, 'SYNC-Fehler StP-Projektarbeit von '.$_SERVER['HTTP_HOST'], $error_log,"From: nsc@fhstp.ac.at");
mail($adress, 'SYNC StP-Projektarbeit von '.$_SERVER['HTTP_HOST'], "Sync Projektarbeit\n------------------\n\n"
."Projektarbeiten: Gesamt: ".$anzahl_person_gesamt." / Eingefügt: ".$eingefuegt." / Updates: ".$updates." / Fehler: ".$fehler." / Bereits vorhanden: ".$dublette
."\n\nBeginn: ".$start."\nEnde: ".date("d.m.Y H:i:s")."\n\n".$ausgabe, "From: nsc@fhstp.ac.at");
?>
</body>
</html>
@@ -1,91 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Kopiert stgvertiefung Tabelle von FH-DB StPoelten
//*
//*
require_once('sync_config.inc.php');
$starttime=time();
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
// Sync-Tabelle fuer Personen checken
if (!@pg_query($conn,'SELECT * FROM sync.stp_stgvertiefung LIMIT 1;'))
{
$sql='CREATE TABLE sync.stp_stgvertiefung (
__stgvertiefung integer,
_studiengang integer,
chbezeichnung varchar(256),
chkurzbez varchar(12),
constraint "pk_tbl_sync_stp_stgvertiefung" primary key ("__stgvertiefung"));
Grant select on sync.stp_stgvertiefung to group "admin";
Grant update on sync.stp_stgvertiefung to group "admin";
Grant delete on sync.stp_stgvertiefung to group "admin";
Grant insert on sync.stp_stgvertiefung to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.stp_stgvertiefung: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_stgvertiefung wurde angelegt!<BR>';
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FHDB -> FH-Complete - PreSyncStgVertiefung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if (!@pg_query($conn,'DELETE FROM sync.stp_stgvertiefung;'))
echo '<strong>sync.stp_stgvertiefung: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_stgvertiefung wurde geleert!<BR>';
echo 'Daten werden geholt!<BR>';
$i=0;
$qry="SELECT __stgvertiefung, _studiengang, chbezeichnung, chkurzbez FROM stgvertiefung;";
if($result_ext = mssql_query($qry,$conn_ext))
{
while($row=mssql_fetch_object($result_ext))
{
$qry="INSERT INTO sync.stp_stgvertiefung (__stgvertiefung, _studiengang, chbezeichnung, chkurzbez)
VALUES ('$row->__stgvertiefung','$row->_studiengang',".($row->chbezeichnung==''?'NULL':"'".$row->chbezeichnung."'").",".($row->chkurzbez==''?'NULL':"'".$row->chkurzbez."'").");";
if(!$result = pg_query($conn, $qry))
{
echo $qry.'<BR>'.pg_last_error($conn).' </strong><BR>';
}
echo '.';
flush();
$i++;
}
}
else
echo 'Fehler';//mssql_lasterror($conn_ext);
echo '<BR>Time elapsed: '.(time()-$starttime).' seconds!';
?>
</body>
</html>
@@ -1,291 +0,0 @@
<?php
// **************************************
// Syncronisiert alle Studenten
// legt zusaetzlich Lehrverband und
// Studentlehrverbandeintrag an
// StPoelten -> VILESCI
// setzt vorraus: - tbl_benutzer
// - sync.stp_person
// - sync.stp_stgvertiefung
// - public.tbl_studiensemester
// **************************************
require_once('sync_config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/lehrverband.class.php');
//$adress='pam@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Verbindungsaufbau!');
echo '
<html>
<head>
<title>STP - VILESCI (Student)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>';
echo 'Starte Studenten Syncronisation '.date('H:i:s').'<br>';
flush();
$head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Studenten aufgetreten:\n\n";
$text='';
$user_gesamt=0;
$anzahl_fehler=0;
$anzahl_update=0;
$anzahl_insert=0;
$anzahl_fehlender_benutzer=0;
$anzahl_doppelte_uid=0;
$statistik='';
// ******** SYNC START ********** //
$qry = "SELECT __person, studiengang_kz, instudiensemester, chusername, chmatrikelnr, chkalendersemstataend FROM sync.stp_person JOIN sync.stp_stgvertiefung ON(_stgvertiefung=__stgvertiefung) JOIN public.tbl_studiengang ON(_studiengang=ext_id) WHERE chusername<>'' AND chusername is not null AND _cxPersonTyp in(1, 2) AND chmatrikelnr!='' AND chmatrikelnr is not null
UNION
SELECT __person, studiengang_kz, instudiensemester, chusername, chmatrikelnr, 'W07' as chkalendersemstataend
FROM sync.stp_person JOIN sync.stp_stgvertiefung ON(_stgvertiefung=__stgvertiefung) JOIN public.tbl_studiengang ON(_studiengang=ext_id)
WHERE
chusername<>'' AND
chusername is not null AND
_cxPersonTyp in(1, 2) AND
chmatrikelnr!='' AND
chmatrikelnr is not null AND
_cxstudstatus in(3,4,9,10,11)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$user_gesamt++;
$qry_ext = "SELECT student_uid FROM public.tbl_student WHERE ext_id='$row->__person'";
if($result_ext = pg_query($conn, $qry_ext))
{
if($row_ext = pg_fetch_object($result_ext))
{
$student_uid = $row_ext->student_uid;
if($student_uid!=$row->chusername)
{
//Username wurde geaendert
$qry = "UPDATE public.tbl_benutzer SET uid='$row->chusername' WHERE uid='$student_uid'";
pg_query($conn, $qry);
$text.="UID von $student_uid auf $row->chusername geaendert\n";
$student_uid = $row->chusername;
$anzahl_update++;
}
}
else
{
$student_uid='';
}
}
else
{
$text.="Fehler beim Ermitteln der ext_id: ".pg_last_error($conn)."\n";
$anzahl_fehler++;
continue;
}
$student = new student($conn);
if($student_uid!='')
{
if($student->load($student_uid))
{
$student->new = false;
}
else
{
$text.="Fehler beim Laden eines Studenten $student_uid: ".$student->errormsg."\n";
$anzahl_fehler++;
continue;
}
}
else
{
$student->new = true;
}
//Pruefen ob der Lehrverband existiert und ggf anlegen
$lehrverband = new lehrverband($conn);
if(!$lehrverband->exists($row->studiengang_kz, $row->instudiensemester, '', ''))
{
$lehrverband->studiengang_kz = $row->studiengang_kz;
$lehrverband->semester = $row->instudiensemester;
$lehrverband->verband = '';
$lehrverband->gruppe = '';
$lehrverband->aktiv = true;
if(!$lehrverband->save(true))
{
$text.="Fehler beim Anlegen des Lehrverbandes $row->studiengang_kz/$row->instudiensemester\n";
$anzahl_fehler++;
continue;
}
}
//Pruefen ob Benutzer vorhanden ist
$qry_ext = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($row->chusername)."'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)==0)
{
$text.="Benutzer wurde nicht gefunden: $row->chusername\n";
$anzahl_fehlender_benutzer++;
$anzahl_fehler++;
continue;
}
}
else
{
$text.="Fehler beim ermitteln des Benutzers\n";
continue;
}
if($student_uid=='')
{
//Pruefen ob bereits ein Student mit dieser UID vorhanden ist
$qry_ext = "SELECT * FROM public.tbl_student WHERE student_uid='".addslashes($row->chusername)."'";
if($result_ext = pg_query($conn, $qry_ext))
{
if(pg_num_rows($result_ext)>0)
{
$text.="Student mit dieser uid bereits vorhanden: $row->chusername\n";
$anzahl_doppelte_uid++;
$anzahl_fehler++;
continue;
}
}
else
{
$text.="Fehler beim Suchen nach doppelten Eintraegen\n";
continue;
}
}
$updtext='';
if($student_uid!='')
{
if(trim($student->matrikelnr)!=$row->chmatrikelnr)
$updtext.=" Matrikelnr wurde von $student->matrikelnr auf $row->chmatrikelnr geaendert\n";
if($student->studiengang_kz!=$row->studiengang_kz)
$updtext.=" Studiengang wurde von $student->studiengang_kz auf $row->studiengang_kz geaendert\n";
if($student->semester != $row->instudiensemester)
$updtext.=" Semester wurde von $student->semester auf $row->instudiensemester geaendert\n";
if(trim($student->verband)!='')
$updtext.=" Verband wurde von $student->verband auf '' geaendert\n";
if(trim($student->gruppe)!='')
$updtext.=" Gruppe wurde von $student->gruppe auf '' geaendert\n";
}
$student->uid = $row->chusername;
$student->matrikelnr = $row->chmatrikelnr;
$student->prestudent_id = '';
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = $row->instudiensemester;
$student->verband = '';
$student->gruppe = '';
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'sync';
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'sync';
$student->ext_id_student = $row->__person;
if($updtext!='' || $student_uid=='')
{
if($student->save(null, false))
{
if($student->new)
{
$text.="Student $student->uid wurde neu angelegt\n";
$anzahl_insert++;
}
else
{
$text.="Student $student->uid wurde aktualisiert\n".$updtext;
$anzahl_update++;
}
}
else
{
$text.="Fehler beim Speichern: ".$student->errormsg."\n";
$anzahl_fehler++;
continue;
}
}
if($row->chkalendersemstataend=='')
{
//$row->chkalendersemstataend='W07';
$text.="Student $student->uid hat chkalendersemstataend nicht gesetzt\n";
$anzahl_fehler++;
continue;
}
$studiensemester=ucwords(substr($row->chkalendersemstataend,0,1)).'S'.((integer)substr($row->chkalendersemstataend,1,2)<11?'20':'19').substr($row->chkalendersemstataend,1,2);
//$studiensemester = 'WS2007';
$student->studiensemester_kurzbz = $studiensemester;
if($student->studentlehrverband_exists($student->uid, $student->studiensemester_kurzbz))
$student->new = false;
else
$student->new = true;
if(!$student->save_studentlehrverband())
{
$text.="Fehler beim Speichern des Studentlehrverbandeintrages:".$student->errormsg."\n";
$anzahl_fehler++;
}
else
{
//$text.="Saved: $student->uid - $student->studiensemester_kurzbz\n";
}
}
}
else
{
$text.= "Fehler beim Laden der Studenten\n\n";
$anzahl_fehler++;
}
$statistik .="Anzahl Studenten: ".($user_gesamt)."\n";
$statistik .="Anzahl der Fehler: ".($anzahl_fehler)."\n";
$statistik .="Anzahl Insert: $anzahl_insert\n";
$statistik .="Anzahl Update: $anzahl_update\n";
$statistik .="Fehlender Benutzereintrag: $anzahl_fehlender_benutzer\n";
$statistik .="Mehrfach vorhandene UIDs: $anzahl_doppelte_uid\n";
$statistik .="\n";
$qry = "SELECT count(*) as anzahl FROM sync.stp_person WHERE chmatrikelnr='' AND _cxpersontyp in(1,2) AND chusername<>''";
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$statistik .="Studenten mit Username ohne Matrikelnummer: $row->anzahl\n";
$qry = "SELECT count(*) as anzahl FROM sync.stp_person WHERE chmatrikelnr<>'' AND _cxpersontyp in(1,2) AND chusername=''";
if($result = pg_query($conn, $qry))
if($row = pg_fetch_object($result))
$statistik .="Studenten mit Matrikelnummer ohne Username: $row->anzahl\n";
$text = $statistik."\n\n".$text;
if(mail($adress, 'SYNC Studenten',$head_text.$text, "From: nsc@fhstp.ac.at"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,107 +0,0 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Kopiert telefon Tabelle von FH-DB StPoelten
//*
//*
require_once('sync_config.inc.php');
$starttime=time();
$conn=pg_connect(CONN_STRING)
or die("Connection zur FH-Complete Datenbank fehlgeschlagen");
if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
die('Fehler beim Verbindungsaufbau!');
mssql_select_db(STPDB_DB, $conn_ext);
/*
__Telefon (int)
chBemerkung (char)
chVorwahl (char)
chNummer (char)
chKlappe (char)
_Person (int)
boStandard (bit)
*/
// Sync-Tabelle fuer telefon checken
if (!@pg_query($conn,'SELECT * FROM sync.stp_telefon LIMIT 1;'))
{
$sql='CREATE TABLE sync.stp_telefon (
__telefon integer,
_person integer,
chbemerkung varchar(64),
chvorwahl varchar(16),
chnummer varchar(32),
chklappe varchar(16),
bostandard boolean,
constraint "pk_tbl_sync_stp_telefon" primary key ("__telefon"));
Grant select on sync.stp_telefon to group "admin";
Grant update on sync.stp_telefon to group "admin";
Grant delete on sync.stp_telefon to group "admin";
Grant insert on sync.stp_telefon to group "admin";';
if (!@pg_query($conn,$sql))
echo '<strong>sync.stp_telefon: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_telefon wurde angelegt!<BR>';
}
/*************************
* FAS-PORTAL - Synchronisation
*/
?>
<html>
<head>
<title>Synchro - FHDB -> FH-Complete - PreSyncTelefon</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if (!@pg_query($conn,'DELETE FROM sync.stp_telefon;'))
echo '<strong>sync.stp_telefon: '.pg_last_error($conn).' </strong><BR>';
else
echo 'sync.stp_telefon wurde geleert!<BR>';
echo 'Daten werden geholt!<BR>';
$i=0;
$qry="SELECT __Telefon, _Person, chVorwahl, chNummer, chKlappe, chBemerkung, boStandard FROM telefon;";
if($result_ext = mssql_query($qry,$conn_ext))
{
while($row=mssql_fetch_object($result_ext))
{
$qry="INSERT INTO sync.stp_telefon (__telefon, _person, chvorwahl, chnummer, chklappe, chbemerkung, bostandard)
VALUES ('$row->__Telefon','$row->_Person', ".
($row->chVorwahl==''?'NULL':"'".addslashes($row->chVorwahl)."'").", ".
($row->chNummer==''?'NULL':"'".$row->chNummer."'").", ".
($row->chKlappe==''?'NULL':"'".$row->chKlappe."'").", ".
($row->chBemerkung==''?'NULL':"'".$row->chBemerkung."'").", ".
"'$row->boStandard');";
if(!$result = pg_query($conn, $qry))
{
echo $qry.'<BR>'.pg_last_error($conn).' </strong><BR>';
}
echo '.';
flush();
$i++;
}
}
else
echo 'Fehler';//mssql_lasterror($conn_ext);
echo '<BR>Time elapsed: '.(time()-$starttime).' seconds!';
?>
</body>
</html>
-29
View File
@@ -1,29 +0,0 @@
<?php
$dont_sync_php=array('11','91','92','94','145','182','203','204','222','227','228','254','255','256','257','258','297','298','299','300','301','302','303','308','327','328','329','330','331','333','334','335','336','332','476','999');
function dont_sync_sql($dont_sync_php)
{
$no_sync_sql='';
foreach ($dont_sync_php AS $stgkz)
$no_sync_sql.=' AND studiengang_kz!='.$stgkz;
$no_sync_sql=substr($no_sync_sql,5);
return $no_sync_sql;
}
$dont_sync_sql=dont_sync_sql($dont_sync_php);
function dont_sync_sql_fas($dont_sync_php)
{
$no_sync_sql='';
foreach ($dont_sync_php AS $stgkz)
$no_sync_sql.=' AND studiengang.kennzahl!='.$stgkz;
return $no_sync_sql;
}
$dont_sync_sql_fas=dont_sync_sql_fas($dont_sync_php);
$adress='fas_sync@technikum-wien.at';
//$adress='pam@technikum-wien.at';
//$adress='ruhan@technikum-wien.at';
$adress_stpl='lvplan@technikum-wien.at';
//$adress_stpl='pam@technikum-wien.at';
$adress_fas='fas_sync@technikum-wien.at';
?>
-100
View File
@@ -1,100 +0,0 @@
<?php
require_once('../../vilesci/config.inc.php');
$adress='fas_sync@technikum-wien.at';
//$adress='pam@technikum-wien.at';
//mail($adress,"FAS Synchro mit VileSci","BEGIN OF SYNCHRONISATION","From: vilesci@technikum-wien.at");
$conn=pg_connect(CONN_STRING);
$conn_fas=pg_connect(CONN_STRING_FAS);
// Anzahl der Studenten in VILESCI
$sql_query="SELECT count(*) AS anz FROM public.tbl_student";
//echo $sql_query."<br>";
$result=pg_query($conn, $sql_query);
$vilesci_anz_std=pg_fetch_result($result,0,'anz');
// Start Studenten Synchro
$sql_query="SELECT DISTINCT uid FROM fas_view_vilesci_abbrecher WHERE uid IS NOT NULL AND uid NOT LIKE '' ORDER BY uid";// LIMIT 5";
//echo $sql_query."<br>";
flush();
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result);
$text="Dies ist eine automatische eMail!\r\r";
$text.="Es wurde eine Synchronisation mit FAS durchgeführt.\r";
$text.="Anzahl der Ex-Studenten vom FAS-Import: $num_rows \r";
$text.="Anzahl der Studenten in VileSci: $vilesci_anz_std \r\r";
echo $text.'<BR>';
flush();
$update_error=0;
$anz_update=0;
for ($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($result,$i);
$uid=str_replace(' ','',$row->uid);
// SQL vorbereiten (jeden Studenten vom FAS im vilesci suchen
$sql_query="SELECT uid, vorname, nachname, semester, studiengang_kz,verband,gruppe FROM campus.vw_student WHERE uid='$uid'";
//echo $sql_query;
$res_std=pg_query($conn, $sql_query);
$num_rows_std=pg_numrows($res_std);
// neue Studenten
if ($num_rows_std>=1)
{
$row_std=pg_fetch_object($res_std);
if ($row_std->semester!=0)
{
$row_std->verband=trim($row_std->verband);
$row_std->gruppe=trim($row_std->gruppe);
//Wenn dieser Lehrverband noch nicht existiert, wird er eingefuegt
$sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row_std->studiengang_kz' AND semester=0 AND verband='$row_std->verband' AND gruppe='$row_std->gruppe'";
$result_grp = pg_query($conn, $sql_query);
if(pg_num_rows($result_grp)==0)
{
$sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung) VALUES($row_std->studiengang_kz,0,'$row_std->verband','$row_std->gruppe', false, 'Ab-Unterbrecher');";
pg_query($conn, $sql_query);
$text.="Neuer Lehrverband wird erzeugt:$sql_query\r";
}
$text.="Der Student $row_std->vorname $row_std->nachname ($row_std->uid) wird verschoben.\r";
$sql_query="UPDATE public.tbl_student SET semester=0, "."verband='$row_std->verband', gruppe='$row_std->gruppe',";
//if ($row_std->verband!='')
// $sql_query.=verband="'$row_std->verband', gruppe='$row_std->gruppe',
$sql_query.="updateamum=now(), updatevon='auto' WHERE student_uid LIKE '$uid'";
echo $sql_query.'<BR>';
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$update_error++;
}
else
$anz_update++;
}
}
}
$text.="$update_error Fehler bei Student-Update!\r";
$text.="$anz_update Studenten wurden ins 0te Semester verschoben.\r";
$text.="\rEND OF SYNCHRONISATION\r";
if (mail($adress,'FAS-Sync (Ex-Studenten) von '.$_SERVER['HTTP_HOST'],$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS-Synchro mit VileSci (Ex-Studenten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK rel="stylesheet" href="../../include/styles.css" type="text/css">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo nl2br($text);
?>
</body>
</html>
-272
View File
@@ -1,272 +0,0 @@
<?php
require_once('../../vilesci/config.inc.php');
function clean_string($string)
{
$trans = array("ä" => "ae",
"ö" => "oe",
"ü" => "ue",
"Ä" => "ae",
"Ö" => "oe",
"Ü" => "ue",
"á" => "a",
"à" => "a",
"é" => "e",
"è" => "e",
"ó" => "o",
"ò" => "o",
"í" => "i",
"ì" => "i",
"ú" => "u",
"ù" => "u",
"ß" => "ss",
"´" => "",
"`" => "",
);
$string = strtr($string, $trans);
return $string;
}
$adress='fas_sync@technikum-wien.at';
//$adress='oesi@technikum-wien.at';
//mail($adress,"FAS Synchro mit VILESCI (Lektoren)","BEGIN OF SYNCHRONISATION","From: vilesci@technikum-wien.at");
$conn=pg_connect(CONN_STRING);
$conn_fas=pg_connect(CONN_STRING_FAS);
// Anzahl der Mitarbeiter in PORTAL
$sql_query="SELECT count(*) AS anz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid NOT LIKE '\\\\_%'";
//echo $sql_query."<br>";
$result=pg_query($conn, $sql_query);
$vil_anz_mta=pg_fetch_result($result,0,'anz');
// Start Studenten Synchro
$sql_query="SELECT * FROM vw_vilesci_mitarbeiter_aktiv WHERE uid IS NOT NULL AND uid NOT LIKE ''"; // LIMIT 5";
//echo $sql_query."<br>";
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result);
$text="Dies ist eine automatische eMail!\r\r";
$text.="Es wurde eine Synchronisation mit FAS durchgeführt.\r";
$text.="Anzahl der Mitarbeiter vom FAS-Import: $num_rows \r";
$text.="Anzahl der Mitarbeiter in PORTAL: $vil_anz_mta \r\r";
$plausi_error=0;
$update_error=0;
$insert_error=0;
$double_error=0;
$anz_update=0;
$anz_insert=0;
while($row=pg_fetch_object($result))
{
$row->gebort=substr($row->gebort,0,30);
//$row->titel=substr($row->titel,0,15);
$uid=str_replace(' ','',$row->uid);
// Plausibilitaetscheck
if (strlen($row->titel)>32)
$text.="Der Mitarbeiter $row->titel $row->vornamen $row->nachname ($row->uid) hat einen zu langen Titel.\r";
if (strlen($row->titel)<=32)
{
// SQL vorbereiten (jeden Mitarbeiter vom FAS in VILESCI suchen
$sql_query="SELECT uid,titelpre,vorname,nachname,gebdatum,gebort,";
$sql_query.="personalnummer";
$sql_query.=" FROM campus.vw_mitarbeiter WHERE uid = '$uid'";
//echo $sql_query;
$res_lkt=pg_query($conn, $sql_query);
$num_rows_lkt=pg_num_rows($res_lkt);
// neue Lektoren
if ($num_rows_lkt==0)
{
$text.="Der Lektor $row->vornamen $row->nachname ($row->uid) wird neu angelegt.\r";
pg_query($conn, "BEGIN");
// person
if(!$len=strpos($row->vornamen,' '))
{
$vorname=$row->vornamen;
$vornamen='';
}
else
{
$vorname=substr($row->vornamen,0,$len);
$vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
$qry = "INSERT INTO public.tbl_person(titelpre, nachname, vorname, vornamen, gebdatum, gebort, aktiv)
VALUES('$row->titel','$row->nachname','$vorname','$vornamen','$row->gebdatum','$row->gebort',true);";
echo $qry.'<BR>';
if(!$res_insert=pg_query($conn, $qry))
{
$text.=$qry;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
if(!$row_seq=pg_fetch_object(pg_query($conn,$qry)))
{
pg_query($conn, 'ROLLBACK');
$text = 'Sequence konnte nicht ausgelesen werden\n';
$insert_error++;
}
else
{
$person_id = $row_seq->id;
//Benutzer Datensatzt anlegen
$qry = "INSERT INTO public.tbl_benutzer(uid, person_id, aktiv, insertamum, insertvon, updateamum, updatevon)
VALUES('$row->uid','$person_id','true',now(),'auto',now(),'auto');";
if(!pg_query($conn, $qry))
{
pg_query($conn, 'ROLLBACK');
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$insert_error++;
}
else
{
//Alias erstellen
$vn = split('[- .,]',strtolower($row->vornamen));
$vn = clean_string($vn[0]);
$nn = split('[- .,]',strtolower($row->nachname));
$nn = clean_string($nn[0]);
$alias = $vn.".".$nn;
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias='$alias'";
$result_alias = pg_query($conn, $qry);
if(pg_num_rows($result_alias)==0)
{
$qry = "UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
if(!$res_insert=pg_exec($conn, $qry))
{
$text.=$qry;
$text.="\rFehler: ".pg_errormessage($conn);
$insert_error++;
}
}
else
{
$text.="UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
$text.="\rFehler: Alias existiert bereits: $alias";
}
// Mitarbeiterdatensatz
$sql_query="INSERT INTO tbl_mitarbeiter (mitarbeiter_uid,personalnummer,telefonklappe,kurzbz,lektor,fixangestellt, insertamum, insertvon, updateamum, updatevon) ".
"VALUES('$row->uid','$row->persnr','$row->teltw','$row->kurzbez',true,".($row->fixangestellt?'true':'false').",now(),'auto',now(),'auto')";
echo $sql_query.'<BR>';
if(!$res_insert=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
pg_query($conn, 'ROLLBACK');
$insert_error++;
}
else
{
$anz_insert++;
pg_query($conn, 'COMMIT');
}
}
}
}
}
// bestehende Lektoren
elseif ($num_rows_lkt==1)
{
$update=0;
$row_lkt=pg_fetch_object($res_lkt,0);
if(!$len=strpos($row->vornamen,' '))
{
$vorname=$row->vornamen;
$vornamen='';
}
else
{
$vorname=substr($row->vornamen,0,$len);
$vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
//if ($row->gruppe==NULL)
// $row->gruppe=1;
if ($row->titel!=$row_lkt->titelpre)
$update=1;
elseif ($vorname!=$row_lkt->vorname)
$update=2;
elseif ($row->nachname!=$row_lkt->nachname)
$update=3;
elseif ($row->gebdatum!=$row_lkt->gebdatum)
$update=4;
elseif ($row->gebort!=$row_lkt->gebort)
$update=5;
elseif ($row->persnr!=$row_lkt->personalnummer)
$update=6;
if ($update)
{
$text.="Der Lektor $row->vornamen $row->nachname ($row->uid) [$update] wird upgedatet.\r";
// person
$sql_query="UPDATE public.tbl_person SET titelpre='$row->titel', vorname='$vorname', vornamen='$vornamen', ".
" nachname='$row->nachname', gebdatum='$row->gebdatum', gebort='$row->gebort'".
" WHERE person_id=(SELECT person_id FROM public.tbl_benutzer WHERE uid='$uid')";
echo $sql_query.'<BR>';
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$update_error++;
}
$sql_query="UPDATE public.tbl_mitarbeiter SET personalnummer='$row->persnr',fixangestellt=".($row->fixangestellt?'TRUE':'FALSE');
$sql_query.=" WHERE mitarbeiter_uid LIKE '$uid'";
echo $sql_query.'<BR>'; // kurzbz='$row->kurzbez',
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$update_error++;
}
else
$anz_update++;
}
}
// Lektor kommt mehrmals vor ->Warnung
elseif ($num_rows_lkt>1)
{
$text.="\r!!! Der Lektor $row->vornamen $row->nachname ($row->uid) kommt mehrfach vor!\r";
$double_error++;
}
}
else
$plausi_error++;
}
$text.="\r$plausi_error Fehler beim Plausibilitaetscheck!\r";
$text.="$update_error Fehler bei Lektor-Update!\r";
$text.="$insert_error Fehler bei Lektor-Insert!\r";
$text.="$double_error Lektoren kommen in VileSci doppelt vor!\r\r";
$text.="$anz_update Lektoren wurden upgedatet.\r";
$text.="$anz_insert Lektoren wurden neu angelegt.\r\r";
$text.="\rEND OF SYNCHRONISATION\r";
if (mail($adress,"FAS Synchro mit PORTAL (Lektoren)",$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS-Synchro mit VileSci (Lektoren)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo nl2br($text);
?>
</body>
</html>
-56
View File
@@ -1,56 +0,0 @@
<?php
/***************************************************************
Script zur Feststellung, welche Daten im FAS nicht durchkommen.
***************************************************************/
$adress='pam@technikum-wien.at';
include('../../vilesci/config.inc.php');
$conn=pg_connect($conn_string);
$conn_fas=pg_connect($conn_string_fas);
$headers ="MIME-Version: 1.0\r\n";
$headers.="Content-type: text/html; charset=UTF-8\r\n";
$headers.="From: vilesci@technikum-wien.at";
$bgcolor[0]="#CCCCCC";
$bgcolor[1]="#DDDDDD";
$text='<html><head><title>FAS-Synchro mit TEMPUS fehlende Lektoren</title></head>';
$text.='<body>';
// Start Check
//Daten aus vilesci holen
$sql_query="SELECT tbl_person.*,tbl_mitarbeiter.personalnummer,tbl_mitarbeiter.kurzbz,tbl_mitarbeiter.fixangestellt FROM tbl_person join tbl_mitarbeiter using(uid) WHERE uid NOT LIKE '\\\\_%' ORDER BY nachname";
//echo $sql_query."<br>";
$result=pg_exec($conn, $sql_query);
$num_rows=pg_numrows($result);
// Daten aus dem FAS
$sql_query="SELECT * FROM fas_view_lektoren_vilesci";
//echo $sql_query."<br>";
$result_fas=pg_exec($conn_fas, $sql_query);
$fehlend=$num_rows-$num_rows_fas;
$num_rows_fas=pg_numrows($result_fas);
$text.="Dies ist eine automatische eMail!<BR><BR>";
$text.="Es wurde eine Ueberpruefung der Daten in der FAS-View fuer Lektoren durchgeführt.<BR>";
$text.='Anzahl der fehlenden Daten: $fehlend <BR><BR>';
$text.="Folgende Lektoren scheinen in der FAS-View nicht auf";
$text.='<TABLE border="0"><TR bgcolor="#D3DCE3"><TH>uid</TH><TH>Titel</TH><TH>Vornamen</TH><TH>Nachname</TH></TR>';
for ($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($result,$i);
$sql_query="SELECT uid FROM fas_view_lektoren_vilesci WHERE uid LIKE '$row->uid'";
$result_fas=pg_exec($conn_fas, $sql_query);
if (pg_numrows($result_fas)!=1)
$text.='<TR bgcolor="'.$bgcolor[$i%2].'"'."><TD>$row->uid</TD><TD>$row->titel</TD><TD>$row->vornamen</TD><TD>$row->nachname</TD></TR>";
}
$text.='</TABLE></BODY></HTML>';
echo $text;
if (mail($adress,"FAS Synchro mit TEMPUS fehlende Lektoren",$text,$headers))
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
?>
-839
View File
@@ -1,839 +0,0 @@
<?php
require('sync_config.inc.php');
require('../../vilesci/config.inc.php');
require('../../include/functions.inc.php');
require('../../include/lehrstunde.class.php');
$conn=pg_connect(CONN_STRING);
$conn_fas=pg_connect(CONN_STRING_FAS);
if (isset($_GET['studiensemester']))
$ss_where="studiensemester_kurzbz='".$_GET['studiensemester']."'";
else
{
$qry="SELECT * FROM public.tbl_studiensemester WHERE ende>now()";
$result=pg_query($conn, $qry);
$ss_where='';
while ($row=pg_fetch_object($result))
{
$ss_where.= ((strlen($ss_where)>0)?' or ':'')."studiensemester_kurzbz='".$row->studiensemester_kurzbz."' ";
}
if (strlen($ss_where)>0) $ss_where=" ($ss_where) ";
}
// error log für jeden Studiengang
$error_log=array();
$missing_lehrfaecher=array();
$missing_lehrveranstaltungen=array();
$missing_einheit=array();
$missing_raumtyp=array();
$missing_lehrform=array();
function insert_sync($vilesci_id,$ext_id,$table_name,$conn)
{
$qry="INSERT INTO sync.$table_name VALUES ($vilesci_id , $ext_id);";
if (!$result=@pg_query($conn, $qry))
{
$error = substr(pg_last_error($conn), 0, 25);
//echo '<BR>|'.trim($error).'|<BR>';
if (trim($error)==trim('ERROR: Duplizierter Wert'))
return true;
else
//echo pg_last_error($conn);
return false;
}
else
return true;
}
function printLVA($row)
{
return 'lvnr='.$row->lvnr.' '.$row->lv_bezeichnung;
}
function validate($row)
{
global $error_log,$einheit,$missing_einheit,$missing_raumtyp,$missing_lehrform,$raumtyp,$lehrform;
$valid=true;
if ($row->raumtyp==null)
{
$error_log[$row->studiengang_kz][]=printLVA($row).': Raumtyp fehlt';
$valid=false;
}
if ($row->semester>8 || $row->semester<1)
{
$error_log[$row->studiengang_kz][]=printLVA($row).': Semester bei '.$row->semester.$row->verband.$row->gruppe.' größer als 8';
$valid=false;
}
if (!(is_null($row->verband) || $row->verband==null || $row->verband=='' || $row->verband=='A' || $row->verband=='B' || $row->verband=='C' || $row->verband=='D'))
{
$error_log[$row->studiengang_kz][]=printLVA($row).': Verband bei '.$row->semester.$row->verband.$row->gruppe.' außerhalb des gültigen Bereichs (A bis D)';
//print_r($row);
$valid=false;
}
if (!(is_null($row->gruppe) || $row->gruppe==null || $row->gruppe=='' || $row->gruppe=='1' || $row->gruppe=='2' || $row->gruppe=='3' || $row->gruppe=='4'))
{
$error_log[$row->studiengang_kz][]=printLVA($row).': Gruppe bei '.$row->semester.$row->verband.$row->gruppe.' außerhalb des gültigen Bereichs (1 bis 4)';
$valid=false;
}
if (!$row->stundenblockung>0) {
$error_log[$row->studiengang_kz][]=printLVA($row).': Stundenblockung ist nicht größer 0';
$valid=false;
}
if (!($row->semesterstunden>=0)) {
$error_log[$row->studiengang_kz][]=printLVA($row).': Semesterstunden sind nicht >= 0';
$valid=false;
}
if (!$row->wochenrythmus>0)
{
$error_log[$row->studiengang_kz][]=printLVA($row).': Wochenrythmus ist nicht größer 0';
$valid=false;
}
if ($row->start_kw<=0 || $row->start_kw>53)
{
$error_log[$row->studiengang_kz][]=printLVA($row).': Start-KW außerhalb des gültigen Bereichs (1 bis 53)';
$valid=false;
}
if (strlen($row->einheit_kurzbz)>0 && !isset($einheit[$row->einheit_kurzbz]) && !isset($missing_einheit[$row->einheit_kurzbz]))
{
$missing_einheit[$row->einheit_kurzbz]=1;
}
if (strlen($row->raumtyp)>0 && !isset($raumtyp[$row->raumtyp]) && !isset($missing_raumtyp[$row->raumtyp]))
{
$missing_raumtyp[$row->raumtyp]=1;
$valid=false;
}
if (strlen($row->raumtypalternativ)>0 && !isset($raumtyp[$row->raumtypalternativ]) && !isset($missing_raumtyp[$row->raumtypalternativ])) {
$missing_raumtyp[$row->raumtypalternativ]=1;
}
if (!ereg("^[A-Za-z]{1,5}[0-9]{0,1}$",$row->raumtyp))
{
$error_log[$row->studiengang_kz][]=$row->raumtyp.': Raumtyp bei LVNR:'.$row->lvnr.' ist nicht plausibel.';
$valid=false;
}
if (!ereg("^[A-Za-z]{1,5}[0-9]{0,1}$",$row->raumtypalternativ))
{
$error_log[$row->studiengang_kz][]=$row->raumtypalternativ.': Raumtypalternative bei LVNR:'.$row->lvnr.' ist nicht plausibel.';
$valid=false;
}
if (strlen($row->lehrform)>0 && !isset($lehrform[$row->lehrform]) && !isset($missing_lehrform[$row->lehrform])) {
$missing_lehrform[$row->lehrform]=1;
}
if (!ereg("^[A-Z]{1,5}[0-9]{0,1}$",$row->lehrfach_kurzbz))
{
$error_log[$row->studiengang_kz][]=$row->lehrfach_kurzbz.'-'.$row->lehrform.'/'.$row->studiengang_kz.'-'.$row->semester.': Lehrfach-Kuerzel bei LVNR:'.$row->lvnr.' ist nicht plausibel.';
$valid=false;
}
if (!ereg("^[A-Z]{1,3}$",$row->lehrform))
{
$error_log[$row->studiengang_kz][]=$row->lehrfach_kurzbz.'-'.$row->lehrform.'/'.$row->studiengang_kz.'-'.$row->semester.': Lehrform bei LVNR:'.$row->lvnr.' ist nicht plausibel.';
$valid=false;
}
return $valid;
}
/**
* FAS-Lehrfach auf interne Lehrfach-Nr übersetzen
*/
function getLehrfachId($kurzbz,$studiengang_kz,$semester,$lehrfach_bezeichnung, $fachbereich_id, $conn)
{
global $lehrfach;
global $text;
if (isset($lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_id']))
{
//echo 'Nummer:'.$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_nr'].'Bez: '.$lehrfach_bezeichnung.'<BR>';
// Nebenbei die Lehrfachbezeichnung kontrollieren
if ($lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_bezeichnung']!=$lehrfach_bezeichnung)
{
// Update
$qry="UPDATE lehre.tbl_lehrfach SET bezeichnung='$lehrfach_bezeichnung' WHERE lehrfach_id=".$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_id'];
if (!$result=pg_query($conn, $qry))
echo $qry.' fehlgeschlagen!<BR>';
else
{
echo 'Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurde von '.$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_bezeichnung'].' auf '.$lehrfach_bezeichnung.' geaendert!<BR>';
$text.='Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurde von '.$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_bezeichnung'].' auf '.$lehrfach_bezeichnung." geaendert!\n";
$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_bezeichnung']=$lehrfach_bezeichnung;
}
}
// Nebenbei die FachbereichID kontrollieren
if ($lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['fachbereich_id']!=$fachbereich_id)
{
// Update
$qry="UPDATE lehre.tbl_lehrfach SET fachbereich_kurzbz=(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich where ext_id=$fachbereich_id LIMIT 1) WHERE lehrfach_id=".$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_id'];
if (!$result=@pg_query($conn, $qry))
echo $qry.' fehlgeschlagen!<BR>';
else
{
echo 'Bei Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurde die FachbereichID von '.$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['fachbereich_id'].' auf '.$fachbereich_id.' geaendert!<BR>';
$text.='Bei Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurde die FachbereichID von '.$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['fachbereich_id'].' auf '.$fachbereich_id.' geaendert!\n';
$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['fachbereich_id']=$fachbereich_id;
}
}
return $lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_id'];
}
//echo 'missing getLehrfachNr: '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.'<br>';
return -1;
}
/**
* FAS-LV auf interne LV-id übersetzen
*/
function getLvId($kurzbz,$studiengang_kz,$semester,$lv_bezeichnung, $ects, $conn)
{
global $lehrveranstaltung;
global $text;
if (isset($lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrveranstaltung_id']))
{
//echo 'Nummer:'.$lehrfach[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrfach_nr'].'Bez: '.$lehrfach_bezeichnung.'<BR>';
// Nebenbei die LVbezeichnung kontrollieren
if ($lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['bezeichnung']!=$lv_bezeichnung)
{
// Update
$qry="UPDATE lehre.tbl_lehrveranstaltung SET bezeichnung='$lv_bezeichnung' WHERE lehrveranstaltung_id=".$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrveranstaltung_id'];
if (!$result=pg_query($conn, $qry))
echo $qry.' fehlgeschlagen!<BR>';
else
{
echo 'Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurde von '.$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['bezeichnung'].' auf '.$lv_bezeichnung.' geaendert!<BR>';
$text.='Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurde von '.$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['bezeichnung'].' auf '.$lv_bezeichnung." geaendert!\n";
$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['bezeichnung']=$lv_bezeichnung;
}
}
// Nebenbei die ECTS Punkte kontrollieren
if ($lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['ects']!=$ects)
{
if ($ects!='') //ereg("[0-9]{1,4}[\.|,][0-9]{0,2}$",$ects)
{
// Update
$qry="UPDATE lehre.tbl_lehrveranstaltung SET ects='$ects' WHERE lehrveranstaltung_id=".$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrveranstaltung_id'];
//echo $qry.'<BR>';
if (!$result=pg_query($conn, $qry))
echo $qry.' fehlgeschlagen!<BR>';
else
{
echo ' Bei Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurden die ECTS-Punkte von '.$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['ects'].' auf '.$ects.' geaendert!<BR>';
$text.='Bei Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' wurden die ECTS-Punkte von '.$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['ects'].' auf '.$ects." geaendert!\n";
$lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['ects']=$ects;
}
}
else
{
echo 'Bei Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' sind die ECTS-Punkte von '.$ects.' nicht Plausibel!<BR>';
$text.='Bei Lehrfach '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.' sind die ECTS-Punkte von '.$ects." nicht Plausibel!\n";
}
}
return $lehrveranstaltung[$kurzbz.'/'.$studiengang_kz.'/'.$semester]['lehrveranstaltung_id'];
}
//echo 'missing getLehrfachNr: '.$kurzbz.'/'.$studiengang_kz.'/'.$semester.'<br>';
return -1;
}
/*************************
* FAS-Synchronisation
*/
// E-Mails der Studiengänge
$stg_mail=array();
$qry="select studiengang_kz,email,upper(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang";
$result=pg_query($conn, $qry);
while ($row=pg_fetch_object($result))
{
$stg_mail[$row->studiengang_kz] = $row->email; //'oesi@technikum-wien.at';
$stg_kurzbz[$row->studiengang_kz]=$row->kurzbz;
}
// Anzahl der LVA in VileSci
$sql_query="SELECT count(*) AS anz FROM lehre.tbl_lehrveranstaltung";
//echo $sql_query."<br>";
$result=pg_query($conn, $sql_query);
$row=pg_fetch_object($result);
$vil_anz_lva = $row->anz;
// Lehrfächer holen und in Array speichern (Key ist kurzbz + '/' + lehform_kurzbz)
$sql_query="SELECT lehrfach_id, tbl_lehrfach.kurzbz, tbl_lehrfach.studiengang_kz, tbl_lehrfach.semester, tbl_lehrfach.bezeichnung, tbl_fachbereich.ext_id as fachbereich_id, tbl_fachbereich.fachbereich_kurzbz FROM lehre.tbl_lehrfach JOIN public.tbl_fachbereich using(fachbereich_kurzbz)";
$result=pg_query($conn, $sql_query);
while ($row=pg_fetch_object($result))
{
$lehrfach[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['lehrfach_id'] = $row->lehrfach_id;
$lehrfach[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['fachbereich_id'] = $row->fachbereich_id;
$lehrfach[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['lehrfach_bezeichnung'] = $row->bezeichnung;
//$lehrfach[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['ects'] = $row->ects;
}
//LVA holen und in Array speichern (Key ist kurzbz + '/' + lehform_kurzbz)
$sql_query="SELECT lehrveranstaltung_id,kurzbz,studiengang_kz,semester, bezeichnung, ects FROM lehre.tbl_lehrveranstaltung";
$result=pg_query($conn, $sql_query);
while ($row=pg_fetch_object($result))
{
$lehrveranstaltung[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['lehrveranstaltung_id'] = $row->lehrveranstaltung_id;
//$lehrveranstaltung[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['lehrfach_id'] = $row->lehrfach_id;
$lehrveranstaltung[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['bezeichnung'] = $row->bezeichnung;
$lehrveranstaltung[$row->kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]['ects'] = $row->ects;
}
//print_r($lehrfach);
// Gruppen holen
$sql_query="SELECT gruppe_kurzbz,bezeichnung FROM public.tbl_gruppe";
$result=pg_query($conn, $sql_query);
while ($row=pg_fetch_object($result))
$einheit[$row->gruppe_kurzbz] = $row->bezeichnung;
// Raumtypen holen
$sql_query="SELECT raumtyp_kurzbz,beschreibung FROM public.tbl_raumtyp";
$result=pg_query($conn, $sql_query);
while ($row=pg_fetch_object($result))
$raumtyp[$row->raumtyp_kurzbz] = $row->beschreibung;
// Lehformen holen
$sql_query="SELECT lehrform_kurzbz,bezeichnung FROM lehre.tbl_lehrform";
$result=pg_query($conn, $sql_query);
while ($row=pg_fetch_object($result))
$lehrform[$row->lehrform_kurzbz] = $row->bezeichnung;
//print_r($lehrfach);
echo 'FAS-Datenbank wird abgefragt!<BR><i>';
flush();
// Start Lehrveranstaltungen Synchro
$sql_query="SELECT DISTINCT fas_id,lehreinheit_pk,trim(lvnr) AS lvnr,trim(unr)::int8 AS unr,einheit_kurzbz,lektor,trim(upper(lehrfach_kurzbz)) AS lehrfach_kurzbz,
trim(upper(lehrform)) AS lehrform, lehrfach_bezeichnung, trim(upper(lv_kurzbz)) AS lv_kurzbz, lv_bezeichnung,
studiengang_kz,fachbereich_id,semester,verband,gruppe,raumtyp,raumtypalternativ,
round(semesterstunden) AS semesterstunden,stundenblockung,wochenrythmus,start_kw,anmerkung,studiensemester_kurzbz, ects
FROM fas_view_alle_lehreinheiten_vilesci WHERE ".$ss_where.' AND '.$dont_sync_sql.';';
echo $sql_query."</i><br>";
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result);
$text="Dies ist eine automatische eMail!\r\r";
$text.="Es wurde eine Synchronisation mit FAS durchgeführt.($ss_where)\r";
$text.="Anzahl der LE vom FAS-Import: $num_rows \r";
$text.="Anzahl der LE in der VileSci: $vil_anz_lva \r\r";
$plausi_error=0;
$update_error=0;
$insert_error=0;
$double_error=0;
$anz_update=0;
$anz_insert=0;
echo $num_rows.' Datensaetze<BR>';
for ($i=0;$i<$num_rows;$i++)
{
//if ($i%100==0)
//{
// echo '-';
// flush();
//}
$row=pg_fetch_object($result,$i);
// Kennzahl der Studiengangs bei ehemaligen bTec auf TW aendern.
if ($row->studiengang_kz==203)
$row->studiengang_kz=0;
// Lehrfach-Nr übersetzen (-1 wenn nicht vorhanden)
$row->lehrfach_id=getLehrfachid($row->lehrfach_kurzbz,$row->studiengang_kz,$row->semester, $row->lehrfach_bezeichnung, $row->fachbereich_id, $conn);
$row->lehrveranstaltung_id=getLvId($row->lv_kurzbz,$row->studiengang_kz,$row->semester, $row->lv_bezeichnung, $row->ects, $conn);
// Einheit vollstaendiger Name
if (count($row->einheit_kurzbz)>0)
$row->einheit_kurzbz=$stg_kurzbz[$row->studiengang_kz].'-'.$row->einheit_kurzbz;
// Plausibilitaetscheck
//if ($row->gruppe==NULL)
// $row->gruppe='1';
//
if (!$row->stundenblockung>0)
$row->stundenblockung=1;
if (!$row->start_kw>0)
$row->start_kw=1;
if (!$row->wochenrythmus>0)
$row->wochenrythmus=1;
if ($row->lehrfach_id==-1)
{
//$error_log[$row->studiengang_kz][]=printLVA($row).': Lehrfach (Kurzbz='".$row->lehrfach_kurzbz."',Lehrform".$row->lehrform) existiert noch nicht. Stundenplanabteilung wurde benachrichtigt.';
if (!isset($missing_lehrfaecher[$row->lehrfach_kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester])) $missing_lehrfaecher[$row->lehrfach_kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]=1;
$valid=false;
}
if ($row->lehrveranstaltung_id==-1)
{
if (!isset($missing_lehrveranstaltungen[$row->lv_kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester])) $missing_lehrveranstaltungen[$row->lv_kurzbz.'/'.$row->studiengang_kz.'/'.$row->semester]=1;
$valid=false;
}
if (validate($row) && $row->lehrfach_id>-1 && $row->lehrveranstaltung_id>-1)
{
// SQL vorbereiten (jede LVA vom FAS im VileSci suchen)
$sql_query="SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE tbl_lehreinheitmitarbeiter.ext_id=".$row->fas_id;
//echo $sql_query;
$res_lva=pg_query($conn, $sql_query);
$num_rows_lva=pg_num_rows($res_lva);
// neue Lehreinheit
if ($num_rows_lva==0)
{
$text.="Die Lehreinheit fas-id=$row->fas_id lvnr=$row->lvnr unr=$row->unr wird neu angelegt.\r";
pg_query($conn, 'BEGIN');
//Neue Lehreinheit anlegen
$sql_query='INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id,'.
'lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache,'.
'lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon) '.
"VALUES('$row->lehrveranstaltung_id','$row->studiensemester_kurzbz','$row->lehrfach_id',".
"'$row->lehrform',".
"'$row->stundenblockung',".
"'$row->wochenrythmus',".
"'$row->start_kw',".
"'$row->raumtyp',".
"'$row->raumtypalternativ',".
"'German',".
"true,".
"'$row->anmerkung',".
"'$row->unr',".
"'$row->lvnr',".
"now(),'auto', now(),'auto');";
echo $sql_query.'<BR>';
if(!$res_insert=@pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
//Lehreinheit_id auslesen
$sql_query = "SELECT currval('lehre.tbl_lehreinheit_lehreinheit_id_seq') as id";
echo $sql_query.'<br>';
if(!$row_seq = pg_fetch_object(pg_query($conn, $sql_query)))
{
$text.=$sql_query;
$text.="\nFehler: Sequence konnte nicht ausgelesen werden\n";
$insert_error++;
pg_query($conn,'ROLLBACK');
}
else
{
// Sync-Tabelle aktualisieren
insert_sync($row_seq->id,$row->lehreinheit_pk,'tbl_synclehreinheit',$conn);
//Gruppe zuteilen
$sql_query = 'INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheit_id, studiengang_kz,'.
' semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon ,insertamum, insertvon, ext_id)'.
" VALUES('$row_seq->id','$row->studiengang_kz', '$row->semester',";
if ($row->verband==null)
$sql_query.='NULL,';
else
$sql_query.="'$row->verband',";
if ($row->gruppe==null)
$sql_query.='NULL,';
else
$sql_query.="'$row->gruppe',";
$sql_query.=(strlen($row->einheit_kurzbz)>0?"'".$row->einheit_kurzbz."'":'NULL').",now(),'auto',now(),'auto', '$row->fas_id');";
echo $sql_query.'<br>';
if(!pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
//Lektor zuteilen
$sql_query = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid,'.
'lehrfunktion_kurzbz, semesterstunden, planstunden, stundensatz, faktor, anmerkung,'.
'bismelden, updateamum, updatevon, insertamum, insertvon, ext_id)'.
" VALUES('$row_seq->id','$row->lektor','Lektor','$row->semesterstunden',".
" NULL, NULL, 1, NULL, true, now(), 'auto',now(),'auto', '$row->fas_id');";
echo $sql_query.'<br>';
if(!pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
pg_query($conn, 'COMMIT');
$anz_insert++;
}
}
}
}
}
elseif ($num_rows_lva>0)// bestehende Lehreinheit
{
$update_sql='';
$row_lva=pg_fetch_object($res_lva);
$sql_query = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$row_lva->lehreinheit_id'";
if(!$result_le = pg_query($conn, $sql_query))
{
$update_error++;
$text.="\nLehreinheit konnte nicht geladen werden: $sql_query\n";
}
else
{
$row_le = pg_fetch_object($result_le);
$update=false;
$update_sql='';
if ($row->lvnr!=$row_le->lvnr)
$update_sql.=(strlen($update_sql)>0?',':'')."lvnr='".$row->lvnr."'";
if ($row->unr!=$row_le->unr)
$update_sql.=(strlen($update_sql)>0?',':'')."unr=".$row->unr;
//if ($row->lehrfach_nr!=$row_le->lehrfach_id)
// $update_sql.=(strlen($update_sql)>0?',':'')."lehrfach_nr=".$row->lehrfach_nr;
if ($row->lehrform!=$row_le->lehrform_kurzbz)
$update_sql.=(strlen($update_sql)>0?',':'')."lehrform_kurzbz='".$row->lehrform."'";
//if ($row->studiengang_kz!=$row_le->studiengang_kz)
// $update_sql.=(strlen($update_sql)>0?',':'')."studiengang_kz=".$row->studiengang_kz;
//if ($row->semester!=$row_le->semester)
// $update_sql.=(strlen($update_sql)>0?',':'')."semester=".$row->semester;
if ($row->raumtyp!=$row_le->raumtyp)
$update_sql.=(strlen($update_sql)>0?',':'')."raumtyp='".$row->raumtyp."'";
if ($row->raumtypalternativ!=$row_le->raumtypalternativ)
$update_sql.=(strlen($update_sql)>0?',':'')."raumtypalternativ='".$row->raumtypalternativ."'";
if ($row->stundenblockung!=$row_le->stundenblockung)
$update_sql.=(strlen($update_sql)>0?',':'')."stundenblockung=".$row->stundenblockung;
if ($row->wochenrythmus!=$row_le->wochenrythmus)
$update_sql.=(strlen($update_sql)>0?',':'')."wochenrythmus=".$row->wochenrythmus;
if ($row->start_kw!=$row_le->start_kw)
$update_sql.=(strlen($update_sql)>0?',':'')."start_kw=".(strlen($row->start_kw)>0?$row->start_kw:'NULL');
if ($row->studiensemester_kurzbz!=$row_le->studiensemester_kurzbz)
$update_sql.=(strlen($update_sql)>0?',':'')."studiensemester_kurzbz='".$row->studiensemester_kurzbz."'";
if ($row->anmerkung!=$row_le->anmerkung)
$update_sql.=(strlen($update_sql)>0?',':'')."anmerkung='".$row->anmerkung."'";
//insert_sync($row_le->lehreinheit_id,$row->lehreinheit_pk,'tbl_synclehreinheit',$conn);
if (strlen($update_sql)>0)
{
$sql_query="UPDATE lehre.tbl_lehreinheit SET ".
$update_sql.
" where lehreinheit_id=".$row_le->lehreinheit_id;
if(!$res_update=@pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$update_error++;
}
else
$update=true;
}
$sql_query = 'SELECT * FROM lehre.tbl_lehreinheitmitarbeiter'.
" WHERE lehreinheit_id='$row_lva->lehreinheit_id' AND mitarbeiter_uid='$row->lektor'";
//echo $sql_query.'<br>';
if($result_lektor = pg_query($conn, $sql_query))
{
if(pg_num_rows($result_lektor)>0)
{
//Update Lehreinheitmitarbeiter
$row_lektor = pg_fetch_object($result_lektor);
$update_sql='';
if ($row->semesterstunden!=$row_lektor->semesterstunden)
$update_sql.=(strlen($update_sql)>0?',':'')."semesterstunden=".$row->semesterstunden;
if($update_sql!='')
{
$sql_query = "UPDATE lehre.tbl_lehreinheitmitarbeiter SET $update_sql".
" WHERE lehreinheit_id='$row_lva->lehreinheit_id' AND mitarbeiter_uid='$row->lektor'";
echo $sql_query.'<br>';
if(!pg_query($conn, $sql_query))
{
$update_error++;
$text .=$sql_query;
$text.="\nFehler:".pg_errormessage($conn);
}
else
$update=true;
}
}
else
{
//Lehreinheitmitarbeiter Eintrag hinzufuegen
$sql_query = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid,'.
'lehrfunktion_kurzbz, semesterstunden, planstunden,'.
'bismelden, updateamum, updatevon, insertamum, insertvon, ext_id)'.
" VALUES('$row_lva->lehreinheit_id', '$row->lektor', 'Lektor', '$row->semesterstunden','".
" $row->semesterstunden',true,now(),'auto',now(),'auto','$row->fas_id');";
echo $sql_query.'<br>';
if(!pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler:".pg_errormessage($conn);
$update_error++;
}
else
$update=true;
}
}
$sql_query = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$row_lva->lehreinheit_id'";
if($row->einheit_kurzbz!='')
{
$sql_query.=" AND gruppe_kurzbz='$row->einheit_kurzbz'";
}
else
{
$sql_query.=" AND studiengang_kz='$row->studiengang_kz' AND semester='$row->semester'";
if($row->verband!='')
$sql_query.=" AND verband='$row->verband'";
if($row->gruppe!='')
$sql_query.=" AND gruppe='$row->gruppe'";
}
if($result_gruppen = pg_query($conn, $sql_query))
{
if(pg_num_rows($result_gruppen)==0)
{
if($row->einheit_kurzbz=='' || isset($einheit[$row->einheit_kurzbz]))
{
//Gruppeneintrag hinzuguegen
$sql_query = 'INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheit_id, studiengang_kz, semester,'.
' verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id)'.
" VALUES ('$row_lva->lehreinheit_id','$row->studiengang_kz', '$row->semester',".
(strlen($row->verband)>0?"'$row->verband'":'NULL').','.
(strlen($row->gruppe)>0?"'$row->gruppe'":'NULL').','.
(strlen($row->einheit_kurzbz)>0?"'$row->einheit_kurzbz'":'NULL').','.
"now(),'auto', now(),'auto', '$row->fas_id');";
echo $sql_query.'<br>';
if(pg_query($conn, $sql_query))
{
$update=true;
}
else
{
$text.=$sql_query;
$text.="\nFehler:".pg_errormessage($conn);
$update_error++;
}
}
else
{
if(!isset($missing_einheit[$row->einheit_kurzbz]))
$missing_einheit[$row->einheit_kurzbz]=1;
}
}
}
else
{
$text.=$sql_query;
$text.="\nFehler:".pg_errormessage($conn);
$update_error++;
}
if($update)
{
$text.="Die Lehreinheit fas-id=$row->fas_id lvnr=$row->lvnr unr=$row->unr wurde upgedatet.\r";
$anz_update++;
}
/*
// ****************
// Auch in tbl_stundenplandev updaten
$sql_query="SELECT * FROM tbl_stundenplandev WHERE
lehrveranstaltung_id=$row_lva->lehrveranstaltung_id AND datum>=now()";
//echo $sql_query.'<BR>';
if(!$res_upd_stpl=@pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\rFehler: ".pg_errormessage($conn)."\r";
}
else
{
if (!pg_query($conn,"BEGIN;"))
$text.="\rFehler: ".pg_errormessage($conn)."\r";
$kollision=false;
while ($row_upd_stpl=pg_fetch_object($res_upd_stpl))
{
// Lehrstunde auf Kollisionen checken
$lehrstunde=new lehrstunde($conn);
//echo '<BR>STPL-ID:'.$row_upd_stpl->stundenplandev_id.'<BR>';
if (!$lehrstunde->load($row_upd_stpl->stundenplandev_id))
echo $lehrstunde->errormsg;
$lehrstunde->lektor_uid=$row->lektor;
if (!$lehrstunde->kollision())
{
if (!$lehrstunde->save('sync_fas_lva'))
echo $lehrstunde->errormsg;
}
else
{
$error_log[$row->studiengang_kz][]=$lehrstunde->errormsg;
$text.="\rKollision: ".$lehrstunde->errormsg."\r";
$kollision=true;
echo "Kollision: ".$lehrstunde->errormsg."<BR>";
}
}
if ($kollision)
{
if (!pg_query($conn,"ROLLBACK;"))
$text.="\rFehler: ".pg_errormessage($conn)."\r";
}
else
if (!pg_query($conn,"COMMIT;"))
$text.="\rFehler: ".pg_errormessage($conn)."\r";
}*/
}
}
// LVA kommt mehrmals vor ->Warnung
//elseif ($num_rows_lva>1)
//{
// $text.="\r!!! Die LVA fas_id=$row->fas_id kommt mehrfach vor!\r";
// $double_error++;
//}
}
else
$plausi_error++;
}
// ****************
// Ueberfluessige Datensaetze loeschen
$whereClause=$ss_where;
$sql_query="SELECT tbl_lehreinheitmitarbeiter.ext_id FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit WHERE tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND $whereClause AND tbl_lehreinheitmitarbeiter.ext_id NOT IN (SELECT fas_id FROM lehre.vw_fas_lehrveranstaltung WHERE ($whereClause) AND (fas_id!=0 OR fas_id IS NOT NULL) AND ($whereClause))";
//echo $sql_query.'<BR>';
$anz_delete=0;
if($res_delete=pg_query($conn, $sql_query))
{
while($row = pg_fetch_object($res_delete))
{
$qry = "DELETE FROM lehre.tbl_lehreinheitgruppe WHERE ext_id='$row->ext_id';
DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE ext_id='$row->ext_id';";
//$text.="Lehreinheitengruppe und Lehreinheitmitarbeiter mit FAS_ID '$row->ext_id' wird geloescht\n";
if(pg_query($conn, $qry))
{
$anz_delete++;
$text.="Lehreinheitengruppe und Lehreinheitmitarbeiter mit FAS_ID '$row->ext_id' wurde geloescht\n";
}
else
{
$text.=$qry;
$text.="\nFehler beim loeschen:".pg_errormessage($conn);"\n";
}
}
}
else
{
$text.="\n".$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
}
//Ausgabe Zusammenfassung
$text.="\n$anz_delete Lehreinheiten(zuteilungen) wurden geloescht!\n";
$text.="$plausi_error Fehler beim Plausibilitaetscheck!\n";
$text.="$update_error Fehler bei LVA-Update!\n";
$text.="$insert_error Fehler bei LVA-Insert!\n";
$text.="$double_error LVA kommen in VileSci doppelt vor!\n\n";
$text.="$anz_update LE wurden upgedatet.\n";
$text.="$anz_insert LE wurden neu angelegt.\n\n";
$text.="\nEND OF SYNCHRONISATION\n";
// Validation error hinzufügen
while(list($k,$v)=each($error_log))
{
$text.="\n\nStudiengang $k:\n";
foreach($v as $txt)
$text.=" $txt\n";
}
// fehlende lehrfächer
$text.="\n\nFehlende Lehrfächer: \n";
while(list($k,$v)=each($missing_lehrfaecher))
{
$text.=" $k\n";
}
$text.="\n\nFehlende Lehrveranstaltungen: \n";
while(list($k,$v)=each($missing_lehrveranstaltungen))
{
$text.=" $k\n";
}
// fehlende einheiten
$text.="\n\nFehlende Einheiten: \n";
while(list($k,$v)=each($missing_einheit))
{
$text.=" $k\n";
}
// fehlende raumtypen
$text.="\n\nFehlende Raumtypen: \n";
while(list($k,$v)=each($missing_raumtyp))
{
$text.=" $k\n";
}
// fehlende lehrformen
$text.="\n\nFehlende Lehrformen: \n";
while(list($k,$v)=each($missing_lehrform))
{
$text.=" $k\n";
}
if (mail($adress,"FAS-Sync (Lehreinheiten) $k von ".$_SERVER['HTTP_HOST'],$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
//print "debug: ";print_r($stg_mail);
// Einzelnen Mails an Studiengänge verschicken
reset($error_log);
while(list($k,$v)=each($error_log))
{
echo "<br>Mail an Studiengang $k ".$stg_mail[$k].":<br>";
$stg_text="Dies ist eine automatische Mail!\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
foreach($v as $txt)
$stg_text.="$txt\n";
echo $stg_text.'<br>';
// Studiengang
if (!mail($stg_mail[$k],"FAS-Sync (Lehreinheiten) $k von ".$_SERVER['HTTP_HOST'],$stg_text,"From: vilesci@technikum-wien.at"))
echo "Mail an '".$stg_mail[$k]."' konnte nicht verschickt werden!<br>";
// Stundenplanstelle
echo "<br>Mail an Studiengang $k ($adress_stpl)<br>";
if (!mail($adress_stpl,"FAS-Sync (Lehreinheiten) $k von ".$_SERVER['HTTP_HOST'],$stg_text,"From: vilesci@technikum-wien.at"))
echo 'Mail an "'.$adress_stpl.'" konnte nicht verschickt werden!<br>';
}
// Doppelte IDs im FAS prüfen
$sql_query="SELECT count(*) AS anzahl, fas_id FROM fas_view_alle_lehreinheiten_vilesci
GROUP BY fas_id HAVING count(*)>1";
//echo $sql_query."</i><br>";
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_numrows($result);
$mail_text="Folgende $num_rows IDs kommen in der View fas_view_alle_lehreinheiten_vilesci (fas_id) mehrfach vor:\n\n";
$mail_text_false='';
if ($num_rows>0)
while ($row=pg_fetch_object($result))
$mail_text_false.=$row->fas_id.'->'.$row->anzahl."x\n";
$mail_text.=$mail_text_false."\n\nBitte überprüfen die Daten im FAS!!!";
if ($mail_text_false!='')
if (!mail($adress_fas,'FAS-Sync (Lehreinheiten) von '.$_SERVER['HTTP_HOST'],$mail_text,"From: vilesci@technikum-wien.at"))
echo "Mail an '".$adress_fas."' konnte nicht verschickt werden!<br>";
else
echo 'Mail wurde verschickt an '.$adress_fas.'!<br>';
?>
<html>
<head>
<title>FAS-Synchro mit PORTAL</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo nl2br($text);
?>
</body>
</html>
-385
View File
@@ -1,385 +0,0 @@
<?php
require_once('../../vilesci/config.inc.php');
$adress='fas_sync@technikum-wien.at';
function clean_string($string)
{
$trans = array("ä" => "ae",
"ö" => "oe",
"ü" => "ue",
"Ä" => "ae",
"Ö" => "oe",
"Ü" => "ue",
"á" => "a",
"à" => "a",
"é" => "e",
"è" => "e",
"ó" => "o",
"ò" => "o",
"í" => "i",
"ì" => "i",
"ú" => "u",
"ù" => "u",
"ß" => "ss",
"´" => "",
"`" => "",
);
$string = strtr($string, $trans);
return $string;
}
//mail($adress,"FAS Synchro mit VileSci (Studenten)","BEGIN OF SYNCHRONISATION","From: vilesci@technikum-wien.at");
$conn=pg_connect(CONN_STRING);
$conn_fas=pg_connect(CONN_STRING_FAS);
// Anzahl der Studenten in VileSci
$sql_query="SELECT count(*) AS anz FROM public.tbl_student";
//echo $sql_query."<br>";
$result=pg_query($conn, $sql_query);
$row=pg_fetch_object($result);
$vilesci_anz_std = $row->anz;
// Start Studenten Synchro
$sql_query="SELECT DISTINCT * FROM fas_view_student_vilesci WHERE semester >0 AND semester <9 AND";
$sql_query.=" verband IS NOT NULL AND uid IS NOT NULL AND uid NOT LIKE ''";
//echo $sql_query."<br>";
flush();
$result=pg_query($conn_fas, $sql_query);
$num_rows=pg_num_rows($result);
$text="Dies ist eine automatische eMail!\n\n";
$text.="Es wurde eine Synchronisation mit FAS durchgeführt.\n";
$text.="Anzahl der Studenten vom FAS-Import: $num_rows \n";
$text.="Anzahl der Studenten in Portal: $vilesci_anz_std \n\n";
echo $text.'<BR>';
flush();
$plausi_error=0;
$update_error=0;
$insert_error=0;
$double_error=0;
$anz_update=0;
$anz_insert=0;
for ($i=0;$row=pg_fetch_object($result);$i++)
{
$row->gebort=substr($row->gebort,0,30);
$row->titel=substr($row->titel,0,15);
$uid=str_replace(' ','',$row->uid);
// Plausibilitaetscheck
if ($row->gruppe==null)
$row->gruppe='1';
if ($row->verband>='A' && $row->verband<='D' && $row->semester<=8 && $row->gruppe>'0' && $row->gruppe<='2')
{
// SQL vorbereiten (jeden Studenten vom FAS im VileSci suchen
$sql_query="SELECT tbl_person.person_id, uid,titelpre,vorname,nachname,gebdatum,gebort,";
$sql_query.="trim(both ' ' from matrikelnr) AS matrikelnr,";
$sql_query.=" studiengang_kz,semester,verband,gruppe";
$sql_query.=" FROM public.tbl_person, public.tbl_benutzer, public.tbl_student WHERE
tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=tbl_student.student_uid
AND tbl_benutzer.uid='$uid'";
// echo $sql_query;
$res_std=pg_query($conn, $sql_query);
$num_rows_std=pg_num_rows($res_std);
// neue Studenten
if ($num_rows_std==0)
{
$text.="Der Student $row->vornamen $row->nachname ($row->uid) wird neu angelegt.\n";
pg_query($conn, "BEGIN");
// person
if(!$len=strpos($row->vornamen,' '))
{
$vorname=$row->vornamen;
$vornamen='';
}
else
{
$vorname=substr($row->vornamen,0,$len);
$vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
// tbl_person
$qry_sync = "SELECT * FROM sync.tbl_syncperson WHERE person_fas='$row->person_pk'";
if($result_sync = pg_query($conn, $qry_sync))
{
if(pg_num_rows($result_sync)>0)
{
//Personen Datensatz ist bereits vorhanden
$row_sync = pg_fetch_object($result_sync);
$person_id=$row_sync->person_portal;
}
else
{
//PesonenDatensatz noch nicht vorhanden
$sql_query="INSERT INTO public.tbl_person(titelpre,vorname,vornamen, nachname, gebdatum, gebort, aktiv) ".
"VALUES('$row->titel','$vorname','$vornamen','$row->nachname','$row->gebdatum','$row->gebort', true)";
//echo $sql_query.'<BR>';
flush();
if(!$res_insert=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
$qry = "SELECT currval('tbl_person_person_id_seq') AS id;";
if(!$row_seq=pg_fetch_object(pg_query($conn,$qry)))
{
pg_query($conn, 'ROLLBACK');
$text = 'Sequence konnte nicht ausgelesen werden\n';
$insert_error++;
}
else
{
pg_query($conn, "INSERT INTO sync.tbl_syncperson(person_fas, person_portal) VALUES($row->person_pk, $row_seq->id);");
$person_id = $row_seq->id;
}
}
}
if(isset($person_id) && $person_id!='')
{
//Schauen ob Benutzerdatensatz mit dieser UID schon vorhanden ist
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid='$row->uid'";
if($result_bn = pg_query($conn, $qry))
{
$benutzer_insert_error=false;
if(pg_num_rows($result_bn)==0)
{
//Benutzer Datensatz anlegen
$qry = "INSERT INTO public.tbl_benutzer(uid, person_id, aktiv, insertamum, insertvon, updateamum, updatevon)
VALUES('$row->uid','$person_id','true',now(),'auto',now(),'auto');";
if(!pg_query($conn, $qry))
{
$test.=$qry;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
pg_query($conn, 'ROLLBACK');
$insert_error++;
$benutzer_insert_error=true;
}
else
{
//Alias erstellen
$vn = split('[- .,]',strtolower($row->vornamen));
$vn = clean_string($vn[0]);
$nn = split('[- .,]',strtolower($row->nachname));
$nn = clean_string($nn[0]);
$alias = $vn.".".$nn;
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias='$alias'";
$res_alias = pg_query($conn, $qry);
if(pg_num_rows($res_alias)==0)
{
$qry = "UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
if(!$res_insert=@pg_query($conn, $qry))
{
$text.=$qry;
$text.="\nFehler: ".pg_errormessage($conn);
}
}
else
{
$text.="UPDATE public.tbl_benutzer set alias='$alias' WHERE uid='$uid'";
$text.="\nAlias existiert bereits: $alias\n";
}
}
}
if(!$benutzer_insert_error)
{
//Lehrverband Check
$sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row->kennzahl' AND semester='$row->semester' AND
verband='$row->verband' AND gruppe='$row->gruppe'";
if($result_verb = pg_query($conn, $sql_query))
{
if(pg_num_rows($result_verb)==0)
{
//Lehrverband anlegen
$sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv)
VALUES('$row->kennzahl', '$row->semester', '$row->verband', '$row->gruppe', true);";
if(!pg_query($conn, $sql_query))
{
$text.= $sql_query;
$text.= "\nFehler:".pg_errormessage($conn)."\n";
}
}
}
else
{
$text.= $sql_query;
$text.= "\nFehler:".pg_errormessage($conn)."\n";
}
// tbl_student
$sql_query="INSERT INTO public.tbl_student (student_uid,matrikelnr, studiengang_kz, semester, verband, gruppe) ".
"VALUES('$row->uid','$row->perskz',$row->kennzahl,$row->semester,'$row->verband','$row->gruppe')";
echo $sql_query.'<BR>';
if(!$res_insert=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$insert_error++;
pg_query($conn, 'ROLLBACK');
}
else
{
$anz_insert++;
pg_query($conn, 'COMMIT');
}
}
}
else
{
$text.="\nFehler:".pg_errormessage($conn);
pg_query($conn, 'ROLLBACK');
$insert_error++;
}
}
}
}
// bestehende Studenten
elseif ($num_rows_std==1)
{
$update=0;
$row_std=pg_fetch_object($res_std);
if(!$len=strpos($row->vornamen,' '))
{
$vorname=$row->vornamen;
$vornamen='';
}
else
{
$vorname=substr($row->vornamen,0,$len);
$vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
if ($row->gruppe==NULL)
$row->gruppe=1;
if ($row->titel!=$row_std->titelpre)
$update=1;
elseif ($vorname!=$vorname)
$update=2;
elseif ($row->nachname!=$row_std->nachname)
$update=3;
elseif ($row->gebdatum!=$row_std->gebdatum)
$update=4;
elseif ($row->gebort!=$row_std->gebort)
$update=5;
elseif ($row->perskz!=$row_std->matrikelnr)
$update=6;
elseif ($row->semester!=$row_std->semester)
$update=7;
elseif ($row->verband!=$row_std->verband)
$update=8;
elseif ($row->gruppe!=$row_std->gruppe)
$update=9;
elseif ($row->kennzahl!=$row_std->studiengang_kz)
$update=10;
if ($update)
{
$text.="Der Student $row->vornamen $row->nachname ($row->uid) [$update] wird upgedatet.\n";
// person
$sql_query="UPDATE public.tbl_person SET titelpre='$row->titel', vornamen='$vornamen', vorname='$vorname', ".
" nachname='$row->nachname', gebdatum='$row->gebdatum', gebort='$row->gebort'".
" WHERE person_id ='$row_std->person_id'";
//echo $sql_query.'<BR>';
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$update_error++;
}
//Lehrverband Check
$sql_query = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$row->kennzahl' AND semester='$row->semester' AND
verband='$row->verband' AND gruppe='$row->gruppe'";
if($result_verb = pg_query($conn, $sql_query))
{
if(pg_num_rows($result_verb)==0)
{
//Lehrverband anlegen
$sql_query = "INSERT INTO public.tbl_lehrverband(studiengang_kz, semester, verband, gruppe, aktiv)
VALUES('$row->kennzahl', '$row->semester', '$row->verband', '$row->gruppe', true);";
if(!pg_query($conn, $sql_query))
{
$text.= $sql_query;
$text.= "\nFehler:".pg_errormessage($conn)."\n";
}
}
}
else
{
$text.= $sql_query;
$text.= "\nFehler:".pg_errormessage($conn)."\n";
}
// student
$sql_query="UPDATE public.tbl_student SET matrikelnr='$row->perskz', semester=$row->semester";
if ($row->verband==NULL)
$sql_query.=", verband=' '";
else
$sql_query.=", verband='$row->verband'";
if ($row->gruppe==NULL)
$sql_query.=", gruppe=' '";
else
$sql_query.=", gruppe='$row->gruppe'";
$sql_query.=", studiengang_kz=".$row->kennzahl;
$sql_query.=", updateamum=now(), updatevon='auto' WHERE student_uid = '$row->uid'";
//echo $sql_query.'<BR>';
if(!$res_update=pg_query($conn, $sql_query))
{
$text.=$sql_query;
$text.="\nFehler: ".pg_errormessage($conn)."\n";
$update_error++;
}
else
$anz_update++;
}
}
// Student kommt mehrmals vor ->Warnung
elseif ($num_rows_std>1)
{
$text.="\n!!! Der Student $row->vornamen $row->nachname ($row->uid) kommt mehrfach vor!\n";
$double_error++;
}
}
else
{
$plausi_error++;
$text.="\n!!! Der Student $row->vornamen $row->nachname ($row->uid) STG:$row->kennzahl S:$row->semester V:$row->verband G:$row->gruppe hat nicht plausible Daten!";
}
}
$text.="\n$plausi_error Fehler beim Plausibilitaetscheck!\n";
$text.="$update_error Fehler bei Student-Update!\n";
$text.="$insert_error Fehler bei Student-Insert!\n";
$text.="$double_error Studenten kommen in VileSci doppelt vor!\n\n";
$text.="$anz_update Studenten wurden upgedatet.\n";
$text.="$anz_insert Studenten wurden neu angelegt.\n\n";
$text.="\nEND OF SYNCHRONISATION\n";
if (mail($adress,"FAS Synchro mit PORTAL (Studenten)",$text,"From: vilesci@technikum-wien.at"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS-Synchro mit Portal (Studenten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
echo nl2br($text);
?>
</body>
</html>
-48
View File
@@ -1,48 +0,0 @@
<?php
/***************************************************************
Script zur Feststellung, welche Daten im FAS nicht durchkommen.
***************************************************************/
$adress='pam@technikum-wien.at';
include('../../vilesci/config.inc.php');
$conn=pg_connect($conn_string);
$conn_fas=pg_connect($conn_string_fas);
$headers ="MIME-Version: 1.0\r\n";
$headers.="Content-type: text/html; charset=UTF-8\r\n";
$headers.="From: vilesci@technikum-wien.at";
$bgcolor[0]="#CCCCCC";
$bgcolor[1]="#DDDDDD";
$text='<html><head><title>FAS-Synchro mit TEMPUS fehlerhafte Studenten</title></head>';
$text.='<body>';
// Start Check
$sql_query="SELECT * FROM fas_view_student_vilesci WHERE uid NOT IN ";
$sql_query.="(SELECT uid FROM fas_view_student_vilesci WHERE semester >0 AND semester <8 AND";
$sql_query.=" verband IS NOT NULL AND uid IS NOT NULL AND uid NOT LIKE '') ORDER BY kennzahl,nachname"; // LIMIT 5";
//echo $sql_query."<br>";
$result=pg_exec($conn_fas, $sql_query);
$num_rows=pg_numrows($result);
$num_fields=pg_numfields($result);
$text.="Dies ist eine automatische eMail!<BR><BR>";
$text.="Es wurde eine Ueberpruefung der Daten in der FAS-View fuer Studenten durchgeführt.<BR>";
$text.="Anzahl der fehlerhaften Daten: $num_rows <BR><BR>";
$text.="Folgende Studenten haben fehlerhafte Daten im FAS<BR><BR>";
$text.='<TABLE border="0"><TR><TH>STG_KZ</TH><TH>uid</TH><TH>Titel</TH><TH>Vornamen</TH><TH>Nachname</TH><TH>Matrikelnr</TH>';
$text.='<TH>Semester</TH><TH>Verband</TH><TH>Gruppe</TH></TR>';
for ($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($result,$i);
$text.='<TR bgcolor="'.$bgcolor[$i%2].'"'."><TD>$row->kennzahl</TD><TD>$row->uid</TD><TD>$row->titel</TD><TD>$row->vornamen</TD><TD>$row->nachname</TD><TD>$row->perskz</TD>";
$text.="<TD>$row->semester</TD><TD>$row->verband</TD><TD>$row->gruppe</TD></TR>";
}
$text.='</TABLE></BODY></HTML>';
echo $text;
if (mail($adress,"FAS Synchro mit TEMPUS fehlerhafte Studenten",$text,$headers))
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
echo "Mail konnte nicht verschickt werden!<br>";
?>
-77
View File
@@ -1,77 +0,0 @@
<?php
include("../../vilesci/config.inc.php");
//Connection öffnen
if(!$conn = pg_pconnect(CONN_STRING))
die("Fehler beim oeffnen der DB Connection");
/**
*Schaut nach ob dieser Feedbackeintrag bereits in der Datenbank existiert.
* @param $datum Datum des Eintrages
* $betreff Betreff des Eintrages
* $text Text des Eintrages
* $uid Uid des Eintrages
*/
function isInTab($datum,$betreff,$text,$uid)
{
$sql = "Select * from tbl_feedback where datum='$datum' AND betreff='$betreff' AND text='$text' and uid='$uid'";
$checkresult=pg_exec($sql);
if(pg_num_rows($checkresult)>0)
return true;
return false;
}
$qry = "SELECT * from lehre.tbl_feedback_lehrfach";
$result = pg_exec($conn,$qry);
echo "Uebernahme von tbl_feedback_lehrfach";
flush();
while($row=pg_fetch_object($result))
{
$sql_qry = "Select * from tbl_lehrfach where studiengang_kz =$row->studiengang_kz AND semester=$row->semester AND lehrevz=$lehrfachzuteilung_kurzbz";
$lf_result=pg_exec($conn,$sql_qry);
if($lf_row=pg_fetch_object($conn,$qry))
{
if(!isInTab($row->datum,$row->betreff,$row->text,$row->uid))
{
$insert = "INSERT INTO tbl_feedback(datum,betreff,text,lfnr,uid) VALUES('$row->datum','$row->betreff','$row->text',$lf_row->lehrfach_nr,'$row->uid')";
pg_exec($conn,$insert);
echo "+";
flush();
}
}
else
{
echo "Lehrfachaufloesung nicht moeglich"; //Oder Formular ausgeben
}
}
$qry = "SELECT * from lehre.tbl_feedback_lehrfach";
$result = pg_exec($conn,$qry);
echo "Uebernahme von tbl_feedback_freifach";
flush();
while($row=pg_fetch_object($result))
{
$sql_qry = "Select * from tbl_lehrfach where lehrevz=$lehrfachzuteilung_kurzbz AND studiengang_kz=0 AND semester is null";
$lf_result=pg_exec($conn,$sql_qry);
if($lf_row=pg_fetch_object($conn,$qry))
{
$insert = "INSERT INTO tbl_feedback(datum,betreff,text,lfnr,uid) VALUES('$row->datum','$row->betreff','$row->text',$lf_row->lehrfach_nr,'$row->uid')";
pg_exec($conn,$insert);
echo "+";
flush();
}
else
{
echo "Lehrfachaufloesung nicht moeglich"; //Oder Formular ausgeben
}
}
?>
+14 -16
View File
@@ -23,18 +23,14 @@
* Synchronisiert die Lektoren und Studenten der aktuellen MoodleKurse
* wenn kein aktuelles Studiensemester vorhanden ist, wird NICHT Synchronisiert
*/
require_once('../../vilesci/config.inc.php');
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/moodle_course.class.php');
require_once('../../include/moodle_user.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/studiengang.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
if(!$conn_moodle = pg_pconnect(CONN_STRING_MOODLE))
die('Fehler beim Connecten zur DB');
require_once('../../include/mail.class.php');
$db = new basis_db();
$sync_lektoren_gesamt=0;
$sync_studenten_gesamt=0;
$group_updates=0;
@@ -45,21 +41,21 @@ $lektoren=array();
//nur Synchronisieren wenn ein aktuelles Studiensemester existiert damit keine
//Probleme durch die Vorrueckung entstehen
$stsem = new studiensemester($conn);
$stsem = new studiensemester();
if($stsem_kurzbz=$stsem->getakt())
{
//nur die Eintraege des aktuellen Studiensemesters syncen
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle WHERE studiensemester_kurzbz='$stsem_kurzbz'";
if($result = pg_query($conn, $qry))
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle WHERE studiensemester_kurzbz='".addslashes($stsem_kurzbz)."'";
if($result = $db->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $db->db_fetch_object($result))
{
$course = new moodle_course($conn, $conn_moodle);
$course = new moodle_course();
if($course->load($row->mdl_course_id))
{
$message_lkt='';
//Lektoren
$mdluser = new moodle_user($conn, $conn_moodle);
$mdluser = new moodle_user();
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
if($mdluser->sync_lektoren($row->mdl_course_id))
@@ -79,7 +75,7 @@ if($stsem_kurzbz=$stsem->getakt())
}
//Studenten
$mdluser = new moodle_user($conn, $conn_moodle);
$mdluser = new moodle_user();
if($mdluser->sync_studenten($row->mdl_course_id))
{
$sync_studenten_gesamt+=$mdluser->sync_create;
@@ -123,7 +119,8 @@ if($stsem_kurzbz=$stsem->getakt())
$to = "$uid@".DOMAIN;
//$to = 'oesi@technikum-wien.at';
if(mail($to,'Moodle - Aktualisierungen', $header.$message_lkt, 'From: vilesci@'.DOMAIN))
$mail = new mail($to, 'vilesci@'.DOMAIN,'Moodle - Aktualisierungen',$header.$message_lkt);
if($mail->send())
echo "Mail wurde an $to versandt<br>";
else
echo "Fehler beim Senden des Mails an $to<br>";
@@ -139,7 +136,8 @@ if($stsem_kurzbz=$stsem->getakt())
$to = MAIL_ADMIN;
//$to = 'oesi@technikum-wien.at';
if(mail($to,'Moodle Syncro', $header.$message, 'From: vilesci@'.DOMAIN))
$mail = new mail($to, 'vilesci@'.DOMAIN,'Moodle Syncro',$header.$message);
if($mail->send())
echo "Mail wurde an $to versandt:<br>".nl2br($header.$message);
else
echo "Fehler beim Senden des Mails an $to:<br>".nl2br($header.$message);
+42 -17
View File
@@ -1,34 +1,55 @@
<html>
<?php
/* Copyright (C) 2008 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/mail.class.php');
echo '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Stundenplan-Check (stpldev-le)</title>
</head>
<body>
<?php
require('../../vilesci/config.inc.php');
require('../../include/functions.inc.php');
$conn=pg_connect(CONN_STRING);
<body>';
// Startvariablen setzen
$adress='fas_sync@technikum-wien.at';
//$adress_stpl='pam@technikum-wien.at';
$adress_stpl='stpl@technikum-wien.at';
$message_stpl='';
$message_sync='';
$count_del=0;
$count_ins=0;
$count_upd=0;
$count_err=0;
$db = new basis_db();
// Mails an die Lektoren und Verbaende
$message='';
// Mail Headers festlegen
$headers= "MIME-Version: 1.0\r\n";
$headers.="Content-Type: text/html; charset=UTF-8\r\n";
$message_begin='Dies ist eine automatische Mail!<BR>Es haben sich folgende Aenderungen in Ihrem Stundenplan ergeben:<BR>';
@@ -40,16 +61,16 @@ $sql_query="SELECT DISTINCT lehreinheit_id,studiengang_kz,semester,gruppe_kurzbz
tbl_lehreinheitmitarbeiter.mitarbeiter_uid AS lehreinheitmitarbeiter_uid
FROM lehre.tbl_stundenplandev LEFT OUTER JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id, mitarbeiter_uid)
WHERE datum>=now() AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid IS NULL;";
//echo $sql_query.'<BR>';
if (!$result=pg_query($conn, $sql_query))
if (!$result = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
}
else
{
flush();
while ($row=pg_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
echo $row->lehreinheit_id.'-'.$row->studiengang_kz.'-'.$row->semester.'-'.$row->gruppe_kurzbz.'-'.$row->mitarbeiter_uid.'-'.$row->ort_kurzbz.'<BR>';
$message.=$row->lehreinheit_id.'-'.$row->studiengang_kz.'-'.$row->semester.'-'.$row->gruppe_kurzbz.'-'.$row->mitarbeiter_uid.'-'.$row->ort_kurzbz.'<BR>';
@@ -69,9 +90,13 @@ $message_tmp=$count_upd.' Datens&auml;tze wurden ge&auml;ndert.<BR>
'.$count_err.' Fehler sind dabei aufgetreten!<BR><BR>';
echo '<BR>'.$message_tmp;
$message_sync='<HTML><BODY>'.$message_tmp.$message_sync.$message_stpl.'</BODY></HTML>';
mail('pam@technikum-wien.at',"Stundenplan update",$message,$headers."From: stpl@technikum-wien.at");
$mail = new mail('pam@technikum-wien.at','stpl@technikum-wien.at','Stundenplan update',$message);
$mail->send();
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
mail('stpl@technikum-wien.at',"Stundenplan update",$message,$headers."From: stpl@technikum-wien.at");
$mail = new mail('stpl@technikum-wien.at','stpl@technikum-wien.at','Stundenplan update',$message);
$mail->send();
?>
</body>
</html>
+109 -92
View File
@@ -1,15 +1,41 @@
<html>
<?php
/* Copyright (C) 2008 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Syncronisiert die Tabelle Stundenplandev mit der Tabelle Stundenplan
* und versendet Benachrichtigungsmails mit den geänderten Stunden
* an die Betroffenen Lektoren und Studenten
* Uebersichtsmails werden an LV-Planung und Administration geschickt
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/mail.class.php');
echo '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Stundenplan-Synchro (stpldev-stpl)</title>
</head>
<body>
<?php
require('../../vilesci/config.inc.php');
require('../../include/functions.inc.php');
require('../../include/studiensemester.class.php');
$conn=pg_connect(CONN_STRING);
<body>';
// Startvariablen setzen
$adress='fas_sync@technikum-wien.at';
@@ -44,7 +70,7 @@ $message_sync='';
$headers= "MIME-Version: 1.0\r\n";
$headers.="Content-Type: text/html; charset=UTF-8\r\n";
$ss=new studiensemester($conn);
$ss=new studiensemester();
$ss->getNearestTillNext();
$datum_begin=$ss->start;
$datum_ende=$ss->ende;
@@ -55,8 +81,8 @@ $datum_ende=$ss->ende;
function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $studiensemester_kurzbz)
{
global $conn;
$db = new basis_db();
$students = array();
if($gruppe_kurzbz=='')
{
@@ -65,15 +91,15 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
FROM
public.tbl_studentlehrverband
WHERE
studiensemester_kurzbz='$studiensemester_kurzbz' AND
studiengang_kz = '$studiengang_kz' AND
semester = '$semester'";
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
studiengang_kz = '".addslashes($studiengang_kz)."' AND
semester = '".addslashes($semester)."'";
if(trim($verband)!='')
{
$qry.=" AND verband = '$verband'";
$qry.=" AND verband = '".addslashes($verband)."'";
if(trim($gruppe)!='')
{
$qry.=" AND gruppe = '$gruppe'";
$qry.=" AND gruppe = '".addslashes($gruppe)."'";
}
}
}
@@ -84,21 +110,20 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
FROM
public.tbl_benutzergruppe
WHERE
gruppe_kurzbz='$gruppe_kurzbz' AND
studiensemester_kurzbz='$studiensemester_kurzbz'
gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
";
}
if($result = pg_query($conn, $qry))
if($db->db_query($qry))
{
while($row = pg_fetch_object($result))
while($row = $db->db_fetch_object())
{
$students[]=$row->student_uid;
}
}
//echo "students $qry:";
//var_dump($students);
return $students;
}
@@ -120,25 +145,22 @@ Dies ist eine automatische Mail!<BR>Es haben sich folgende Aenderungen in Ihrem
*/
echo 'Neue Datens&auml;tze werden geholt. ('.date('H:i:s').')<BR>';flush();
$message_stpl .= 'Neue Datens&auml;tze werden geholt. ('.date('H:i:s').')';
//$sql_query="SELECT * FROM lehre.vw_stundenplandev WHERE datum>='$datum_begin' AND datum<='$datum_ende' AND
// stundenplandev_id NOT IN
// (SELECT stundenplan_id FROM lehre.tbl_stundenplan WHERE datum>='$datum_begin' AND datum<='$datum_ende')
// ORDER BY datum, stunde;";
$sql_query="SELECT * FROM lehre.vw_stundenplandev WHERE datum>='$datum_begin' AND datum<='$datum_ende' AND
NOT EXISTS
(SELECT stundenplan_id FROM lehre.tbl_stundenplan WHERE datum>='$datum_begin' AND datum<='$datum_ende' AND stundenplan_id=stundenplandev_id)
ORDER BY datum, stunde;";
//echo $sql_query.'<BR>';
if (!$result=pg_query($conn, $sql_query))
$sql_query="SELECT * FROM lehre.vw_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND
NOT EXISTS
(SELECT stundenplan_id FROM lehre.tbl_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND stundenplan_id=stundenplandev_id)
ORDER BY datum, stunde;";
$db =new basis_db();
if (!$result = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
}
else
{
echo 'Neue Datens&auml;tze werden angelegt.<BR>';flush();
while ($row=pg_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
//echo '.';flush();
$sql_query='INSERT INTO lehre.tbl_stundenplan
@@ -170,10 +192,10 @@ else
$sql_query.=",$row->lehreinheit_id";
$sql_query.=');';
//echo $sql_query;
if (!$result_insert=pg_query($conn, $sql_query))
if (!$result_insert = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$count_err++;
}
else
@@ -186,7 +208,7 @@ else
}
// Mails vorbereiten
// Lektoren
if (substr($row->uid,0,1)!='_')
if (mb_substr($row->uid,0,1)!='_')
{
if (!isset($message[$row->uid]->isneu))
{
@@ -197,16 +219,14 @@ else
<TABLE><TR><TD>Ort</TD><TD>Verband</TD><TD>Lektor</TD><TD>Datum/Std</TD><TD>Lehrfach</TD></TR>';
}
$message[$row->uid]->message.='<TR><TH>'.$row->ort_kurzbz.'</TH>';
$message[$row->uid]->message.='<TH>'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TH>';
$message[$row->uid]->message.='<TH>'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TH>';
$message[$row->uid]->message.='<TH>'.$row->lektor.'</TH>';
$message[$row->uid]->message.='<TH>'.$row->datum.'/'.$row->stunde.'</TH>';
$message[$row->uid]->message.='<TH>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TH></TR>';
}
// Verband
$studenten = getStudentsFromGroup($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $ss->studiensemester_kurzbz);
//$verband=$row->stg_typ.$row->stg_kurzbz.$row->semester.$row->verband.$row->gruppe;
//$verband=trim($verband);
//$verband=strtolower($verband);
foreach ($studenten as $student)
{
if (!isset($message[$student]->isneu))
@@ -218,7 +238,7 @@ else
<TABLE><TR><TD>Ort</TD><TD>Verband</TD><TD>Lektor</TD><TD>Datum/Std</TD><TD>Lehrfach</TD></TR>';
}
$message[$student]->message.='<TR><TH>'.$row->ort_kurzbz.'</TH>';
$message[$student]->message.='<TH>'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TH>';
$message[$student]->message.='<TH>'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TH>';
$message[$student]->message.='<TH>'.$row->lektor.'</TH>';
$message[$student]->message.='<TH>'.$row->datum.'/'.$row->stunde.'</TH>';
$message[$student]->message.='<TH>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TH></TR>';
@@ -236,30 +256,25 @@ else
echo '<BR>Alte Datens&auml;tze werden geholt.('.date('H:i:s').')<BR>';flush();
$message_stpl .='<BR>Alte Datens&auml;tze werden geholt.('.date('H:i:s').')<BR>';
//$sql_query="SELECT * FROM lehre.vw_stundenplan WHERE datum>='$datum_begin' AND datum<='$datum_ende'
// AND stundenplan_id NOT IN
// (SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE datum>='$datum_begin' AND datum<='$datum_ende');";
$sql_query="SELECT * FROM lehre.vw_stundenplan WHERE datum>='$datum_begin' AND datum<='$datum_ende'
$sql_query="SELECT * FROM lehre.vw_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."'
AND NOT EXISTS
(SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE datum>='$datum_begin' AND datum<='$datum_ende' AND stundenplandev_id=stundenplan_id);";
if (!$result=pg_query($conn, $sql_query))
(SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND stundenplandev_id=stundenplan_id);";
if (!$result = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
}
else
{
echo '<BR>Alte Datens&auml;tze werden gel&ouml;scht.<BR>';flush();
while ($row=pg_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$sql_query='DELETE FROM lehre.tbl_stundenplan WHERE stundenplan_id='.$row->stundenplan_id;
//echo '.';flush();
//echo $sql_query.'<BR>';
//var_dump($message);
if (!$result_delete=pg_query($conn, $sql_query))
if (!$result_delete=$db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$count_err++;
}
else
@@ -272,7 +287,7 @@ else
}
// Mails vorbereiten
// Lektoren
if (substr($row->uid,0,1)!='_')
if (mb_substr($row->uid,0,1)!='_')
{
if (!isset($message[$row->uid]->isalt))
{
@@ -290,9 +305,7 @@ else
}
// Verband
$studenten = getStudentsFromGroup($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $ss->studiensemester_kurzbz);
//$verband=$row->stg_typ.$row->stg_kurzbz.$row->semester.$row->verband.$row->gruppe;
//$verband=trim($verband);
//$verband=strtolower($verband);
foreach ($studenten as $student)
{
if (!isset($message[$student]->isalt))
@@ -304,7 +317,7 @@ else
<TABLE><TR><TD>Ort</TD><TD>Verband</TD><TD>Lektor</TD><TD>Datum/Std</TD><TD>Lehrfach</TD></TR>';
}
$message[$student]->message.='<TR><TH>'.$row->ort_kurzbz.'</TH>';
$message[$student]->message.='<TH>'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TH>';
$message[$student]->message.='<TH>'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TH>';
$message[$student]->message.='<TH>'.$row->lektor.'</TH>';
$message[$student]->message.='<TH>'.$row->datum.'/'.$row->stunde.'</TH>';
$message[$student]->message.='<TH>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TH></TR>';
@@ -340,28 +353,28 @@ $sql_query="SELECT vw_stundenplandev.*, vw_stundenplan.datum AS old_datum, vw_st
vw_stundenplandev.anmerkung!=vw_stundenplan.anmerkung OR
vw_stundenplandev.fix!=vw_stundenplan.fix OR
vw_stundenplandev.lehreinheit_id!=vw_stundenplan.lehreinheit_id )
AND vw_stundenplandev.datum>='$datum_begin';";
AND vw_stundenplandev.datum>='".addslashes($datum_begin)."';";
//echo $sql_query.'<BR>';
if (!$result=pg_query($conn, $sql_query))
if (!$result = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
}
else
{
echo '<BR>Datens&auml;tze werden ge&auml;ndert.<BR>';flush();
while ($row=pg_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
//echo '.';flush();
// Alten Eintrag aus tbl_stundenplan holen
$sql_query="SELECT * FROM lehre.tbl_stundenplandev WHERE stundenplandev_id=$row->stundenplandev_id;";
if (!$result_old=pg_query($conn, $sql_query))
$sql_query="SELECT * FROM lehre.tbl_stundenplandev WHERE stundenplandev_id='".addslashes($row->stundenplandev_id)."';";
if (!$result_old = $db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
}
else
$row_old=pg_fetch_object($result_old);
$row_old=$db->db_fetch_object($result_old);
// Datensaetze aendern
$sql_query="UPDATE lehre.tbl_stundenplan SET
@@ -391,10 +404,10 @@ else
$sql_query.=",lehreinheit_id=$row->lehreinheit_id";
$sql_query.=" WHERE stundenplan_id=$row->stundenplandev_id;";
echo $sql_query.'<BR>';
if (!$result_update=pg_query($conn, $sql_query))
if (!$result_update=$db->db_query($sql_query))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$message_sync.=$sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
$count_err++;
}
else
@@ -407,7 +420,7 @@ else
}
// Mails vorbereiten
// Lektoren
if (substr($row->uid,0,1)!='_')
if (mb_substr($row->uid,0,1)!='_')
{
if (!isset($message[$row->uid]->isset))
{
@@ -419,7 +432,7 @@ else
}
$message[$row->uid]->message.='<TR><TD>Vorher: </TD>';
$message[$row->uid]->message.='<TD>'.$row->old_ort_kurzbz.'</TD>';
$message[$row->uid]->message.='<TD>'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TD>';
$message[$row->uid]->message.='<TD>'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TD>';
$message[$row->uid]->message.='<TD>'.$row->old_lektor.'</TD>';
$message[$row->uid]->message.='<TD>'.$row->old_datum.'/'.$row->old_stunde.'</TD>';
$message[$row->uid]->message.='<TD>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TD></TR>';
@@ -441,7 +454,7 @@ else
//sofern es kein dummylektor ist
if($row->uid!=$row->old_uid)
{
if (substr($row->old_uid,0,1)!='_')
if (mb_substr($row->old_uid,0,1)!='_')
{
if (!isset($message[$row->old_uid]->isset))
{
@@ -453,7 +466,7 @@ else
}
$message[$row->old_uid]->message.='<TR><TD>Vorher: </TD>';
$message[$row->old_uid]->message.='<TD>'.$row->old_ort_kurzbz.'</TD>';
$message[$row->old_uid]->message.='<TD>'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TD>';
$message[$row->old_uid]->message.='<TD>'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TD>';
$message[$row->old_uid]->message.='<TD>'.$row->old_lektor.'</TD>';
$message[$row->old_uid]->message.='<TD>'.$row->old_datum.'/'.$row->old_stunde.'</TD>';
$message[$row->old_uid]->message.='<TD>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TD></TR>';
@@ -473,11 +486,9 @@ else
}
// Verband
$studenten = getStudentsFromGroup($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $ss->studiensemester_kurzbz);
//$verband=$row->stg_typ.$row->stg_kurzbz.$row->semester.$row->verband.$row->gruppe;
//$verband=trim($verband);
foreach ($studenten as $student)
{
//$verband=strtolower($verband);
if (!isset($message[$student]->isset))
{
$message[$student]->isset=true;
@@ -488,7 +499,7 @@ else
}
$message[$student]->message.='<TR><TD>Vorher: </TD>';
$message[$student]->message.='<TD>'.$row->old_ort_kurzbz.'</TD>';
$message[$student]->message.='<TD>'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TD>';
$message[$student]->message.='<TD>'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</TD>';
$message[$student]->message.='<TD>'.$row->old_lektor.'</TD>';
$message[$student]->message.='<TD>'.$row->old_datum.'/'.$row->old_stunde.'</TD>';
$message[$student]->message.='<TD>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TD></TR>';
@@ -497,7 +508,7 @@ else
$myclass=($row->ort_kurzbz!=$row->old_ort_kurzbz?'marked':'unmarked');
$message[$student]->message.='<TD><span class="'.$myclass.'">'.$row->ort_kurzbz.'</span></TD>';
$myclass='unmarked';
$message[$student]->message.='<TD><span class="'.$myclass.'">'.strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</span></TD>';
$message[$student]->message.='<TD><span class="'.$myclass.'">'.mb_strtoupper($row->stg_typ.$row->stg_kurzbz).'-'.$row->semester.$row->verband.$row->gruppe.' '.$row->gruppe_kurzbz.'</span></TD>';
$myclass=($row->lektor!=$row->old_lektor?'marked':'unmarked');
$message[$student]->message.='<TD><span class="'.$myclass.'">'.$row->lektor.'</span></TD>';
$myclass=(($row->datum!=$row->old_datum) || ($row->stunde!=$row->old_stunde)?'marked':'unmarked');
@@ -516,9 +527,11 @@ else
* Mails an Lektoren und Studenten schicken
*/
if ($sendmail)
{
foreach ($message as $msg)
//if (mail('oesi@technikum-wien.at',"Stundenplan update - ".$msg->mailadress,$msg->message_begin.$msg->message,$headers."From: stpl@technikum-wien.at"))
if (mail($msg->mailadress,"Stundenplan update",$msg->message_begin.$msg->message,$headers."From: stpl@technikum-wien.at"))
{
$mail = new mail($msg->mailadress,'stpl@technikum-wien.at','Stundenplan update',$msg->message_begin.$msg->message);
if ($mail->send())
{
echo 'Mail an '.$msg->mailadress.' wurde verschickt!<BR>';
$message_stpl.='Mail an '.$msg->mailadress.' wurde verschickt!<BR>';
@@ -528,18 +541,22 @@ if ($sendmail)
echo 'Mail an '.$msg->mailadress.' konnte nicht verschickt werden!<BR>';
$message_sync.='Mail an '.$msg->mailadress.' konnte ***nicht*** verschickt werden!<BR>';
}
}
}
// Mail an Admin
$message_tmp=$count_upd.' Datens&auml;tze wurden ge&auml;ndert.<BR>
'.$count_ins.' Datens&auml;tze wurden hinzugef&uuml;gt.<BR>
'.$count_del.' Datens&auml;tze wurden gel&ouml;scht.<BR>
'.$count_err.' Fehler sind dabei aufgetreten!<BR><BR>';
echo '<BR>'.$message_tmp;
$message_sync='<HTML><BODY>'.$message_tmp.$message_sync.$message_stpl.'</BODY></HTML>';
mail(MAIL_ADMIN,"Stundenplan update",$message_sync,$headers."From: ".MAIL_LVPLAN);
//mail('oesi@technikum-wien.at',"Stundenplan update",$message_sync,$headers."From: ".MAIL_LVPLAN);
$mail = new mail(MAIL_ADMIN,MAIL_LVPLAN,'Stundenplan update',$message_sync);
$mail->send();
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
mail(MAIL_LVPLAN,"Stundenplan update",$message_stpl,$headers."From: ".MAIL_LVPLAN);
//mail('oesi@technikum-wien.at',"Stundenplan update",$message_stpl,$headers."From: ".MAIL_LVPLAN);
$mail = new mail(MAIL_LVPLAN, MAIL_LVPLAN, 'Stundenplan update', $message_stpl);
$mail->send();
?>
</body>
</html>
-51
View File
@@ -1,51 +0,0 @@
<?php
include('../../vilesci/config.inc.php');
include('../../include/studiengang.class.php');
$conn=pg_connect(CONN_STRING);
$conn_vilesci=pg_connect(CONN_STRING_VILESCI);
$adress='pam@technikum-wien.at';
// Encoding fuer VileSci
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
if(!pg_query($conn_vilesci,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
//Erhalter anlegen
$result=pg_query($conn, "INSERT INTO public.tbl_erhalter (erhalter_kz, kurzbz, bezeichnung, dvr, logo, zvr) VALUES('5', 'TW','Technikum Wien', '0928381',null,'074476426');");
/*************************
* VileSci-Synchronisation
*/
//Studiengaenge vom VileSci holen
$sql_query='SELECT * FROM tbl_studiengang';
//echo $sql_query.'<br>';
$stg_vilesci=pg_exec($conn_vilesci, $sql_query);
//pg_query($conn, "SET CLIENT_ENCODING TO 'LATIN1';");
while ($stg=pg_fetch_object($stg_vilesci))
{
$sql_query="INSERT INTO tbl_studiengang(studiengang_kz, kurzbz, kurzbzlang, bezeichnung, typ, farbe, email, max_semester, max_verband, max_gruppe, erhalter_kz)
VALUES ($stg->studiengang_kz,'".substr($stg->kurzbz,0,3)."', '$stg->kurzbzlang','$stg->bezeichnung',
'$stg->typ','$stg->farbe','$stg->email',$stg->max_semester,'$stg->max_verband','$stg->max_gruppe',5)";
if (!$result=@pg_exec($conn, $sql_query))
echo pg_last_error($conn).'<br>--'.$sql_query.'<br>';
}
?>
<html>
<head>
<title>FAS-Synchro mit VileSci</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h3>Studiengaenge werden synchronisiert!</h3>
<?php
?>
</body>
</html>
@@ -1,96 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Benutzerberechtigung von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = 'Select art, kurzbz, tbl_userberechtigung.studiengang_kz, berechtigung_kurzbz, uid, studiensemester_kurzbz, start, ende FROM tbl_userberechtigung left join tbl_fachbereich using(fachbereich_id)';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Benutzerberechtigung\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$benutzerberechtigung = new benutzerberechtigung($conn);
$benutzerberechtigung->art = $row->art;
$benutzerberechtigung->fachbereich_kurzbz = $row->kurzbz;
$benutzerberechtigung->studiengang_kz = $row->studiengang_kz;
$benutzerberechtigung->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$benutzerberechtigung->uid = $row->uid;
$benutzerberechtigung->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$benutzerberechtigung->start = $row->start;
$benutzerberechtigung->ende = $row->ende;
//$qry = "SELECT count(*) as anz FROM tbl_feedback WHERE feedback_id='$row->feedback_id'";
//if($row1 = pg_fetch_object(pg_query($conn, $qry)))
//{
$benutzerberechtigung->new=true;
if(!$benutzerberechtigung->save())
{
$error_log.=$benutzerberechtigung->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
//}
//else
// $error_log .= "Fehler beim ermitteln der UID\n";
}
}
else
$error_log .= "Berechtigungen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Benutzerberechtigung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,148 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/benutzerfunktion.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//benutzerfunktion
$qry = 'SELECT * FROM tbl_personfunktion';
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("Benutzerfunktion Sync\n----------------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$benutzerfunktion = new benutzerfunktion($conn);
if($row->fachbereich_id!='')
{
$qry_fb = "SELECT fachbereich_kurzbz FROM tbl_fachbereich WHERE ext_id='$row->fachbereich_id'";
if($result_fb = pg_query($conn,$qry_fb))
{
if($row_fb=pg_fetch_object($result_fb))
$fachbereich = $row_fb->fachbereich_kurzbz;
else
{
$anzahl_fehler++;
$error_log = "Fachbereich wurde nicht gefunden: $row->fachbereich_id";
}
}
else
{
$anzahl_fehler++;
$error_log = "Fachbereich wurde nicht gefunden: $row->fachbereich_id";
}
}
else
$fachbereich='';
if(isset($fachbereich))
{
$benutzerfunktion->fachbereich_kurzbz =$fachbereich;
$benutzerfunktion->uid =$row->uid;
$benutzerfunktion->studiengang_kz =$row->studiengang_kz;
$benutzerfunktion->funktion_kurzbz =$row->funktion_kurzbz;
//$benutzerfunktion->insertamum ='';
//$benutzerfunktion->insertvon ='SYNC';
//$benutzerfunktion->updateamum ='';
//$benutzerfunktion->updatevon =$row->updatevon;
$qry = "SELECT benutzerfunktion_id FROM tbl_benutzerfunktion WHERE benutzerfunktion_id='$row->personfunktion_id'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Benutzerfunktionsdaten updaten
$benutzerfunktion->new=false;
$benutzerfunktion->benutzerfunktion_id=$row->personfunktion_id;
}
else
{
$error_log.="benutzerfunktion_id von $row->personfunktion_id konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Benutzerfunktion neu anlegen
$benutzerfunktion->new=true;
}
if(!$error)
if(!$benutzerfunktion->save())
{
$error_log.=$benutzerfunktion->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Funktiondatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Benutzerfunktionen</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,101 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert BenutzerGruppen von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/benutzergruppe.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'SELECT uid, UPPER(mailgrp_kurzbz) as gruppe_kurzbz, updateamum, updatevon
FROM tbl_personmailgrp
UNION
SELECT uid, UPPER(einheit_kurzbz) as gruppe_kurzbz, updateamum, updatevon
FROM tbl_einheitstudent';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync BenutzerGruppe\n\n";
while($row = pg_fetch_object($result))
{
$bngruppe = new benutzergruppe($conn);
$bngruppe->gruppe_kurzbz = $row->gruppe_kurzbz;
$bngruppe->uid = $row->uid;
$bngruppe->updateamum = $row->updateamum;
$bngruppe->updatevon = $row->updatevon;
$bngruppe->insertamum = '';
$bngruppe->insertvon = '';
$qry = "SELECT count(*) as anz FROM tbl_benutzergruppe WHERE
gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND uid='".addslashes($row->uid)."'";
if($row1=pg_fetch_object(pg_query($conn,$qry)))
{
$new = ($row1->anz>0?false:true);
if(!$bngruppe->save($new))
{
$anzahl_fehler++;
$error_log .= $bngruppe->errormsg."\n";
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.='Fehler beim Auslesen';
$anzahl_fehler++;
}
}
}
else
$error_log .= "BenutzerGruppen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - BenutzerGruppe</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,104 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert tbl_personlvstudiensemester von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/benutzerlvstudiensemester.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'SELECT * FROM tbl_personlehrfachstudiensemester';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Benutzerlvstudiensemester\n\n";
while($row = pg_fetch_object($result))
{
$obj = new benutzerlvstudiensemester($conn);
$obj->uid = $row->uid;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE ext_id=$row->lehrfach_nr";
if($row1 = pg_fetch_object(pg_query($conn,$qry)))
{
$obj->lehrveranstaltung_id = $row1->lehrveranstaltung_id;
$qry = "SELECT count(*) as anz FROM campus.tbl_benutzerlvstudiensemester WHERE
uid='".addslashes($row->uid)."' AND studiensemester_kurzbz='".addslashes($row->studiensemester_kurzbz)."'
AND lehrveranstaltung_id='".addslashes($row1->lehrveranstaltung_id)."';";
if($row1=pg_fetch_object(pg_query($conn,$qry)))
{
$new = ($row1->anz>0?false:true);
if(!$obj->save($new))
{
$anzahl_fehler++;
$error_log .= $obj->errormsg."\n";
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.='Fehler beim Auslesen';
$anzahl_fehler++;
}
}
else
{
$error_log .= "Fehler beim Auslesen der Lehrveranstaltung_nr\n.$qry\n";
$anzahl_fehler++;
}
}
}
else
$error_log .= "PersonLVStudiensemester konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - BenutzerLVStudiensemester</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,93 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Berechtigung von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/berechtigung.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = 'Select * FROM tbl_berechtigung';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Berechtigung\n\n";
while($row = pg_fetch_object($result))
{
$berechtigung = new berechtigung($conn);
$berechtigung->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$berechtigung->beschreibung = $row->beschreibung;
$qry = "SELECT count(*) as anz FROM tbl_berechtigung where berechtigung_kurzbz='".addslashes($row->berechtigung_kurzbz)."'";
if($row1 =pg_fetch_object(pg_query($conn,$qry)))
{
$berechtigung->new = ($row1->anz>0?false:true);
if(!$berechtigung->save())
{
$anzahl_fehler++;
$error_log .= $berechtigung->errormsg."\n";
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.='Fehler beim auslesen';
$anzahl_fehler++;
}
}
}
else
$error_log .= "Berechtigungen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Benutzerberechtigung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,124 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Fachbereichsdatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/fachbereich.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//fachbereich
$qry = "SELECT * FROM tbl_fachbereich";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("Fachbereich Sync\n-----------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$fachbereich = new fachbereich($conn);
$fachbereich->fachbereich_kurzbz =$row->kurzbz;
$fachbereich->studiengang_kz =$row->studiengang_kz;
$fachbereich->bezeichnung =$row->bezeichnung;
$fachbereich->farbe =$row->farbe;
$fachbereich->ext_id =$row->fachbereich_id;
$qry = "SELECT ext_id FROM tbl_fachbereich WHERE ext_id='$fachbereich->ext_id'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Fachbereichsdaten updaten
$fachbereich->new=false;
//$fachbereich->fachbereich_kurzbz=$row->fachbereich_kurzbz;
}
else
{
$error_log.="fachbereich_id von $row->fachbereich_id konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Fachbereich neu anlegen
$fachbereich->new=true;
}
if(!$error)
if(!$fachbereich->save())
{
$error_log.=$fachbereich->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Fachbereichsdatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Fachbereiche</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,103 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Feedback von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/feedback.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = 'Select * FROM tbl_feedback';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Feedback\n\n";
while($row = pg_fetch_object($result))
{
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE ext_id='$row->lehrfach_nr'";
if($row1 = pg_fetch_object(pg_query($conn,$qry)))
{
$error=false;
$feedback = new feedback($conn);
$feedback->feedback_id = $row->feedback_id;
$feedback->betreff = $row->betreff;
$feedback->text = $row->text;
$feedback->datum = $row->datum;
$feedback->uid = $row->uid;
$feedback->lehrveranstaltung_id = $row1->lehrveranstaltung_id;
$qry = "SELECT count(*) as anz FROM campus.tbl_feedback WHERE feedback_id='$row->feedback_id'";
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
{
$feedback->new = ($row1->anz>0?false:true);
if(!$feedback->save())
{
$error_log.=$feedback->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
else
$error_log .= "Fehler beim ermitteln der UID\n";
}
else
{
$anzahl_fehler++;
$error_log .= 'Lehrveranstaltung konnte nicht ermittelt werden mit LFnr:'.$row->lehrfach_nr;
}
}
}
else
$error_log .= "Feedback konnte nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Feedback</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,127 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Funktiondatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/ferien.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//ferien
$qry = "SELECT * FROM tbl_ferien";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("Ferien Sync\n------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$ferien = new ferien($conn);
$ferien->bezeichnung =$row->bezeichnung;
$ferien->studiengang_kz =$row->studiengang_kz;
$ferien->vondatum =$row->vondatum;
$ferien->bisdatum =$row->bisdatum;
$qry = "SELECT bezeichnung, studiengang_kz FROM lehre.tbl_ferien WHERE bezeichnung='$row->bezeichnung' AND studiengang_kz='$row->studiengang_kz'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Feriendaten updaten
$ferien->new=false;
}
else
{
$error_log.="bezeichnung von $row->studiengang_kz, $row->bezeichnung konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Ferien neu anlegen
$ferien->new=true;
}
if(!$error)
{
if(!$ferien->save())
{
$error_log.=$ferien->errormsg."\n";
$anzahl_fehler++;
}
else
{
$anzahl_eingefuegt++;
}
}
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Feriendatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Ferien</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,122 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Funktiondatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/funktion.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//funktion
$qry = "SELECT * FROM tbl_funktion";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("Funktion Sync\n----------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$funktion = new funktion($conn);
$funktion->beschreibung =$row->bezeichnung;
$funktion->funktion_kurzbz =$row->funktion_kurzbz;
$funktion->aktiv =($row->aktiv=='t'?true:false);
$qry = "SELECT funktion_kurzbz FROM tbl_funktion WHERE funktion_kurzbz='$funktion->funktion_kurzbz'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Funktionsdaten updaten
$funktion->new=false;
$funktion->funktion_kurzbz=$row->funktion_kurzbz;
}
else
{
$error_log.="funktion_kurzbz von $row->funktion_kurzbz konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Funktion neu anlegen
$funktion->new=true;
}
if(!$error)
if(!$funktion->save())
{
$error_log.=$funktion->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Funktiondatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Funktionen</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,111 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Gruppen von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/gruppe.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'SELECT einheit_kurzbz as gruppe_kurzbz, studiengang_kz, bezeichnung, semester, typ, mailgrp_kurzbz,
bezeichnung as mailgrp_beschreibung, true as sichtbar , true as aktiv, null as updateamum,
null as updatevon, null as insertamum, null as insertvon
FROM tbl_einheit WHERE mailgrp_kurzbz is null
UNION
SELECT mailgrp_kurzbz as gruppe_kurzbz, studiengang_kz, beschreibung as bezeichnung, null as semester,
null as typ, mailgrp_kurzbz, beschreibung as mailgrp_beschreibung, sichtbar, aktiv, null as updateamum,
null as updatevon, null as insertamum, null as insertvon
FROM tbl_mailgrp';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Gruppe\n\n";
while($row = pg_fetch_object($result))
{
$gruppe = new gruppe($conn);
$gruppe->gruppe_kurzbz = strtoupper($row->gruppe_kurzbz);
$gruppe->studiengang_kz = $row->studiengang_kz;
$gruppe->bezeichnung = substr($row->bezeichnung,0,32);
$gruppe->semester = $row->semester;
$gruppe->sort = $row->typ;
$gruppe->mailgrp = ($row->mailgrp_kurzbz!=''?true:false);
$gruppe->beschreibung = $row->mailgrp_beschreibung;
$gruppe->sichtbar = ($row->sichtbar=='t'?true:false);
$gruppe->aktiv = ($row->aktiv=='t'?true:false);
$gruppe->updateamum = $row->updateamum;
$gruppe->updatevon = $row->updatevon;
$gruppe->insertamum = $row->insertamum;
$gruppe->insertvon = $row->insertvon;
$qry = "SELECT count(*) as anz FROM tbl_gruppe where gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."'";
if($row1=pg_fetch_object(pg_query($conn,$qry)))
{
$new = ($row1->anz>0?false:true);
if(!$gruppe->save($new))
{
$anzahl_fehler++;
$error_log .= $gruppe->errormsg."\n";
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.='Fehler beim Auslesen';
$anzahl_fehler++;
}
}
}
else
$error_log .= "Gruppen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Gruppe</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,397 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert die Lehreinheit von Vilesci DB in PORTAL DB
* Ablauf:
LEHREINHEIT IST BEREITS EINGEFUEGT (IN SYNCTAB)?
JA
//update ist nicht implementiert
NEIN
GLEICHE LEHREINHEIT MIT ANDERER GRUPPE/LEKTOR BEREITS VORHANDEN?
JA
ZU SYNCTAB HINZUFUEGEN
GRUPPE HINZUFUEGEN
LEKTOR HINZUFUEGEN
NEIN
LEHREINHEIT ANLEGEN
ZU SYNCTAB HINZUFUEGEN
GRUPPE HINZUFUEGEN
LEKTOR HINZUFUEGEN
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/lehreinheitgruppe.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
require_once('../../include/lehrverband.class.php');
require_once('../../include/gruppe.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function lektorzuweisen($lehreinheit_id, $uid, $semesterstunden, $fas_id)
{
global $error_log, $conn;
//Lektor Zuweisen
$lektor = new lehreinheitmitarbeiter($conn);
if(!$lektor->exists($lehreinheit_id, $uid))
{
$lektor->lehreinheit_id = $lehreinheit_id;
$lektor->mitarbeiter_uid = $uid;
$lektor->semesterstunden = $semesterstunden;
$lektor->planstunden = $semesterstunden;
$lektor->lehrfunktion_kurzbz ='lektor';
$lektor->stundensatz = '';
$lektor->faktor = 1;
$lektor->anmerkung = '';
$lektor->ext_id = $fas_id;
if($lektor->save(true))
{
return true;
}
else
{
$error_log.=$lektor->errormsg;
return false;
}
}
else
return true;
}
function gruppezuweisen($id,$studiengang_kz, $semester, $verband, $gruppe, $einheit_kurzbz, $fas_id)
{
global $error_log,$conn;
if($einheit_kurzbz=='')
{
$lehrverband = new lehrverband($conn);
if(!$lehrverband->exists($studiengang_kz, $semester, $verband, $gruppe))
{
$lehrverband->studiengang_kz=$studiengang_kz;
$lehrverband->semester=$semester;
$lehrverband->verband=$verband;
$lehrverband->gruppe=$gruppe;
if($lehrverband->save())
$error=false;
else
{
$error_log .=$lehrverband->errormsg."\n";
$error=true;
}
}
else
$error=false;
}
else
{
$gruppe2 = new gruppe($conn);
if(!$gruppe2->exists(strtoupper($einheit_kurzbz)))
{
$gruppe2->studiengang_kz=$studiengang_kz;
$gruppe2->semester=$semester;
$gruppe2->bezeichnung='';
$gruppe2->typ='';
$gruppe2->sichtbar=false;
$gruppe2->aktiv=false;
$gruppe2->gruppe_kurzbz=strtoupper($einheit_kurzbz);
$gruppe2->mailgrp=false;
if($gruppe2->save(true))
$error=false;
else
{
$error_log.=$gruppe2->errormsg."\n";
$error=true;
}
}
else
$error=false;
}
if(!$error)
{
//Gruppe Zuweisen
$gruppe1 = new lehreinheitgruppe($conn);
//Wenn diese Gruppenzuteilung noch nicht vorhanden ist
if(!$gruppe1->exists($id, $studiengang_kz, $semester, $verband, $gruppe, $einheit_kurzbz))
{
$gruppe1->lehreinheit_id = $id;
$gruppe1->studiengang_kz = $studiengang_kz;
$gruppe1->semester = $semester;
$gruppe1->verband = $verband;
$gruppe1->gruppe = $gruppe;
$gruppe1->gruppe_kurzbz = strtoupper($einheit_kurzbz);
$gruppe1->ext_id=$fas_id;
if($gruppe1->save(true))
return true;
else
{
$error_log .= $gruppe1->errormsg."\n";
return false;
}
}
else
return true;
}
else
return false;
}
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$error = false;
$qry = 'SELECT * FROM tbl_lehrveranstaltung';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Lehreinheiten\n\n";
//Schauen ob Sync table vorhanden ist
$qry = "SELECT 1 FROM public.tbl_synclehreinheit;";
if(!@pg_query($conn,$qry))
{
//Die synctabelle wird benoetigt um die Verbindung der LehrveranstaltungsID(Vilesci) und der
//LehreinheitID(Portal) Festzuhalten um beim Syncro vom Stundenplan die richitge Zuordnung zu haben.
//-> kann nicht ueber ext_id vorgenommen werden da manche Lehrveranstaltungen keinen eigenen
// Lehreinheiteneintrag haben sondern nur die Gruppe zu einer anderen Lehreinheit hinzugefuegt wird.
//Sync Table anlegen
$qry = "CREATE TABLE public.tbl_synclehreinheit(
lehrveranstaltung_id_vilesci integer,
lehreinheit_id_portal integer,
PRIMARY KEY(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
);";
if(!pg_query($conn,$qry))
{
$error=true;
$error_log = 'SyncTable konnte nicht erstellt werden';
$anzahl_fehler++;
}
}
if(!$error)
{
while($row = pg_fetch_object($result))
{
$error=false;
$lehreinheit = new lehreinheit($conn);
//Nachschauen ob diese Lehreinheit bereits synchronisiert wurde
$qry = "SELECT lehreinheit_id_portal FROM public.tbl_synclehreinheit WHERE lehrveranstaltung_id_vilesci='".addslashes($row->lehrveranstaltung_id)."'";
if($result1=pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //Lehreinheit ist bereits vorhanden
{
//BereitsSyncronisiert
//WORKING
}
else //Lehreinheit neu anlegen
{
$lehreinheit->ext_id = $row->lehrveranstaltung_id;
//Lehrveranstaltungsnummer aus LF ermitteln
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE ext_id='".addslashes($row->lehrfach_nr)."'";
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
{
//Wenn alles gleich ist ausser die Gruppe dann wird nur die gruppe bzw Lektor zur LE hinzugefuegt
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter using(lehreinheit_id) WHERE
lehrveranstaltung_id='$row1->lehrveranstaltung_id' AND
studiensemester_kurzbz='$row->studiensemester_kurzbz' AND
lehrfach_id='$row->lehrfach_nr' AND
lehrform_kurzbz='$row->lehrform_kurzbz' AND
stundenblockung='$row->stundenblockung' AND
wochenrythmus='$row->wochenrythmus' AND
start_kw ".($row->start_kw!=''?"='$row->start_kw'":'is null')." AND
raumtyp='$row->raumtyp' AND
raumtypalternativ='$row->raumtypalternativ' AND
unr ".($row->unr!=''?"='$row->unr'":'is null')." AND
lvnr ".($row->lvnr!=''?"='$row->lvnr'":'is null');
if($result2 = pg_query($conn,$qry))
{
if(pg_num_rows($result2)>0)
{
//Lehreinheit vorhanden. Es muss nur noch Gruppe bzw Lektor eingetragen werden
if($row_val = pg_fetch_object($result2))
{
pg_query($conn, 'BEGIN');
if(lektorzuweisen($row_val->lehreinheit_id, $row->lektor, $row->semesterstunden, $row->fas_id))
{
if(gruppezuweisen($row_val->lehreinheit_id, $row->studiengang_kz, $row->semester,$row->verband, $row->gruppe, $row->einheit_kurzbz, $row->fas_id))
{
$qry = "INSERT INTO public.tbl_synclehreinheit(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
VALUES('".$row->lehrveranstaltung_id."','".$row_val->lehreinheit_id."');";
if(pg_query($conn,$qry))
{
$anzahl_eingefuegt++;
pg_query($conn,'COMMIT');
}
else
{
$error_log.="Fehler beim Schreiben des Logs\n";
$anzahl_fehler++;
pg_query($conn, 'ROLLBACK');
}
}
else
{
$error_log.="Fehler beim zuteilen der Gruppe: $row->lehrveranstaltung_id\n";
$anzahl_fehler++;
pg_query($conn, 'ROLLBACK');
}
}
else
{
$error_log.="Fehler beim zuteilen des Lektors: $row->lehrveranstaltung_id\n";
$anzahl_fehler++;
pg_query($conn, 'ROLLBACK');
}
}
else
{
$error_log .= 'Fehler beim Select: '.$qry."\n";
$anzahl_fehler++;
}
}
else
{
//Neue Lehreinheit anlegen
$lehreinheit->lehrveranstaltung_id = $row1->lehrveranstaltung_id;
$lehreinheit->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$lehreinheit->lehrfach_id = $row->lehrfach_nr;
$lehreinheit->lehrform_kurzbz = $row->lehrform_kurzbz;
$lehreinheit->stundenblockung = $row->stundenblockung;
$lehreinheit->wochenrythmus = $row->wochenrythmus;
$lehreinheit->start_kw = $row->start_kw;
$lehreinheit->raumtyp = $row->raumtyp;
$lehreinheit->raumtypalternativ = $row->raumtypalternativ;
$lehreinheit->lehre = true;
$lehreinheit->anmerkung = $row->anmerkung;
$lehreinheit->unr = $row->unr;
$lehreinheit->lvnr = $row->lvnr;
$lehreinheit->sprache = 'German';
$lehreinheit->updateamum = '';
$lehreinheit->updatevon = '';
$lehreinheit->insertamum = '';
$lehreinheit->insertvon = '';
$lehreinheit->ext_id = '';
//Datensatz Speichern
pg_query($conn,'BEGIN');
if(!$lehreinheit->save(true))
{
$error_log .= $lehreinheit->errormsg."\n";
$anzahl_fehler++;
}
else
{
//ID aus der Sequenz auslesen
$qry = "SELECT currval('lehre.tbl_lehreinheit_lehreinheit_id_seq') as id";
if($row_val = pg_fetch_object(pg_query($conn, $qry)))
{
//Beide IDS in die SyncTab einfuegen
$qry = "INSERT INTO public.tbl_synclehreinheit(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
VALUES('".$row->lehrveranstaltung_id."','".$row_val->id."');";
if(pg_query($conn,$qry))
{
if(gruppezuweisen($row_val->id, $row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->einheit_kurzbz, $row->fas_id))
{
if(lektorzuweisen($row_val->id, $row->lektor, $row->semesterstunden, $row->fas_id))
{
pg_query($conn,'COMMIT');
$anzahl_eingefuegt++;
}
else
{
pg_query($conn,'ROLLBACK');
$anzahl_fehler++;
}
}
else
{
$anzahl_fehler++;
pg_query($conn,'ROLLBACK');
}
}
else
{
pg_query($conn,'ROLLBACK');
$anzahl_fehler++;
$error_log .='Fehler beim Insert in die SyncTab '.$qry."\n";
}
}
else
{
pg_query($conn,'ROLLBACK');
$anzahl_fehler++;
$error_log .= 'Fehler beim Auslesen der Sequence: '.$qry."\n";
}
}
}
}
else
{
$anzahl_fehler++;
$error_log.='Fehler beim Select: '.$qry."\n";
}
}
else
{
$error_log .= "Lehrveranstaltungsnummer zu Lehrfach $row->lehrfach_nr konnte nicht ermittelt werden\n";
$anzahl_fehler++;
$error=true;
}
}
}
else
$error_log .= "Fehler beim Auslesen der Lehreinheiten: $qry\n";
}
}
}
else
$error_log .= "Lehrformen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Lehreinheiten</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,104 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Lehrfaecher von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/lehrfach.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = 'SELECT lehrfach_nr, tbl_lehrfach.studiengang_kz as studiengang_kz, tbl_fachbereich.kurzbz as fachbereich_kurzbz,
tbl_lehrfach.kurzbz as kurzbz, tbl_lehrfach.bezeichnung as bezeichnung, tbl_lehrfach.farbe as farbe,
tbl_lehrfach.aktiv as aktiv, tbl_lehrfach.semester as semester, tbl_lehrfach.sprache as sprache
FROM tbl_lehrfach LEFT JOIN tbl_fachbereich using(fachbereich_id)';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Lehrfaecher\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$lf = new lehrfach($conn);
$lf->lehrfach_id = $row->lehrfach_nr;
$lf->studiengang_kz = $row->studiengang_kz;
$lf->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$lf->kurzbz = $row->kurzbz;
$lf->bezeichnung = $row->bezeichnung;
$lf->farbe = $row->farbe;
$lf->aktiv = ($row->aktiv=='t'?true:false);
$lf->semester = $row->semester;
$lf->sprache = ($row->sprache!=''?$row->sprache:'German');
$qry = "SELECT count(*) as anz FROM lehre.tbl_lehrfach WHERE lehrfach_id='$row->lehrfach_nr'";
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
{
if($row1->anz>0) //wenn dieser eintrag schon vorhanden ist
$lf->new=false;
else
$lf->new=true;
if(!$lf->save())
{
$error_log.=$lf->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
else
$error_log .= "Fehler beim ermitteln der UID\n";
}
}
else
$error_log .= "Lehrfaecher konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Lehrfach</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,96 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert die Lehrform von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/lehrform.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = 'SELECT * FROM tbl_lehrform';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Lehrform\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$lehrform = new lehrform($conn);
$lehrform->lehrform_kurzbz = $row->lehrform_kurzbz;
$lehrform->bezeichnung = $row->bezeichnung;
$lehrform->verplanen = ($row->verplanen=='t'?true:false);
$qry = "SELECT count(*) as anz FROM lehre.tbl_lehrform WHERE lehrform_kurzbz='$row->lehrform_kurzbz'";
if($row = pg_fetch_object(pg_query($conn, $qry)))
{
if($row->anz>0) //wenn dieser eintrag schon vorhanden ist
$lehrform->new=false;
else
$lehrform->new=true;
if(!$lehrform->save())
{
$error_log.=$lehrform->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
else
$error_log .= "Fehler bei Select: $qry\n";
}
}
else
$error_log .= "Lehrformen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Lehrform</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,138 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Lehrveranstaltungsdatensaetze von Vilesci DB in PORTAL DB
*
*/
include('../../vilesci/config.inc.php');
include('../../include/lehrveranstaltung.class.php');
include('../../include/fachbereich.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//Lehrveranstaltung
$qry = "SELECT * FROM tbl_lehrfach";
if($result = pg_query($conn_vilesci, $qry))
{
$anzahl_quelle=pg_num_rows($result);
$text.="Lehrveranstaltung Sync\n-----------------------\n";
while($row = pg_fetch_object($result))
{
$error=false;
$lehrveranstaltung = new lehrveranstaltung($conn);
$lehrveranstaltung->studiengang_kz =$row->studiengang_kz;
$lehrveranstaltung->bezeichnung =$row->bezeichnung;
$lehrveranstaltung->kurzbz =$row->kurzbz;
$lehrveranstaltung->semester =$row->semester;
$lehrveranstaltung->ects =$row->ects;
$lehrveranstaltung->semesterstunden =0;
$lehrveranstaltung->anmerkung ='';
$lehrveranstaltung->lehre =($row->lehre=='t'?true:false);
$lehrveranstaltung->lehreverzeichnis =$row->lehrevz;
$lehrveranstaltung->aktiv =($row->aktiv=='t'?true:false);
$lehrveranstaltung->planfaktor ='1.0';
$lehrveranstaltung->planlektoren ='1';
$lehrveranstaltung->planpersonalkosten ='80';
$lehrveranstaltung->sprache = ($row->sprache!=''?$row->sprache:'German');
//$lehrveranstaltung->insertamum ='';
$lehrveranstaltung->insertvon ='SYNC';
//$lehrveranstaltung->updateamum ='';
//$lehrveranstaltung->updatevon =$row->updatevon;
$lehrveranstaltung->ext_id =$row->lehrfach_nr;
//$lehrveranstaltung->new =true;
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE ext_id='$lehrveranstaltung->ext_id'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Lehrveranstaltungsdaten updaten
$lehrveranstaltung->new=false;
$lehrveranstaltung->lehrveranstaltung_id=$row1->lehrveranstaltung_id;
}
else
{
$error_log.="lehrveranstaltung_id von $row->lehrveranstaltung_id konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Lehrveranstaltung neu anlegen
$lehrveranstaltung->new=true;
}
if(!$error)
if(!$lehrveranstaltung->save())
{
$error_log.=$lehrveranstaltung->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
$text.="abgeschlossen";
}
else
$error_log .= 'Lehrveranstaltungsdatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Lehrveranstaltungen</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,138 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert die Lehrverbaende von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/lehrverband.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = "SELECT studiengang_kz, semester, verband, gruppe FROM tbl_student GROUP BY studiengang_kz, semester, verband, gruppe";
if($result = pg_query($conn_vilesci, $qry))
{
$text.="Sync der Lehrverbaende\n\n";
while($row=pg_fetch_object($result))
{
$lvb_obj = new lehrverband($conn);
//Lehrverbaende und uebergeordnete Lehrverbaende anlegen sofern diese noch
//nicht existieren
if(!$lvb_obj->exists($row->studiengang_kz, $row->semester, '', ''))
{
$lvb_obj->studiengang_kz = $row->studiengang_kz;
$lvb_obj->semester = $row->semester;
$lvb_obj->verband = ' ';
$lvb_obj->gruppe = ' ';
$lvb_obj->aktiv = true;
if(!$lvb_obj->save())
{
$error_log.=$lvb_obj->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
if(trim($row->verband)!='')
{
if(!$lvb_obj->exists($row->studiengang_kz, $row->semester, $row->verband, ''))
{
$lvb_obj->studiengang_kz = $row->studiengang_kz;
$lvb_obj->semester = $row->semester;
$lvb_obj->verband = $row->verband;
$lvb_obj->gruppe = ' ';
$lvb_obj->aktiv = true;
if(!$lvb_obj->save())
{
$error_log.=$lvb_obj->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
if(trim($row->gruppe)!='')
{
if(!$lvb_obj->exists($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe))
{
$lvb_obj->studiengang_kz = $row->studiengang_kz;
$lvb_obj->semester = $row->semester;
$lvb_obj->verband = $row->verband;
$lvb_obj->gruppe = $row->gruppe;
$lvb_obj->aktiv = true;
if(!$lvb_obj->save())
{
$error_log.=$lvb_obj->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
}
}
/*
$qry = "INSERT INTO tbl_lehrverband(studiengang_kz, semester, verband, gruppe) VALUES(
$row->studiengang_kz, $row->semester, '$row->verband', '$row->gruppe');";
if(!pg_query($conn, $qry))
{
$error_log.= "Fehler beim einfuegen des Datensatzes: $qry";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
*/
}
}
$text .= "Anzahl Datensaetze Vilesci: ".pg_num_rows($result)."\n";
$text .= "Anzahl eingefuegter Datensaetze: $anzahl_eingefuegt\n";
$text .= "Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Lehrverbaende</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,157 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert LVInfodatensaetze von Vilesci DB nach PORTAL DB
//*
//*
require_once('../../vilesci/config.inc.php');
require_once('../../include/lvinfo.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//lvinfo
$qry = "SELECT * FROM tbl_lvinfo WHERE studiensemester_kurzbz='WS2007'";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("LVInfo Sync\n-------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$lvinfo = new lvinfo($conn);
$qry_lv = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung where ext_id='$row->lehrfach_nr'";
if($result_lv = pg_query($conn, $qry_lv))
{
if($row_lv = pg_fetch_object($result_lv))
{
$lvinfo->lehrveranstaltung_id = $row_lv->lehrveranstaltung_id;
$lvinfo->titel =$row->lehrfach;
$lvinfo->lehrziele =$row->lehrziele;
$lvinfo->lehrinhalte =$row->lehrinhalte;
$lvinfo->voraussetzungen =$row->voraussetzungen;
$lvinfo->unterlagen =$row->unterlagen;
$lvinfo->pruefungsordnung =$row->pruefungsordnung;
$lvinfo->anmerkungen =$row->anmerkungen;
$lvinfo->kurzbeschreibung =$row->niveau;
$lvinfo->methodik =$row->lehrformen;
$lvinfo->genehmigt =($row->genehmigt=='t'?true:false);
$lvinfo->aktiv =($row->aktiv=='t'?true:false);
$lvinfo->sprache =$row->sprache;
$lvinfo->insertamum ='';
$lvinfo->insertvon ='';
$lvinfo->updateamum =$row->updateamum;
$lvinfo->updatevon =$row->updatevon;
//schon da?
$qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$row_lv->lehrveranstaltung_id' AND sprache='$row->sprache'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Funktionsdaten updaten
$lvinfo->new=false;
}
else
{
$error_log.="lvinfo_id von <b>$row->lvinfo_id</b> konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//LVInfo neu anlegen
$lvinfo->new=true;
}
if(!$error)
if(!$lvinfo->save())
{
$error_log.=$lvinfo->errormsg."\n";
$anzahl_fehler++;
}
else
{
$anzahl_eingefuegt++;
}
else
$anzahl_fehler++;
}
}
else
{
$error_log.="lehrveranstaltung_id fuer das Lehrfach $row->lehrfach_nr konnte nicht ermittelt werden\n";
$anzahl_fehler++;
}
}
else
{
$error_log.="lehrveranstaltung_id fuer das Lehrfach $row->lehrfach_nr konnte nicht ermittelt werden\n";
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Funktiondatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - LVInfo</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,165 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Mitarbeiterdatensaetze von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = "SELECT * FROM tbl_person JOIN tbl_mitarbeiter USING(uid) WHERE uid NOT LIKE '\_dummy%'";
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Mitarbeiter\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$mitarbeiter = new mitarbeiter($conn);
//if($row->personalnummer!='')
//{
$mitarbeiter->sprache='German';
$mitarbeiter->anrede='';
$mitarbeiter->titelpost='';
$mitarbeiter->titelpre=$row->titel;
$mitarbeiter->nachname=$row->nachname;
if(!$len=strpos($row->vornamen,' '))
{
$mitarbeiter->vorname=$row->vornamen;
$mitarbeiter->vornamen='';
}
else
{
$mitarbeiter->vorname=substr($row->vornamen,0,$len);
$mitarbeiter->vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
$mitarbeiter->gebdatum=$row->gebdatum;
$mitarbeiter->gebort=$row->gebort;
$mitarbeiter->gebzeit=$row->gebzeit;
$mitarbeiter->ort_kurzbz=$row->ort_kurzbz;
$mitarbeiter->foto='';
$mitarbeiter->anmerkungen=$row->anmerkungen;
$mitarbeiter->homepage=$row->homepage;
$mitarbeiter->svnr='';
$mitarbeiter->geschlecht='m';
$mitarbeiter->ersatzkennzeichen='';
$mitarbeiter->familienstand='';
$mitarbeiter->anzahlkinder='';
$mitarbeiter->aktiv=($row->aktiv=='t'?true:false);
$mitarbeiter->insertvon='';
$mitarbeiter->insertamum='';
$mitarbeiter->updateamum=$row->updateamum;
$mitarbeiter->updatevon=$row->updatevon;
$mitarbeiter->ext_id='';
$mitarbeiter->uid=$row->uid;
$mitarbeiter->bnaktiv=$row->aktiv;
$mitarbeiter->alias=$row->alias;
$mitarbeiter->ausbildungcode='';
if($row->personalnummer=='OFF')
$mitarbeiter->personalnummer='';
else
$mitarbeiter->personalnummer=$row->personalnummer;
$mitarbeiter->kurzbz=$row->kurzbz;
$mitarbeiter->lektor=($row->lektor=='t'?true:false);
$mitarbeiter->fixangestellt=($row->fixangestellt=='t'?true:false);
$mitarbeiter->telefonklappe=$row->telefonklappe;
$qry = "SELECT person_id FROM tbl_benutzer WHERE uid='$row->uid'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Mitarbeiterdaten updaten
$mitarbeiter->new=false;
$mitarbeiter->person_id=$row1->person_id;
}
else
{
$error_log.="Person_id von $row->uid konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Mitarbeiter neu anlegen
$mitarbeiter->new=true;
}
if(!$error)
if(!$mitarbeiter->save())
{
$error_log.="Fehler beim Speichern des Mitarbeits ($row->uid):".$mitarbeiter->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
else
$error_log .= "Fehler beim ermitteln der UID\n";
//}
//else
// $error_log .= "$row->nachname ($row->uid) hat keine Personalnummer\n";
}
}
else
$error_log .= 'Mitarbeiterdatensaetze konnten nicht geladen werden\n';
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Mitarbeiter</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,150 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Funktiondatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/news.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//news
$qry = "SELECT * FROM tbl_news";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("News Sync\n-----------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$news = new news($conn);
$news->news_id =$row->news_id;
$news->betreff =$row->betreff;
$news->text =$row->text;
$news->semester =$row->semester;
$news->uid =$row->uid;
$news->studiengang_kz =$row->studiengang_kz;
$news->verfasser =$row->verfasser;
//$news->insertamum ='';
$news->insertvon =$row->uid;
$news->datum = $row->updateamum;
$news->updateamum =$row->updateamum;
$news->updatevon =$row->uid;
$qry = "SELECT news_id FROM campus.tbl_news WHERE news_id='$row->news_id'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Newsdaten updaten
$news->new=false;
$news->news_id=$row->news_id;
}
else
{
$error_log.="news_id von $row->news_id konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//News neu anlegen
$news->new=true;
}
if(!$error)
{
$qryuid = "SELECT uid FROM tbl_benutzer WHERE uid = '$row->uid'";
if($resultuid = pg_query($conn, $qryuid))
{
if (pg_num_rows($resultuid)>0)
{
if(!$news->save())
{
$error_log.=$news->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.="uid von <b>$row->uid</b> konnte nicht in tbl_benutzer gefunden werden\n";
$anzahl_fehler++;
}
}
else
{
$error_log.="Fehler beim Zugriff auf tbl_benuntzer\n";
$anzahl_fehler++;
}
}
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Newsdatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - News</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,132 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Funktiondatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/ort.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//ort
$qry = "SELECT * FROM tbl_ort";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("Ort Sync\n---------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$ort = new ort($conn);
$ort->bezeichnung =$row->bezeichnung;
$ort->planbezeichnung =$row->planbezeichnung;
$ort->max_person =$row->max_person;
$ort->aktiv =($row->aktiv=='t'?true:false);
$ort->lehre =($row->lehre=='t'?true:false);
$ort->lageplan =$row->lageplan;
$ort->dislozierung =$row->dislozierung;
$ort->kosten =$row->kosten;
//$ort->insertamum='';
//$ort->insertvon='SYNC';
//ort->updateamum='';
//$ort->updatevon=$row->updatevon;
$qry = "SELECT ort_kurzbz FROM tbl_ort WHERE ort_kurzbz='$row->ort_kurzbz'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Ortdaten updaten
$ort->new=false;
$ort->ort_kurzbz=$row->ort_kurzbz;
}
else
{
$error_log.="ort_kurzbz von $row->ort_kurzbz konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Ort neu anlegen
$ort->new=true;
$ort->ort_kurzbz=$row->ort_kurzbz;
}
if(!$error)
if(!$ort->save())
{
$error_log.=$ort->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Funktiondatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Ort</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,125 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert OrtRaumtypdatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/ortraumtyp.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//ortraumtyp
$qry = "SELECT * FROM tbl_ortraumtyp";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("OrtRaumtyp Sync\n------------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$ortraumtyp = new ortraumtyp($conn);
$ortraumtyp->ort_kurzbz =$row->ort_kurzbz;
$ortraumtyp->hierarchie =$row->hierarchie;
$ortraumtyp->raumtyp_kurzbz =$row->raumtyp_kurzbz;
//$ortraumtyp->insertamum ='';
$ortraumtyp->insertvon ='SYNC';
//ortraumtyp->updateamum ='';
//$ortraumtyp->updatevon =$row->updatevon;
$qry = "SELECT ort_kurzbz, hierarchie FROM tbl_ortraumtyp WHERE ort_kurzbz = '$row->ort_kurzbz' AND hierarchie = '$row->hierarchie'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//OrtRaumtypdaten updaten
$ortraumtyp->new=false;
}
else
{
$error_log.="ort_kurzbz von $row->ort_kurzbz konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//OrtRaumtyp neu anlegen
$ortraumtyp->new=true;
}
if(!$error)
if(!$ortraumtyp->save())
{
$error_log.=$ortraumtyp->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'OrtRaumtypdatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - OrtRaumtyp</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,104 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert tbl_personlvstudiensemester von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/benutzerlvstudiensemester.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'SELECT * FROM tbl_personlehrfachstudiensemester';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Benutzerlvstudiensemester\n\n";
while($row = pg_fetch_object($result))
{
$obj = new benutzerlvstudiensemester($conn);
$obj->uid = $row->uid;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$qry = "SELECT lehrveranstaltung_nr FROM tbl_lehrveranstaltung WHERE ext_id=$row->lehrfach_nr";
if($row1 = pg_fetch_object(pg_query($conn,$qry)))
{
$obj->lehrveranstaltung_nr = $row1->lehrveranstaltung_nr;
$qry = "SELECT count(*) as anz FROM tbl_benutzerlvstudiensemester WHERE
uid='".addslashes($row->uid)."' AND studiensemester_kurzbz='".addslashes($row->studiensemester_kurzbz)."'
AND lehrveranstaltung_nr='".addslashes($row1->lehrveranstaltung_nr)."';";
if($row1=pg_fetch_object(pg_query($conn,$qry)))
{
$new = ($row1->anz>0?false:true);
if(!$obj->save($new))
{
$anzahl_fehler++;
$error_log .= $obj->errormsg."\n";
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.='Fehler beim Auslesen';
$anzahl_fehler++;
}
}
else
{
$error_log .= 'Fehler beim auslesen der Lehrveranstaltung_nr\n';
$anzahl_fehler++;
}
}
}
else
$error_log .= "PersonLVStudiensemester konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - BenutzerLVStudiensemester</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,120 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
//*
//* Synchronisiert Raumtypdatensaetze von Vilesci DB in PORTAL DB
//*
//*
include('../../vilesci/config.inc.php');
include('../../include/raumtyp.class.php');
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
$adress='ruhan@technikum-wien.at';
//$adress='fas_sync@technikum-wien.at';
$error_log='';
$text = '';
$anzahl_quelle=0;
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function validate($row)
{
}
/*************************
* VILESCI-PORTAL - Synchronisation
*/
//raumtyp
$qry = "SELECT * FROM tbl_raumtyp";
if($result = pg_query($conn_vilesci, $qry))
{
echo nl2br("Raumtyp Sync\n---------------\n");
$anzahl_quelle=pg_num_rows($result);
while($row = pg_fetch_object($result))
{
$error=false;
$raumtyp = new raumtyp($conn);
$raumtyp->beschreibung =$row->beschreibung;
$raumtyp->raumtyp_kurzbz =$row->raumtyp_kurzbz;
$qry = "SELECT raumtyp_kurzbz FROM tbl_raumtyp WHERE raumtyp_kurzbz = '$row->raumtyp_kurzbz'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Raumtypdaten updaten
$raumtyp->new=false;
}
else
{
$error_log.="ort_kurzbz von $row->ort_kurzbz konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Raumtyp neu anlegen
$raumtyp->new=true;
}
if(!$error)
if(!$raumtyp->save())
{
$error_log.=$ort->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
}
echo nl2br("abgeschlossen\n\n");
}
else
$error_log .= 'Funktiondatensaetze konnten nicht geladen werden';
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Raumtyp</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
</html>
@@ -1,102 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Reservierungen von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/reservierung.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'Select * FROM tbl_reservierung';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Reservierung\n\n";
while($row = pg_fetch_object($result))
{
$reservierung = new reservierung($conn);
$reservierung->reservierung_id = $row->reservierung_id;
$reservierung->ort_kurzbz = $row->ort_kurzbz;
$reservierung->studiengang_kz = $row->studiengang_kz;
$reservierung->uid = $row->uid;
$reservierung->stunde = $row->stunde;
$reservierung->datum = $row->datum;
$reservierung->titel = $row->titel;
$reservierung->beschreibung = $row->beschreibung;
$reservierung->semester = $row->semester;
$reservierung->verband = $row->verband;
$reservierung->gruppe = $row->gruppe;
$reservierung->gruppe_kurzbz = $row->einheit_kurzbz;
$qry = "SELECT count(*) as anz FROM campus.tbl_reservierung where reservierung_id='".addslashes($row->reservierung_id)."'";
if($row1 =pg_fetch_object(pg_query($conn,$qry)))
{
$var = ($row1->anz>0?false:true);
//Wenn reservierung vorhanden ist dann updaten sonst neu einfuegen
if(!$reservierung->save($var))
{
$anzahl_fehler++;
$error_log .= $reservierung->errormsg."\n";
}
else
$anzahl_eingefuegt++;
}
else
{
$error_log.='Fehler beim Auslesen';
$anzahl_fehler++;
}
}
}
else
$error_log .= "Reservierungen konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Reservierung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,73 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert die Sprache von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'SELECT sprache FROM tbl_sprache';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="Sync der Sprache\n\n";
while($row=pg_fetch_object($result))
{
$qry = "INSERT INTO tbl_sprache(sprache) VALUES('$row->sprache');";
if(!pg_query($conn, $qry))
{
$error_log.= "Fehler beim einfuegen des Datensatzes: $qry";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
}
$text .= "Anzahl eingefuegter Datensaetze: $anzahl_eingefuegt\n";
$text .= "Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Sprache</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,160 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Studentendatensaetze von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/student.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Studenten
$qry = "SELECT * FROM tbl_person JOIN tbl_student USING(uid) WHERE uid NOT LIKE '\_dummy%' AND uid NOT LIKE '\_Dummy%'";
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Studenten\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$student = new student($conn);
$student->sprache='German';
$student->anrede='';
$student->titelpost='';
$student->titelpre=$row->titel;
$student->nachname=$row->nachname;
if(!$len=strpos($row->vornamen,' '))
{
$student->vorname=$row->vornamen;
$student->vornamen='';
}
else
{
$student->vorname=substr($row->vornamen,0,$len);
$student->vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
}
$student->gebdatum=$row->gebdatum;
$student->gebort=$row->gebort;
$student->gebzeit=$row->gebzeit;
$student->foto='';
$student->anmerkungen=$row->anmerkungen;
$student->homepage=$row->homepage;
$student->svnr='';
$student->ersatzkennzeichen='';
$student->familienstand='';
$student->anzahlkinder='';
$student->aktiv=($row->aktiv=='t'?true:false);
$student->insertvon='';
$student->insertamum='';
$student->updateamum=$row->updateamum;
$student->updatevon=$row->updatevon;
$student->ext_id_student='';
$student->geschlecht='m';
$student->uid=$row->uid;
$student->bnaktiv=$row->aktiv;
$student->alias=$row->alias;
$student->matrikelnr=$row->matrikelnr;
$student->prestudent_id='';
$student->studiengang_kz=$row->studiengang_kz;
$student->semester=$row->semester;
$student->verband=($row->verband!=''?$row->verband:' ');
$student->gruppe=($row->gruppe!=''?$row->gruppe:' ');
$qry = "SELECT person_id FROM tbl_benutzer WHERE uid='$row->uid'";
if($result1 = pg_query($conn, $qry))
{
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
{
if($row1=pg_fetch_object($result1))
{
//Mitarbeiterdaten updaten
$student->new=false;
$student->person_id=$row1->person_id;
}
else
{
$error_log.="Person_id von $row->uid konnte nicht ermittelt werden\n";
$error=true;
}
}
else
{
//Student neu anlegen
$student->new=true;
}
if(!$error)
if(!$student->save())
{
$error_log.="Fehler beim Speicher ($row->uid):".$student->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
else
$anzahl_fehler++;
}
else
{
$error_log .= "$row->nachname ($row->uid) wurde nicht in tbl_benutzer gefunden\n";
$anzahl_fehler++;
}
}
}
else
$error_log .= "Studentendatensaetze konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Studenten</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,95 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert die Studiensemester von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/studiensemester.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
$qry = 'SELECT * FROM tbl_studiensemester';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Studiensemester\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$stsem = new studiensemester($conn);
$stsem->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$stsem->start = $row->start;
$stsem->ende = $row->ende;
$qry = "SELECT count(*) as anz FROM tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($row->studiensemester_kurzbz)."'";
if($row = pg_fetch_object(pg_query($conn, $qry)))
{
if($row->anz>0) //wenn dieser eintrag schon vorhanden ist
$stsem->new=false;
else
$stsem->new=true;
if(!$stsem->save())
{
$error_log.=$stsem->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
else
$error_log .= "Fehler beim lesen aus der Datenbank\n";
}
}
else
$error_log .= "Studiensemester konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Studiensemester</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>
@@ -1,92 +0,0 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Synchronisiert Stunde von Vilesci DB in PORTAL DB
*
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/stunde.class.php');
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die('Connection zur Vilesci Datenbank fehlgeschlagen');
$error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
// ***********************************
// * VILESCI->PORTAL - Synchronisation
// ***********************************
//Mitarbeiter
$qry = 'Select * FROM tbl_stunde';
if($result = pg_query($conn_vilesci, $qry))
{
$text.="\n Sync Stunde\n\n";
while($row = pg_fetch_object($result))
{
$error=false;
$stunde = new stunde($conn);
$stunde->stunde = $row->stunde;
$stunde->beginn = $row->beginn;
$stunde->ende = $row->ende;
$qry = "SELECT count(*) as anz FROM lehre.tbl_stunde WHERE stunde='$row->stunde'";
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
{
$stunde->new = ($row1->anz>0?false:true);
if(!$stunde->save())
{
$error_log.=$stunde->errormsg."\n";
$anzahl_fehler++;
}
else
$anzahl_eingefuegt++;
}
else
$error_log .= "Fehler beim ermitteln der UID\n";
}
}
else
$error_log .= "Stunden konnten nicht geladen werden\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>
<html>
<head>
<title>Synchro - Vilesci -> Portal - Stunde</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More