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
+19 -1
View File
@@ -81,6 +81,7 @@ $xml_url=XML_ROOT.$xml.$params;
//echo $xml_url;
// Load the XML source
$xml_doc = new DOMDocument;
if(!$xml_doc->load($xml_url))
die('unable to load xml');
//echo ':'.$xml_doc->saveXML().':';
@@ -112,9 +113,26 @@ $buffer = '<?xml version="1.0" encoding="ISO-8859-15" ?>'.substr($buffer, strpos
//Pdf erstellen
$fo2pdf = new XslFo2Pdf();
//wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen
$nachname='';
if(isset($_GET['uid']) && $_GET['uid']!='')
{
$uid = str_replace(';','',$_GET['uid']);
$qry = "SELECT nachname FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$nachname = '_'.$row->nachname;
}
}
}
$filename=$xsl.$nachname;
if (!isset($_REQUEST["archive"]))
{
if (!$fo2pdf->generatePdf($buffer, 'filename', "D"))
if (!$fo2pdf->generatePdf($buffer, $filename, "D"))
{
echo('Failed to generate PDF');
}
+11 -1
View File
@@ -210,6 +210,8 @@ if(!$error)
$student->geburtsnation = $_POST['geburtsnation'];
$student->sprache = $_POST['sprache'];
$student->matrikelnr = $_POST['matrikelnummer'];
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = $user;
$stsem = new studiensemester($conn, null, true);
$stsem_kurzbz = $stsem->getaktorNext();
@@ -231,6 +233,12 @@ if(!$error)
if($student->save())
{
$student_lvb = new student($conn, null, true);
if($student_lvb->studentlehrverband_exists($_POST['uid'], $semester_aktuell))
$student_lvb->new = false;
else
$student_lvb->new = true;
$student_lvb->uid = $_POST['uid'];
$student_lvb->studiensemester_kurzbz = $semester_aktuell;
$student_lvb->studiengang_kz = $_POST['studiengang_kz'];
@@ -240,7 +248,7 @@ if(!$error)
$student_lvb->updateamum = date('Y-m-d H:i:s');
$student_lvb->updatevon = $user;
if($student_lvb->save_studentlehrverband(false))
if($student_lvb->save_studentlehrverband())
{
$return = true;
$error=false;
@@ -301,6 +309,8 @@ if(!$error)
$person->staatsbuergerschaft = $_POST['staatsbuergerschaft'];
$person->geburtsnation = $_POST['geburtsnation'];
$person->sprache = $_POST['sprache'];
$person->updateamum = date('Y-m-d H:i:s');
$person->updatevon = $user;
$person->new=false;
+2 -1
View File
@@ -139,6 +139,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Familienstand" control="student-detail-menulist-familienstand"/>
<menulist id="student-detail-menulist-familienstand" disabled="true">
<menupopup>
<menuitem value="" label="--keine Auswahl--"/>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
@@ -213,7 +214,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</grid>
</groupbox>
<vbox>
<spacer flex="1" />-->
<spacer flex="1" />
<button id="student-detail-button-save" label="Speichern" oncommand="StudentDetailSave();" disabled="true"/>
</vbox>
</hbox>
+2 -1
View File
@@ -749,6 +749,7 @@ function StudentAuswahl()
document.getElementById('student-detail-textbox-svnr').value=svnr;
document.getElementById('student-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen;
document.getElementById('student-detail-menulist-familienstand').value=familienstand;
document.getElementById('student-detail-menulist-geschlecht').value=geschlecht;
if(aktiv=='true')
document.getElementById('student-detail-checkbox-aktiv').checked=true;
@@ -3023,7 +3024,7 @@ function StudentSuche()
StudentPrestudentDisableFields(true);
StudentKontoDisableFields(true);
StudentAkteDisableFields(true);
StudentBetriebsmittelDisableFields(true);
document.getElementById('student-betriebsmittel').setAttribute('src','');
StudentIODisableFields(true);
StudentNoteDisableFields(true);
document.getElementById('student-kontakt').setAttribute('src','');
+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;
+1 -1
View File
@@ -30,7 +30,7 @@ if (count($berechtigt_studiengang)>0)
$sql_query="SET search_path TO public;
SELECT tbl_lehrverband.studiengang_kz, tbl_studiengang.bezeichnung, kurzbz, typ, tbl_lehrverband.semester, verband, gruppe, gruppe_kurzbz, tbl_lehrverband.bezeichnung AS lvb_bezeichnung, tbl_gruppe.bezeichnung AS grp_bezeichnung
FROM (tbl_studiengang JOIN tbl_lehrverband USING (studiengang_kz))
LEFT OUTER JOIN tbl_gruppe ON (tbl_lehrverband.studiengang_kz=tbl_gruppe.studiengang_kz AND tbl_lehrverband.semester=tbl_gruppe.semester AND (tbl_lehrverband.verband=''))
LEFT OUTER JOIN tbl_gruppe ON (tbl_lehrverband.studiengang_kz=tbl_gruppe.studiengang_kz AND tbl_lehrverband.semester=tbl_gruppe.semester AND (tbl_lehrverband.verband='') AND tbl_gruppe.lehre AND tbl_gruppe.aktiv)
WHERE tbl_lehrverband.aktiv AND tbl_studiengang.aktiv $stg_kz_query
ORDER BY erhalter_kz,typ, kurzbz, semester,verband,gruppe, gruppe_kurzbz;";
+16 -13
View File
@@ -73,7 +73,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
//Daten holen
$xml = "<?xml version='1.0' encoding='ISO-8859-15' standalone='yes'?>\n";
$xml = "<?xml version='1.0' encoding='ISO-8859-15' standalone='yes'?>";
$xml .= "<zeugnisse>";
for ($i = 0; $i < sizeof($uid_arr); $i++)
@@ -92,12 +92,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$stgl_row = pg_fetch_object($stgl_result);
else
die('Stgl not found');
$xml .= " <zeugnis>";
$xml .= "\n <zeugnis>";
$xml .= " <studiensemester>".$row->sembezeichnung."</studiensemester>";
$xml .= " <semester>".$row->semester."</semester>";
$xml .= " <studiengang>".$row->bezeichnung."</studiengang>";
$xml .= " <studiengang_kz>".$row->studiengang_kz."</studiengang_kz>";
$xml .= " <vorname>".$row->vorname."</vorname>";
$xml .= "\n <vorname>".$row->vorname."</vorname>";
$xml .= " <nachname>".$row->nachname."</nachname>";
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
$xml .= " <gebdatum>".$gebdatum."</gebdatum>";
@@ -112,16 +112,19 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
foreach ($obj->result as $row)
{
if ($row->note)
$note = $note_arr[$row->note];
else
$note = "";
$xml .= " <unterrichtsfach>";
$xml .= " <bezeichnung>".$row->lehrveranstaltung_bezeichnung."</bezeichnung>";
$xml .= " <note>".$note."</note>";
$xml .= " <sws>".$row->semesterstunden."</sws>";
$xml .= " <ects>".$row->ects."</ects>";
$xml .= " </unterrichtsfach>";
if($row->zeugnis)
{
if ($row->note)
$note = $note_arr[$row->note];
else
$note = "";
$xml .= "\n <unterrichtsfach>";
$xml .= " <bezeichnung>".$row->lehrveranstaltung_bezeichnung."</bezeichnung>";
$xml .= " <note>".$note."</note>";
$xml .= " <sws>".$row->semesterstunden."</sws>";
$xml .= " <ects>".$row->ects."</ects>";
$xml .= " </unterrichtsfach>";
}
}
$xml .= " </zeugnis>";
+16
View File
@@ -319,6 +319,22 @@
</td>
</tr>
<tr><td width="10" nowrap>&nbsp;</td></tr>
<!--Menu Eintrag Lehrverbandsgruppen-->
<tr>
<td nowrap><a href="?lehrverbandsgruppen" class="MenuItem1" onClick="return(js_toggle_container('Lehrverbandsgruppen'));"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Lehrverbandsgruppen</a></td>
</tr>
<tr>
<td nowrap>
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="Lehrverbandsgruppen" style="display: visible;">
<tr>
<td width="10" nowrap>&nbsp;</td>
<td nowrap><a class="MenuItem2" href="stammdaten/lvbgruppenverwaltung.php" target="main"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Verwaltung</a></td>
</tr>
<tr><td width="10" nowrap>&nbsp;</td></tr>
</table>
</td>
</tr>
<tr><td width="10" nowrap>&nbsp;</td></tr>
</table>
</div>
<div id="menuemitarbeiter" style="display: none;">
+464
View File
@@ -0,0 +1,464 @@
<?php
/* Copyright (C) 2007 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/lehrverband.class.php');
require_once('../../include/gruppe.class.php');
?>
<html>
<head>
<title>Lehrverbandsgruppen Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script language="JavaScript">
</script>
</head>
<body class="background_main">
<h2>Lehrverbandsgruppen - Verwaltung</h2>
<?php
if(isset($_GET['studiengang_kz']) && is_numeric($_GET['studiengang_kz']))
$studiengang_kz=$_GET['studiengang_kz'];
else
$studiengang_kz='';
$user = get_uid();
$aktiv = (isset($_GET['aktiv'])?$_GET['aktiv']:'');
$type = (isset($_GET['type'])?$_GET['type']:'');
$semester = (isset($_GET['semester'])?$_GET['semester']:'');
$verband = (isset($_GET['verband'])?$_GET['verband']:'');
$gruppe = (isset($_GET['gruppe'])?$_GET['gruppe']:'');
$gruppe_kurzbz = (isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:'');
//Connection zur Datenbank herstellen
if(!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zur Datenbank hergestellt werden');
//Studiengang Drop Down anzeigen
$stud = new studiengang($conn);
if(!$stud->getAll('typ, kurzbzlang'))
echo 'Fehler beim Laden der Studiengaenge:'.$stud->errormsg;
echo '<form name="frm_studiengang" action="'.$_SERVER['PHP_SELF'].'" method="GET">';
echo 'Studiengang: <SELECT name="studiengang_kz">';
foreach($stud->result as $row)
{
if($studiengang_kz=='')
$studiengang_kz=$row->studiengang_kz;
echo '<OPTION value="'.$row->studiengang_kz.'"'.($studiengang_kz==$row->studiengang_kz?'selected':'').' onclick="document.frm_studiengang.submit()">'.$row->kuerzel.'</OPTION>';
}
echo '</SELECT>';
echo '</form>';
$studiengang = new studiengang($conn);
$studiengang->load($studiengang_kz);
//Anlegen einer neuen Gruppe
if($type=='neu')
{
if(isset($_POST['spzgruppe_neu']))
{
//neue Spezialgruppe anlegen
$gruppe_kurzbz=$studiengang->kuerzel.'-'.$semester.strtoupper($_POST['spzgruppe_neu']);
$gruppe = new gruppe($conn);
if(!$gruppe->exists($gruppe_kurzbz))
{
$gruppe->gruppe_kurzbz = $gruppe_kurzbz;
$gruppe->studiengang_kz = $studiengang_kz;
$gruppe->semester = $semester;
$gruppe->bezeichnung = $gruppe_kurzbz;
$gruppe->beschreibung = $gruppe_kurzbz;
$gruppe->aktiv = true;
$gruppe->sichtbar = true;
$gruppe->lehre = true;
$gruppe->sort = '';
$gruppe->mailgrp = true;
$gruppe->generiert = false;
$gruppe->insertamum = date('Y-m-d H:i:s');
$gruppe->insertvon = $user;
if($gruppe->save(true))
{
echo "Gruppe wurde angelegt";
}
else
{
echo "<span class='error'>Fehler beim anlegen der Gruppe:$gruppe->errormsg</span>";
}
}
else
{
echo "<span class='error'>Diese Gruppe Existiert bereits: $gruppe_kurzbz</span>";
}
}
else
{
$lvb = new lehrverband($conn);
if(isset($_POST['semester_neu']))
{
//Neues Semester anlegen
$semester = $_POST['semester_neu'];
$verband = ' ';
$gruppe = ' ';
}
elseif(isset($_POST['verband_neu']))
{
//neuen Verband anlegen
$verband = $_POST['verband_neu'];
$gruppe = ' ';
}
elseif(isset($_POST['gruppe_neu']))
{
//neue Gruppe anlegen
$gruppe = $_POST['gruppe_neu'];
}
if(!$lvb->exists($studiengang_kz, $semester, $verband, $gruppe))
{
$lvb->studiengang_kz = $studiengang_kz;
$lvb->semester = $semester;
$lvb->verband = $verband;
$lvb->gruppe = $gruppe;
$lvb->aktiv=true;
$lvb->bezeichnung = '';
if($lvb->save(true))
{
echo 'Gruppe wurde erfolgreich angelegt';
}
else
{
echo "<span class='error'>Fehler beim Anlegen der Gruppe: $lvb->errormsg</span>";
}
}
else
{
echo "<span class='error'>Diese Gruppe Existiert bereits</span>";
}
}
}
//Aenderung des Aktiv Status
if($aktiv!='')
{
if($gruppe_kurzbz!='')
{
$gruppe = new gruppe($conn);
if($gruppe->load($gruppe_kurzbz))
{
$gruppe->aktiv=!$gruppe->aktiv;
if($gruppe->save(false))
{
echo "Aktiv Status wurde erfolgreich geaendert";
}
else
{
echo "Fehler beim Aendern des Aktiv-Feldes: $gruppe->errormsg";
}
}
else
{
echo "Spezialgruppe wurde nicht gefunden";
}
}
else
{
$lvb = new lehrverband($conn);
if($lvb->load($studiengang_kz, $semester, $verband, $gruppe))
{
$lvb->aktiv = !$lvb->aktiv;
if($lvb->save(false))
{
echo "Aktiv Status wurde erfolgreich geaendert";
}
else
{
echo "Fehler beim Aendern des Aktiv-Feldes: $lvb->errormsg";
}
}
else
{
echo "<span class='error'>Lehrverband wurde nicht gefunden</span>";
}
}
}
//Speichern der geaenderten Gruppendaten
if($type=='save')
{
//Spezialgruppe speichern
if($gruppe_kurzbz!='')
{
$gruppe = new gruppe($conn);
if($gruppe->load($gruppe_kurzbz))
{
$gruppe->bezeichnung = $_POST['bezeichnung'];
$gruppe->beschreibung = $_POST['beschreibung'];
$gruppe->sichtbar = isset($_POST['sichtbar']);
$gruppe->lehre = isset($_POST['sichtbar']);
$gruppe->aktiv = isset($_POST['aktiv']);
$gruppe->sort = $_POST['sort'];
$gruppe->mailgrp = isset($_POST['mailgrp']);
$gruppe->generiert = isset($_POST['generiert']);
$gruppe->updateamum = date('Y-m-d H:i:s');
$gruppe->updatevon = $user;
if($gruppe->save(false))
{
echo 'Daten wurden erfolgreich geaendert';
}
else
{
echo "Fehler beim Speichern der Daten: $gruppe->errormsg";
}
}
else
echo "Gruppe konnte nicht geladen werden";
}
else
{
//Lehrverbandsgruppe speichern
$lvb = new lehrverband($conn);
if($lvb->load($studiengang_kz, $semester, $verband, $gruppe))
{
$lvb->bezeichnung = $_POST['bezeichnung'];
$lvb->aktiv = isset($_POST['aktiv']);
if($lvb->save(false))
{
echo 'Daten wurden erfolgreich geaendert';
}
else
{
echo "Fehler beim Speichern der Daten: $lvb->errormsg";
}
}
else
{
echo "Gruppe konnte nicht geladen werden";
}
}
}
//Tree der Gruppen
echo '<table style="font-size:large" width="100%"><tr><td>';
$qry = "SELECT * FROM public.tbl_lehrverband WHERE studiengang_kz='$studiengang_kz' ORDER BY studiengang_kz, semester, verband, gruppe";
if($result = pg_query($conn, $qry))
{
$lastsemester='';
$lastverband='';
while($row = pg_fetch_object($result))
{
if(trim($row->verband)=='')
{
if($row->semester!=$lastsemester)
{
if($lastsemester!='')
{
if($lastverband!='')
{
//Formular zum Anlegen einer neuen Gruppe
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$row->studiengang_kz&semester=$lastsemester&verband=$lastverband' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-<input type='text' name='gruppe_neu' size='1' maxlength='1' /> <input type='submit' value='Neu' /></form>";
}
//Formular zum Anlegen eines neuen Verbandes
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$row->studiengang_kz&semester=$lastsemester' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;|-<input type='text' name='verband_neu' size='1' maxlength='1' /> <input type='submit' value='Neuer Verband' /></form>";
//Spezialgruppen des vorherigen Semesters
$qry_gruppe = "SELECT * FROM public.tbl_gruppe WHERE studiengang_kz='$studiengang_kz' AND semester='$lastsemester' ORDER BY sort, gruppe_kurzbz";
if($result_gruppe = pg_query($conn, $qry_gruppe))
{
while($row_gruppe = pg_fetch_object($result_gruppe))
{
echo "&nbsp;&nbsp;&nbsp;&nbsp;|- <a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&gruppe_kurzbz=$row_gruppe->gruppe_kurzbz&aktiv=".($row_gruppe->aktiv=='t'?'false':'true')."' class='Item'><img src='../../skin/images/".($row_gruppe->aktiv=='t'?'true.gif':'false.gif')."'></a><a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$lastsemester&gruppe_kurzbz=$row_gruppe->gruppe_kurzbz&type=edit' class='Item'>$row_gruppe->gruppe_kurzbz</a><br>";
}
}
//Formular zum Anlegen einer neuen Spezialgruppe
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$row->studiengang_kz&semester=$lastsemester' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;|- $studiengang->kuerzel-$lastsemester<input type='text' name='spzgruppe_neu' size='11' maxlength='11' /> <input type='submit' value='Neue SpzGrp' /></form>";
}
$lastverband='';
$lastsemester=$row->semester;
}
//Semester ausgeben
echo "<a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&aktiv=".($row->aktiv=='t'?'false':'true')."' class='Item'><img src='../../skin/images/".($row->aktiv=='t'?'true.gif':'false.gif')."'></a><b><a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&type=edit' class='Item'>$row->semester</a></b>";
}
elseif(trim($row->gruppe)=='')
{
if($row->verband!=$lastverband)
{
if($lastverband!='')
{
//Formular zum Anlegen einer neuen Gruppe
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$lastverband' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-<input type='text' name='gruppe_neu' size='1' maxlength='1' /> <input type='submit' value='Neu' /></form>";
}
$lastverband=$row->verband;
}
//Verband
echo "&nbsp;&nbsp;&nbsp;&nbsp;|- <a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&aktiv=".($row->aktiv=='t'?'false':'true')."' class='Item'><img src='../../skin/images/".($row->aktiv=='t'?'true.gif':'false.gif')."'></a><b><a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&type=edit' class='Item'>$row->verband</a></b>";
}
else
{
//Gruppe
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|- <a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&aktiv=".($row->aktiv=='t'?'false':'true')."' class='Item'><img src='../../skin/images/".($row->aktiv=='t'?'true.gif':'false.gif')."'></a><b><a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&type=edit' class='Item'>$row->gruppe</a></b>";
}
echo "<br>";
}
if($lastsemester!='')
{
if($lastverband!='')
{
//Formular zum Anlegen einer neuen Gruppe
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$studiengang_kz&semester=$lastsemester&verband=$lastverband' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-<input type='text' name='gruppe_neu' size='1' maxlength='1' /> <input type='submit' value='Neu' /></form>";
}
//Formular zum Anlegen eines neuen Verbandes
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$studiengang_kz&semester=$lastsemester' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;|-<input type='text' name='verband_neu' size='1' maxlength='1' /> <input type='submit' value='Neuer Verband' /></form>";
//Spezialgruppen des vorherigen Semesters
$qry_gruppe = "SELECT * FROM public.tbl_gruppe WHERE studiengang_kz='$studiengang_kz' AND semester='$lastsemester' ORDER BY sort, gruppe_kurzbz";
if($result_gruppe = pg_query($conn, $qry_gruppe))
{
while($row_gruppe = pg_fetch_object($result_gruppe))
{
echo "&nbsp;&nbsp;&nbsp;&nbsp;|- <a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$studiengang_kz&gruppe_kurzbz=$row_gruppe->gruppe_kurzbz&aktiv=".($row_gruppe->aktiv=='t'?'false':'true')."' class='Item'><img src='../../skin/images/".($row_gruppe->aktiv=='t'?'true.gif':'false.gif')."'></a><b><a href='".$_SERVER['PHP_SELF']."?studiengang_kz=$row->studiengang_kz&semester=$lastsemester&gruppe_kurzbz=$row_gruppe->gruppe_kurzbz&type=edit' class='Item'>$row_gruppe->gruppe_kurzbz</a></b><br>";
}
}
//Formular zum Anlegen einer neuen Spezialgruppe
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$studiengang_kz&semester=$lastsemester' method='POST'>&nbsp;&nbsp;&nbsp;&nbsp;|- $studiengang->kuerzel-$lastsemester<input type='text' name='spzgruppe_neu' size='11' maxlength='11' /> <input type='submit' value='Neue SpzGrp' /></form>";
//Formular zum Anlegen eines neuen Semesters
echo "<form action='".$_SERVER['PHP_SELF']."?type=neu&studiengang_kz=$studiengang_kz' method='POST'><input type='text' name='semester_neu' size='2' maxlength='2' /> <input type='submit' value='Neu' /></form>";
}
}
echo '</td><td valign="top" align="center">';
//Formular zum bearbeiten der Daten
if($type=='edit')
{
if($gruppe_kurzbz!='')
{
$gruppe = new gruppe($conn);
if($gruppe->load($gruppe_kurzbz))
{
echo "Details von $gruppe_kurzbz<br><br>";
echo "<form action='".$_SERVER['PHP_SELF']."?type=save&studiengang_kz=$studiengang_kz&gruppe_kurzbz=$gruppe_kurzbz' method='POST'>
<table>
<tr>
<td>Bezeichnung:</td>
<td><input type='text' name='bezeichnung' size='30' maxlength='32' value='$gruppe->bezeichnung'/></td>
</tr>
<tr>
<td>Beschreibung:</td>
<td><input type='text' name='beschreibung' size='30' maxlength='128' value='$gruppe->beschreibung'/></td>
</tr>
<tr>
<td>Sichtbar:</td>
<td><input type='checkbox' name='sichtbar' ".($gruppe->sichtbar?'checked':'')." /></td>
</tr>
<tr>
<td>Lehre:</td>
<td><input type='checkbox' name='lehre' ".($gruppe->lehre?'checked':'')." /></td>
</tr>
<tr>
<td>Aktiv:</td>
<td><input type='checkbox' name='aktiv' ".($gruppe->aktiv?'checked':'')." /></td>
</tr>
<tr>
<td>Sort:</td>
<td><input type='text' name='sort' size='2' maxlength='2' value='$gruppe->sort' /></td>
</tr>
<tr>
<td>Mailgrp:</td>
<td><input type='checkbox' name='mailgrp' ".($gruppe->mailgrp?'checked':'')." /></td>
</tr>
<tr>
<td>Generiert:</td>
<td><input type='checkbox' name='generiert' ".($gruppe->generiert?'checked':'')." /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td><input type='submit' value='Speichern' /></td>
</tr>
</table>
</form>";
}
}
else
{
$lvb = new lehrverband($conn);
if($lvb->load($studiengang_kz, $semester, $verband, $gruppe))
{
echo "Details von $studiengang->kuerzel - $semester$verband$gruppe<br><br>";
echo "<form action='".$_SERVER['PHP_SELF']."?type=save&studiengang_kz=$studiengang_kz&semester=$semester&verband=$verband&gruppe=$gruppe' method='POST'>
<table>
<tr>
<td>Bezeichnung:</td>
<td><input type='text' name='bezeichnung' size='16' maxlength='16' value='$lvb->bezeichnung'/></td>
</tr>
<tr>
<td>Aktiv:</td>
<td><input type='checkbox' name='aktiv' ".($lvb->aktiv?'checked':'')." /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td><input type='submit' value='Speichern' /></td>
</tr>
</table>
</form>";
}
else
echo "Gruppe wurde nicht gefunden";
}
}
echo '</td></tr></table>';
?>
</body>
</html>