This commit is contained in:
Gerald Simane
2009-06-08 06:37:57 +00:00
parent 158402455f
commit 725e178014
660 changed files with 170054 additions and 169940 deletions
+206 -206
View File
@@ -1,207 +1,207 @@
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
/*
* - Dieses Script versendet automatisch Mails an Accounts die Deaktiviert wurden.
* und informiert die Benutzer ueber die Folgen der Deaktivierung
*
* - Accounts die laenger als 3 Tage deaktiviert sind, werden per Mail an die
* Bibliothek gemeldet.
*/
require_once('../vilesci/config.inc.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Check</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9" />
</head>
<body class="Background_main">
<h2>Check</h2>';
$text='';
//Information an Bibliothek wenn ein Account deaktiviert wurde
$qry = "SELECT uid, (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=uid) as mitarbeiter, titelpre, vorname, nachname, titelpost FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id) WHERE tbl_benutzer.aktiv=false AND updateaktivam=CURRENT_DATE- interval '3 days'";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>0)
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Folgende Studenten/Mitarbeiter wurden im FAS deaktiviert: \n\n";
while($row = pg_fetch_object($result))
{
$message .= " - $row->titelpre $row->vorname $row->nachname $row->titelpost ( $row->uid )\n";
}
$message .= "\nMit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = 'bibliothek@'.DOMAIN;
mail($to,'Account Deaktivierung ', $message, 'From: vilesci@'.DOMAIN);
$text.= "Warnung fuer Bibliothek wurde an $to verschickt\n";
}
}
//Alle die vor einer Woche inaktiv gesetzt wurden darueber informieren
$qry = "SELECT uid, (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=uid) as mitarbeiter FROM public.tbl_benutzer WHERE aktiv=false AND updateaktivam=CURRENT_DATE- interval '1 week'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Wochen/Monaten nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Folgende Fristen gelten derzeit an der FH:\n";
$message .= "- Mitarbeiter: 12 Monate nach Deaktivierung.\n";
$message .= "- Student: 6 Monate nach Deaktivierung.\n";
$message .= "- Abbrecher: 3 Wochen nach Deaktivierung.\n\n";
if($row->mitarbeiter!='')
{
//Mitarbeiter
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an die Mitarbeiter unserer Personalabteillung.\n";
$message .= "Adelheit Schaaf - [email protected]\n";
$message .= "Orestis Kazamias - [email protected]\n\n";
}
else
{
//Student
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an ihre Studiengangsassistenz.\n";
}
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
//Letzte Warnung vor Accountloeschung verschicken
//Abbrecher
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_ABBRECHER_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL)='Abbrecher'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Tagen nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an ihre Studiengangsassistenz.\n";
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
//Studenten
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_STUDENT_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL)<>'Abbrecher'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Tagen nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an ihre Studiengangsassistenz.\n";
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
//Mitarbeiter
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_MITARBEITER_WEEKS." week'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Tagen nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an die Mitarbeiter unserer Personalabteillung.\n";
$message .= "Adelheit Schaaf - [email protected]\n";
$message .= "Orestis Kazamias - [email protected]\n\n";
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
echo nl2br($text);
if($text!='')
{
mail(MAIL_IT.', [email protected], [email protected], [email protected]' , 'Account Deaktivierung', "Dies ist eine automatische Mail!\nFolgende Warnungen zur Accountloeschung wurden versandt:\n\n".$text, 'From: vilesci@'.DOMAIN);
}
echo '</body></html>';
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
/*
* - Dieses Script versendet automatisch Mails an Accounts die Deaktiviert wurden.
* und informiert die Benutzer ueber die Folgen der Deaktivierung
*
* - Accounts die laenger als 3 Tage deaktiviert sind, werden per Mail an die
* Bibliothek gemeldet.
*/
require_once('../vilesci/config.inc.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Check</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body class="Background_main">
<h2>Check</h2>';
$text='';
//Information an Bibliothek wenn ein Account deaktiviert wurde
$qry = "SELECT uid, (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=uid) as mitarbeiter, titelpre, vorname, nachname, titelpost FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id) WHERE tbl_benutzer.aktiv=false AND updateaktivam=CURRENT_DATE- interval '3 days'";
if($result = pg_query($conn, $qry))
{
if(pg_num_rows($result)>0)
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Folgende Studenten/Mitarbeiter wurden im FAS deaktiviert: \n\n";
while($row = pg_fetch_object($result))
{
$message .= " - $row->titelpre $row->vorname $row->nachname $row->titelpost ( $row->uid )\n";
}
$message .= "\nMit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = 'bibliothek@'.DOMAIN;
mail($to,'Account Deaktivierung ', $message, 'From: vilesci@'.DOMAIN);
$text.= "Warnung fuer Bibliothek wurde an $to verschickt\n";
}
}
//Alle die vor einer Woche inaktiv gesetzt wurden darueber informieren
$qry = "SELECT uid, (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=uid) as mitarbeiter FROM public.tbl_benutzer WHERE aktiv=false AND updateaktivam=CURRENT_DATE- interval '1 week'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Wochen/Monaten nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Folgende Fristen gelten derzeit an der FH:\n";
$message .= "- Mitarbeiter: 12 Monate nach Deaktivierung.\n";
$message .= "- Student: 6 Monate nach Deaktivierung.\n";
$message .= "- Abbrecher: 3 Wochen nach Deaktivierung.\n\n";
if($row->mitarbeiter!='')
{
//Mitarbeiter
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an die Mitarbeiter unserer Personalabteillung.\n";
$message .= "Adelheit Schaaf - [email protected]\n";
$message .= "Orestis Kazamias - [email protected]\n\n";
}
else
{
//Student
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an ihre Studiengangsassistenz.\n";
}
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
//Letzte Warnung vor Accountloeschung verschicken
//Abbrecher
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_ABBRECHER_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL)='Abbrecher'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Tagen nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an ihre Studiengangsassistenz.\n";
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
//Studenten
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_STUDENT_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL)<>'Abbrecher'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Tagen nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an ihre Studiengangsassistenz.\n";
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
//Mitarbeiter
$qry = "SELECT uid FROM public.tbl_benutzer JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) WHERE
aktiv=false AND updateaktivam=CURRENT_DATE- interval '".DEL_MITARBEITER_WEEKS." week'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$message = "Dies ist eine automatische Mail!\n";
$message .= "Ihr Benutzerdatensatz wurde von einem unserer Mitarbeiter deaktiviert. Was bedeutet das nun für Sie?\n\n";
$message .= "Vorerst werden Sie aus allen Mail-Verteilern gelöscht.\n";
$message .= "Wenn der Datensatz in den nächsten Tagen nicht mehr aktiviert wird, führt das System automatisch folgende Aktionen durch:\n";
$message .= "- Ihr Account wird gelöscht.\n";
$message .= "- Ihre Mailbox mit sämtlichen Mails wird gelöscht.\n";
$message .= "- Ihr Home-Verzeichnis mit allen enthaltenen Dateien wird gelöscht.\n\n";
$message .= "Sollte es sich hierbei um einen Irrtum handeln, wenden sie sich bitte an die Mitarbeiter unserer Personalabteillung.\n";
$message .= "Adelheit Schaaf - [email protected]\n";
$message .= "Orestis Kazamias - [email protected]\n\n";
$message .= "Mit freundlichen Grüßen,\n";
$message .= "FACHHOCHSCHULE TECHNIKUM WIEN\n";
$message .= "Höchstädtplatz 5\n";
$message .= "A-1200 Wien \n";
//$to = '[email protected]';
$to = $row->uid.'@'.DOMAIN;
mail($to,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message, 'From: vilesci@'.DOMAIN);
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
}
}
echo nl2br($text);
if($text!='')
{
mail(MAIL_IT.', [email protected], [email protected], [email protected]' , 'Account Deaktivierung', "Dies ist eine automatische Mail!\nFolgende Warnungen zur Accountloeschung wurden versandt:\n\n".$text, 'From: vilesci@'.DOMAIN);
}
echo '</body></html>';
?>
+237 -237
View File
@@ -1,238 +1,238 @@
<?php
// ************************************
// * Script zur Pruefung und Korrektur
// * moeglicher Inkonsistenzen
// *
// * - Studenten ohne Prestudent_id werden korrigiert
// * - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert
// **********************************
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');
$anzahl_neue_prestudent_id=0;
$anzahl_fehler_prestudent=0;
$anzahl_gruppenaenderung=0;
$anzahl_gruppenaenderung_fehler=0;
$text='';
$statistik ='';
$abunterbrecher_verschoben_error=0;
$abunterbrecher_verschoben=0;
// ****
// * Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen
// ****
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id is null";
if($result = pg_query($conn, $qry))
{
$text.="Suche Studenten mit fehlender Prestudent_id ...\n\n";
while($row = pg_fetch_object($result))
{
$qry_id = "SELECT tbl_prestudent.prestudent_id FROM campus.vw_student JOIN public.tbl_prestudent USING(person_id) WHERE uid='$row->student_uid' AND tbl_prestudent.studiengang_kz='$row->studiengang_kz'";
if($result_id = pg_query($conn, $qry_id))
{
if(pg_num_rows($result_id)==1)
{
if($row_id = pg_fetch_object($result_id))
{
$qry_upd = "UPDATE public.tbl_student SET prestudent_id='$row_id->prestudent_id' WHERE student_uid='$row->student_uid'";
if(pg_query($conn, $qry_upd))
{
$text .= "Prestudent_id von $row->student_uid wurde auf $row_id->prestudent_id gesetzt\n";
$anzahl_neue_prestudent_id++;
}
}
else
{
$text .= "unbekannter Fehler\n";
$anzahl_fehler_prestudent++;
}
}
elseif(pg_num_rows($result_id)>1)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und MEHRERE passende Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
}
elseif(pg_num_rows($result_id)==0)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und KEINE passenden Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
}
}
else
{
$text.="Fehler bei Abfrage:".pg_last_error($conn)."\n";
$anzahl_fehler_prestudent++;
}
}
}
// *****
// * Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren.
// * Abbrecher werden in die Gruppe 0A verschoben
// * Unterbrecher in die Gruppe 0B
// *****
$text.="\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n";
//Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind
$qry = "SELECT
student_uid,
tbl_student.studiengang_kz,
tbl_prestudent.prestudent_id,
rolle_kurzbz,
studiensemester_kurzbz
FROM
public.tbl_student,
public.tbl_prestudent,
public.tbl_prestudentrolle
WHERE
tbl_student.prestudent_id=tbl_prestudent.prestudent_id AND
tbl_prestudent.prestudent_id=tbl_prestudentrolle.prestudent_id AND
(
tbl_prestudentrolle.rolle_kurzbz='Unterbrecher' OR
tbl_prestudentrolle.rolle_kurzbz='Abbrecher'
)
AND
EXISTS (SELECT
*
FROM
public.tbl_studentlehrverband
WHERE
student_uid=tbl_student.student_uid AND
studiensemester_kurzbz=tbl_prestudentrolle.studiensemester_kurzbz AND
semester<>0
)
";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist
$prestd = new prestudent($conn);
$prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz);
if($prestd->rolle_kurzbz=='Unterbrecher' || $prestd->rolle_kurzbz=='Abbrecher')
{
//Studentlehrverbandeintrag aktualisieren
$student = new student($conn);
if($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz))
$student->new = false;
else
{
$student->new = true;
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'chkstudentlvb';
}
$student->uid = $row->student_uid;
$student->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = '0';
$student->verband = ($prestd->rolle_kurzbz=='Unterbrecher'?'B':'A');
$student->gruppe = ' ';
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstudentlvb';
//Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
$lehrverband = new lehrverband($conn);
if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lehrverband->studiengang_kz = $student->studiengang_kz;
$lehrverband->semester = $student->semester;
$lehrverband->verband = $student->verband;
$lehrverband->gruppe = $student->gruppe;
$lehrverband->bezeichnung = ($student->verband=='A'?'Abbrecher':'Unterbrecher');
$lehrverband->save(true);
}
if($student->save_studentlehrverband())
{
$text.="Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n";
$abunterbrecher_verschoben++;
}
else
{
$text.="Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n";
$abunterbrecher_verschoben_error++;
}
}
}
}
// *****
// * Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren
// *****
$stsem = new studiensemester($conn);
$stsem = $stsem->getNearest();
$text.="\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n";
$qry = "SELECT
tbl_student.studiengang_kz as studiengang_kz_old,
tbl_student.semester as semester_old,
tbl_student.verband as verband_old,
tbl_student.gruppe as gruppe_old,
tbl_studentlehrverband.student_uid,
tbl_studentlehrverband.studiengang_kz,
tbl_studentlehrverband.semester,
tbl_studentlehrverband.verband,
tbl_studentlehrverband.gruppe
FROM
public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid)
WHERE
tbl_studentlehrverband.studiensemester_kurzbz='$stsem' AND
(
tbl_student.studiengang_kz<>tbl_studentlehrverband.studiengang_kz OR
tbl_student.semester<>tbl_studentlehrverband.semester OR
tbl_student.verband<>tbl_studentlehrverband.verband OR
tbl_student.gruppe<>tbl_studentlehrverband.gruppe
)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$qry = "UPDATE public.tbl_student SET studiengang_kz='$row->studiengang_kz', semester='$row->semester', verband='$row->verband', gruppe='$row->gruppe' WHERE student_uid='$row->student_uid'";
if(pg_query($conn, $qry))
{
$text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n";
$anzahl_gruppenaenderung++;
}
else
{
$text.="Fehler beim Aendern der Gruppe: ".pg_last_error($conn)."\n";
$anzahl_gruppenaenderung_fehler++;
}
}
}
else
$text.="Fehler bei Abfrage".pg_last_error($conn);
$statistik .= "Prestudent_id wurde bei $anzahl_neue_prestudent_id Studenten korrigiert\n";
$statistik .= "$anzahl_fehler_prestudent Fehler sind bei der Korrektur der Prestudent_id aufgetreten\n";
$statistik .= "$abunterbrecher_verschoben Studenten wurden ins 0. Semester verschoben\n ";
$statistik .= "$abunterbrecher_verschoben_error Fehler sind beim Verschieben aufgetreten\n ";
$statistik .= "Bei $anzahl_gruppenaenderung Studenten wurde die Gruppenzuordnung korrigiert\n";
$statistik .= "$anzahl_gruppenaenderung_fehler Fehler sind bei der Korrektur der Gruppenzuordnung aufgetreten\n";
$statistik .= "\n\n";
if(mail(MAIL_ADMIN, 'CHECK Studentlehrverband', $statistik.$text, "From: [email protected]"))
echo 'Mail an '.MAIL_ADMIN.' wurde versandt';
else
echo 'Fehler beim Versenden des Mails an '.MAIL_ADMIN;
echo nl2br("\n\n".$statistik.$text);
<?php
// ************************************
// * Script zur Pruefung und Korrektur
// * moeglicher Inkonsistenzen
// *
// * - Studenten ohne Prestudent_id werden korrigiert
// * - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert
// **********************************
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');
$anzahl_neue_prestudent_id=0;
$anzahl_fehler_prestudent=0;
$anzahl_gruppenaenderung=0;
$anzahl_gruppenaenderung_fehler=0;
$text='';
$statistik ='';
$abunterbrecher_verschoben_error=0;
$abunterbrecher_verschoben=0;
// ****
// * Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen
// ****
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id is null";
if($result = pg_query($conn, $qry))
{
$text.="Suche Studenten mit fehlender Prestudent_id ...\n\n";
while($row = pg_fetch_object($result))
{
$qry_id = "SELECT tbl_prestudent.prestudent_id FROM campus.vw_student JOIN public.tbl_prestudent USING(person_id) WHERE uid='$row->student_uid' AND tbl_prestudent.studiengang_kz='$row->studiengang_kz'";
if($result_id = pg_query($conn, $qry_id))
{
if(pg_num_rows($result_id)==1)
{
if($row_id = pg_fetch_object($result_id))
{
$qry_upd = "UPDATE public.tbl_student SET prestudent_id='$row_id->prestudent_id' WHERE student_uid='$row->student_uid'";
if(pg_query($conn, $qry_upd))
{
$text .= "Prestudent_id von $row->student_uid wurde auf $row_id->prestudent_id gesetzt\n";
$anzahl_neue_prestudent_id++;
}
}
else
{
$text .= "unbekannter Fehler\n";
$anzahl_fehler_prestudent++;
}
}
elseif(pg_num_rows($result_id)>1)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und MEHRERE passende Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
}
elseif(pg_num_rows($result_id)==0)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und KEINE passenden Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
}
}
else
{
$text.="Fehler bei Abfrage:".pg_last_error($conn)."\n";
$anzahl_fehler_prestudent++;
}
}
}
// *****
// * Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren.
// * Abbrecher werden in die Gruppe 0A verschoben
// * Unterbrecher in die Gruppe 0B
// *****
$text.="\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n";
//Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind
$qry = "SELECT
student_uid,
tbl_student.studiengang_kz,
tbl_prestudent.prestudent_id,
status_kurzbz,
studiensemester_kurzbz
FROM
public.tbl_student,
public.tbl_prestudent,
public.tbl_prestudentstatus
WHERE
tbl_student.prestudent_id=tbl_prestudent.prestudent_id AND
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id AND
(
tbl_prestudentstatus.status_kurzbz='Unterbrecher' OR
tbl_prestudentstatus.status_kurzbz='Abbrecher'
)
AND
EXISTS (SELECT
*
FROM
public.tbl_studentlehrverband
WHERE
student_uid=tbl_student.student_uid AND
studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz AND
semester<>0
)
";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist
$prestd = new prestudent($conn);
$prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz);
if($prestd->status_kurzbz=='Unterbrecher' || $prestd->status_kurzbz=='Abbrecher')
{
//Studentlehrverbandeintrag aktualisieren
$student = new student($conn);
if($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz))
$student->new = false;
else
{
$student->new = true;
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'chkstudentlvb';
}
$student->uid = $row->student_uid;
$student->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = '0';
$student->verband = ($prestd->status_kurzbz=='Unterbrecher'?'B':'A');
$student->gruppe = ' ';
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstudentlvb';
//Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
$lehrverband = new lehrverband($conn);
if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lehrverband->studiengang_kz = $student->studiengang_kz;
$lehrverband->semester = $student->semester;
$lehrverband->verband = $student->verband;
$lehrverband->gruppe = $student->gruppe;
$lehrverband->bezeichnung = ($student->verband=='A'?'Abbrecher':'Unterbrecher');
$lehrverband->save(true);
}
if($student->save_studentlehrverband())
{
$text.="Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n";
$abunterbrecher_verschoben++;
}
else
{
$text.="Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n";
$abunterbrecher_verschoben_error++;
}
}
}
}
// *****
// * Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren
// *****
$stsem = new studiensemester($conn);
$stsem = $stsem->getNearest();
$text.="\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n";
$qry = "SELECT
tbl_student.studiengang_kz as studiengang_kz_old,
tbl_student.semester as semester_old,
tbl_student.verband as verband_old,
tbl_student.gruppe as gruppe_old,
tbl_studentlehrverband.student_uid,
tbl_studentlehrverband.studiengang_kz,
tbl_studentlehrverband.semester,
tbl_studentlehrverband.verband,
tbl_studentlehrverband.gruppe
FROM
public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid)
WHERE
tbl_studentlehrverband.studiensemester_kurzbz='$stsem' AND
(
tbl_student.studiengang_kz<>tbl_studentlehrverband.studiengang_kz OR
tbl_student.semester<>tbl_studentlehrverband.semester OR
tbl_student.verband<>tbl_studentlehrverband.verband OR
tbl_student.gruppe<>tbl_studentlehrverband.gruppe
)";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$qry = "UPDATE public.tbl_student SET studiengang_kz='$row->studiengang_kz', semester='$row->semester', verband='$row->verband', gruppe='$row->gruppe' WHERE student_uid='$row->student_uid'";
if(pg_query($conn, $qry))
{
$text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n";
$anzahl_gruppenaenderung++;
}
else
{
$text.="Fehler beim Aendern der Gruppe: ".pg_last_error($conn)."\n";
$anzahl_gruppenaenderung_fehler++;
}
}
}
else
$text.="Fehler bei Abfrage".pg_last_error($conn);
$statistik .= "Prestudent_id wurde bei $anzahl_neue_prestudent_id Studenten korrigiert\n";
$statistik .= "$anzahl_fehler_prestudent Fehler sind bei der Korrektur der Prestudent_id aufgetreten\n";
$statistik .= "$abunterbrecher_verschoben Studenten wurden ins 0. Semester verschoben\n ";
$statistik .= "$abunterbrecher_verschoben_error Fehler sind beim Verschieben aufgetreten\n ";
$statistik .= "Bei $anzahl_gruppenaenderung Studenten wurde die Gruppenzuordnung korrigiert\n";
$statistik .= "$anzahl_gruppenaenderung_fehler Fehler sind bei der Korrektur der Gruppenzuordnung aufgetreten\n";
$statistik .= "\n\n";
if(mail(MAIL_ADMIN, 'CHECK Studentlehrverband', $statistik.$text, "From: [email protected]"))
echo 'Mail an '.MAIL_ADMIN.' wurde versandt';
else
echo 'Fehler beim Versenden des Mails an '.MAIL_ADMIN;
echo nl2br("\n\n".$statistik.$text);
?>
+2 -2
View File
@@ -1043,10 +1043,10 @@ $tabellen=array(
"public.tbl_preinteressent" => array("preinteressent_id","person_id","studiensemester_kurzbz","firma_id","erfassungsdatum","einverstaendnis","absagedatum","anmerkung","maturajahr","infozusendung","aufmerksamdurch_kurzbz","kontaktmedium_kurzbz","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_preinteressentstudiengang" => array("studiengang_kz","preinteressent_id","freigabedatum","uebernahmedatum","prioritaet","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_prestudentrolle" => array("prestudent_id","rolle_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"),
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_rolle" => array("rolle_kurzbz","beschreibung","anmerkung","ext_id"),
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
"public.tbl_sprache" => array("sprache","locale","flagge"),
"public.tbl_standort" => array("standort_kurzbz","adresse_id"),
+45849 -45849
View File
File diff suppressed because it is too large Load Diff
+45 -45
View File
@@ -1,46 +1,46 @@
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require('../vilesci/config.inc.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
$qry = "SELECT distinct email FROM public.tbl_studiengang WHERE studiengang_kz!=0 AND email is not null";
$headers = "From: [email protected]";
$message = "Dies ist eine automatische eMail!\n\nAm 20. jedes Monats wird die Lehrauftragsliste automatisch and die GST geschickt. Bitte führen Sie bis dahin noch alle anstehenden Korrekturen durch!\n\nBesten Dank,\nGeschäftsstelle";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//$to = "[email protected]";
$to = $row->email;
$subject = "Erinnerung Lehrauftragsliste";
if(mail($to, $subject, $message, $headers))
echo "Email an $to versandt\n";
else
echo "Fehler beim Versenden des Erinnerungsmails an $to\n";
}
}
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require('../vilesci/config.inc.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
$qry = "SELECT distinct email FROM public.tbl_studiengang WHERE studiengang_kz!=0 AND email is not null";
$headers = "From: [email protected]";
$message = "Dies ist eine automatische eMail!\n\nAm 20. jedes Monats wird die Lehrauftragsliste automatisch and die GST geschickt. Bitte führen Sie bis dahin noch alle anstehenden Korrekturen durch!\n\nBesten Dank,\nGeschäftsstelle";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
//$to = "[email protected]";
$to = $row->email;
$subject = "Erinnerung Lehrauftragsliste";
if(mail($to, $subject, $message, $headers))
echo "Email an $to versandt\n";
else
echo "Fehler beim Versenden des Erinnerungsmails an $to\n";
}
}
?>
+79 -79
View File
@@ -1,80 +1,80 @@
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]>,
* Rudolf Hangl <[email protected]> and
*/
/*
* Versendet Erinnerungsmails an die Assistenz zur Uebernahme der Freigegebenen Preinteressenten
*/
require_once('../vilesci/config.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/preinteressent.class.php');
require_once('../include/person.class.php');
require_once('../include/datum.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$studiengang = new studiengang($conn);
$studiengang->getAll();
$datum_obj = new datum();
$message_sync='';
//alle Studiengaenge durchlaufen
foreach ($studiengang->result as $stg)
{
//Freigegebene aber noch nicht uebernommene Preinteressenten des Studienganges laden
$preinteressent = new preinteressent($conn);
$preinteressent->loadFreigegebene($stg->studiengang_kz);
if(count($preinteressent->result)>0)
{
$message="Dies ist eine automatische Mail!\n\n";
$message.="Die folgenden Preinteressenten wurden zur Übernahme, für den Studiengang $stg->kuerzel, freigegeben aber noch nicht übernommen:\n\n";
foreach ($preinteressent->result as $row)
{
$person = new person($conn);
$person->load($row->person_id);
$message.="- $person->nachname $person->vorname ".($person->gebdatum!=''?"(Geburtsdatum: ".$datum_obj->formatDatum($person->gebdatum,'d.m.Y').')':'')."\n";
}
$message.="\nSie können die Personen im FAS unter 'Extras->Preinteressenten übernehmen' oder unter folgendem Link:\n";
$message.=APP_ROOT."vilesci/personen/preinteressent_uebernahme.php?studiengang_kz=$stg->studiengang_kz";
$message.="\nins FAS übertragen";
$to = $stg->email;
//Mail versenden
if(mail($to, 'Preinteressent Übernahme - Erinnerungsmail', $message, 'FROM: vilesci@'.DOMAIN))
$message_sync.="Studiengang: $stg->kuerzel EMail-Versand an $stg->email ... ok\n";
else
$message_sync.="Studiengang: $stg->kuerzel EMail-Versand an $stg->email ... FEHLER BEIM SENDEN !!!\n";
}
}
if($message_sync!='')
{
//Mail an Administration
$message_sync = "Dies ist eine automatische Mail!\n\nEs wurden folgende Benachrichtungen zur Preinteressentenübernahme verschickt:\n\n".$message_sync;
$to = MAIL_ADMIN;
if(mail($to, 'Preinteressent Übernahme - Erinnerungsmail', $message_sync, 'FROM: vilesci@'.DOMAIN))
echo "<br><b>Erinnerungsmails wurden versendet</b>";
else
echo "<br><b>Fehler beim Versenden der Mails</b>";
}
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]>,
* Rudolf Hangl <[email protected]> and
*/
/*
* Versendet Erinnerungsmails an die Assistenz zur Uebernahme der Freigegebenen Preinteressenten
*/
require_once('../vilesci/config.inc.php');
require_once('../include/studiengang.class.php');
require_once('../include/preinteressent.class.php');
require_once('../include/person.class.php');
require_once('../include/datum.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
$studiengang = new studiengang($conn);
$studiengang->getAll();
$datum_obj = new datum();
$message_sync='';
//alle Studiengaenge durchlaufen
foreach ($studiengang->result as $stg)
{
//Freigegebene aber noch nicht uebernommene Preinteressenten des Studienganges laden
$preinteressent = new preinteressent($conn);
$preinteressent->loadFreigegebene($stg->studiengang_kz);
if(count($preinteressent->result)>0)
{
$message="Dies ist eine automatische Mail!\n\n";
$message.="Die folgenden Preinteressenten wurden zur Übernahme, für den Studiengang $stg->kuerzel, freigegeben aber noch nicht übernommen:\n\n";
foreach ($preinteressent->result as $row)
{
$person = new person($conn);
$person->load($row->person_id);
$message.="- $person->nachname $person->vorname ".($person->gebdatum!=''?"(Geburtsdatum: ".$datum_obj->formatDatum($person->gebdatum,'d.m.Y').')':'')."\n";
}
$message.="\nSie können die Personen im FAS unter 'Extras->Preinteressenten übernehmen' oder unter folgendem Link:\n";
$message.=APP_ROOT."vilesci/personen/preinteressent_uebernahme.php?studiengang_kz=$stg->studiengang_kz";
$message.="\nins FAS übertragen";
$to = $stg->email;
//Mail versenden
if(mail($to, 'Preinteressent Übernahme - Erinnerungsmail', $message, 'FROM: vilesci@'.DOMAIN))
$message_sync.="Studiengang: $stg->kuerzel EMail-Versand an $stg->email ... ok\n";
else
$message_sync.="Studiengang: $stg->kuerzel EMail-Versand an $stg->email ... FEHLER BEIM SENDEN !!!\n";
}
}
if($message_sync!='')
{
//Mail an Administration
$message_sync = "Dies ist eine automatische Mail!\n\nEs wurden folgende Benachrichtungen zur Preinteressentenübernahme verschickt:\n\n".$message_sync;
$to = MAIL_ADMIN;
if(mail($to, 'Preinteressent Übernahme - Erinnerungsmail', $message_sync, 'FROM: vilesci@'.DOMAIN))
echo "<br><b>Erinnerungsmails wurden versendet</b>";
else
echo "<br><b>Fehler beim Versenden der Mails</b>";
}
?>
+84 -84
View File
@@ -1,57 +1,57 @@
<?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('../cis/config.inc.php');
//$adress='[email protected]';
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$headtext='';
$text='';
$lv_arr = array(); //array (lehrveranstaltung_fk->lehrveranstaltung_id)
<?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('../cis/config.inc.php');
//$adress='[email protected]';
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
$headtext='';
$text='';
$lv_arr = array(); //array (lehrveranstaltung_fk->lehrveranstaltung_id)
$qry = "select * from lehre.tbl_lehrveranstaltung";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$lv_arr[$row->studiengang_kz][$row->semester][$row->lehreverzeichnis] = 1;
}
}
$text .= "";
//query bauen: falls http-get-einschraenkungen fuer student_fk
//sync_fas_vilesci_note.php?student_fk_von=x&student_fk_bis=y
}
$text .= "";
//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 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 tbl_studiengang";
@@ -59,7 +59,7 @@
$getstr .= " studiengang_kz >= '".$_REQUEST["stg_von"]."'";
if (isset($_REQUEST["stg_bis"]))
{
if ($getstr != "")
if ($getstr != "")
$getstr .= " AND";
$getstr .= " studiengang_kz <= '".$_REQUEST["stg_bis"]."'";
}
@@ -67,12 +67,12 @@
$getstr = " WHERE".$getstr;
$sqlstr = $sqlstr.$getstr." order by kurzbzlang";
//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, $sqlstr))
{
while($row = pg_fetch_object($result))
//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, $sqlstr))
{
while($row = pg_fetch_object($result))
{
$text .= "<hr><b>".$row->kurzbzlang."</b><br>";
for ($i=1; $i <= $row->max_semester; $i++)
@@ -96,37 +96,37 @@
}
}
}
}
}
}
}
/*
if (mail($adress,"FAS - Vilesci (Noten/Pruefungen)",$headtext."\n\n<html><body>".$text."</body></html>","From: [email protected]\nContent-Type: text/html\n"))
$sendmail=true;
else
}
}
/*
if (mail($adress,"FAS - Vilesci (Noten/Pruefungen)",$headtext."\n\n<html><body>".$text."</body></html>","From: [email protected]\nContent-Type: text/html\n"))
$sendmail=true;
else
$sendmail=false;
}
*/
?>
<html>
<head>
<title>Unused Dirs</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
/*
if ($sendmail)
echo 'Mail wurde verschickt an '.$adress.'!<br>';
else
?>
<html>
<head>
<title>Unused Dirs</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;
?>
*/
echo $headtext;
echo "<br><br>";
echo $text;
?>
</body>
+29 -29
View File
@@ -1,30 +1,30 @@
<HTML>
<HEAD>
<TITLE>Copy mLists</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY class="background_main">
<H3>Copy mLists</H3>
<?php
function mysystem($command)
{
if (!($p=popen("($command)2>&1","r")))
{
return 126;
}
while (!feof($p))
{
$line=fgets($p,1000);
$out .= $line;
}
pclose($p);
return $out;
}
$var="../../../mlists/copymlists.sh";
echo mysystem($var);
?>
Verarbeitung erledigt!
</BODY>
<HTML>
<HEAD>
<TITLE>Copy mLists</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<BODY class="background_main">
<H3>Copy mLists</H3>
<?php
function mysystem($command)
{
if (!($p=popen("($command)2>&1","r")))
{
return 126;
}
while (!feof($p))
{
$line=fgets($p,1000);
$out .= $line;
}
pclose($p);
return $out;
}
$var="../../../mlists/copymlists.sh";
echo mysystem($var);
?>
Verarbeitung erledigt!
</BODY>
</HTML>
+112 -112
View File
@@ -1,113 +1,113 @@
<?php
/**
* Changes: 23.10.2004: Anpassung an neues DB-Schema (WM)
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
require_once('../../include/studiensemester.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
if(!($result_stg=pg_query($conn, "SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang ORDER BY kurzbz ASC")))
die(pg_errormessage($conn));
$num_rows=pg_num_rows($result_stg);
$ss=new studiensemester($conn);
$ss_nearest=$ss->getNearest();
?>
<HTML>
<HEAD>
<TITLE>Mailinglisten</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</HEAD>
<BODY class="background_main">
<H3>MailingListen </H3>
<?php
$crlf="\n";
for ($i=0; $i<$num_rows; $i++)
{
$row=pg_fetch_object($result_stg);
$stg_id=$row->studiengang_kz;
$stg_kzbz=$row->kurzbz;
$sql_query="SELECT * FROM public.tbl_gruppe WHERE studiengang_kz=$stg_id AND mailgrp=true ORDER BY gruppe_kurzbz";
//echo $sql_query;
if(!($result_mg=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_mg=pg_num_rows($result_mg);
// Mailgroups
for ($j=0; $j<$nr_mg; $j++)
{
$row_mg=pg_fetch_object($result_mg, $j);
$mg_kurzbz=$row_mg->gruppe_kurzbz;
$sql_query='SELECT tbl_benutzergruppe.uid, nachname, vorname '.
'FROM campus.vw_benutzer, public.tbl_benutzergruppe '.
'WHERE vw_benutzer.uid=tbl_benutzergruppe.uid AND '.
"UPPER(gruppe_kurzbz)=UPPER('$mg_kurzbz') AND tbl_benutzergruppe.uid NOT LIKE '\\\\_%' ".
"AND (studiensemester_kurzbz IS NULL OR studiensemester_kurzbz='$ss_nearest') ORDER BY nachname;";
//echo $sql_query;
if(!($result_person=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
$name=$mg_kurzbz.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/'.$name,"w");
//$fp=fopen('../../../../mlists/'.$name,"w");
$nr_person=pg_num_rows($result_person);
for ($p=0; $p<$nr_person; $p++)
{
$row=pg_fetch_object($result_person, $p);
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
}
fclose($fp);
echo $name.' created<br>';
flush();
}
}
//Zusammenbauen der Studiengaenge die keine Alias Adressen bekommen
$noalias_kz='';
foreach($noalias as $var)
{
if($noalias_kz!='')
$noalias_kz.=',';
$noalias_kz.=$var;
}
//$qry = "SELECT vornamen, nachname, uid, alias FROM tbl_person where alias<>'' ORDER BY nachname, vornamen";
$qry = "SELECT vorname, nachname, uid, alias FROM (public.tbl_person JOIN public.tbl_benutzer USING(person_id)) LEFT JOIN public.tbl_student on(uid=student_uid)
WHERE alias<>'' AND (studiengang_kz NOT IN($noalias_kz) OR studiengang_kz is null)
ORDER BY nachname, vorname";
if($result = pg_query($conn, $qry))
{
$fp=fopen('../../../mlists/tw_alias.txt',"w");
while($row=pg_fetch_object($result))
{
fwrite($fp,"# ".$row->nachname." ".$row->vorname.$crlf);
fwrite($fp,$row->alias.": ".$row->uid.$crlf);
}
fclose($fp);
echo 'tw_alias.txt created<br>';
}
else
{
echo 'tw_alias.txt failed<br>';
}
?>
<P><BR>
Die Mailinglisten wurden erstellt. <BR>
Sie k&ouml;nnen nun die erstellten Datein auf den Mail-Server kopieren (<A href="mlists_copy.php">Copy
Lists</A>).</P>
<P><A href="index.html" class="linkblue">&lt;&lt; Zur&uuml;ck</A></P>
</BODY>
<?php
/**
* Changes: 23.10.2004: Anpassung an neues DB-Schema (WM)
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
require_once('../../include/studiensemester.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
if(!($result_stg=pg_query($conn, "SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang ORDER BY kurzbz ASC")))
die(pg_errormessage($conn));
$num_rows=pg_num_rows($result_stg);
$ss=new studiensemester($conn);
$ss_nearest=$ss->getNearest();
?>
<HTML>
<HEAD>
<TITLE>Mailinglisten</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</HEAD>
<BODY class="background_main">
<H3>MailingListen </H3>
<?php
$crlf="\n";
for ($i=0; $i<$num_rows; $i++)
{
$row=pg_fetch_object($result_stg);
$stg_id=$row->studiengang_kz;
$stg_kzbz=$row->kurzbz;
$sql_query="SELECT * FROM public.tbl_gruppe WHERE studiengang_kz=$stg_id AND mailgrp=true ORDER BY gruppe_kurzbz";
//echo $sql_query;
if(!($result_mg=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_mg=pg_num_rows($result_mg);
// Mailgroups
for ($j=0; $j<$nr_mg; $j++)
{
$row_mg=pg_fetch_object($result_mg, $j);
$mg_kurzbz=$row_mg->gruppe_kurzbz;
$sql_query='SELECT tbl_benutzergruppe.uid, nachname, vorname '.
'FROM campus.vw_benutzer, public.tbl_benutzergruppe '.
'WHERE vw_benutzer.uid=tbl_benutzergruppe.uid AND '.
"UPPER(gruppe_kurzbz)=UPPER('$mg_kurzbz') AND tbl_benutzergruppe.uid NOT LIKE '\\\\_%' ".
"AND (studiensemester_kurzbz IS NULL OR studiensemester_kurzbz='$ss_nearest') ORDER BY nachname;";
//echo $sql_query;
if(!($result_person=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
$name=$mg_kurzbz.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/'.$name,"w");
//$fp=fopen('../../../../mlists/'.$name,"w");
$nr_person=pg_num_rows($result_person);
for ($p=0; $p<$nr_person; $p++)
{
$row=pg_fetch_object($result_person, $p);
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
}
fclose($fp);
echo $name.' created<br>';
flush();
}
}
//Zusammenbauen der Studiengaenge die keine Alias Adressen bekommen
$noalias_kz='';
foreach($noalias as $var)
{
if($noalias_kz!='')
$noalias_kz.=',';
$noalias_kz.=$var;
}
//$qry = "SELECT vornamen, nachname, uid, alias FROM tbl_person where alias<>'' ORDER BY nachname, vornamen";
$qry = "SELECT vorname, nachname, uid, alias FROM (public.tbl_person JOIN public.tbl_benutzer USING(person_id)) LEFT JOIN public.tbl_student on(uid=student_uid)
WHERE alias<>'' AND (studiengang_kz NOT IN($noalias_kz) OR studiengang_kz is null)
ORDER BY nachname, vorname";
if($result = pg_query($conn, $qry))
{
$fp=fopen('../../../mlists/tw_alias.txt',"w");
while($row=pg_fetch_object($result))
{
fwrite($fp,"# ".$row->nachname." ".$row->vorname.$crlf);
fwrite($fp,$row->alias.": ".$row->uid.$crlf);
}
fclose($fp);
echo 'tw_alias.txt created<br>';
}
else
{
echo 'tw_alias.txt failed<br>';
}
?>
<P><BR>
Die Mailinglisten wurden erstellt. <BR>
Sie k&ouml;nnen nun die erstellten Datein auf den Mail-Server kopieren (<A href="mlists_copy.php">Copy
Lists</A>).</P>
<P><A href="index.html" class="linkblue">&lt;&lt; Zur&uuml;ck</A></P>
</BODY>
</HTML>
+355 -355
View File
@@ -1,356 +1,356 @@
<?php
/****************************************************************************
* Script: mlists_generate.php
* Descr: Das Skript generiert Mailinglisten in der Datenbanken
* fuer Einheiten, Lektoren und fix Angestellte.
* Verzweigungen: nach einheit_det.php
* von einheit_menue.php
* Author: Christian Paminger
* Erstellt: 12.9.2005
* Update: 14.9.2005 von Christian Paminger
*****************************************************************************/
include('../../vilesci/config.inc.php');
include('../../include/functions.inc.php');
include('../../include/studiensemester.class.php');
$error_msg='';
?>
<HTML>
<HEAD>
<TITLE>Mailinglisten</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</HEAD>
<BODY>
<H3>MailingListen abgleich</H3>
<?php
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden.\n';
// aktuelles Studiensemester ermitteln
$sql_query="SELECT studiensemester_kurzbz FROM public.vw_studiensemester ORDER BY delta LIMIT 1";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
if($row=pg_fetch_object($result))
$studiensemester=$row->studiensemester_kurzbz;
else
$error_msg.=pg_errormessage($conn).$sql_query;
$stsem_obj = new studiensemester($conn);
if(substr($studiensemester,0,1)=='W')
$stsem2 = $stsem_obj->getPreviousFrom($studiensemester);
else
$stsem2 = $stsem_obj->getNextFrom($studiensemester);
function setGeneriert($gruppe)
{
global $conn;
$qry = "UPDATE public.tbl_gruppe SET generiert=true WHERE UPPER(gruppe_kurzbz)=UPPER('".addslashes($gruppe)."')";
@pg_query($conn, $qry);
}
// **************************************************************
// LektorenVerteiler abgleichen
$mlist_name='tw_lkt';
setGeneriert($mlist_name);
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv)";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Sekretariats-Verteiler abgleichen
$mlist_name='tw_sek';
setGeneriert($mlist_name);
// Personen holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND funktion_kurzbz='ass')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Personen holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT distinct mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND tbl_benutzerfunktion.funktion_kurzbz='ass' AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Studiengangsleiter-Verteiler abgleichen
$mlist_name='tw_stgl';
setGeneriert($mlist_name);
// Personen holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND funktion_kurzbz='stgl')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Personen holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND tbl_benutzerfunktion.funktion_kurzbz='stgl' AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Verteiler fuer alle fixAngestellten abgleichen
$mlist_name='tw_fix';
setGeneriert($mlist_name);
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '<BR>'.$mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND aktiv)";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Verteiler fuer alle fixen Lektoren abgleichen
$mlist_name='tw_fix_lkt';
setGeneriert($mlist_name);
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '<BR>'.$mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE aktiv AND fixangestellt AND lektor)";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Lektoren-Verteiler innerhalb der Studiengaenge abgleichen
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '<BR>Lektoren-Verteiler der Studiengaenge werden abgeglichen!<BR>';
flush();
$sql_query="SELECT uid, gruppe_kurzbz FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz LIKE '%\\\\_LKT' AND UPPER(gruppe_kurzbz)!=UPPER('tw_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_fix_lkt')
AND (uid,UPPER(gruppe_kurzbz)) NOT IN
(SELECT mitarbeiter_uid,UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt')
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_studiengang
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
(studiensemester_kurzbz='$studiensemester' OR
studiensemester_kurzbz='$stsem2') AND mitarbeiter_uid NOT LIKE '\\\\_%')";
//echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn).$sql_query;
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die noch nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT distinct mitarbeiter_uid, UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt') AS mlist_name, tbl_studiengang.studiengang_kz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_studiengang
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
(studiensemester_kurzbz='$studiensemester' OR
studiensemester_kurzbz='$stsem2') AND
mitarbeiter_uid NOT LIKE '\\\\_%' AND tbl_studiengang.studiengang_kz!=0 AND
(mitarbeiter_uid,UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt')) NOT IN
(SELECT uid, UPPER(gruppe_kurzbz) FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz LIKE '%\\\\_LKT' AND UPPER(gruppe_kurzbz)!=UPPER('tw_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_fix_lkt'))";
//echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn).$sql_query;
while($row=pg_fetch_object($result))
{
$sql_query="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='".strtoupper($row->mlist_name)."'";
if($res = pg_query($conn, $sql_query))
{
if(pg_num_rows($res)<=0)
{
setGeneriert($row->mlist_name);
$sql_query="INSERT INTO public.tbl_gruppe(gruppe_kurzbz, studiengang_kz, semester, bezeichnung,
beschreibung, mailgrp, sichtbar, generiert, aktiv, updateamum, updatevon,
insertamum, insertvon)
VALUES('".strtoupper($row->mlist_name)."',$row->studiengang_kz, 0,'$row->mlist_name',".
"'$row->mlist_name', true, true, true, true, now(),'mlists_generate',now(), 'mlists_generate');";
if(!pg_query($conn, $sql_query))
echo "<br>Fehler beim Anlegen der Gruppe: $sql_query<br>";
}
}
else
echo "<br>Fehler:$sql_query";
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->mitarbeiter_uid','".strtoupper($row->mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// StudentenvertreterVerteiler abgleichen
// Studenten holen die nicht mehr in den Verteiler gehoeren
echo 'Studentenvertreterverteiler werden abgeglichen!<BR>';
flush();
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE gruppe_kurzbz LIKE '%_STDV' AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND studiengang_kz=tbl_gruppe.studiengang_kz) AND tbl_gruppe.studiengang_kz!='0'";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Studenten holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid, (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz Like '%_STDV')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
setGeneriert($row->gruppe_kurzbz);
$sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
}
//tw_stdv abgleichen
flush();
setGeneriert('TW_STDV');
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='TW_STDV' AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('tw_stdv') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Studenten holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)= UPPER('TW_STDV'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','TW_STDV', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
echo $error_msg;
?>
<BR>
<P>
Die Mailinglisten wurden abgeglichen. <BR>
</P>
</BODY>
<?php
/****************************************************************************
* Script: mlists_generate.php
* Descr: Das Skript generiert Mailinglisten in der Datenbanken
* fuer Einheiten, Lektoren und fix Angestellte.
* Verzweigungen: nach einheit_det.php
* von einheit_menue.php
* Author: Christian Paminger
* Erstellt: 12.9.2005
* Update: 14.9.2005 von Christian Paminger
*****************************************************************************/
include('../../vilesci/config.inc.php');
include('../../include/functions.inc.php');
include('../../include/studiensemester.class.php');
$error_msg='';
?>
<HTML>
<HEAD>
<TITLE>Mailinglisten</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</HEAD>
<BODY>
<H3>MailingListen abgleich</H3>
<?php
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden.\n';
// aktuelles Studiensemester ermitteln
$sql_query="SELECT studiensemester_kurzbz FROM public.vw_studiensemester ORDER BY delta LIMIT 1";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
if($row=pg_fetch_object($result))
$studiensemester=$row->studiensemester_kurzbz;
else
$error_msg.=pg_errormessage($conn).$sql_query;
$stsem_obj = new studiensemester($conn);
if(substr($studiensemester,0,1)=='W')
$stsem2 = $stsem_obj->getPreviousFrom($studiensemester);
else
$stsem2 = $stsem_obj->getNextFrom($studiensemester);
function setGeneriert($gruppe)
{
global $conn;
$qry = "UPDATE public.tbl_gruppe SET generiert=true WHERE UPPER(gruppe_kurzbz)=UPPER('".addslashes($gruppe)."')";
@pg_query($conn, $qry);
}
// **************************************************************
// LektorenVerteiler abgleichen
$mlist_name='tw_lkt';
setGeneriert($mlist_name);
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv)";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) WHERE lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Sekretariats-Verteiler abgleichen
$mlist_name='tw_sek';
setGeneriert($mlist_name);
// Personen holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND funktion_kurzbz='ass')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Personen holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT distinct mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND tbl_benutzerfunktion.funktion_kurzbz='ass' AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Studiengangsleiter-Verteiler abgleichen
$mlist_name='tw_stgl';
setGeneriert($mlist_name);
// Personen holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND funktion_kurzbz='stgl')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Personen holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid) JOIN public.tbl_benutzerfunktion USING(uid) WHERE aktiv AND tbl_benutzerfunktion.funktion_kurzbz='stgl' AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, studiensemester_kurzbz, updateamum, updatevon, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."',null, null, null, now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Verteiler fuer alle fixAngestellten abgleichen
$mlist_name='tw_fix';
setGeneriert($mlist_name);
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '<BR>'.$mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND aktiv)";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Verteiler fuer alle fixen Lektoren abgleichen
$mlist_name='tw_fix_lkt';
setGeneriert($mlist_name);
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '<BR>'.$mlist_name.' wird abgeglichen!<BR>';
flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid NOT IN (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE aktiv AND fixangestellt AND lektor)";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid) WHERE fixangestellt AND lektor AND aktiv AND mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// Lektoren-Verteiler innerhalb der Studiengaenge abgleichen
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo '<BR>Lektoren-Verteiler der Studiengaenge werden abgeglichen!<BR>';
flush();
$sql_query="SELECT uid, gruppe_kurzbz FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz LIKE '%\\\\_LKT' AND UPPER(gruppe_kurzbz)!=UPPER('tw_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_fix_lkt')
AND (uid,UPPER(gruppe_kurzbz)) NOT IN
(SELECT mitarbeiter_uid,UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt')
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_studiengang
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
(studiensemester_kurzbz='$studiensemester' OR
studiensemester_kurzbz='$stsem2') AND mitarbeiter_uid NOT LIKE '\\\\_%')";
//echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn).$sql_query;
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Lektoren holen die noch nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT distinct mitarbeiter_uid, UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt') AS mlist_name, tbl_studiengang.studiengang_kz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_studiengang
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
(studiensemester_kurzbz='$studiensemester' OR
studiensemester_kurzbz='$stsem2') AND
mitarbeiter_uid NOT LIKE '\\\\_%' AND tbl_studiengang.studiengang_kz!=0 AND
(mitarbeiter_uid,UPPER(typ::varchar(1) || tbl_studiengang.kurzbz || '_lkt')) NOT IN
(SELECT uid, UPPER(gruppe_kurzbz) FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz LIKE '%\\\\_LKT' AND UPPER(gruppe_kurzbz)!=UPPER('tw_lkt') AND UPPER(gruppe_kurzbz)!=UPPER('tw_fix_lkt'))";
//echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn).$sql_query;
while($row=pg_fetch_object($result))
{
$sql_query="SELECT * FROM public.tbl_gruppe WHERE gruppe_kurzbz='".strtoupper($row->mlist_name)."'";
if($res = pg_query($conn, $sql_query))
{
if(pg_num_rows($res)<=0)
{
setGeneriert($row->mlist_name);
$sql_query="INSERT INTO public.tbl_gruppe(gruppe_kurzbz, studiengang_kz, semester, bezeichnung,
beschreibung, mailgrp, sichtbar, generiert, aktiv, updateamum, updatevon,
insertamum, insertvon)
VALUES('".strtoupper($row->mlist_name)."',$row->studiengang_kz, 0,'$row->mlist_name',".
"'$row->mlist_name', true, true, true, true, now(),'mlists_generate',now(), 'mlists_generate');";
if(!pg_query($conn, $sql_query))
echo "<br>Fehler beim Anlegen der Gruppe: $sql_query<br>";
}
}
else
echo "<br>Fehler:$sql_query";
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->mitarbeiter_uid','".strtoupper($row->mlist_name)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// **************************************************************
// StudentenvertreterVerteiler abgleichen
// Studenten holen die nicht mehr in den Verteiler gehoeren
echo 'Studentenvertreterverteiler werden abgeglichen!<BR>';
flush();
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE gruppe_kurzbz LIKE '%_STDV' AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND studiengang_kz=tbl_gruppe.studiengang_kz) AND tbl_gruppe.studiengang_kz!='0'";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$row->gruppe_kurzbz') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Studenten holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid, (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz like '%_STDV') as gruppe_kurzbz FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe JOIN public.tbl_gruppe USING(gruppe_kurzbz) WHERE studiengang_kz=tbl_benutzerfunktion.studiengang_kz AND gruppe_kurzbz Like '%_STDV')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
setGeneriert($row->gruppe_kurzbz);
$sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
}
//tw_stdv abgleichen
flush();
setGeneriert('TW_STDV');
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='TW_STDV' AND uid not in (SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv')";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="DELETE FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('tw_stdv') AND uid='$row->uid'";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
// Studenten holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='stdv' AND uid NOT in(Select uid from public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)= UPPER('TW_STDV'))";
if(!($result=pg_query($conn, $sql_query)))
$error_msg.=pg_errormessage($conn);
while($row=pg_fetch_object($result))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','TW_STDV', now(), 'mlists_generate')";
if(!pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn).$sql_query;
echo '-';
flush();
}
echo $error_msg;
?>
<BR>
<P>
Die Mailinglisten wurden abgeglichen. <BR>
</P>
</BODY>
</HTML>
+30 -30
View File
@@ -1,31 +1,31 @@
<HTML>
<HEAD>
<TITLE>Copy mLists</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY class="background_main">
<H3>Copy mLists</H3>
<?php
function mysystem($command)
{
if (!($p=popen("($command)2>&1","r")))
{
return 126;
}
while (!feof($p))
{
$line=fgets($p,1000);
$out .= $line;
}
pclose($p);
return $out;
}
$var="../../../mlists/student/copymlists.sh";
echo mysystem($var);
?>
Verarbeitung erledigt!<BR>
<A href="index.html" class="linkblue">&lt;&lt;Zur&uuml;ck</A>
</BODY>
<HTML>
<HEAD>
<TITLE>Copy mLists</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<BODY class="background_main">
<H3>Copy mLists</H3>
<?php
function mysystem($command)
{
if (!($p=popen("($command)2>&1","r")))
{
return 126;
}
while (!feof($p))
{
$line=fgets($p,1000);
$out .= $line;
}
pclose($p);
return $out;
}
$var="../../../mlists/student/copymlists.sh";
echo mysystem($var);
?>
Verarbeitung erledigt!<BR>
<A href="index.html" class="linkblue">&lt;&lt;Zur&uuml;ck</A>
</BODY>
</HTML>
+159 -159
View File
@@ -1,160 +1,160 @@
<?php
/**
* Changes: 23.10.2004: Anpassung an neues DB-Schema (WM)
*/
include('../../vilesci/config.inc.php');
include('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
die("Es konnte keine Verbindung zum Server aufgebaut werden.");
if(!($erg=pg_query($conn, "SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang ORDER BY kurzbz ASC")))
die(pg_errormessage($conn));
$num_rows=pg_num_rows($erg);
?>
<HTML>
<HEAD>
<TITLE>Mailinglisten</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</HEAD>
<BODY class="background_main">
<H3>MailingListen </H3>
<?php
for ($i=0; $i<$num_rows; $i++)
{
$row=pg_fetch_object($erg, $i);
$stg_kz=$row->studiengang_kz;
$stg_kzbz=$row->kurzbz;
$sql_query="SELECT DISTINCT semester FROM public.tbl_student WHERE studiengang_kz=$stg_kz AND student_uid NOT LIKE '\\\\_%' AND semester<10 AND semester>0 ORDER BY semester";
//echo $sql_query;
if(!($result_sem=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_sem=pg_num_rows($result_sem);
for ($j=0; $j<$nr_sem; $j++)
{
$row_sem=pg_fetch_object($result_sem, $j);
echo $stg_kzbz.'-'.$row_sem->semester.'<br>';
/* // Semestergruppen falls vorhanden
$sem=$row_sem->semester;
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stg_kz.' AND semester='.$sem." AND (verband IS NULL OR verband='') AND (gruppe='' OR gruppe IS NULL) AND uid NOT LIKE '\\\\_%' ORDER BY nachname;";
//echo $sql_query;
if(!($result_student=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
if (pg_num_rows($result_student)>0)
{
$name=$stg_kzbz.$sem.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/student/'.$name,"w");
$crlf="\n";
while ($row=pg_fetch_object($result_student))
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
fclose($fp);
echo $name.', ';
flush();
}*/
$sql_query="SELECT DISTINCT verband FROM public.tbl_student WHERE studiengang_kz=$stg_kz AND semester=$row_sem->semester AND student_uid NOT LIKE '\\\\_%' ORDER BY verband";
//echo $sql_query;
if(!($result_ver=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_ver=pg_num_rows($result_ver);
for ($k=0; $k<$nr_ver; $k++)
{
$row_ver=pg_fetch_object($result_ver, $k);
/* // Verbandsgruppen falls vorhanden
$sem=$row_sem->semester;
$ver=$row_ver->verband;
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stg_kz.' AND semester='.$sem.' AND verband=\''.strtoupper($ver)."' AND (gruppe='' OR gruppe IS NULL) AND uid NOT LIKE '\\\\_%' ORDER BY nachname;";
//echo $sql_query;
if(!($result_student=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
if (pg_num_rows($result_student)>0)
{
$name=$stg_kzbz.$sem.$ver.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/student/'.$name,"w");
$crlf="\n";
while ($row=pg_fetch_object($result_student))
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
fclose($fp);
echo $name.', ';
flush();
}*/
if ( ($row_ver->verband==' ' || $row_ver->verband=='') )
$row_ver->verband='A';
// if (strtoupper($row_ver->verband)=='A')
$sql_query="SELECT DISTINCT gruppe FROM public.tbl_student WHERE studiengang_kz=$stg_kz AND semester=$row_sem->semester AND (verband='$row_ver->verband' OR verband='' OR verband=' ') AND student_uid NOT LIKE '\\\\_%' ORDER BY gruppe";
//else
// $sql_query="SELECT DISTINCT gruppe FROM public.tbl_student WHERE gruppe!='' AND gruppe IS NOT NULL AND studiengang_kz=$stg_kz AND semester=$row_sem->semester AND verband='$row_ver->verband' AND student_uid NOT LIKE '\\\\_%' ORDER BY gruppe";
//echo $sql_query;
if(!($result_grp=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_grp=pg_num_rows($result_grp);
for ($l=0; $l<$nr_grp; $l++)
{
$row_grp=pg_fetch_object($result_grp, $l);
$stgid=$stg_kz;
$sem=$row_sem->semester;
$ver=$row_ver->verband;
$grp=$row_grp->gruppe;
//echo '<BR>-'.$ver.'-<BR>';
if ($grp=='' || $grp==' ' || is_null($grp))
$grp='1';
if ($grp=='1')
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stgid.' AND semester='.$sem." AND (verband='".strtoupper($ver)."' OR verband='' OR verband=' ') AND (gruppe='".$grp."' OR gruppe='' OR gruppe=' ') AND uid NOT LIKE '\\\\_%' ORDER BY nachname";
else
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stgid.' AND semester='.$sem.' AND verband=\''.strtoupper($ver).'\' AND gruppe='.$grp." AND uid NOT LIKE '\\\\_%' ORDER BY nachname";
//echo $sql_query;
if(!($result_student=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
$name=$stg_kzbz.$sem.$ver.$grp.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/student/'.$name,"w");
//$fp=fopen('../../../../mlists/student/'.$name,"w");
$crlf="\n";
$numrows_student=pg_num_rows($result_student);
for ($s=0; $s<$numrows_student; $s++)
{
$row=pg_fetch_object($result_student, $s);
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
}
fclose($fp);
echo $name.', ';
flush();
}
echo 'created<br>';
}
}
}
// ---------- Eine Datei mit allen Studentent anlegen -------------------
$sql_query="SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz,uid, nachname, vorname,
semester, lower(verband) AS verband, gruppe FROM campus.vw_student JOIN tbl_studiengang USING (studiengang_kz)
WHERE uid NOT LIKE '\\\\_%' AND semester<10 AND semester>0 AND vw_student.aktiv AND (substring(uid from 1 for 1)<'0' OR substring(uid from 1 for 1)>'9')";
echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
$name='student_lehrverband.txt';
$fp=fopen('../../../mlists/student/'.$name,"w");
$crlf="\n";
// Wunsch von Kopper: <Studiengang>^t<gruppe>^t<uid>^t#<Nachname><space><Vorname>
while ($row=pg_fetch_object($result))
fwrite($fp, $row->kurzbz."\t".$row->semester.$row->verband.$row->gruppe."\t".$row->uid."\t#".$row->nachname.' '.$row->vorname.$crlf);
fclose($fp);
echo $name.', ';
flush();
?>
Finished!!! <BR>
<A href="index.html" class="linkblue">&lt;&lt;Zur&uuml;ck</A>
</BODY>
<?php
/**
* Changes: 23.10.2004: Anpassung an neues DB-Schema (WM)
*/
include('../../vilesci/config.inc.php');
include('../../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
die("Es konnte keine Verbindung zum Server aufgebaut werden.");
if(!($erg=pg_query($conn, "SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz FROM public.tbl_studiengang ORDER BY kurzbz ASC")))
die(pg_errormessage($conn));
$num_rows=pg_num_rows($erg);
?>
<HTML>
<HEAD>
<TITLE>Mailinglisten</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</HEAD>
<BODY class="background_main">
<H3>MailingListen </H3>
<?php
for ($i=0; $i<$num_rows; $i++)
{
$row=pg_fetch_object($erg, $i);
$stg_kz=$row->studiengang_kz;
$stg_kzbz=$row->kurzbz;
$sql_query="SELECT DISTINCT semester FROM public.tbl_student WHERE studiengang_kz=$stg_kz AND student_uid NOT LIKE '\\\\_%' AND semester<10 AND semester>0 ORDER BY semester";
//echo $sql_query;
if(!($result_sem=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_sem=pg_num_rows($result_sem);
for ($j=0; $j<$nr_sem; $j++)
{
$row_sem=pg_fetch_object($result_sem, $j);
echo $stg_kzbz.'-'.$row_sem->semester.'<br>';
/* // Semestergruppen falls vorhanden
$sem=$row_sem->semester;
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stg_kz.' AND semester='.$sem." AND (verband IS NULL OR verband='') AND (gruppe='' OR gruppe IS NULL) AND uid NOT LIKE '\\\\_%' ORDER BY nachname;";
//echo $sql_query;
if(!($result_student=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
if (pg_num_rows($result_student)>0)
{
$name=$stg_kzbz.$sem.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/student/'.$name,"w");
$crlf="\n";
while ($row=pg_fetch_object($result_student))
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
fclose($fp);
echo $name.', ';
flush();
}*/
$sql_query="SELECT DISTINCT verband FROM public.tbl_student WHERE studiengang_kz=$stg_kz AND semester=$row_sem->semester AND student_uid NOT LIKE '\\\\_%' ORDER BY verband";
//echo $sql_query;
if(!($result_ver=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_ver=pg_num_rows($result_ver);
for ($k=0; $k<$nr_ver; $k++)
{
$row_ver=pg_fetch_object($result_ver, $k);
/* // Verbandsgruppen falls vorhanden
$sem=$row_sem->semester;
$ver=$row_ver->verband;
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stg_kz.' AND semester='.$sem.' AND verband=\''.strtoupper($ver)."' AND (gruppe='' OR gruppe IS NULL) AND uid NOT LIKE '\\\\_%' ORDER BY nachname;";
//echo $sql_query;
if(!($result_student=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
if (pg_num_rows($result_student)>0)
{
$name=$stg_kzbz.$sem.$ver.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/student/'.$name,"w");
$crlf="\n";
while ($row=pg_fetch_object($result_student))
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
fclose($fp);
echo $name.', ';
flush();
}*/
if ( ($row_ver->verband==' ' || $row_ver->verband=='') )
$row_ver->verband='A';
// if (strtoupper($row_ver->verband)=='A')
$sql_query="SELECT DISTINCT gruppe FROM public.tbl_student WHERE studiengang_kz=$stg_kz AND semester=$row_sem->semester AND (verband='$row_ver->verband' OR verband='' OR verband=' ') AND student_uid NOT LIKE '\\\\_%' ORDER BY gruppe";
//else
// $sql_query="SELECT DISTINCT gruppe FROM public.tbl_student WHERE gruppe!='' AND gruppe IS NOT NULL AND studiengang_kz=$stg_kz AND semester=$row_sem->semester AND verband='$row_ver->verband' AND student_uid NOT LIKE '\\\\_%' ORDER BY gruppe";
//echo $sql_query;
if(!($result_grp=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$nr_grp=pg_num_rows($result_grp);
for ($l=0; $l<$nr_grp; $l++)
{
$row_grp=pg_fetch_object($result_grp, $l);
$stgid=$stg_kz;
$sem=$row_sem->semester;
$ver=$row_ver->verband;
$grp=$row_grp->gruppe;
//echo '<BR>-'.$ver.'-<BR>';
if ($grp=='' || $grp==' ' || is_null($grp))
$grp='1';
if ($grp=='1')
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stgid.' AND semester='.$sem." AND (verband='".strtoupper($ver)."' OR verband='' OR verband=' ') AND (gruppe='".$grp."' OR gruppe='' OR gruppe=' ') AND uid NOT LIKE '\\\\_%' ORDER BY nachname";
else
$sql_query='SELECT uid, nachname, vorname FROM campus.vw_student WHERE studiengang_kz='.$stgid.' AND semester='.$sem.' AND verband=\''.strtoupper($ver).'\' AND gruppe='.$grp." AND uid NOT LIKE '\\\\_%' ORDER BY nachname";
//echo $sql_query;
if(!($result_student=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
$name=$stg_kzbz.$sem.$ver.$grp.'.txt';
$name=strtolower($name);
$fp=fopen('../../../mlists/student/'.$name,"w");
//$fp=fopen('../../../../mlists/student/'.$name,"w");
$crlf="\n";
$numrows_student=pg_num_rows($result_student);
for ($s=0; $s<$numrows_student; $s++)
{
$row=pg_fetch_object($result_student, $s);
fwrite($fp, '#'.$row->nachname.' '.$row->vorname.$crlf.$row->uid.$crlf);
}
fclose($fp);
echo $name.', ';
flush();
}
echo 'created<br>';
}
}
}
// ---------- Eine Datei mit allen Studentent anlegen -------------------
$sql_query="SELECT studiengang_kz, bezeichnung, lower(typ::varchar(1) || kurzbz) as kurzbz,uid, nachname, vorname,
semester, lower(verband) AS verband, gruppe FROM campus.vw_student JOIN tbl_studiengang USING (studiengang_kz)
WHERE uid NOT LIKE '\\\\_%' AND semester<10 AND semester>0 AND vw_student.aktiv AND (substring(uid from 1 for 1)<'0' OR substring(uid from 1 for 1)>'9')";
echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
// File Operations
$name='student_lehrverband.txt';
$fp=fopen('../../../mlists/student/'.$name,"w");
$crlf="\n";
// Wunsch von Kopper: <Studiengang>^t<gruppe>^t<uid>^t#<Nachname><space><Vorname>
while ($row=pg_fetch_object($result))
fwrite($fp, $row->kurzbz."\t".$row->semester.$row->verband.$row->gruppe."\t".$row->uid."\t#".$row->nachname.' '.$row->vorname.$crlf);
fclose($fp);
echo $name.', ';
flush();
?>
Finished!!! <BR>
<A href="index.html" class="linkblue">&lt;&lt;Zur&uuml;ck</A>
</BODY>
</HTML>
+143 -143
View File
@@ -1,144 +1,144 @@
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
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=iso-8859-1">
</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: [email protected]");
//mail($adress, 'BIS-Funktionen von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
<?php
/* Copyright (C) 2007
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
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: [email protected]");
//mail($adress, 'BIS-Funktionen von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
@@ -1,108 +1,108 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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>
+126 -126
View File
@@ -1,127 +1,127 @@
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
?>
</body>
<?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 <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
?>
</body>
</html>
+329 -329
View File
@@ -1,330 +1,330 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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");
$rolle_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_rolle(rolle_kurzbz, beschreibung, anmerkung, ext_id) VALUES('".
$rolle_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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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>
+397 -397
View File
@@ -1,398 +1,398 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Adresse von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Adresse von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+95 -95
View File
@@ -1,96 +1,96 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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 +1,454 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
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: [email protected]");
}
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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: [email protected]");
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: [email protected]");
}
?>
</body>
</html>
@@ -1,165 +1,165 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Bankverbindung von '.$_SERVER['HTTP_HOST'], $ausgabe_all,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Bankverbindung von '.$_SERVER['HTTP_HOST'], $ausgabe_all,"From: [email protected]");
?>
</body>
</html>
@@ -1,271 +1,271 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Benutzergruppe von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Benutzergruppe von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,409 +1,409 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
mail($adress, 'SYNC-Fehler Diplomprüfung von '.$_SERVER['HTTP_HOST'], $error_log_fas, "From: [email protected]");
}
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
mail($adress, 'SYNC-Fehler Diplomprüfung von '.$_SERVER['HTTP_HOST'], $error_log_fas, "From: [email protected]");
}
?>
</body>
</html>
+202 -202
View File
@@ -1,203 +1,203 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Email von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Email von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
@@ -1,197 +1,197 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC E-Team von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC E-Team von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+309 -309
View File
@@ -1,310 +1,310 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Gruppe von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Gruppe von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+277 -277
View File
@@ -1,278 +1,278 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC IO von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC IO von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+275 -275
View File
@@ -1,276 +1,276 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Konto von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Konto von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+86 -86
View File
@@ -1,87 +1,87 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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: [email protected]");
?>
</body>
</html>
+485 -485
View File
@@ -1,486 +1,486 @@
<?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='[email protected]';
//$adress='[email protected]';
$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: [email protected]"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS - Vilesci (Noten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</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>
<?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='[email protected]';
//$adress='[email protected]';
$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: [email protected]"))
$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>
File diff suppressed because it is too large Load Diff
+367 -367
View File
@@ -1,368 +1,368 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
$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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
$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: [email protected]");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
+181 -181
View File
@@ -1,182 +1,182 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Reihungstest von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Reihungstest von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+241 -241
View File
@@ -1,242 +1,242 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
$adress='[email protected]';
$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: [email protected]");
?>
</body>
</html>
+111 -111
View File
@@ -1,112 +1,112 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -1,484 +1,484 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Studentlehrverband von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Studentlehrverband von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+158 -158
View File
@@ -1,159 +1,159 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
?>
</body>
</html>
+212 -212
View File
@@ -1,213 +1,213 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
}
mail($adress, 'SYNC Telefon von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
}
mail($adress, 'SYNC Telefon von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
</body>
</html>
+254 -254
View File
@@ -1,255 +1,255 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
mail($adress, 'SYNC BIS-Verwendung von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
mail($adress, 'SYNC BIS-Verwendung von '.$_SERVER['HTTP_HOST'], $ausgabe,"From: [email protected]");
?>
File diff suppressed because it is too large Load Diff
@@ -1,92 +1,92 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='[email protected]';
//$adress='[email protected]';
$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: [email protected]");
?>
</body>
</html>
+403 -403
View File
@@ -1,404 +1,404 @@
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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='';
$rolle_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=iso-8859-1">
</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="[email protected]";
//*********** 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_prestudentrolle 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])
{
$rolle_kurzbz="Diplomand";
}
else
{
$rolle_kurzbz="Student";
}
if($semdiff>$maxsemester[$instg])
{
$ausbsem=$maxsemester[$instg];
}
else
{
$ausbsem=$semdiff;
}
$qry_chk="SELECT * FROM public.tbl_prestudentrolle
WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)."
AND studiensemester_kurzbz=".myaddslashes($rowrl->studiensemester_kurzbz)."
AND rolle_kurzbz=".myaddslashes($rolle_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_prestudentrolle (prestudent_id, rolle_kurzbz,
studiensemester_kurzbz, ausbildungssemester,datum, orgform_kurzbz,
insertamum, insertvon, updateamum, updatevon, ext_id)
VALUES (".
myaddslashes($rowall->prestudent_id).", ".
myaddslashes($rolle_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->rolle_kurzbz!='Diplomand')
{
$qry_chk="rolle_kurzbz='Diplomand', ";
}
}
else
{
if($row_chk->rolle_kurzbz!='Student')
{
$qry_chk="rolle_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_prestudentrolle SET ".$qry_chk."updateamum=now(), updatevon='sync'
WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)."
AND studiensemester_kurzbz=".myaddslashes($rowrl->studiensemester_kurzbz)."
AND rolle_kurzbz=".myaddslashes($rolle_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_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND rolle_kurzbz='Bewerber';";
if($resultchk = pg_query($conn,$qry_chk))
{
if(pg_num_rows($resultchk)==0)
{
$qry_ins="INSERT INTO public.tbl_prestudentrolle (prestudent_id, rolle_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_prestudentrolle WHERE prestudent_id=".myaddslashes($rowall->prestudent_id)." AND rolle_kurzbz='Interessent';";
if($resultchk = pg_query($conn,$qry_chk))
{
if(pg_num_rows($resultchk)==0)
{
$qry_ins="INSERT INTO public.tbl_prestudentrolle (prestudent_id, rolle_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: [email protected]");
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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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="[email protected]";
//*********** 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: [email protected]");
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: [email protected]");
?>
</body>
</html>
+119 -119
View File
@@ -1,120 +1,120 @@
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
//$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=iso-8859-1">
<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>
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
//$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>
+306 -306
View File
@@ -1,307 +1,307 @@
<?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_prestudentrolle.studiensemester_kurzbz, tbl_student.studiengang_kz
FROM
public.tbl_prestudent JOIN public.tbl_student USING(prestudent_id)
JOIN public.tbl_prestudentrolle 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->rolle_kurzbz=='Abbrecher')
{
$semester='0';
$verband='A';
}
elseif($prestd->rolle_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->rolle_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_prestudentrolle JOIN public.tbl_student USING(prestudent_id) WHERE rolle_kurzbz='Diplomand' OR rolle_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_prestudentrolle WHERE prestudent_id='$row->prestudent_id' AND rolle_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->rolle_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_prestudentrolle WHERE prestudent_id='$row->prestudent_id' AND rolle_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);
<?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);
?>
+15 -15
View File
@@ -179,23 +179,23 @@ INSERT INTO tbl_zgvmaster VALUES (8, 'FH-Abschluss Dipl.-Ing. / Mag. / Master /
SET search_path = public, pg_catalog;
--
-- Data for Name: tbl_rolle; Type: TABLE DATA; Schema: public; Owner: pam
-- Data for Name: tbl_status; Type: TABLE DATA; Schema: public; Owner: pam
--
INSERT INTO tbl_rolle VALUES ('Interessent', NULL, NULL, 1);
INSERT INTO tbl_rolle VALUES ('Bewerber', NULL, NULL, 2);
INSERT INTO tbl_rolle VALUES ('Student', NULL, NULL, 3);
INSERT INTO tbl_rolle VALUES ('Ausserordentlicher', NULL, NULL, 4);
INSERT INTO tbl_rolle VALUES ('Abgewiesener', NULL, NULL, 5);
INSERT INTO tbl_rolle VALUES ('Aufgenommener', NULL, NULL, 6);
INSERT INTO tbl_rolle VALUES ('Wartender', NULL, NULL, 7);
INSERT INTO tbl_rolle VALUES ('Abbrecher', NULL, NULL, 8);
INSERT INTO tbl_rolle VALUES ('Unterbrecher', NULL, NULL, 9);
INSERT INTO tbl_rolle VALUES ('Outgoing', NULL, NULL, 10);
INSERT INTO tbl_rolle VALUES ('Incoming', NULL, NULL, 11);
INSERT INTO tbl_rolle VALUES ('Praktikant', NULL, NULL, 12);
INSERT INTO tbl_rolle VALUES ('Absolvent', NULL, NULL, 14);
INSERT INTO tbl_rolle VALUES ('Diplomand', NULL, NULL, 13);
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
@@ -1,106 +1,106 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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>
+396 -396
View File
@@ -1,397 +1,397 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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: [email protected]");
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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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: [email protected]");
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: [email protected]");
?>
</body>
</html>
+205 -205
View File
@@ -1,206 +1,206 @@
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
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=iso-8859-1">
</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($conn);
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: [email protected]"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
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($conn);
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: [email protected]"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
+156 -156
View File
@@ -1,157 +1,157 @@
<?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=iso-8859-1">
</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 = '[email protected]';
$to = $adress_ext;
if(mail($to, 'SYNC BisIO',$head_text.$text, "From: [email protected]"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
<?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 = '[email protected]';
$to = $adress_ext;
if(mail($to, 'SYNC BisIO',$head_text.$text, "From: [email protected]"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,482 +1,482 @@
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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: [email protected]");
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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2008 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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: [email protected]");
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: [email protected]");
?>
</body>
</html>
+102 -102
View File
@@ -1,103 +1,103 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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>
+311 -311
View File
@@ -1,312 +1,312 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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: [email protected]");
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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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: [email protected]");
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: [email protected]");
?>
</body>
</html>
+185 -185
View File
@@ -1,186 +1,186 @@
<?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=iso-8859-1">
</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 = '[email protected]';
$to = $adress_ext;
if(mail($to, 'SYNC Konto',$head_text.$text, "From: [email protected]"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
<?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 = '[email protected]';
$to = $adress_ext;
if(mail($to, 'SYNC Konto',$head_text.$text, "From: [email protected]"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,473 +1,473 @@
<?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='[email protected]';
//$adress_ext='[email protected]';
//$adress='[email protected]';
//$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=iso-8859-1">
</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 = '[email protected]';
$to = $adress_ext;
if(mail($to, 'SYNC Lehrveranstaltung',$head_text.$text, "From: [email protected]"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
<?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='[email protected]';
//$adress_ext='[email protected]';
//$adress='[email protected]';
//$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 = '[email protected]';
$to = $adress_ext;
if(mail($to, 'SYNC Lehrveranstaltung',$head_text.$text, "From: [email protected]"))
echo "Mail wurde an $to versandt<br><br>";
else
echo "Fehler beim Senden an $to<br><br>";
echo nl2br($text);
?>
</body>
</html>
+261 -261
View File
@@ -1,262 +1,262 @@
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
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=iso-8859-1">
</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: [email protected]"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
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: [email protected]"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
+316 -316
View File
@@ -1,317 +1,317 @@
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
//$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=iso-8859-1">
</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: [email protected]"))
echo "<br>Mail wurde an $adress versandt<br><br>";
else
echo "<br>Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
//$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: [email protected]"))
echo "<br>Mail wurde an $adress versandt<br><br>";
else
echo "<br>Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
+400 -400
View File
@@ -1,401 +1,401 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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: [email protected]");
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: [email protected]");
?>
</body>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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: [email protected]");
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: [email protected]");
?>
</body>
</html>
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,91 +1,91 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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>
+290 -290
View File
@@ -1,291 +1,291 @@
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
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=iso-8859-1">
</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: [email protected]"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
//$adress='[email protected]';
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: [email protected]"))
echo "Mail wurde an $adress versandt<br><br>";
else
echo "Fehler beim Senden an $adress<br><br>";
echo nl2br($text);
?>
</body>
</html>
@@ -1,107 +1,107 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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=iso-8859-1">
</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>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
//*
//* 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>
+100 -100
View File
@@ -1,100 +1,100 @@
<?php
require_once('../../vilesci/config.inc.php');
$adress='[email protected]';
//$adress='[email protected]';
//mail($adress,"FAS Synchro mit VileSci","BEGIN OF SYNCHRONISATION","From: [email protected]");
$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: [email protected]"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS-Synchro mit VileSci (Ex-Studenten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<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>
<?php
require_once('../../vilesci/config.inc.php');
$adress='[email protected]';
//$adress='[email protected]';
//mail($adress,"FAS Synchro mit VileSci","BEGIN OF SYNCHRONISATION","From: [email protected]");
$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: [email protected]"))
$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 -272
View File
@@ -1,272 +1,272 @@
<?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='[email protected]';
//$adress='[email protected]';
//mail($adress,"FAS Synchro mit VILESCI (Lektoren)","BEGIN OF SYNCHRONISATION","From: [email protected]");
$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: [email protected]"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS-Synchro mit VileSci (Lektoren)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</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>
<?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='[email protected]';
//$adress='[email protected]';
//mail($adress,"FAS Synchro mit VILESCI (Lektoren)","BEGIN OF SYNCHRONISATION","From: [email protected]");
$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: [email protected]"))
$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 -56
View File
@@ -1,56 +1,56 @@
<?php
/***************************************************************
Script zur Feststellung, welche Daten im FAS nicht durchkommen.
***************************************************************/
$adress='[email protected]';
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=iso-8859-1\r\n";
$headers.="From: [email protected]";
$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>";
?>
<?php
/***************************************************************
Script zur Feststellung, welche Daten im FAS nicht durchkommen.
***************************************************************/
$adress='[email protected]';
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: [email protected]";
$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>";
?>
File diff suppressed because it is too large Load Diff
+385 -385
View File
@@ -1,385 +1,385 @@
<?php
require_once('../../vilesci/config.inc.php');
$adress='[email protected]';
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: [email protected]");
$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: [email protected]"))
$sendmail=true;
else
$sendmail=false;
?>
<html>
<head>
<title>FAS-Synchro mit Portal (Studenten)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</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>
<?php
require_once('../../vilesci/config.inc.php');
$adress='[email protected]';
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: [email protected]");
$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: [email protected]"))
$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 -48
View File
@@ -1,48 +1,48 @@
<?php
/***************************************************************
Script zur Feststellung, welche Daten im FAS nicht durchkommen.
***************************************************************/
$adress='[email protected]';
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=iso-8859-1\r\n";
$headers.="From: [email protected]";
$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>";
?>
<?php
/***************************************************************
Script zur Feststellung, welche Daten im FAS nicht durchkommen.
***************************************************************/
$adress='[email protected]';
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: [email protected]";
$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>";
?>
+76 -76
View File
@@ -1,77 +1,77 @@
<?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
}
}
<?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
}
}
?>
+158 -158
View File
@@ -1,159 +1,159 @@
<?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>.
*/
/*
* 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('../../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');
$sync_lektoren_gesamt=0;
$sync_studenten_gesamt=0;
$group_updates=0;
$fehler=0;
$message='';
$message_lkt='';
$lektoren=array();
//nur Synchronisieren wenn ein aktuelles Studiensemester existiert damit keine
//Probleme durch die Vorrueckung entstehen
$stsem = new studiensemester($conn);
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))
{
while($row = pg_fetch_object($result))
{
$course = new moodle_course($conn, $conn_moodle);
if($course->load($row->mdl_course_id))
{
$message_lkt='';
//Lektoren
$mdluser = new moodle_user($conn, $conn_moodle);
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
if($mdluser->sync_lektoren($row->mdl_course_id))
{
$sync_lektoren_gesamt+=$mdluser->sync_create;
$group_updates+=$mdluser->group_update;
if($mdluser->sync_create>0 || $mdluser->group_update>0)
{
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
}
}
else
{
$message.="\nFehler: $mdluser->errormsg";
$fehler++;
}
//Studenten
$mdluser = new moodle_user($conn, $conn_moodle);
if($mdluser->sync_studenten($row->mdl_course_id))
{
$sync_studenten_gesamt+=$mdluser->sync_create;
$group_updates+=$mdluser->group_update;
if($mdluser->sync_create>0 || $mdluser->group_update>0)
{
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
}
}
else
{
$message.="\nFehler: $mdluser->errormsg";
$fehler++;
}
foreach ($mitarbeiter as $uid)
{
if(!isset($lektoren[$uid]))
$lektoren[$uid]='';
$lektoren[$uid].=$message_lkt;
}
}
else
{
$message.="\nFehler: in der Tabelle lehre.tbl_moodle wird auf den Kurs $row->mdl_course_id verwiesen, dieser existiert jedoch nicht im Moodle!";
$fehler++;
}
}
if($sync_lektoren_gesamt>0 || $sync_studenten_gesamt>0 || $fehler>0 || $group_updates>0)
{
//Mail an die Lektoren
foreach ($lektoren as $uid=>$message_lkt)
{
if($message_lkt!='')
{
$header = "Dies ist eine automatische Mail!\n";
$header.= "Es wurden folgende Aktualisierungen an Ihren Moodle-Kursen durchgeführt:\n\n";
$to = "$uid@".DOMAIN;
//$to = '[email protected]';
if(mail($to,'Moodle - Aktualisierungen', $header.$message_lkt, 'From: vilesci@'.DOMAIN))
echo "Mail wurde an $to versandt<br>";
else
echo "Fehler beim Senden des Mails an $to<br>";
}
}
//Mail an Admin
$header = "Dies ist eine automatische Mail!\n";
$header.= "Folgende Syncros mit den MoodleKursen wurde durchgeführt:\n\n";
$header.= "Anzahl der aktualisierten Lektoren: $sync_lektoren_gesamt\n";
$header.= "Anzahl der aktualisierten Studenten: $sync_studenten_gesamt\n";
$header.= "Anzahl der Fehler: $fehler\n";
$to = MAIL_ADMIN;
//$to = '[email protected]';
if(mail($to,'Moodle Syncro', $header.$message, 'From: vilesci@'.DOMAIN))
echo "Mail wurde an $to versandt:<br>".nl2br($header.$message);
else
echo "Fehler beim Senden des Mails an $to:<br>".nl2br($header.$message);
}
else
{
echo 'Alle Zuteilungen sind auf dem neuesten Stand';
}
}
else
{
echo 'Fehler bei Select:'.$qry;
}
}
else
echo "Kein aktuelles Studiensemester vorhanden->kein Syncro";
<?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>.
*/
/*
* 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('../../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');
$sync_lektoren_gesamt=0;
$sync_studenten_gesamt=0;
$group_updates=0;
$fehler=0;
$message='';
$message_lkt='';
$lektoren=array();
//nur Synchronisieren wenn ein aktuelles Studiensemester existiert damit keine
//Probleme durch die Vorrueckung entstehen
$stsem = new studiensemester($conn);
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))
{
while($row = pg_fetch_object($result))
{
$course = new moodle_course($conn, $conn_moodle);
if($course->load($row->mdl_course_id))
{
$message_lkt='';
//Lektoren
$mdluser = new moodle_user($conn, $conn_moodle);
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
if($mdluser->sync_lektoren($row->mdl_course_id))
{
$sync_lektoren_gesamt+=$mdluser->sync_create;
$group_updates+=$mdluser->group_update;
if($mdluser->sync_create>0 || $mdluser->group_update>0)
{
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
}
}
else
{
$message.="\nFehler: $mdluser->errormsg";
$fehler++;
}
//Studenten
$mdluser = new moodle_user($conn, $conn_moodle);
if($mdluser->sync_studenten($row->mdl_course_id))
{
$sync_studenten_gesamt+=$mdluser->sync_create;
$group_updates+=$mdluser->group_update;
if($mdluser->sync_create>0 || $mdluser->group_update>0)
{
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
}
}
else
{
$message.="\nFehler: $mdluser->errormsg";
$fehler++;
}
foreach ($mitarbeiter as $uid)
{
if(!isset($lektoren[$uid]))
$lektoren[$uid]='';
$lektoren[$uid].=$message_lkt;
}
}
else
{
$message.="\nFehler: in der Tabelle lehre.tbl_moodle wird auf den Kurs $row->mdl_course_id verwiesen, dieser existiert jedoch nicht im Moodle!";
$fehler++;
}
}
if($sync_lektoren_gesamt>0 || $sync_studenten_gesamt>0 || $fehler>0 || $group_updates>0)
{
//Mail an die Lektoren
foreach ($lektoren as $uid=>$message_lkt)
{
if($message_lkt!='')
{
$header = "Dies ist eine automatische Mail!\n";
$header.= "Es wurden folgende Aktualisierungen an Ihren Moodle-Kursen durchgeführt:\n\n";
$to = "$uid@".DOMAIN;
//$to = '[email protected]';
if(mail($to,'Moodle - Aktualisierungen', $header.$message_lkt, 'From: vilesci@'.DOMAIN))
echo "Mail wurde an $to versandt<br>";
else
echo "Fehler beim Senden des Mails an $to<br>";
}
}
//Mail an Admin
$header = "Dies ist eine automatische Mail!\n";
$header.= "Folgende Syncros mit den MoodleKursen wurde durchgeführt:\n\n";
$header.= "Anzahl der aktualisierten Lektoren: $sync_lektoren_gesamt\n";
$header.= "Anzahl der aktualisierten Studenten: $sync_studenten_gesamt\n";
$header.= "Anzahl der Fehler: $fehler\n";
$to = MAIL_ADMIN;
//$to = '[email protected]';
if(mail($to,'Moodle Syncro', $header.$message, 'From: vilesci@'.DOMAIN))
echo "Mail wurde an $to versandt:<br>".nl2br($header.$message);
else
echo "Fehler beim Senden des Mails an $to:<br>".nl2br($header.$message);
}
else
{
echo 'Alle Zuteilungen sind auf dem neuesten Stand';
}
}
else
{
echo 'Fehler bei Select:'.$qry;
}
}
else
echo "Kein aktuelles Studiensemester vorhanden->kein Syncro";
?>
+77 -77
View File
@@ -1,77 +1,77 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Stundenplan-Check (stpldev-le)</title>
</head>
<body>
<?php
require('../../vilesci/config.inc.php');
require('../../include/functions.inc.php');
$conn=pg_connect(CONN_STRING);
// Startvariablen setzen
$adress='[email protected]';
//$adress_stpl='[email protected]';
$adress_stpl='[email protected]';
$count_del=0;
$count_ins=0;
$count_upd=0;
$count_err=0;
// Mails an die Lektoren und Verbaende
$message='';
// Mail Headers festlegen
$headers= "MIME-Version: 1.0\r\n";
$headers.="Content-Type: text/html; charset=iso-8859-1\r\n";
$message_begin='Dies ist eine automatische Mail!<BR>Es haben sich folgende Aenderungen in Ihrem Stundenplan ergeben:<BR>';
/**************************************************
* Datensaetze holen die nicht mehr plausibel sind
*/
echo 'Folgende Lehreinheiten sind nicht plausibel.<BR>';flush();
$sql_query="SELECT DISTINCT lehreinheit_id,studiengang_kz,semester,gruppe_kurzbz,mitarbeiter_uid,ort_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))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
}
else
{
flush();
while ($row=pg_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>';
}
$message.='</table>';
}
/**************************************************
* Mails verschicken
*/
// 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('[email protected]',"Stundenplan update",$message,$headers."From: [email protected]");
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
mail('[email protected]',"Stundenplan update",$message,$headers."From: [email protected]");
?>
</body>
</html>
<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);
// Startvariablen setzen
$adress='[email protected]';
//$adress_stpl='[email protected]';
$adress_stpl='[email protected]';
$count_del=0;
$count_ins=0;
$count_upd=0;
$count_err=0;
// 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>';
/**************************************************
* Datensaetze holen die nicht mehr plausibel sind
*/
echo 'Folgende Lehreinheiten sind nicht plausibel.<BR>';flush();
$sql_query="SELECT DISTINCT lehreinheit_id,studiengang_kz,semester,gruppe_kurzbz,mitarbeiter_uid,ort_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))
{
echo $sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
$message.=$sql_query.' fehlgeschlagen!<BR>'.pg_last_error($conn);
}
else
{
flush();
while ($row=pg_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>';
}
$message.='</table>';
}
/**************************************************
* Mails verschicken
*/
// 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('[email protected]',"Stundenplan update",$message,$headers."From: [email protected]");
$message_stpl='<HTML><BODY>'.$message_tmp.$message_stpl.'</BODY></HTML>';
mail('[email protected]',"Stundenplan update",$message,$headers."From: [email protected]");
?>
</body>
</html>
File diff suppressed because it is too large Load Diff
+51 -51
View File
@@ -1,51 +1,51 @@
<?php
include('../../vilesci/config.inc.php');
include('../../include/studiengang.class.php');
$conn=pg_connect(CONN_STRING);
$conn_vilesci=pg_connect(CONN_STRING_VILESCI);
$adress='[email protected]';
// 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=iso-8859-1">
</head>
<body>
<h3>Studiengaenge werden synchronisiert!</h3>
<?php
?>
</body>
</html>
<?php
include('../../vilesci/config.inc.php');
include('../../include/studiengang.class.php');
$conn=pg_connect(CONN_STRING);
$conn_vilesci=pg_connect(CONN_STRING_VILESCI);
$adress='[email protected]';
// 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 +1,96 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,148 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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 +1,101 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,104 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,93 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,124 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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 +1,103 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,127 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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 +1,122 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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 +1,111 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,397 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,104 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,96 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,138 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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 +1,138 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,157 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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 +1,165 @@
<?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=iso-8859-1">
</head>
<body>
<?php
echo nl2br($text);
echo nl2br($error_log);
?>
</body>
<?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 +1,150 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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>
+131 -131
View File
@@ -1,132 +1,132 @@
<?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='[email protected]';
//$adress='[email protected]';
$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=iso-8859-1">
</head>
<body>
<?php
//echo nl2br($text);
echo nl2br($error_log);
echo nl2br("\nGesamt: $anzahl_quelle / Eingefügt: $anzahl_eingefuegt / Fehler: $anzahl_fehler");
?>
</body>
<?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='[email protected]';
//$adress='[email protected]';
$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>

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