Sync Scripte Vilesci->Portal

This commit is contained in:
Andreas Österreicher
2006-12-07 16:11:58 +00:00
parent a73b530656
commit e7a462caec
28 changed files with 1767 additions and 1785 deletions
@@ -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>
+6 -10
View File
@@ -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))
+28 -18
View File
@@ -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
+4 -4
View File
@@ -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>
+7 -4
View File
@@ -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
+3 -4
View File
@@ -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)))
{
+1 -1
View File
@@ -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);
+6 -6
View File
@@ -30,7 +30,7 @@ class benutzerberechtigung
//Tabellenspalten
var $benutzerberechtigung_id; // int
var $art; // varchar(16)
var $fachbereich_id; // int
var $fachbereich_kurzbz; // int
var $studiengang_kz; // int
var $berechtigung_kurzbz; // varchar(16)
var $uid; // varchar(16)
@@ -86,9 +86,9 @@ class benutzerberechtigung
return false;
}
if($this->fachbereich_id!='' && !is_numeric($this->fachbereich_id))
if(strlen($this->fachbereich_kurzbz)>16)
{
$this->errormsg = 'Fachbereich_id muss eine gueltige Zahl sein';
$this->errormsg = 'Fachbereich_id darf nicht laenger als 16 Zeichen sein';
return false;
}
if($this->studiengang_kz!='' && !is_numeric($this->studiengang_kz))
@@ -145,10 +145,10 @@ class benutzerberechtigung
if($this->new)
{
$qry = 'INSERT INTO tbl_benutzerberechtigung (art, fachbereich_id, studiengang_kz, berechtigung_kurzbz,
$qry = 'INSERT INTO tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz,
uid, studiensemester_kurzbz, start, ende)
VALUES('.$this->addslashes($this->art).','.
$this->addslashes($this->fachbereich_id).','.
$this->addslashes($this->fachbereich_kurzbz).','.
$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->berechtigung_kurzbz).','.
$this->addslashes($this->uid).','.
@@ -160,7 +160,7 @@ class benutzerberechtigung
{
$qry = 'UPDATE tbl_benutzerberechtigung SET'.
' art='.$this->addslashes($this->art).','.
' fachbereich_id='.$this->addslashes($this->fachbereich_id).','.
' fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).','.
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
' berechtigung_kurzbz='.$this->addslashes($this->berechtigung_kurzbz).','.
' uid='.$this->addslashes($this->uid).','.
@@ -20,17 +20,17 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
class personlvstudiensemester
class benutzerlvstudiensemester
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $personlvstudiensemester = array(); // personlvstudiensemester Objekt
var $benutzerlvstudiensemester = array(); // benutzerlvstudiensemester Objekt
//Tabellenspalten
var $uid; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
var $lehrveranstaltung_nr; // integer
var $lehrveranstaltung_id; // integer
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Zuteilung
@@ -41,7 +41,7 @@ class personlvstudiensemester
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function personlvstudiensemester($conn, $uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_nr=null, $unicode=false)
function benutzerlvstudiensemester($conn, $uid=null, $studiensemester_kurzbz=null, $lehrveranstaltung_id=null, $unicode=false)
{
$this->conn = $conn;
@@ -58,15 +58,15 @@ class personlvstudiensemester
else
$this->new = true;
if($uid!=null && $studiensemester_kurzbz!=null && $lehrveranstaltung_nr!=null)
$this->load($uid, $studiensemester_kurzbz, $lehrveranstaltung_nr);
if($uid!=null && $studiensemester_kurzbz!=null && $lehrveranstaltung_id!=null)
$this->load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id);
}
// *********************************************************
// * Laedt eine Zuteilung
// * @param $uid, $studiensemester_kurzbz, $lehrveranstaltung_nr
// *********************************************************
function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_nr)
function load($uid, $studiensemester_kurzbz, $lehrveranstaltung_id)
{
$this->errormsg = 'Not implemented';
return false;
@@ -89,7 +89,7 @@ class personlvstudiensemester
$this->errormsg = 'Studiensemester_kurzbz darf nicht laenger als 16 Zeichen sein';
return false;
}
if(!is_numeric($this->lehrveranstaltung_nr))
if(!is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltungsnummer muss eine gueltige Zahl sein';
return false;
@@ -125,10 +125,10 @@ class personlvstudiensemester
if($this->new)
{
$qry = 'INSERT INTO tbl_personlvstudiensemester (uid, studiensemester_kurzbz, lehrveranstaltung_nr)
$qry = 'INSERT INTO campus.tbl_benutzerlvstudiensemester (uid, studiensemester_kurzbz, lehrveranstaltung_id)
VALUES('.$this->addslashes($this->uid).','.
$this->addslashes($this->studiensemester_kurzbz).','.
$this->addslashes($this->lehrveranstaltung_nr).');';
$this->addslashes($this->lehrveranstaltung_id).');';
}
else
{
@@ -144,7 +144,7 @@ class personlvstudiensemester
}
else
{
$this->errormsg = 'Fehler beim Speichern der PersonLVStudiensemester:'.$qry;
$this->errormsg = 'Fehler beim Speichern der BenutzerLVStudiensemester:'.$qry;
return false;
}
}
+36 -78
View File
@@ -19,28 +19,18 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse fachbereich (FAS-Online)
* @create 04-12-2006
*/
class fachbereich
{
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $errormsg; // @var string
var $result = array(); // @var fachbereich Objekt
//Tabellenspalten
var $fachbereich_id; // @var integer
var $fachbereich_kurzbz;// @var integer
var $bezeichnung; // @var string
var $kurzbz; // @var string
var $farbe; // @var string
var $farbe; // @var string
var $studiengang_kz; // @var integer
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $insertamum; // @var timestamp
var $insertvon=0; // @var string
var $ext_id; // @var bigint
@@ -49,11 +39,25 @@ class fachbereich
* @param $conn Connection zur DB
* $fachb_id ID des zu ladenden Fachbereiches
*/
function fachbereich($conn, $fachb_id=null)
function fachbereich($conn, $fachbereich_kurzbz=null, $unicode=false)
{
$this->conn = $conn;
if($fachb_id != null)
$this->load($fachb_id);
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
else
$this->new = true;
if($fachbereich_kurzbz != null)
$this->load($fachbereich_kurzbz);
}
/**
@@ -90,15 +94,15 @@ class fachbereich
* @param $fachb_id ID des zu ladenden Fachbereiches
* @return true wenn ok, false im Fehlerfall
*/
function load($fachb_id)
function load($fachbereich_kurzbz)
{
if(!is_numeric($fachb_id) || $fachb_id == '')
if(!is_numeric($fachbereich_kurzbz) || $fachbereich_kurzbz == '')
{
$this->errormsg = 'fachb_id muss eine gueltige Zahl sein';
$this->errormsg = 'fachbereich_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM tbl_fachbereich WHERE fachbereich_pk = '$fachb_id';";
$qry = "SELECT * FROM tbl_fachbereich WHERE fachbereich_kurzbz = '$fachbereich_kurzbz';";
if(!$res = pg_query($this->conn, $qry))
{
@@ -108,7 +112,7 @@ class fachbereich
if($row=pg_fetch_object($res))
{
$this->fachbereich_id = $row->fachbereich_pk;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->erhalter_id = $row->erhalter_fk;
$this->name = $row->name;
$this->updateamum = $row->creationdate;
@@ -128,7 +132,7 @@ class fachbereich
* @param $fachb_id id des Datensatzes der geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($fachb_id)
function delete($fachbereich_kurzbz)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
@@ -141,19 +145,15 @@ class fachbereich
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
{
$this->bezeichnung = str_replace("'",'´',$this->bezeichnung);
$this->kurzbz = str_replace("'",'´',$this->kurzbz);
function validate()
{
//Laenge Pruefen
if(strlen($this->bezeichnung)>128)
{
$this->errormsg = "Bezeichnung darf nicht laenger als 128 Zeichen sein bei <b>$this->ext_id</b> - $this->bezeichnung";
return false;
}
if(strlen($this->kurzbz)>16)
if(strlen($this->fachbereich_kurzbz)>16)
{
$this->errormsg = "Kurzbez darf nicht laenger als 16 Zeichen sein bei <b>$this->ext_id</b> - $this->kurzbz";
return false;
@@ -168,75 +168,33 @@ class fachbereich
function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
{
//Pruefen ob fachbereich_id eine gueltige Zahl ist
if(!is_numeric($this->fachbereich_id) || $this->fachbereich_id == '')
{
$this->errormsg = 'fachbereich_id muss eine gueltige Zahl sein';
return false;
}
{
//Neuen Datensatz anlegen
$qry = 'INSERT INTO tbl_fachbereich (fachbereich_id, bezeichnung, kurzbz, farbe, ext_id, insertamum, insertvon,
updateamum, updatevon, studiengang_kz) VALUES ('.
$this->addslashes($this->fachbereich_id).', '.
$qry = 'INSERT INTO tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, ext_id, studiengang_kz) VALUES ('.
$this->addslashes($this->fachbereich_kurzbz).', '.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->kurzbz).', '.
$this->addslashes($this->farbe).', '.
$this->addslashes($this->ext_id).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->studiengang_kz).');';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob fachbereich_id eine gueltige Zahl ist
if(!is_numeric($this->fachbereich_id) || $this->fachbereich_id == '')
{
$this->errormsg = 'fachbereich_id muss eine gueltige Zahl sein';
return false;
}
//bestehenden Datensatz akualisieren
$qry = 'UPDATE tbl_fachbereich SET '.
'fachbereich_id='.$this->addslashes($this->fachbereich_id).', '.
'bezeichnung='.$this->addslashes($this->bezeichnung).', '.
'kurzbz='.$this->addslashes($this->kurzbz).', '.
'farbe='.$this->addslashes($this->farbe).', '.
'ext_id='.$this->addslashes($this->ext_id).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).', '.
'studiengang_kz='.$this->addslashes($this->studiengang_kz).' '.
'WHERE fachbereich_id = '.$this->addslashes($this->fachbereich_id).';';
'WHERE fachbereich_kurzbz = '.$this->addslashes($this->fachbereich_kurzbz).';';
}
if(pg_query($this->conn, $qry))
{
/*//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}*/
//Log schreiben
return true;
}
else
+10 -3
View File
@@ -33,6 +33,7 @@ class feedback
var $text; // text
var $datum; // date
var $uid; // varchar(16)
var $lehrveranstaltung_id; // integer
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine Lehrform
@@ -86,6 +87,11 @@ class feedback
$this->errormsg = 'UID darf nicht laenger als 16 Zeichen sein';
return false;
}
if(!is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
return true;
}
@@ -116,16 +122,17 @@ class feedback
if($this->new)
{
//ToDo: Feedback_ID wieder entfernen und per Seq fuellen
$qry = 'INSERT INTO tbl_feedback (feedback_id, betreff, text, datum, uid)
$qry = 'INSERT INTO campus.tbl_feedback (feedback_id, betreff, text, datum, uid, lehrveranstaltung_id)
VALUES('.$this->addslashes($this->feedback_id).','.
$this->addslashes($this->betreff).','.
$this->addslashes($this->text).','.
$this->addslashes($this->datum).','.
$this->addslashes($this->uid).');';
$this->addslashes($this->uid).','.
$this->addslashes($this->lehrveranstaltung_id).');';
}
else
{
$qry = 'UPDATE tbl_feedback SET'.
$qry = 'UPDATE campus.tbl_feedback SET'.
' betreff='.$this->addslashes($this->betreff).','.
' text='.$this->addslashes($this->text).','.
' datum='.$this->addslashes($this->datum).','.
+45 -22
View File
@@ -28,13 +28,13 @@ class gruppe
var $gruppen = array(); // gruppen Objekt
//Tabellenspalten
var $gruppe_kurzbz; // varchar(10)
var $gruppe_kurzbz; // varchar(16)
var $studiengang_kz; // integer
var $bezeichnung; // varchar(64)
var $bezeichnung; // varchar(32)
var $semester; // smallint
var $typ; // smallint
var $mailgrp_kurzbz; // varchar(16)
var $mailgrp_beschreibung; // varchar(64)
var $sort; // smallint
var $mailgrp; // boolean
var $beschreibung; // varchar(128)
var $sichtbar; // boolean
var $aktiv; // boolean
var $updateamum; // timestamp
@@ -68,6 +68,29 @@ class gruppe
$this->load($gruppe_kurzbz);
}
// ****************************************
// * Prueft ob bereits eine Gruppe mit der
// * uebergebenen Kurzbezeichnung existiert
// * @param gruppe_kurzbz
// ****************************************
function exists($gruppe_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM tbl_gruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
if($row = pg_fetch_object(pg_query($this->conn,$qry)))
{
if($row->anzahl>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage: '.$qry;
return false;
}
}
// *********************************************************
// * Laedt die Gruppe
// * @param gruppe_kurzbz
@@ -84,9 +107,9 @@ class gruppe
// *******************************************
function validate()
{
if(strlen($this->gruppe_kurzbz)>10)
if(strlen($this->gruppe_kurzbz)>16)
{
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 10 Zeichen sein';
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 Zeichen sein';
return false;
}
if($this->gruppe_kurzbz=='')
@@ -99,9 +122,9 @@ class gruppe
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->bezeichnung)>64)
if(strlen($this->bezeichnung)>32)
{
$this->errormsg = 'Bezeichnung darf nicht laenger als 64 Zeichen sein';
$this->errormsg = 'Bezeichnung darf nicht laenger als 32 Zeichen sein';
return false;
}
if($this->semester!='' && !is_numeric($this->semester))
@@ -109,19 +132,19 @@ class gruppe
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
return false;
}
if($this->typ!='' && !is_numeric($this->typ))
if($this->sort!='' && !is_numeric($this->sort))
{
$this->errormsg = 'Typ muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->mailgrp_kurzbz)>16)
if(!is_bool($this->mailgrp))
{
$this->errormsg = 'Mailgrp_kurzbz darf nicht laenger als 16 Zeichen sein';
$this->errormsg = 'Mailgrp muss ein boolscher wert sein';
return false;
}
if(strlen($this->mailgrp_beschreibung)>64)
if(strlen($this->beschreibung)>128)
{
$this->errormsg = 'Mailgrp_beschreibung darf nicht laenger als 64 Zeichen sein';
$this->errormsg = 'Beschreibung darf nicht laenger als 128 Zeichen sein';
return false;
}
if(!is_bool($this->sichtbar))
@@ -176,16 +199,16 @@ class gruppe
if($new)
{
$qry = 'INSERT INTO tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, typ,
mailgrp_kurzbz, mailgrp_beschreibung, sichtbar, aktiv,
$qry = 'INSERT INTO tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, sort,
mailgrp, beschreibung, sichtbar, aktiv,
updateamum, updatevon, insertamum, insertvon)
VALUES('.$this->addslashes($this->gruppe_kurzbz).','.
$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->bezeichnung).','.
$this->addslashes($this->semester).','.
$this->addslashes($this->typ).','.
$this->addslashes($this->mailgrp_kurzbz).','.
$this->addslashes($this->mailgrp_beschreibung).','.
$this->addslashes($this->sort).','.
($this->mailgrp?'true':'false').','.
$this->addslashes($this->beschreibung).','.
($this->sichtbar?'true':'false').','.
($this->aktiv?'true':'false').','.
$this->addslashes($this->updateamum).','.
@@ -199,9 +222,9 @@ class gruppe
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
' semester='.$this->addslashes($this->semester).','.
' typ='.$this->addslashes($this->typ).','.
' mailgrp_kurzbz='.$this->addslashes($this->mailgrp_kurzbz).','.
' mailgrp_beschreibung='.$this->addslashes($this->mailgrp_beschreibung).','.
' sort='.$this->addslashes($this->sort).','.
' mailgrp='.($this->mailgrp?'true':'false').','.
' beschreibung='.$this->addslashes($this->beschreibung).','.
' sichtbar='.($this->sichtbar?'true':'false').','.
' aktiv='.($this->aktiv?'true':'false').','.
' updateamum='.$this->addslashes($this->updateamum).','.
File diff suppressed because it is too large Load Diff
+175
View File
@@ -0,0 +1,175 @@
<?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>.
*/
class lehreinheitgruppe
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehreinheitgruppe = array(); // lehreinheitgruppe Objekt
//Tabellenspalten
var $lehreinheitgruppe_id; //integer
var $lehreinheit_id; // integer
var $studiengang_kz; // integer
var $semester; // smalint
var $verband; // char(1)
var $gruppe; // char(1)
var $gruppe_kurzbz; // varchar(16)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
// * @param $conn Datenbank-Connection
// * $gruppelehreinheit_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehreinheitgruppe($conn, $lehreinheitgruppe_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($lehreinheitgruppe_id!=null)
$this->load($lehreinheitgruppe_id);
}
// *********************************************************
// * Laedt die LEGruppe
// * @param lehreinheit_id
// *********************************************************
function load($lehreinheitgruppe_id)
{
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
if(!is_numeric($this->lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
return false;
}
if($this->semester!='' && !is_numeric($this->semester))
{
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->verband)>1)
{
$this->verband = 'Verband darf nicht laenger als 1 Zeichen sein';
return false;
}
if(strlen($this->gruppe)>1)
{
$this->gruppe = 'Gruppe darf nicht laenger als 1 Zeichen sein';
return false;
}
if(strlen($this->gruppe_kurzbz)>16)
{
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 16 Zeichen sein';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert GruppeLE in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
{
if(is_null($new))
$new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
if($new)
{
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitgruppe (lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz)
VALUES('.$this->addslashes($this->lehreinheit_id).','.
$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->semester).','.
$this->addslashes($this->verband).','.
$this->addslashes($this->gruppe).','.
$this->addslashes($this->gruppe_kurzbz).');';
}
else
{
$qry = 'UPDATE lehre.tbl_lehreinheitgruppe SET'.
' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).','.
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
' semester='.$this->addslashes($this->semester).','.
' verband='.$this->addslashes($this->verband).','.
' gruppe='.$this->addslashes($this->gruppe).','.
' gruppe_kurzbz='.$this->addslashes($this->gruppe_kurzbz).','.
" WHERE lehreinheitgruppe_id=".$this->addslashes($this->lehreinheitgruppe_id).";";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der GruppeLE:'.$qry;
return false;
}
}
}
?>
@@ -0,0 +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>.
*/
class lehreinheitmitarbeiter
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt
//Tabellenspalten
var $lehreinheit_id; // integer
var $uid; // varchar(16)
var $semesterstunden; // smalint
var $planstunden; // smalint
var $stundensatz; // numeric(6,2)
var $faktor; // numeric(2,1)
var $anmerkung; // varchar(256)
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
// * @param $conn Datenbank-Connection
// * $lehreinheit_id
// * $uid
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehreinheitmitarbeiter($conn, $lehreinheit_id=null, $uid=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($lehreinheit_id!=null && $uid!=null)
$this->load($lehreinheit_id, $uid);
}
// *********************************************************
// * Laedt die LEMitarbeiter
// * @param lehreinheit_id
// *********************************************************
function load($lehreinheit_id, $uid)
{
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert LEMitarbeiter in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
{
if(is_null($new))
$new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
if($new)
{
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, uid, semesterstunden, planstunden,
stundensatz, faktor, anmerkung)
VALUES('.$this->addslashes($this->lehreinheit_id).','.
$this->addslashes($this->uid).','.
$this->addslashes($this->semesterstunden).','.
$this->addslashes($this->planstunden).','.
$this->addslashes($this->stundensatz).','.
$this->addslashes($this->faktor).','.
$this->addslashes($this->anmerkung).');';
}
else
{
$qry = 'UPDATE lehre.tbl_lehreinheitmitarbeiter SET'.
' semesterstunden='.$this->addslashes($this->semesterstunden).','.
' planstunden='.$this->addslashes($this->planstunden).','.
' stundensatz='.$this->addslashes($this->stundensatz).','.
' faktor='.$this->addslashes($this->faktor).','.
' anmerkung='.$this->addslashes($this->anmerkung).','.
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND
uid=".$this->lehreinheit_id.";";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry;
return false;
}
}
}
?>
+19 -19
View File
@@ -28,9 +28,9 @@ class lehrfach
var $lehrfaecher = array(); // lehrfach Objekt
//Tabellenspalten
var $lehrfach_nr; // integer
var $lehrfach_id; // integer
var $studiengang_kz; // integer
var $fachbereich_id; // integer
var $fachbereich_kurzbz;// integer
var $kurzbz; // varchar(12)
var $bezeichnung; // varchar(255)
var $farbe; // char(6)
@@ -45,7 +45,7 @@ class lehrfach
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// ***********************************************************************
function lehrfach($conn, $lehrfach_nr=null, $unicode=false)
function lehrfach($conn, $lehrfach_id=null, $unicode=false)
{
$this->conn = $conn;
@@ -60,20 +60,20 @@ class lehrfach
return false;
}
if($lehrfach_nr != null)
$this->load($lehrfach_nr);
if($lehrfach_id != null)
$this->load($lehrfach_id);
}
// *********************************************************
// * Laedt Lehrfach mit der uebergebenen ID
// * @param $lehrfach_nr Nr des LF das geladen werden soll
// *********************************************************
function load($lehrfach_nr)
function load($lehrfach_id)
{
//lehrfach_nr auf Gueltigkeit pruefen
if(is_numeric($lehrfach_nr) && $lehrfach_nr!='')
if(is_numeric($lehrfach_id) && $lehrfach_id!='')
{
$qry = "SELECT * FROM tbl_lehrfach WHERE lehrfach_nr='$lehrfach_nr'";
$qry = "SELECT * FROM lehre.tbl_lehrfach WHERE lehrfach_id='$lehrfach_id'";
if(!$result=pg_query($this->conn,$qry))
{
@@ -83,9 +83,9 @@ class lehrfach
if($row = pg_fetch_object($result))
{
$this->lehrfach_nr = $row->lehrfach_nr;
$this->lehrfach_id = $row->lehrfach_id;
$this->studiengang_kz = $row->studiengang_kz;
$this->fachbereich_id = $row->fachbereich_id;
$this->fachbereich_kurzbz = $row->fachbereich_kurzbz;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->farbe = $row->farbe;
@@ -95,7 +95,7 @@ class lehrfach
}
else
{
$this->errormsg = 'Es ist kein Lehrfach mit der Nr '.$lehrfach_nr.' vorhanden';
$this->errormsg = 'Es ist kein Lehrfach mit der ID '.$lehrfach_id.' vorhanden';
return false;
}
@@ -120,9 +120,9 @@ class lehrfach
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->fachbereich_id))
if(strlen($this->fachbereich_kurzbz)>16)
{
$this->errormsg = 'Fachbereich_id muss eine gueltige Zahl sein';
$this->errormsg = 'Fachbereich_kurzbz darf nicht laenger als 16 Zeichen sein';
return false;
}
if(strlen($this->kurzbz)>12)
@@ -184,11 +184,11 @@ class lehrfach
if($this->new)
{
$qry = 'INSERT INTO tbl_lehrfach (lehrfach_nr, studiengang_kz, fachbereich_id, kurzbz,
$qry = 'INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
bezeichnung, farbe, aktiv, semester, sprache)
VALUES('.$this->addslashes($this->lehrfach_nr).','.
VALUES('.$this->addslashes($this->lehrfach_id).','.
$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->fachbereich_id).','.
$this->addslashes($this->fachbereich_kurzbz).','.
$this->addslashes($this->kurzbz).','.
$this->addslashes($this->bezeichnung).','.
$this->addslashes($this->farbe).','.
@@ -205,16 +205,16 @@ class lehrfach
return false;
}
$qry = 'UPDATE tbl_lehrfach SET'.
$qry = 'UPDATE lehre.tbl_lehrfach SET'.
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
' fachbereich_id='.$this->addslashes($this->fachbereich_id).','.
' fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).','.
' kurzbz='.$this->addslashes($this->kurzbz).','.
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
' farbe='.$this->addslashes($this->farbe).','.
' aktiv='.($this->aktiv?'true':'false').','.
' semester='.$this->semester.','.
' sprache='.$this->addslashes($this->sprache).
" WHERE lehrfach_nr='$this->lehrfach_nr'";
" WHERE lehrfach_id='$this->lehrfach_id'";
}
if(pg_query($this->conn,$qry))
+3 -3
View File
@@ -64,7 +64,7 @@ class lehrform
// *********************************************************
function load($lehrform_kurzbz)
{
$qry = "SELECT * FROM tbl_lehrform WHERE lehrform_kurzbz='".addslashes($lehrfach_nr)."'";
$qry = "SELECT * FROM lehre.tbl_lehrform WHERE lehrform_kurzbz='".addslashes($lehrfach_nr)."'";
if(!$result=pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler beim lesen der Lehrform';
@@ -138,14 +138,14 @@ class lehrform
if($this->new)
{
$qry = "INSERT INTO tbl_lehrform (lehrform_kurzbz, bezeichnung, verplanen)
$qry = "INSERT INTO lehre.tbl_lehrform (lehrform_kurzbz, bezeichnung, verplanen)
VALUES('".addslashes($this->lehrform_kurzbz)."',".
$this->addslashes($this->bezeichnung).','.
($this->verplanen?'true':'false').');';
}
else
{
$qry = 'UPDATE tbl_lehrform SET'.
$qry = 'UPDATE lehre.tbl_lehrform SET'.
' bezeichnung='.$this->addslashes($this->bezeichnung).','.
' verplanen='.($this->verplanen?'true':'false').
" WHERE lehrform_kurzbz='$this->lehrform_kurzbz'";
+154
View File
@@ -0,0 +1,154 @@
<?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>.
*/
class lehrverband
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $lehrverbaende = array(); // lehrverband Objekt
//Tabellenspalten
var $studiengang_kz; // integer
var $semester; // integer
var $verband; // integer
var $gruppe; // integer
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Lehrverband
// * @param $conn Datenbank-Connection
// *
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehrverband($conn, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
function exists($studiengang_kz, $semester, $verband, $gruppe)
{
$qry = "SELECT count(*) as anzahl FROM tbl_lehrverband WHERE
studiengang_kz='".addslashes($studiengang_kz)."' AND
semester='".addslashes($semester)."' AND
verband='".addslashes($verband)."' AND
gruppe='".addslashes($gruppe)."'";
if($row=pg_fetch_object(pg_query($this->conn, $qry)))
{
if($row->anzahl>0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg = 'Fehler bei Abfrage: '.$qry;
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
if(!is_numeric($this->semester))
{
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->studiengang_kz))
{
$this->errormsg = 'Studiengang muss eine gueltige Zahl sein';
return false;
}
if($this->verband=='')
{
$this->verband=' ';
}
if($this->gruppe=='')
{
$this->gruppe=' ';
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert Lehrverband in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
$qry = 'INSERT INTO tbl_lehrverband (studiengang_kz, semester, verband, gruppe)
VALUES('.$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->semester).','.
$this->addslashes($this->verband).','.
$this->addslashes($this->gruppe).');';
if(pg_query($this->conn,$qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Lehrverbands:'.$qry;
return false;
}
}
}
?>
+2 -2
View File
@@ -168,7 +168,7 @@ class reservierung
if($this->new)
{
$qry = 'INSERT INTO tbl_reservierung (reservierung_id, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel,
$qry = 'INSERT INTO campus.tbl_reservierung (reservierung_id, ort_kurzbz, studiengang_kz, uid, stunde, datum, titel,
beschreibung, semester, verband, gruppe, gruppe_kurzbz)
VALUES('.$this->addslashes($this->reservierung_id).','.
$this->addslashes($this->ort_kurzbz).','.
@@ -185,7 +185,7 @@ class reservierung
}
else
{
$qry = 'UPDATE tbl_reservierung SET'.
$qry = 'UPDATE campus.tbl_reservierung SET'.
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
' studiengang_kz='.$this->addslashes($this->studiengang_kz).','.
' uid='.$this->addslashes($this->uid).','.
+2 -2
View File
@@ -107,14 +107,14 @@ class stunde
if($this->new)
{
$qry = "INSERT INTO tbl_stunde (stunde, beginn, ende)
$qry = "INSERT INTO lehre.tbl_stunde (stunde, beginn, ende)
VALUES('".$this->stunde."',".
$this->addslashes($this->beginn).','.
$this->addslashes($this->ende).');';
}
else
{
$qry = 'UPDATE tbl_stunde SET'.
$qry = 'UPDATE lehre.tbl_stunde SET'.
' beginn='.$this->addslashes($this->beginn).','.
' ende='.$this->addslashes($this->ende).
" WHERE stunde=".$this->stunde;
+261
View File
@@ -0,0 +1,261 @@
<?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>.
*/
class stundenplan
{
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
var $stundenplan = array(); // stundenplan Objekt
//Tabellenspalten
var $lehreinheit_id; // integer
var $lehrveranstaltung_nr; // integer
var $studiensemester_kurzbz; // varchar(16)
var $lehrfach_nr; // integer
var $lehrform_kurzbz; // varchar(8)
var $stundenblockung; // smalint
var $wochenrythmus; // smalint
var $start_kw; // smalint
var $raumtyp; // varchar(8)
var $raumtypalternativ; // varchar(8)
var $lehre; // boolean
var $anmerkung; // varchar(255)
var $unr; // integer
var $ext_id; // bigint
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
// * @param $conn Datenbank-Connection
// * $gruppe_kurzbz
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
// * oder LATIN9 Codierung verarbeitet werden sollen
// *************************************************************************
function lehreinheit($conn, $lehreinheit_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
if($lehreinheit_id!=null)
$this->load($lehreinheit_id);
}
// *********************************************************
// * Laedt die LE
// * @param lehreinheit_id
// *********************************************************
function load($lehreinheit_id)
{
return false;
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
if($this->lehreinheit_id!='' && !is_numeric($this->lehreinheit_id))
{
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->lehrveranstaltung_nr))
{
$this->errormsg = 'LehrveranstaltungsNr muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->studiensemester_kurzbz)>16)
{
$this->errormsg = 'Studiensemesterkurzbz darf nicht laenger als 16 Zeichen sein';
return false;
}
if($this->studiensemester_kurzbz=='')
{
$this->errormsg = 'Studiensemester muss angegeben werden';
return false;
}
if(!is_numeric($this->lehrfach_nr))
{
$this->errormsg = 'Lehrfach_nr muss eine gueltige Zahl sein';
return false;
}
if(strlen($this->lehrform_kurzbz)>8)
{
$this->errormsg = 'Lehrform_kurzbz darf nicht laenger als 8 Zeichen sein';
return false;
}
if($this->lehrform_kurzbz=='')
{
$this->lehrform_kurzbz='SO';
//TODO
//$this->errormsg = 'Lehrform muss angegeben werden';
//return false;
}
if(!is_numeric($this->stundenblockung))
{
$this->errormsg = 'Stundenblockung muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($this->wochenrythmus))
{
$this->errormsg = 'Wochenrythmus muss eine gueltige Zahl sein';
return false;
}
if($this->start_kw!='' && !is_numeric($this->start_kw))
{
$this->errormsg = 'StartKW muss eine gueltige Zahl sein';
return false;
}
if($this->start_kw!='' && ($this->start_kw>53 || $this->start_kw<1))
{
$this->errormsg = 'StartKW muss zwischen 1 und 53 liegen';
return false;
}
if(strlen($this->raumtyp)>8)
{
$this->errormsg = 'Raumtyp darf nicht laenger als 8 Zeichen sein';
return false;
}
if(strlen($this->raumtypalternativ)>8)
{
$this->errormsg = 'Raumtypalternativ darf nicht alenger als 8 Zeichen sein';
return false;
}
if($this->raumtypalternativ=='')
{
//TODO
$this->raumtypalternativ='Dummy';
}
if(!is_bool($this->lehre))
{
$this->errormsg = 'Lehre muss ein boolscher Wert sein';
return false;
}
if(strlen($this->anmerkung)>255)
{
$this->errormsg = 'Anmerkung darf nicht laenger als 255 Zeichen sein';
return false;
}
if($this->unr!='' && !is_numeric($this->unr))
{
$this->errormsg = 'UNR muss eine gueltige Zahl sein';
return false;
}
if($this->ext_id!='' && !is_numeric($this->ext_id))
{
$this->errormsg = 'Ext_id muss eine gueltige Zahl sein';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird NULL zurueckgegeben
// * wenn $var !='' ist werden Datenbankkritische
// * Zeichen mit Backslash versehen und das Ergbnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert LE in die Datenbank
// * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save($new=null)
{
if(is_null($new))
$new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
if($new)
{
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_nr, studiensemester_kurzbz,
lehrfach_nr, lehrform_kurzbz, stundenblockung, wochenrythmus,
start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, ext_id)
VALUES('.$this->addslashes($this->lehrveranstaltung_nr).','.
$this->addslashes($this->studiensemester_kurzbz).','.
$this->addslashes($this->lehrfach_nr).','.
$this->addslashes($this->lehrform_kurzbz).','.
$this->addslashes($this->stundenblockung).','.
$this->addslashes($this->wochenrythmus).','.
$this->addslashes($this->start_kw).','.
$this->addslashes($this->raumtyp).','.
$this->addslashes($this->raumtypalternativ).','.
($this->lehre?'true':'false').','.
$this->addslashes($this->anmerkung).','.
$this->addslashes($this->unr).','.
$this->addslashes($this->ext_id).');';
}
else
{
$qry = 'UPDATE lehre.tbl_lehreinheit SET'.
' lehrveranstaltung_nr='.$this->addslashes($this->lehrveranstaltung_nr).','.
' studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).','.
' lehrfach_nr='.$this->addslashes($this->lehrfach_nr).','.
' lehrform_kurzbz='.$this->addslashes($this->lehrform_kurzbz).','.
' stundenblockung='.$this->addslashes($this->stundenblockung).','.
' wochenrythmus='.$this->addslashes($this->wochenrythmus).','.
' start_kw='.$this->addslashes($this->start_kw).','.
' raumtyp='.$this->addslashes($this->raumtyp).','.
' raumtypalternativ='.$this->addslashes($this->raumtypalternativ).','.
' lehre='.($this->lehre?'true':'false').','.
' anmerkung='.$this->addslashes($this->anmerkung).','.
' unr='.$this->addslashes($this->unr).','.
' ext_id='.$this->addslashes($this->ext_id).
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id).";";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der LE:'.$qry;
return false;
}
}
}
?>
+2 -2
View File
@@ -131,13 +131,13 @@ class zeitwunsch
if($this->new)
{
$qry = "INSERT INTO tbl_zeitwunsch (uid, tag, stunde, gewicht)
$qry = "INSERT INTO campus.tbl_zeitwunsch (uid, tag, stunde, gewicht)
VALUES('".addslashes($this->uid)."',".
$this->tag.','.$this->stunde.','.$this->gewicht.');';
}
else
{
$qry = 'UPDATE tbl_zeitwunsch SET'.
$qry = 'UPDATE campus.tbl_zeitwunsch SET'.
' gewicht='.$this->gewicht.
" WHERE uid='".addslashes($this->uid)."' AND
tag=".$this->tag.' AND stunde='.$this->stunde;