mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 00:42:15 +00:00
Sync Scripte Vilesci->Portal
This commit is contained in:
@@ -39,7 +39,7 @@ $anzahl_fehler=0;
|
||||
// ***********************************
|
||||
|
||||
//Mitarbeiter
|
||||
$qry = 'Select * FROM tbl_userberechtigung';
|
||||
$qry = 'Select * FROM tbl_userberechtigung left join tbl_fachbereich using(fachbereich_id)';
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
@@ -49,7 +49,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$error=false;
|
||||
$benutzerberechtigung = new benutzerberechtigung($conn);
|
||||
$benutzerberechtigung->art = $row->art;
|
||||
$benutzerberechtigung->fachbereich_id = $row->fachbereich_id;
|
||||
$benutzerberechtigung->fachbereich_kurzbz = $row->kurzbz;
|
||||
$benutzerberechtigung->studiengang_kz = $row->studiengang_kz;
|
||||
$benutzerberechtigung->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
$benutzerberechtigung->uid = $row->uid;
|
||||
|
||||
@@ -0,0 +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/fas/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';
|
||||
$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>
|
||||
</html>
|
||||
@@ -59,16 +59,12 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$error=false;
|
||||
$fachbereich = new fachbereich($conn);
|
||||
$fachbereich->fachbereich_id =$row->fachbereich_id;
|
||||
$fachbereich->studiengang_kz =$row->studiengang_kz;
|
||||
$fachbereich->bezeichnung =$row->bezeichnung;
|
||||
$fachbereich->kurzbz =$row->kurzbz;
|
||||
$fachbereich->farbe =$row->farbe;
|
||||
//$fachbereich->insertamum ='';
|
||||
$fachbereich->insertvon ='SYNC';
|
||||
//$fachbereich->updateamum ='';
|
||||
//$fachbereich->updatevon =$row->updatevon;
|
||||
$fachbereich->ext_id =$row->fachbereich_id;
|
||||
|
||||
$fachbereich->studiengang_kz=$row->studiengang_kz;
|
||||
$fachbereich->bezeichnung=$row->bezeichnung;
|
||||
$fachbereich->fachbereich_kurzbz=$row->kurzbz;
|
||||
$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))
|
||||
|
||||
@@ -46,29 +46,39 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$text.="\n Sync Feedback\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$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;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_feedback WHERE feedback_id='$row->feedback_id'";
|
||||
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
|
||||
{
|
||||
$feedback->new = ($row1->anz>0?false:true);
|
||||
$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;
|
||||
|
||||
if(!$feedback->save())
|
||||
{
|
||||
$error_log.=$feedback->errormsg."\n";
|
||||
$anzahl_fehler++;
|
||||
$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
|
||||
$anzahl_eingefuegt++;
|
||||
$error_log .= "Fehler beim ermitteln der UID\n";
|
||||
}
|
||||
else
|
||||
$error_log .= "Fehler beim ermitteln der UID\n";
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log .= 'Lehrveranstaltung konnte nicht ermittelt werden mit LFnr:'.$row->lehrfach_nr;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -56,11 +56,11 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$gruppe = new gruppe($conn);
|
||||
$gruppe->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$gruppe->studiengang_kz = $row->studiengang_kz;
|
||||
$gruppe->bezeichnung = $row->bezeichnung;
|
||||
$gruppe->bezeichnung = substr($row->bezeichnung,0,32);
|
||||
$gruppe->semester = $row->semester;
|
||||
$gruppe->typ = $row->typ;
|
||||
$gruppe->mailgrp_kurzbz = $row->mailgrp_kurzbz;
|
||||
$gruppe->mailgrp_beschreibung = $row->mailgrp_beschreibung;
|
||||
$gruppe->sort = $row->typ;
|
||||
$gruppe->mailgrp = ($row->mailgrp_kurzbz!=''?true:false);
|
||||
$gruppe->beschreibung = $row->mailgrp_beschreibung;
|
||||
$gruppe->sichtbar = ($row->sichtbar=='f'?true:false);
|
||||
$gruppe->aktiv = ($row->aktiv=='t'?true:false);
|
||||
$gruppe->updateamum = $row->updateamum;
|
||||
|
||||
@@ -0,0 +1,342 @@
|
||||
<?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
|
||||
//WORKING
|
||||
NEIN
|
||||
GLEICHE LEHREINHEIT MIT ANDERER GRUPPE (ABER GLEICHER LEKTOR) BEREITS VORHANDEN?
|
||||
JA
|
||||
ZU SYNCTAB HINZUFUEGEN
|
||||
GRUPPE HINZUFUEGEN
|
||||
NEIN
|
||||
LEHREINHEIT ANLEGEN
|
||||
ZU SYNCTAB HINZUFUEGEN
|
||||
GRUPPE HINZUFUEGEN
|
||||
LEKTOR HINZUFUEGEN
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/lehreinheit.class.php');
|
||||
require_once('../../include/fas/lehreinheitgruppe.class.php');
|
||||
require_once('../../include/fas/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../include/fas/lehrverband.class.php');
|
||||
require_once('../../include/fas/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 gruppezuweisen($id,$studiengang_kz, $semester, $verband, $gruppe, $einheit_kurzbz)
|
||||
{
|
||||
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($einheit_kurzbz))
|
||||
{
|
||||
$gruppe2->studiengang_kz=$studiengang_kz;
|
||||
$gruppe2->semester=$semester;
|
||||
$gruppe2->bezeichnung='';
|
||||
$gruppe2->typ='';
|
||||
$gruppe2->sichtbar=false;
|
||||
$gruppe2->aktiv=false;
|
||||
$gruppe2->gruppe_kurzbz=$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);
|
||||
$gruppe1->lehreinheit_id = $id;
|
||||
$gruppe1->studiengang_kz = $studiengang_kz;
|
||||
$gruppe1->semester = $semester;
|
||||
$gruppe1->verband = $verband;
|
||||
$gruppe1->gruppe = $gruppe;
|
||||
$gruppe1->gruppe_kurzbz = $einheit_kurzbz;
|
||||
if($gruppe1->save(true))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$error_log .= $gruppe1->errormsg."\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
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 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 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 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 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
|
||||
uid='$row->lektor'";
|
||||
if($result2 = pg_query($conn,$qry))
|
||||
{
|
||||
if(pg_num_rows($result2)>0)
|
||||
{
|
||||
//Lehreinheit vorhanden. Es muss nur noch der Gruppeneintrag eingetragen werden
|
||||
if($row_val = pg_fetch_object($result2))
|
||||
{
|
||||
if(gruppezuweisen($row_val->lehreinheit_id, $row->studiengang_kz, $row->semester,$row->verband, $row->gruppe, $row->einheit_kurzbz))
|
||||
{
|
||||
$qry = "INSERT INTO tbl_synclehreinheit(lehrveranstaltung_id_vilesci, lehreinheit_id_portal)
|
||||
VALUES('".$row->lehrveranstaltung_id."','".$row_val->lehreinheit_id."');";
|
||||
if(pg_query($conn,$qry))
|
||||
{
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
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->ext_id = $row->lehrveranstaltung_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 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))
|
||||
{
|
||||
//Lektor Zuweisen
|
||||
$lektor = new lehreinheitmitarbeiter($conn);
|
||||
$lektor->lehreinheit_id = $row_val->id;
|
||||
$lektor->uid = $row->lektor;
|
||||
$lektor->semesterstunden = $row->semesterstunden;
|
||||
$lektor->planstunden = $row->semesterstunden;
|
||||
$lektor->stundensatz = '';
|
||||
$lektor->faktor = 1;
|
||||
$lektor->anmerkung = '';
|
||||
|
||||
if($lektor->save(true))
|
||||
{
|
||||
pg_query($conn,'COMMIT');
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($conn,'ROLLBACK');
|
||||
$error_log .= $lektor->errormsg."\n";
|
||||
$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>
|
||||
</html>
|
||||
@@ -39,7 +39,10 @@ $anzahl_fehler=0;
|
||||
// ***********************************
|
||||
|
||||
//Mitarbeiter
|
||||
$qry = 'Select * FROM tbl_lehrfach';
|
||||
$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))
|
||||
{
|
||||
@@ -49,9 +52,9 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$error=false;
|
||||
$lf = new lehrfach($conn);
|
||||
|
||||
$lf->lehrfach_nr = $row->lehrfach_nr;
|
||||
$lf->lehrfach_id = $row->lehrfach_nr;
|
||||
$lf->studiengang_kz = $row->studiengang_kz;
|
||||
$lf->fachbereich_id = $row->fachbereich_id;
|
||||
$lf->fachbereich_kurzbz = $row->fachbereich_kurzbz;
|
||||
$lf->kurzbz = $row->kurzbz;
|
||||
$lf->bezeichnung = $row->bezeichnung;
|
||||
$lf->farbe = $row->farbe;
|
||||
@@ -59,7 +62,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$lf->semester = $row->semester;
|
||||
$lf->sprache = ($row->sprache!=''?$row->sprache:'German');
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_lehrfach WHERE lehrfach_nr='$row->lehrfach_nr'";
|
||||
$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
|
||||
|
||||
@@ -53,8 +53,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$lehrform->bezeichnung = $row->bezeichnung;
|
||||
$lehrform->verplanen = ($row->verplanen=='t'?true:false);
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_lehrform WHERE lehrform_kurzbz='$row->lehrform_kurzbz'";
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM lehre.tbl_lehrform WHERE lehrform_kurzbz='$row->lehrform_kurzbz'";
|
||||
|
||||
if($row = pg_fetch_object(pg_query($conn, $qry)))
|
||||
{
|
||||
@@ -69,10 +68,10 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
else
|
||||
$anzahl_fehler++;
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
$error_log .= "damm\n";
|
||||
$error_log .= "Fehler bei Select: $qry\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
*
|
||||
*/
|
||||
require_once('../../vilesci/config.inc.php');
|
||||
require_once('../../include/fas/personlvstudiensemester.class.php');
|
||||
require_once('../../include/fas/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');
|
||||
@@ -42,10 +42,10 @@ $qry = 'SELECT * FROM tbl_personlehrfachstudiensemester';
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$text.="\n Sync Personlvstudiensemester\n\n";
|
||||
$text.="\n Sync Benutzerlvstudiensemester\n\n";
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$obj = new personlvstudiensemester($conn);
|
||||
$obj = new benutzerlvstudiensemester($conn);
|
||||
$obj->uid = $row->uid;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$qry = "SELECT lehrveranstaltung_nr FROM tbl_lehrveranstaltung WHERE ext_id=$row->lehrfach_nr";
|
||||
@@ -53,7 +53,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
$obj->lehrveranstaltung_nr = $row1->lehrveranstaltung_nr;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_personlvstudiensemester WHERE
|
||||
$qry = "SELECT count(*) as anz FROM tbl_benutzerlvstudiensemester WHERE
|
||||
uid='".addslashes($row->uid)."' AND studiensemester_kurzbz='".addslashes($row->studiensemester_kurzbz)."'
|
||||
AND lehrveranstaltung_nr='".addslashes($row1->lehrveranstaltung_nr)."';";
|
||||
|
||||
@@ -90,7 +90,7 @@ $text.="Anzahl der Fehler: $anzahl_fehler\n";
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Synchro - Vilesci -> Portal - PersonLVStudiensemester</title>
|
||||
<title>Synchro - Vilesci -> Portal - BenutzerLVStudiensemester</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -59,7 +59,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$reservierung->gruppe = $row->gruppe;
|
||||
$reservierung->gruppe_kurzbz = $row->einheit_kurzbz;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_reservierung where reservierung_id='".addslashes($row->reservierung_id)."'";
|
||||
$qry = "SELECT count(*) as anz FROM campus.tbl_reservierung where reservierung_id='".addslashes($row->reservierung_id)."'";
|
||||
|
||||
if($row1 =pg_fetch_object(pg_query($conn,$qry)))
|
||||
{
|
||||
|
||||
@@ -53,7 +53,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$stunde->beginn = $row->beginn;
|
||||
$stunde->ende = $row->ende;
|
||||
|
||||
$qry = "SELECT count(*) as anz FROM tbl_stunde WHERE stunde='$row->stunde'";
|
||||
$qry = "SELECT count(*) as anz FROM lehre.tbl_stunde WHERE stunde='$row->stunde'";
|
||||
if($row1 = pg_fetch_object(pg_query($conn, $qry)))
|
||||
{
|
||||
$stunde->new = ($row1->anz>0?false:true);
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
<?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');
|
||||
|
||||
$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
|
||||
// ***********************************
|
||||
if(isset($_GET['dev']))
|
||||
$dev=true;
|
||||
else
|
||||
$dev=false;
|
||||
|
||||
if($dev)
|
||||
$qry = "SELECT * FROM tbl_stundenplandev limit 200";
|
||||
else
|
||||
$qry = "SELECT * FROM tbl_stundenplan limit 200";
|
||||
|
||||
if($result = pg_query($conn_vilesci, $qry))
|
||||
{
|
||||
if(isset($_GET['dev']))
|
||||
$text.="\n Sync StundenplanDEV\n\n";
|
||||
else
|
||||
$text.="\n Sync Stundenplan\n\n";
|
||||
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
if($dev)
|
||||
$qry = "INSERT INTO lehre.tbl_stundenplandev(stundenplandev_id,";
|
||||
else
|
||||
$qry = 'INSERT INTO campus.tbl_stundenplan(stundenplan_id,';
|
||||
|
||||
$qry.='unr, uid, datum, stunde, ort_kurzbz, gruppe_kurzbz, titel,
|
||||
anmerkung, fix, updateamum, updatevon, lehreinheit_id,
|
||||
studiengang_kz, semester, verband, gruppe) VALUES(';
|
||||
|
||||
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.=",'".addslashes($row->unr)."','".
|
||||
addslashes($row->uid)."','".
|
||||
addslashes($row->datum)."','".
|
||||
addslashes($row->stunde)."','".
|
||||
addslashes($row->ort_kurzbz)."',".
|
||||
($row->einheit_kurzbz!=''?"'".addslashes($row->einheit_kurzbz)."'":'null').",".
|
||||
($row->titel!=''?"'".addslashes($row->titel)."'":'null').",".
|
||||
($row->anmerkung!=''?"'".addslashes($row->anmerkung)."'":'null').",".
|
||||
($row->fix=='t'?'true':'false').",'".
|
||||
addslashes($row->updateamum)."','".
|
||||
addslashes($row->updatevon)."',".
|
||||
($lehreinheit_id!=''?"'".addslashes($lehreinheit_id)."'":'null').",'".
|
||||
addslashes($row->studiengang_kz)."','".
|
||||
addslashes($row->semester)."','".
|
||||
($row->verband!=''?addslashes($row->verband):' ')."','".
|
||||
(($row->gruppe!='' && $row->gruppe!=0)?addslashes($row->gruppe):' ')."');";
|
||||
if(pg_query($conn,$qry))
|
||||
{
|
||||
$anzahl_eingefuegt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anzahl_fehler++;
|
||||
$error_log.= 'Fehler beim Einfuegen: '.$qry;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$error_log .= "Stundenplan 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 - Stundenplan</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>
|
||||
@@ -51,7 +51,7 @@ if($result = pg_query($conn_vilesci, $qry))
|
||||
$zw->tag = $row->tag;
|
||||
$zw->gewicht = $row->gewicht;
|
||||
|
||||
$qry ="SELECT count(*) as anz FROM tbl_zeitwunsch where uid='".addslashes($row->uid)."' AND stunde='".addslashes($row->stunde)."' AND tag='".addslashes($row->tag)."';";
|
||||
$qry ="SELECT count(*) as anz FROM campus.tbl_zeitwunsch where uid='".addslashes($row->uid)."' AND stunde='".addslashes($row->stunde)."' AND tag='".addslashes($row->tag)."';";
|
||||
if($row = pg_fetch_object(pg_query($conn, $qry)))
|
||||
{
|
||||
$zw->new = ($row->anz>0?false:true);
|
||||
|
||||
Reference in New Issue
Block a user