This commit is contained in:
Andreas Österreicher
2007-08-10 13:47:49 +00:00
parent a8ff73922a
commit 7f22aaad7c
13 changed files with 674 additions and 45 deletions
+20 -11
View File
@@ -33,6 +33,7 @@ class gruppe
var $bezeichnung; // varchar(32)
var $semester; // smallint
var $sort; // smallint
var $lehre=true; //boolean
var $mailgrp; // boolean
var $beschreibung; // varchar(128)
var $generiert; // boolean
@@ -54,15 +55,18 @@ class gruppe
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
if($unicode!=null)
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
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($gruppe_kurzbz!=null)
@@ -124,6 +128,7 @@ class gruppe
$this->semester = $row->semester;
$this->sort = $row->sort;
$this->mailgrp = ($row->mailgrp=='t'?true:false);
$this->lehre = ($row->lehre=='t'?true:false);
$this->beschreibung = $row->beschreibung;
$this->sichtbar = ($row->sichtbar=='t'?true:false);
$this->aktiv = ($row->aktiv=='t'?true:false);
@@ -155,12 +160,13 @@ class gruppe
{
while($row=pg_fetch_object($result))
{
$grp_obj = new gruppe($this->conn);
$grp_obj = new gruppe($this->conn, null, null);
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
$grp_obj->studiengang_kz = $row->studiengang_kz;
$grp_obj->bezeichnung = $row->bezeichnung;
$grp_obj->semester = $row->semester;
$grp_obj->sort = $row->sort;
$grp_obj->lehre = ($row->lehre=='t'?true:false);
$grp_obj->mailgrp = ($row->mailgrp=='t'?true:false);
$grp_obj->beschreibung = $row->beschreibung;
$grp_obj->sichtbar = ($row->sichtbar=='t'?true:false);
@@ -218,13 +224,14 @@ class gruppe
{
while($row = pg_fetch_object($result))
{
$grp_obj = new gruppe($this->conn);
$grp_obj = new gruppe($this->conn, null, null);
$grp_obj->gruppe_kurzbz = $row->gruppe_kurzbz;
$grp_obj->studiengang_kz = $row->studiengang_kz;
$grp_obj->bezeichnung = $row->bezeichnung;
$grp_obj->semester = $row->semester;
$grp_obj->sort = $row->sort;
$grp_obj->mailgrp = ($row->mailgrp=='t'?true:false);
$grp_obj->lehre = ($row->lehre=='t'?true:false);
$grp_obj->beschreibung = $row->beschreibung;
$grp_obj->sichtbar = ($row->sichtbar=='t'?true:false);
$grp_obj->aktiv = ($row->aktiv=='t'?true:false);
@@ -345,7 +352,7 @@ class gruppe
if($new)
{
$qry = 'INSERT INTO public.tbl_gruppe (gruppe_kurzbz, studiengang_kz, bezeichnung, semester, sort,
mailgrp, beschreibung, sichtbar, generiert, aktiv,
mailgrp, beschreibung, sichtbar, generiert, aktiv, lehre,
updateamum, updatevon, insertamum, insertvon)
VALUES('.$this->addslashes(strtoupper($this->gruppe_kurzbz)).','.
$this->addslashes($this->studiengang_kz).','.
@@ -357,6 +364,7 @@ class gruppe
($this->sichtbar?'true':'false').','.
($this->generiert?'true':'false').','.
($this->aktiv?'true':'false').','.
($this->lehre?'true':'false').','.
$this->addslashes($this->updateamum).','.
$this->addslashes($this->updatevon).','.
$this->addslashes($this->insertamum).','.
@@ -374,6 +382,7 @@ class gruppe
' sichtbar='.($this->sichtbar?'true':'false').','.
' generiert='.($this->generiert?'true':'false').','.
' aktiv='.($this->aktiv?'true':'false').','.
' lehre='.($this->lehre?'true':'false').','.
' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).
" WHERE gruppe_kurzbz=".$this->addslashes(strtoupper($this->gruppe_kurzbz)).";";
+19 -3
View File
@@ -48,7 +48,9 @@ class lehrveranstaltung
var $updateamum; //@var timestamp
var $updatevon; //@var string
var $sprache; //@var varchar(16)
var $sort; //@var smallint
var $zeugnis; //@var boolean
/**
* Konstruktor
* @param $conn Connection zur Datenbank
@@ -119,6 +121,8 @@ class lehrveranstaltung
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->sprache=$row->sprache;
$this->sort=$row->sort;
$this->zeugnis=$row->zeugnis;
}
return true;
@@ -163,6 +167,8 @@ class lehrveranstaltung
$lv_obj->updateamum=$row->updateamum;
$lv_obj->updatevon=$row->updatevon;
$lv_obj->sprache=$row->sprache;
$lv_obj->sort=$row->sort;
$lv_obj->zeugnis=$row->zeugnis;
$this->lehrveranstaltungen[] = $lv_obj;
}
@@ -243,6 +249,8 @@ class lehrveranstaltung
$lv_obj->updateamum=$row->updateamum;
$lv_obj->updatevon=$row->updatevon;
$lv_obj->sprache=$row->sprache;
$lv_obj->sort=$row->sort;
$lv_obj->zeugnis=$row->zeugnis;
$this->lehrveranstaltungen[] = $lv_obj;
}
@@ -338,7 +346,7 @@ class lehrveranstaltung
//Neuen Datensatz anlegen
$qry = 'BEGIN; INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz,
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum,
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sprache) VALUES ('.
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,zeugnis, sprache) VALUES ('.
$this->addslashes($this->studiengang_kz).', '.
$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->kurzbz).', '.
@@ -358,6 +366,8 @@ class lehrveranstaltung
$this->addslashes($this->plankostenprolektor).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).','.
$this->addslashes($this->sort).','.
($this->zeugnis?'true':'false').','.
$this->addslashes($this->sprache).');';
}
else
@@ -380,7 +390,7 @@ class lehrveranstaltung
'ects='.$this->addslashes($this->ects) .', '.
'semesterstunden='.$this->addslashes($this->semesterstunden) .', '.
'anmerkung='.$this->addslashes($this->anmerkung) .', '.
'lehre='.$this->addslashes($this->lehre) .', '.
'lehre='.($this->lehre?'true':'false') .', '.
'lehreverzeichnis='.$this->addslashes($this->lehreverzeichnis) .', '.
'aktiv='.($this->aktiv?'true':'false') .', '.
'ext_id='.$this->addslashes($this->ext_id) .', '.
@@ -392,6 +402,8 @@ class lehrveranstaltung
'plankostenprolektor='.$this->addslashes($this->plankostenprolektor) .', '.
'updateamum='.$this->addslashes($this->updateamum) .','.
'updatevon='.$this->addslashes($this->updatevon) .','.
'sort='.$this->addslashes($this->sort) .','.
'zeugnis='.($this->zeugnis?'true':'false').','.
'sprache='.$this->addslashes($this->sprache).' '.
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id).';';
}
@@ -492,6 +504,8 @@ class lehrveranstaltung
$lv_obj->updateamum=$row->updateamum;
$lv_obj->updatevon=$row->updatevon;
$lv_obj->sprache=$row->sprache;
$lv_obj->sort=$row->sort;
$lv_obj->zeugnis=$row->zeugnis;
$this->lehrveranstaltungen[] = $lv_obj;
}
@@ -559,6 +573,8 @@ class lehrveranstaltung
$l->updatevon = $row->updatevon;
$l->insertamum = $row->insertamum;
$l->insertvon = $row->insertvon;
$l->sort = $row->sort;
$l->zeugnis = $row->zeugnis;
$this->lehrveranstaltungen[]=$l;
}
}
+57 -9
View File
@@ -84,6 +84,39 @@ class lehrverband
}
}
function load($studiengang_kz, $semester, $verband, $gruppe)
{
$qry = "SELECT * FROM public.tbl_lehrverband
WHERE studiengang_kz='".addslashes($studiengang_kz)."'
AND semester='".addslashes($semester)."'
AND verband='".addslashes($verband)."'
AND gruppe='".addslashes($gruppe)."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->studiengang_kz = $row->studiengang_kz;
$this->semester = $row->semester;
$this->verband = $row->verband;
$this->gruppe = $row->gruppe;
$this->aktiv = ($row->aktiv=='t'?true:false);
$this->bezeichnung = $row->bezeichnung;
return true;
}
else
{
$this->errormsg = 'Eintrag nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim lesen der Daten';
return false;
}
}
// *******************************************
// * Prueft die Variablen vor dem Speichern
// * auf Gueltigkeit.
@@ -164,20 +197,35 @@ class lehrverband
// * angelegt, ansonsten der Datensatz upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
function save($new=null)
{
if($new==null)
$new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
$qry = 'INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung)
VALUES('.$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->semester).','.
$this->addslashes($this->verband).','.
$this->addslashes($this->gruppe).','.
($this->aktiv?'true':'false').','.
$this->addslashes($this->bezeichnung).');';
if($new)
{
$qry = 'INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung)
VALUES('.$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->semester).','.
$this->addslashes($this->verband).','.
$this->addslashes($this->gruppe).','.
($this->aktiv?'true':'false').','.
$this->addslashes($this->bezeichnung).');';
}
else
{
$qry = "UPDATE public.tbl_lehrverband SET ".
" aktiv=".($this->aktiv?'true':'false').", ".
" bezeichnung='".addslashes($this->bezeichnung)."'".
" WHERE studiengang_kz='".addslashes($this->studiengang_kz)."'".
" AND semester='".addslashes($this->semester)."'".
" AND verband='".addslashes($this->verband)."'".
" AND gruppe='".addslashes($this->gruppe)."';";
}
if(pg_query($this->conn,$qry))
{
+37
View File
@@ -315,6 +315,7 @@ class student extends benutzer
$l->gebdatum=$row->gebdatum;
$l->gebort=$row->gebort;
$l->gebzeit=$row->gebzeit;
$l->familienstand = $row->familienstand;
$l->svnr=$row->svnr;
$l->foto=$row->foto;
$l->anmerkungen=$row->anmerkungen;
@@ -337,6 +338,42 @@ class student extends benutzer
return $result;
}
// ****
// * Prueft ob die StudentLehrverband Zuteilung
// * bereits existiert
// * @param student_uid
// * studiensemester_kurzbz
// * @return true wenn vorhanden, false wenn nicht
// ****
function studentlehrverband_exists($student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband WHERE student_uid='".addslashes($student_uid)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
if($row->anzahl>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler beim Ermitteln des Lehrverbandes';
return false;
}
}
else
{
$this->errormsg ='Fehler beim Ermitteln des Lehrverbandes';
return false;
}
}
// ****
// * Speichert die Zuteilung von Student zu Lehrverband
// ****
function save_studentlehrverband($new=null)
{
if($new==null)
+10 -4
View File
@@ -47,6 +47,7 @@ class zeugnisnote
var $lehrveranstaltung_bezeichung;
var $note_bezeichnung;
var $zeugnis;
// *********************************************************************
// * Konstruktor
@@ -289,7 +290,9 @@ class zeugnisnote
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id,
vw_student_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung,
tbl_note.bezeichnung as note_bezeichnung,
tbl_zeugnisnote.bemerkung as bemerkung
tbl_zeugnisnote.bemerkung as bemerkung,
vw_student_lehrveranstaltung.sort,
vw_student_lehrveranstaltung.zeugnis
FROM
(
campus.vw_student_lehrveranstaltung LEFT JOIN lehre.tbl_zeugnisnote
@@ -303,12 +306,13 @@ class zeugnisnote
SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,student_uid AS uid,studiensemester_kurzbz, note,
uebernahmedatum, benotungsdatum,lehre.tbl_lehrveranstaltung.ects,lehre.tbl_lehrveranstaltung.semesterstunden, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum,
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung,
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis
FROM
lehre.tbl_zeugnisnote
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
JOIN lehre.tbl_note USING(note)
WHERE true $where2";
WHERE true $where2
ORDER BY sort";
//echo $qry;
if($result = pg_query($this->conn, $qry))
{
@@ -332,7 +336,9 @@ class zeugnisnote
$obj->bemerkung = $row->bemerkung;
$obj->semesterstunden = $row->semesterstunden;
$obj->ects = $row->ects;
$obj->sort = $row->sort;
$obj->zeugnis = ($row->zeugnis=='t'?true:false);
$this->result[] = $obj;
}
return true;