mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 08:22:17 +00:00
Sync Lehrverbände, Studenten, Mitarbeiter
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* Synchronisiert die Lehrverbaende von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/person.class.php');
|
||||
require_once('../../include/fas/benutzer.class.php');
|
||||
require_once('../../include/fas/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
|
||||
// ***********************************
|
||||
|
||||
$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))
|
||||
{
|
||||
$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 eingefuegter Datensaetze: $anzahl_eingefuegt\n";
|
||||
$text .= "Anzahl der Fehler: $anzahl_fehler\n";
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchro - Vilesci -> Portal - Personen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
|
||||
echo nl2br($text);
|
||||
echo nl2br($error_log);
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
/**
|
||||
* Synchronisiert Personendatensaetze von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/person.class.php');
|
||||
require_once('../../include/fas/benutzer.class.php');
|
||||
require_once('../../include/fas/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 personalnummer<>'OFF'";
|
||||
|
||||
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,' '))
|
||||
{
|
||||
$student->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->foto='';
|
||||
$mitarbeiter->anmerkungen=$row->anmerkungen;
|
||||
$mitarbeiter->homepage=$row->homepage;
|
||||
$mitarbeiter->svnr='';
|
||||
$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='';
|
||||
$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.=$mitarbeiter->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
else
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
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 - Personen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
|
||||
echo nl2br($text);
|
||||
echo nl2br($error_log);
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,115 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Synchronisiert Personendatensaetze von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
include('../../vilesci/config.inc.php');
|
||||
include('../../include/fas/person.class.php');
|
||||
include('../../include/fas/benutzer.class.php');
|
||||
include('../../include/fas/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");
|
||||
|
||||
$adress='oesi@technikum-wien.at';
|
||||
//$adress='fas_sync@technikum-wien.at';
|
||||
|
||||
$error_log='';
|
||||
$text = '';
|
||||
function validate($row)
|
||||
{
|
||||
}
|
||||
|
||||
/*************************
|
||||
* VILESCI-PORTAL - Synchronisation
|
||||
*/
|
||||
|
||||
//Mitarbeiter
|
||||
$qry = "SELECT * FROM tbl_person join tbl_mitarbeiter using(uid) WHERE personalnummer<>'OFF'";
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="Mitarbeiter Sync\n----------------\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$mitarbeiter = new mitarbeiter($conn);
|
||||
$qry = "Select count(*) from tbl_benutzer where uid='$row->uid'";
|
||||
if($result1 = pg_query($conn, $qry))
|
||||
{
|
||||
if($row->personalnummer!='')
|
||||
{
|
||||
$mitarbeiter->sprache='German';
|
||||
$mitarbeiter->anrede='';
|
||||
$mitarbeiter->titelpost='';
|
||||
$mitarbeiter->titelpre=$row->titel;
|
||||
$mitarbeiter->nachname=$row->nachname;
|
||||
if(!$len=strpos($row->vornamen,' '))
|
||||
$len = strlen($row->vornamen);
|
||||
$mitarbeiter->vorname=substr($row->vornamen,0,$len);
|
||||
$mitarbeiter->gebdatum=$row->gebdatum;
|
||||
$mitarbeiter->gebort=$row->gebort;
|
||||
$mitarbeiter->gebzeit=$row->gebzeit;
|
||||
$mitarbeiter->foto='';
|
||||
$mitarbeiter->anmerkungen=$row->anmerkungen;
|
||||
$mitarbeiter->homepage=$row->homepage;
|
||||
$mitarbeiter->svnr='';
|
||||
$mitarbeiter->ersatzkennzeichen='';
|
||||
$mitarbeiter->familienstand='';
|
||||
$mitarbeiter->anzahlkinder='';
|
||||
$mitarbeiter->aktiv=($row->aktiv=='t'?true:false);
|
||||
$mitarbeiter->insertvon='SYNC';
|
||||
$mitarbeiter->updatevon=$row->updatevon;
|
||||
$mitarbeiter->ext_id='';
|
||||
|
||||
$mitarbeiter->uid=$row->uid;
|
||||
$mitarbeiter->bnaktiv=$row->aktiv;
|
||||
$mitarbeiter->alias=$row->alias;
|
||||
|
||||
$mitarbeiter->ausbildungcode='';
|
||||
$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;
|
||||
|
||||
if(pg_fetch_object($result1)->count>0) //Wenn dieser eintrag schon vorhanden ist
|
||||
{
|
||||
//Mitarbeiterdaten updaten
|
||||
$mitarbeiter->new=false;
|
||||
//Person_id ermitteln
|
||||
$qry = "Select person_id from tbl_benutzer where uid='$row->uid'";
|
||||
if($row2=pg_fetch_object(pg_query($conn,$qry)))
|
||||
$mitarbeiter->person_id=$row2->person_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Mitarbeiter neu anlegen
|
||||
$mitarbeiter->new=true;
|
||||
}
|
||||
if(!$mitarbeiter->save())
|
||||
$error_log.=$mitarbeiter->errormsg."\n";
|
||||
}
|
||||
else
|
||||
$error_log .= "$row->nachname ($row->uid) hat keine Personalnummer";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= 'Mitarbeiterdatensaetze konnten nicht geladen werden';
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchro - Vilesci -> Portal - Personen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
|
||||
echo nl2br($text);
|
||||
echo nl2br($error_log);
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
/**
|
||||
* Synchronisiert Studentendatensaetze von Vilesci DB in PORTAL DB
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/person.class.php');
|
||||
require_once('../../include/fas/benutzer.class.php');
|
||||
require_once('../../include/fas/student.class.php');
|
||||
|
||||
$conn=pg_connect(CONN_STRING) or die("Connection zur Portal Datenbank fehlgeschlagen");
|
||||
$conn_vilesci=pg_connect(CONN_STRING_VILESCI) or die("Connection zur Vilesci Datenbank fehlgeschlagen");
|
||||
|
||||
$error_log='';
|
||||
$text = '';
|
||||
$anzahl_eingefuegt=0;
|
||||
$anzahl_fehler=0;
|
||||
|
||||
// ***********************************
|
||||
// * VILESCI->PORTAL - Synchronisation
|
||||
// ***********************************
|
||||
|
||||
//Studenten
|
||||
$qry = "SELECT * FROM tbl_person JOIN tbl_student USING(uid) WHERE uid NOT LIKE '\_dummy%' AND uid NOT LIKE '\_Dummy%'";
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync Studenten\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$error=false;
|
||||
$student = new student($conn);
|
||||
|
||||
|
||||
$student->sprache='German';
|
||||
$student->anrede='';
|
||||
$student->titelpost='';
|
||||
$student->titelpre=$row->titel;
|
||||
$student->nachname=$row->nachname;
|
||||
if(!$len=strpos($row->vornamen,' '))
|
||||
{
|
||||
$student->vorname=$row->vornamen;
|
||||
$student->vornamen='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$student->vorname=substr($row->vornamen,0,$len);
|
||||
$student->vornamen=substr($row->vornamen,$len+1,strlen($row->vornamen));
|
||||
}
|
||||
$student->gebdatum=$row->gebdatum;
|
||||
$student->gebort=$row->gebort;
|
||||
$student->gebzeit=$row->gebzeit;
|
||||
$student->foto='';
|
||||
$student->anmerkungen=$row->anmerkungen;
|
||||
$student->homepage=$row->homepage;
|
||||
$student->svnr='';
|
||||
$student->ersatzkennzeichen='';
|
||||
$student->familienstand='';
|
||||
$student->anzahlkinder='';
|
||||
$student->aktiv=($row->aktiv=='t'?true:false);
|
||||
$student->insertvon='';
|
||||
$student->insertamum='';
|
||||
$student->updateamum=$row->updateamum;
|
||||
$student->updatevon=$row->updatevon;
|
||||
$student->ext_id='';
|
||||
|
||||
$student->uid=$row->uid;
|
||||
$student->bnaktiv=$row->aktiv;
|
||||
$student->alias=$row->alias;
|
||||
|
||||
$student->matrikelnr=$row->matrikelnr;
|
||||
$student->prestudent_id='';
|
||||
$student->studiengang_kz=$row->studiengang_kz;
|
||||
$student->semester=$row->semester;
|
||||
$student->verband=$row->verband;
|
||||
$student->gruppe=$row->gruppe;
|
||||
|
||||
$qry = "SELECT person_id FROM tbl_benutzer WHERE uid='$row->uid'";
|
||||
if($result1 = pg_query($conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result1)>0) //wenn dieser eintrag schon vorhanden ist
|
||||
{
|
||||
if($row1=pg_fetch_object($result1))
|
||||
{
|
||||
//Mitarbeiterdaten updaten
|
||||
$student->new=false;
|
||||
$student->person_id=$row1->person_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.="Person_id von $row->uid konnte nicht ermittelt werden\n";
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Mitarbeiter neu anlegen
|
||||
$student->new=true;
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
if(!$student->save())
|
||||
{
|
||||
$error_log.=$student->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
else
|
||||
$anzahl_eingefuegt++;
|
||||
else
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
else
|
||||
$error_log .= "$row->nachname ($row->uid) hat keine Personalnummer\n";
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= 'Studentendatensaetze konnten nicht geladen werden\n';
|
||||
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
|
||||
$text.="Anzahl der Fehler: $anzahl_fehler\n";
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchro - Vilesci -> Portal - Studenten</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
|
||||
echo nl2br($text);
|
||||
echo nl2br($error_log);
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user