Updates der Sync Scripte, CIS Anpassungen

This commit is contained in:
Andreas Österreicher
2006-12-14 16:24:34 +00:00
parent bf8a791d09
commit 0976f1bc22
21 changed files with 2082 additions and 171 deletions
@@ -1,9 +1,30 @@
<?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");
@@ -24,6 +45,67 @@ 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))
@@ -33,8 +115,10 @@ if($result = pg_query($conn_vilesci, $qry))
}
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";
?>
@@ -72,6 +72,7 @@ if($result = pg_query($conn_vilesci, $qry))
$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;
+73 -14
View File
@@ -24,6 +24,8 @@
*
*/
require_once('../../vilesci/config.inc.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');
@@ -32,6 +34,7 @@ $error_log='';
$text = '';
$anzahl_eingefuegt=0;
$anzahl_fehler=0;
function myaddslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
@@ -45,9 +48,9 @@ else
$dev=false;
if($dev)
$qry = "SELECT * FROM tbl_stundenplandev limit 200";
$qry = "SELECT * FROM tbl_stundenplandev";
else
$qry = "SELECT * FROM tbl_stundenplan limit 200";
$qry = "SELECT * FROM tbl_stundenplan";
if($result = pg_query($conn_vilesci, $qry))
{
@@ -58,6 +61,71 @@ if($result = pg_query($conn_vilesci, $qry))
while($row = pg_fetch_object($result))
{
if($row->verband==0)
$row->verband=' ';
if($row->einheit_kurzbz=='')
{
//Lehrverbandsgruppe
$lvb_obj = new lehrverband($conn);
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 = false;
if(!$lvb_obj->save())
{
$error_log .= $lvb_obj->errormsg."\n";
$anzahl_fehler++;
}
}
}
else
{
//Spezialgruppe
$grp_obj = new gruppe($conn);
if(!$grp_obj->exists($row->einheit_kurzbz))
{
$grp_obj->gruppe_kurzbz = $row->einheit_kurzbz;
$grp_obj->studiengang_kz = $row->studiengang_kz;
$grp_obj->semester = $row->semester;
$grp_obj->mailgrp = false;
$grp_obj->sichtbar = false;
$grp_obj->aktiv = false;
$grp_obj->new = true;
//Bei Spezialgruppen keinen Verband/Gruppe angeben
$row->verband=' ';
$row->gruppe=' ';
if(!$grp_obj->save())
{
$error_log.=$grp_obj->errormsg;
$anzahl_fehler++;
}
}
}
//Lehreinheit_id ermitteln
if($row->lehrveranstaltung_id!='')
{
$qry_le = "SELECT lehreinheit_id_portal FROM tbl_synclehreinheit WHERE lehrveranstaltung_id_vilesci='".addslashes($row->lehrveranstaltung_id)."'";
if($row_le=pg_fetch_object(pg_query($conn,$qry_le)))
{
$lehreinheit_id = $row_le->lehreinheit_id_portal;
}
else
{
$lehreinheit_id='';
}
}
else
$lehreinheit_id='';
if($dev)
$qry = "INSERT INTO lehre.tbl_stundenplandev(stundenplandev_id,";
else
@@ -70,18 +138,7 @@ if($result = pg_query($conn_vilesci, $qry))
if($dev)
$qry.="'".$row->stundenplandev_id."'";
else
$qry.="'".$row->stundenplan_id."'";
//Lehreinheit_id ermitteln
$qry_le = "SELECT lehreinheit_id_portal FROM tbl_synclehreinheit WHERE lehrveranstaltung_id_vilesci='".addslashes($row->lehrveranstaltung_id)."'";
if($row_le=pg_fetch_object(pg_query($conn,$qry_le)))
{
$lehreinheit_id = $row_le->lehreinheit_id_portal;
}
else
{
$lehreinheit_id='';
}
$qry.="'".$row->stundenplan_id."'";
$qry.=",".myaddslashes($row->unr).",".
myaddslashes($row->uid).",".
@@ -112,6 +169,8 @@ if($result = pg_query($conn_vilesci, $qry))
}
else
$error_log .= "Stundenplan konnten nicht geladen werden\n";
$text.="Anzahl Datensaetze Vilesci: ".pg_num_rows($result)."\n";
$text.="Anzahl aktualisierte Datensaetze: $anzahl_eingefuegt\n";
$text.="Anzahl der Fehler: $anzahl_fehler\n";
?>