- Binding fuer Datumsfeld

- Notenansicht Erstversion
- Anpassung der Felder bei Konto XML
- XML fuer Inskriptionsbestaetigung erstellt
This commit is contained in:
Andreas Österreicher
2007-06-06 15:43:55 +00:00
parent 4fff2c6355
commit cc3d62247c
17 changed files with 1485 additions and 126 deletions
+18 -9
View File
@@ -14,12 +14,8 @@ zus&auml;tzlich bei&nbsp; allen RDF-Files.</li>
<li>Aufgenommener, Warteliste, Absage -&gt;Button</li>
<li>Ab- Unterbrecher -&gt; 0.Semester f&uuml;r alle Stg.</li>
<li>-&gt;[Student] f&uuml;r ehem. Unterbrecher</li>
<li>SVNr/Ersatzkennzeichen, GebDatum und Stg bei
Zahlungsbest&auml;tigung</li>
<li>Inskriptionsbest&auml;tigung -&gt; mehrere Seiten im PDF</li>
<li>Koordinatorstunden: Stunden im Fachbereich</li>
<li>Zustelladresse bei Lehrauftrag</li>
<li>Bericht statt Statistik</li>
<li>aktuelles Datum im PDF</li>
<li>Dokumente ?</li>
</ul>
@@ -32,13 +28,10 @@ Zahlungsbest&auml;tigung</li>
<hr>
<h2>Dokumente</h2>
<ul>
<li> Zahlungsbest&auml;tigung: Ein Button beim Konto liefert ein PDF
f&uuml;r die Zahlungsbest&auml;tigung. (Button ist vorhanden XSLT fehlt
noch) </li>
<li> Inskriptionsbest&auml;tigung: Im Hauptmen&uuml; Dokumente
w&auml;hlbar. Wenn mehrere Studenten gew&auml;hlt sind, werden mehrere
Seiten im PDF produziert. (Button ist vorhanden, XML und XSLT fehlen
noch)</li>
Seiten im PDF produziert. (XSLT fehlt noch)</li>
</ul>
<hr>
<h2>Statistik</h2>
@@ -98,6 +91,22 @@ allen auf einmal setzbar</li>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li> Zahlungsbest&auml;tigung: Ein Button beim Konto liefert ein PDF
f&uuml;r die Zahlungsbest&auml;tigung. (Button ist vorhanden XSLT fehlt
noch) <br>
<br>
</li>
<li>Bericht statt Statistik<br>
06.06.2007 oesi <br><br>
</li>
<li>Inskriptionsbest&auml;tigung -&gt; mehrere Seiten im PDF
<br>
06.06.2007 oesi<br><br>
</li>
<li>SVNr/Ersatzkennzeichen, GebDatum und Stg bei
Zahlungsbest&auml;tigung<br>
06.06.2007 oesu <br><br>
</li>
<li> Lehrauftr&auml;ge: PDF mit allen Lektoren. Studiengang muss
gew&auml;hlt sein. <br>
01.06.2007 oesi<br>
+4
View File
@@ -0,0 +1,4 @@
box.Datum
{
-moz-binding: url('bindings.xml.php#Datum');
}
+40
View File
@@ -0,0 +1,40 @@
<?php
include('../vilesci/config.inc.php');
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<binding id="Datum">
<content>
<xul:textbox id="binding-datefield-textbox" value="asdf"/>
</content>
<implementation>
<property name="value" onget="return document.getElementById('binding-datefield-textbox').value" >
<setter>
return val;
</setter>
</property>
</implementation>
<handlers>
<handler event="blur" phase="capturing">
<![CDATA[
var datum = document.getElementById('binding-datefield-textbox').value;
var pattern = /^\d{2}\.\d{2}\.\d{4}$/
if(!pattern.exec(datum))
{
alert("Das Datum muss im Format tt.mm.yyyy eingegeben werden!");
//document.getElementById('binding-datefield-textbox').focus();
return false;
}
]]>
</handler>
</handlers>
</binding>
</bindings>
+1
View File
@@ -40,6 +40,7 @@ if(!$benutzer->loadVariables($user))
$error_msg = $benutzer->errormsg;
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css\" ?>";
echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
?>
<!DOCTYPE window [
+2 -2
View File
@@ -183,7 +183,7 @@ if(!$error)
$student->sprache = $_POST['sprache'];
$student->matrikelnr = $_POST['matrikelnummer'];
$stsem = new studiensemester($conn);
$stsem = new studiensemester($conn, null, true);
$stsem_kurzbz = $stsem->getaktorNext();
//Wenn das ausgewaehlte Semester das aktuelle ist, dann wird auch in der
//Tabelle Student der Stg/Semester/Verband/Gruppe geaendert.
@@ -202,7 +202,7 @@ if(!$error)
{
if($student->save())
{
$student_lvb = new student($conn);
$student_lvb = new student($conn, null, true);
$student_lvb->uid = $_POST['uid'];
$student_lvb->studiensemester_kurzbz = $semester_aktuell;
$student_lvb->studiengang_kz = $_POST['studiengang_kz'];
+4 -1
View File
@@ -34,6 +34,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentzeugnisoverlay.xul.
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentkontooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentbetriebsmitteloverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentiooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
@@ -182,6 +183,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentiooverlay.xul.php"?
<tab id="student-tab-zeugnis" label="Zeugnis" />
<tab id="student-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="student-tab-io" label="Incoming/Outgoing" />
<tab id="student-tab-noten" label="Noten" />
</tabs>
<tabpanels id="student-tabpanels-main" flex="1">
<vbox id="student-detail" style="margin-top:10px;" />
@@ -190,8 +192,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentiooverlay.xul.php"?
<vbox id="student-zeugnis" style="margin-top:10px;" />
<vbox id="student-betriebsmittel" style="margin-top:10px;" />
<vbox id="student-io" style="margin-top:10px;" />
<vbox id="student-noten" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</tabbox>
</vbox>
</vbox>
</overlay>
+181
View File
@@ -0,0 +1,181 @@
<?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>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="StudentKonto"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<!-- Zeugnis Overlay -->
<vbox id="student-noten" style="margin:0px;" flex="1">
<popupset>
<popup id="student-noten-tree-popup">
<menuitem label="Entfernen" oncommand="StudentNotenDelete();" id="student-noten-tree-popup-delete" hidden="false"/>
</popup>
</popupset>
<hbox flex="1">
<tree id="student-noten-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/zeugnisnote/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100%" enableColumnDrag="true"
onselect="StudentNotenAuswahl()"
context="student-noten-tree-popup"
>
<treecols>
<treecol id="student-noten-tree-lehrveranstaltung_bezeichnung" label="Lehrveranstaltung" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-note_bezeichnung" label="Note" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#note_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-uebernahmedatum" label="Uebernahmedatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#uebernahmedatum_iso" />
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-benotungsdatum" label="Benotungsdatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#benotungsdatum_iso" />
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-studiensemester_kurzbz" label="Studiensemester" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiensemester_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-note" label="Note" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#note" />
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-student_uid" label="Uid" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#student_uid" />
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-lehrveranstaltung_id" label="LehrveranstaltungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#note_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#uebernahmedatum"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#benotungsdatum"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#note"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#student_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<spacer flex="1"/>
<button id="student-note-copy" label="&lt;=" style="font-weight: bold;" oncommand="alert(document.getElementById('student-noten-datum').value);"/>
<spacer flex="1"/>
</vbox>
<tree id="student-lvgesamtnoten-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/lvgesamtnote/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100%" enableColumnDrag="true"
>
<treecols>
<treecol id="student-lvgesamtnoten-tree-lehrveranstaltung_bezeichnung" label="Lehrveranstaltung" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#lehrveranstaltung_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-note_bezeichnung" label="Note" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#note_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-mitarbeiter_uid" label="MitarbeiterUID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#mitarbeiter_uid" />
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-benotungsdatum" label="Benotungsdatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#benotungsdatum_iso" />
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-freigabedatum" label="Freigabedatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#freigabedatum_iso" />
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-studiensemester_kurzbz" label="Studiensemester" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#studiensemester_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-note" label="Note" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#note" />
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-student_uid" label="StudentUID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#student_uid" />
<splitter class="tree-splitter"/>
<treecol id="student-lvgesamtnoten-tree-lehrveranstaltung_id" label="LehrveranstaltungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#lehrveranstaltung_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#note_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#mitarbeiter_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#benotungsdatum"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#freigabedatum"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#note"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#student_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#lehrveranstaltung_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
</hbox>
</vbox>
</overlay>
+193
View File
@@ -38,6 +38,10 @@ var StudentBetriebsmittelSelectBetriebsmittel_id=null; //Betriebsmittelzurodnung
var StudentBetriebsmittelSelectPerson_id=null; //Betriebsmittelzurodnung die nach dem Refresh markiert werden soll
var StudentIOTreeDatasource; //Datasource des Incomming/Outgoing Trees
var StudentIOSelectID=null; //BISIO Eintrag der nach dem Refresh markiert werden soll
var StudentNotenTreeDatasource; //Datasource des Noten Trees
var StudentNotenSelectLehreinheitID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentLvGesamtNotenTreeDatasource; //Datasource des Noten Trees
var StudentLvGesamtNotenSelectLehreinheitID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
// ********** Observer und Listener ************* //
@@ -178,6 +182,76 @@ var StudentIOTreeListener =
window.setTimeout(StudentIOTreeSelectID,10);
}
};
// ****
// * Observer fuer Noten Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentNotenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-noten-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var StudentNotenTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentNotenTreeSelectID,10);
}
};
// ****
// * Observer fuer LvGesamtNoten Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentLvGesamtNotenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-lvgesamtnoten-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var StudentLvGesamtNotenTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentLvGesamtNotenTreeSelectID,10);
}
};
// ***************** KEY Events ************************* //
// ****
@@ -894,6 +968,50 @@ function StudentAuswahl()
bisiotree.database.AddDataSource(StudentIOTreeDatasource);
StudentIOTreeDatasource.addXMLSinkObserver(StudentIOTreeSinkObserver);
bisiotree.builder.addListener(StudentIOTreeListener);
// *** Noten ***
notentree = document.getElementById('student-noten-tree');
url='<?php echo APP_ROOT;?>rdf/zeugnisnote.rdf.php?uid='+uid+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = notentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
notentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
notentree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentNotenTreeDatasource = rdfService.GetDataSource(url);
StudentNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
notentree.database.AddDataSource(StudentNotenTreeDatasource);
StudentNotenTreeDatasource.addXMLSinkObserver(StudentNotenTreeSinkObserver);
notentree.builder.addListener(StudentNotenTreeListener);
// *** Noten ***
lvgesamtnotentree = document.getElementById('student-lvgesamtnoten-tree');
url='<?php echo APP_ROOT;?>rdf/lvgesamtnote.rdf.php?uid='+uid+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = lvgesamtnotentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
lvgesamtnotentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lvgesamtnotentree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentLvGesamtNotenTreeDatasource = rdfService.GetDataSource(url);
StudentLvGesamtNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentLvGesamtNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
lvgesamtnotentree.database.AddDataSource(StudentLvGesamtNotenTreeDatasource);
StudentLvGesamtNotenTreeDatasource.addXMLSinkObserver(StudentLvGesamtNotenTreeSinkObserver);
lvgesamtnotentree.builder.addListener(StudentLvGesamtNotenTreeListener);
}
// ****
@@ -2051,4 +2169,79 @@ function StudentIOTreeSelectID()
}
}
}
}
// **************** NOTEN ************** //
// ****
// * Selectiert den Noten Eintrag nachdem der Tree
// * rebuildet wurde.
// ****
function StudentNotenTreeSelectID()
{
var tree=document.getElementById('student-noten-tree');
if(tree.view)
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentNotenSelectLehreinheitID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-noten-tree-lehrveranstaltung_id"] : "student-noten-tree-lehrveranstaltung_id";
var lehrveranstaltung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(lehrveranstaltung_id == StudentNotenSelectLehrveranstaltugnID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentNotenSelectLehrveranstaltungID=null;
StudentNotenSelectStudentUID=null;
return true;
}
}
}
}
// ****
// * Selectiert den Noten Eintrag nachdem der Tree
// * rebuildet wurde.
// ****
function StudentLvGesamtNotenTreeSelectID()
{
var tree=document.getElementById('student-lvgesamtnoten-tree');
if(tree.view)
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentLvGesamtNotenSelectLehreinheitID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-lvgesamtnoten-tree-lehrveranstaltung_id"] : "student-lvgesamtnoten-tree-lehrveranstaltung_id";
var lehrveranstaltung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(lehrveranstaltung_id == StudentLvGesamtNotenSelectLehrveranstaltugnID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentNotenSelectLehrveranstaltungID=null;
StudentNotenSelectStudentUID=null;
return true;
}
}
}
}
+9
View File
@@ -111,5 +111,14 @@ class datum
$datum+=3600;
return $datum;
}
/**
* Konvertiert das ISO Datumsformat (YYYY-MM-DD)
* nach (DD.MM.YYYY)
*/
function convertISODate($datum)
{
return (strlen($datum)>0?date('d.m.Y',strtotime($datum)):'');
}
}
?>
+315
View File
@@ -0,0 +1,315 @@
<?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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse Zeugnisnote
* @create 2007-06-06
*/
class lvgesamtnote
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result=array();
//Tabellenspalten
var $lehrveranstaltung_id; // integer
var $student_uid; // varchar(16)
var $mitarbeiter_uid; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
var $note; // smalint
var $freigabedatum; // date
var $benotungsdatum; // date
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $lehrveranstaltung_bezeichung;
var $note_bezeichnung;
// *********************************************************************
// * Konstruktor
// * @param $conn Connection
// * $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// *********************************************************************
function lvgesamtnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false)
{
$this->conn = $conn;
if($unicode!=null)
{
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($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
}
// **************************************************************
// * Laedt eine LVGesamtNote
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ***************************************************************
function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM campus.tbl_lvgesamtnote WHERE
lehrveranstaltung_id='$lehrveranstaltung_id' AND
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->student_uid = $row->student_uid;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->note = $row->note;
$this->freigabedatum = $row->freigabedatum;
$this->benotungsdatum = $row->benotungsdatum;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->inservon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
// *************************************
// * Prueft die Daten vor dem Speichern
// * auf Gueltigkeit
// *************************************
function validate()
{
if(!is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id ist ungueltig';
return false;
}
if($student_uid=='')
{
$this->errormsg = 'UID muss angegeben werden';
return false;
}
if($this->studiensemester_kurzbz=='')
{
$this->errormsg = 'Studiensemester muss angegeben werden';
return false;
}
if($this->note!='' && !is_numeric($this->note))
{
$this->errormsg = 'Note ist ungueltig';
return false;
}
if($this->freigabedatum!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->freigabedatum))
{
$this->errormsg = 'Uebernahmedatum ist ungueltig';
return false;
}
if($this->benotungsdatum!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->benotungsdatum))
{
$this->errormsg = 'Benotungsdatum ist ungueltig';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *******************************************************************************
function save($new=null)
{
if($new==null)
$new=$this->new;
if(!$this->validate())
return false;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO campus.tbl_lvgesamtnote (lehrveranstaltung_id, student_uid, studiensemester_kurzbz, mitarbeiter_uid, note, freigabedatum, benotungsdatum,
updateamum, updatevon, insertamum, insertvon) VALUES('.
$this->addslashes($this->lehrveranstaltung_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->studiensemester_kurzbz).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->freigabedatum).', '.
$this->addslashes($this->benotungsdatum).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).');';
}
else
{
$qry='UPDATE campus.tbl_lvgesamtnote SET '.
'note='.$this->addslashes($this->note).', '.
'freigabedatum='.$this->addslashes($this->freigabedatum).', '.
'benotungsdatum='.$this->addslashes($this->benotungsdatum).', '.
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
'updateamum= '.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE lehrveranstaltung_id='.$this->addslashes($this->lehrveranstaltung_id).', '.
'AND student_uid='.$this->addslashes($this->student_uid).', '.
'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';';
}
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = "Fehler beim Speichern des Datensatzes";
return false;
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "DELETE FROM campus.tbl_lvgesamtnote WHERE
lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen der Daten';
return false;
}
}
// *********************************************
// * Laed die Noten
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// *********************************************
function getLvGesamtNoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT
tbl_lvgesamtnote.*,
tbl_note.bezeichnung as note_bezeichnung,
tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung
FROM
campus.tbl_lvgesamtnote,
lehre.tbl_note,
lehre.tbl_lehrveranstaltung
WHERE
tbl_lvgesamtnote.note=tbl_note.note AND
tbl_lvgesamtnote.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id";
if($lehrveranstaltung_id!=null)
$qry.=" AND tbl_lvgesamtnote.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'";
if($student_uid!=null)
$qry.=" AND tbl_lvgesamtnote.student_uid='".addslashes($student_uid)."'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new lvgesamtnote($this->conn, null, null, null, null);
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->student_uid = $row->student_uid;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->note = $row->note;
$obj->freigabedatum = $row->freigabedatum;
$obj->benotungsdatum = $row->benotungsdatum;
$obj->updateamum = $row->updateamum;
$obj->udpatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
}
?>
+12 -9
View File
@@ -43,15 +43,18 @@ class student extends benutzer
{
$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;
}
}
//Student laden
@@ -298,7 +301,7 @@ class student extends benutzer
for($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($erg,$i);
$l=new student($this->conn);
$l=new student($this->conn, null, null);
// Personendaten
$l->uid=$row->uid;
$l->person_id=$row->person_id;
+314
View File
@@ -0,0 +1,314 @@
<?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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse Zeugnisnote
* @create 2007-06-06
*/
class zeugnisnote
{
var $conn; // resource DB-Handle
var $new; // boolean
var $errormsg; // string
var $result=array();
//Tabellenspalten
var $lehrveranstaltung_id; // integer
var $student_uid; // varchar(16)
var $studiensemester_kurzbz; // varchar(16)
var $note; // smalint
var $uebernahmedatum; // date
var $benotungsdatum; // date
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $ext_id; // bigint
var $lehrveranstaltung_bezeichung;
var $note_bezeichnung;
// *********************************************************************
// * Konstruktor
// * @param $conn Connection
// * $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// *********************************************************************
function zeugnisnote($conn, $lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null , $unicode=false)
{
$this->conn = $conn;
if($unicode!=null)
{
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($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
}
// **************************************************************
// * Laedt eine Zeugnisnote
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ***************************************************************
function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM lehre.tbl_zeugnisnote WHERE
lehrveranstaltung_id='$lehrveranstaltung_id' AND
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->student_uid = $row->student_uid;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->note = $row->note;
$this->uebernahmedatum = $row->uebernahmedatum;
$this->benotungsdatum = $row->benotungsdatum;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->inservon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
// *************************************
// * Prueft die Daten vor dem Speichern
// * auf Gueltigkeit
// *************************************
function validate()
{
if(!is_numeric($this->lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id ist ungueltig';
return false;
}
if($student_uid=='')
{
$this->errormsg = 'UID muss angegeben werden';
return false;
}
if($this->studiensemester_kurzbz=='')
{
$this->errormsg = 'Studiensemester muss angegeben werden';
return false;
}
if($this->note!='' && !is_numeric($this->note))
{
$this->errormsg = 'Note ist ungueltig';
return false;
}
if($this->uebernahmedatum!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->uebernahmedatum))
{
$this->errormsg = 'Uebernahmedatum ist ungueltig';
return false;
}
if($this->benotungsdatum!='' && !ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->benotungsdatum))
{
$this->errormsg = 'Benotungsdatum ist ungueltig';
return false;
}
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
// * Zeichen mit backslash versehen und das Ergebnis
// * unter Hochkomma gesetzt.
// ************************************************
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// *******************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// *******************************************************************************
function save($new=null)
{
if($new==null)
$new=$this->new;
if(!$this->validate())
return false;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid, studiensemester_kurzbz, note, uebernahmedatum, benotungsdatum,
updateamum, updatevon, insertamum, insertvon, ext_id) VALUES('.
$this->addslashes($this->lehrveranstaltung_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->studiensemester_kurzbz).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->uebernahmedatum).', '.
$this->addslashes($this->benotungsdatum).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->ext_id).');';
}
else
{
$qry='UPDATE lehre.tbl_zeugnisnote SET '.
'note='.$this->addslashes($this->note).', '.
'uebernahmedatum='.$this->addslashes($this->uebernahmedatum).', '.
'benotungsdatum='.$this->addslashes($this->benotungsdatum).', '.
'updateamum= '.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE lehrveranstaltung_id='.$this->addslashes($this->lehrveranstaltung_id).', '.
'AND student_uid='.$this->addslashes($this->student_uid).', '.
'AND studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).';';
}
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = "Fehler beim Speichern des Datensatzes";
return false;
}
}
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "DELETE FROM lehre.tbl_zeugnisnote WHERE
lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND
student_uid='".addslashes($student_uid)."' AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen der Daten';
return false;
}
}
// *********************************************
// * Laed die Noten
// * @param $lehrveranstaltung_id
// * $student_uid
// * $studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// *********************************************
function getZeugnisnoten($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT
tbl_zeugnisnote.*,
tbl_note.bezeichnung as note_bezeichnung,
tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung
FROM
lehre.tbl_zeugnisnote,
lehre.tbl_note,
lehre.tbl_lehrveranstaltung
WHERE
tbl_zeugnisnote.note=tbl_note.note AND
tbl_zeugnisnote.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id";
if($lehrveranstaltung_id!=null)
$qry.=" AND tbl_zeugnisnote.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'";
if($student_uid!=null)
$qry.=" AND tbl_zeugnisnote.student_uid='".addslashes($student_uid)."'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new zeugnisnote($this->conn, null, null, null, null);
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->student_uid = $row->student_uid;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->note = $row->note;
$obj->uebernahmedatum = $row->uebernahmedatum;
$obj->benotungsdatum = $row->benotungsdatum;
$obj->updateamum = $row->updateamum;
$obj->udpatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
}
?>
+2 -2
View File
@@ -36,8 +36,8 @@
<!ENTITY menu-prefs-stpltable-stundenplandev.label "stundenplandev">
<!ENTITY menu-prefs-stpltable-stundenplandev.accesskey "d">
<!ENTITY menu-statistic.label "Statistik">
<!ENTITY menu-statistic.accesskey "S">
<!ENTITY menu-statistic.label "Berichte">
<!ENTITY menu-statistic.accesskey "R">
<!ENTITY menu-statistic-koordinatorstunden.key "K">
<!ENTITY menu-statistic-koordinatorstunden.label "Koordinatorstunden">
+43 -28
View File
@@ -37,6 +37,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../include/konto.class.php');
require_once('../include/person.class.php');
require_once('../include/studiengang.class.php');
//require_once('../include/functions.inc.php');
// Datenbank Verbindung
@@ -122,33 +124,35 @@ if($person_id!='')
{
foreach ($konto->result as $buchung)
{
$buchung = $buchung['parent'];
//1. Ebene
drawrow($buchung);
$hier.="
<RDF:li>
<RDF:Seq about=\"".$rdf_url.'/'.$buchung->buchungsnr."\" >";
if(isset($konto->result[$buchung->buchungsnr]['childs']))
if(isset($buchung['parent']))
{
//2. Ebene
foreach ($konto->result[$buchung->buchungsnr]['childs'] as $row)
$buchung = $buchung['parent'];
//1. Ebene
drawrow($buchung);
$hier.="
<RDF:li>
<RDF:Seq about=\"".$rdf_url.'/'.$buchung->buchungsnr."\" >";
if(isset($konto->result[$buchung->buchungsnr]['childs']))
{
if(is_object($row))
//2. Ebene
foreach ($konto->result[$buchung->buchungsnr]['childs'] as $row)
{
drawrow($row);
$hier.="
<RDF:li resource=\"".$rdf_url.'/'.$row->buchungsnr.'" />';
if(is_object($row))
{
drawrow($row);
$hier.="
<RDF:li resource=\"".$rdf_url.'/'.$row->buchungsnr.'" />';
}
}
}
$hier.="
</RDF:Seq>
</RDF:li>";
}
$hier.="
</RDF:Seq>
</RDF:li>";
}
}
else
@@ -190,15 +194,26 @@ elseif ($xmlformat=='xml')
}
function drawperson_xml($row)
{
global $conn;
$pers = new person($conn);
$pers->load($row->person_id);
$stg = new studiengang($conn, $row->studiengang_kz);
echo "
<person>
<person_id><![CDATA[".$row->person_id."]]></person_id>
<anrede><![CDATA[".$row->anrede."]]></anrede>
<titelpost><![CDATA[".$row->titelpost."]]></titelpost>
<titelpre><![CDATA[".$row->titelpre."]]></titelpre>
<nachname><![CDATA[".$row->nachname."]]></nachname>
<vorname><![CDATA[".$row->vorname."]]></vorname>
<vornamen><![CDATA[".$row->vornamen."]]></vornamen>
<person_id><![CDATA[".$pers->person_id."]]></person_id>
<anrede><![CDATA[".$pers->anrede."]]></anrede>
<titelpost><![CDATA[".$pers->titelpost."]]></titelpost>
<titelpre><![CDATA[".$pers->titelpre."]]></titelpre>
<nachname><![CDATA[".$pers->nachname."]]></nachname>
<vorname><![CDATA[".$pers->vorname."]]></vorname>
<vornamen><![CDATA[".$pers->vornamen."]]></vornamen>
<geburtsdatum><![CDATA[".$pers->gebdatum."]]></geburtsdatum>
<sozialversicherungsnummer><![CDATA[".$pers->svnr."]]></sozialversicherungsnummer>
<ersatzkennzeichen><![CDATA[".$pers->ersatzkennzeichen."]]></ersatzkennzeichen>
<tagesdatum><![CDATA[".date('d.m.Y')."]]></tagesdatum>
<studiengang><![CDATA[".$stg->bezeichnung."]]></studiengang>
</person>";
}
+91
View File
@@ -0,0 +1,91 @@
<?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>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/lvgesamtnote.class.php');
require_once('../include/datum.class.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$user = get_uid();
loadVariables($conn, $user);
$datum = new datum();
if(isset($_GET['uid']))
$uid = $_GET['uid'];
else
$uid = null;
if(isset($_GET['lehrveranstaltung_id']))
$lehrveranstaltung_id = $_GET['lehrveranstaltung_id'];
else
$lehrveranstaltung_id = null;
$rdf_url='http://www.technikum-wien.at/lvgesamtnote';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NOTE="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
//Daten holen
$obj = new lvgesamtnote($conn);
$obj->getLvGesamtNoten($lehrveranstaltung_id, $uid, $semester_aktuell);
foreach ($obj->result as $row)
{
echo '
<RDF:li>
<RDF:Description id="'.$row->lehrveranstaltung_id.'/'.$row->student_uid.'/'.$row->studiensemester_kurzbz.'" about="'.$rdf_url.'/'.$row->lehrveranstaltung_id.'/'.$row->student_uid.'/'.$row->studiensemester_kurzbz.'" >
<NOTE:lehrveranstaltung_id><![CDATA['.$row->lehrveranstaltung_id.']]></NOTE:lehrveranstaltung_id>
<NOTE:student_uid><![CDATA['.$row->student_uid.']]></NOTE:student_uid>
<NOTE:mitarbeiter_uid><![CDATA['.$row->mitarbeiter_uid.']]></NOTE:mitarbeiter_uid>
<NOTE:studiensemester_kurzbz><![CDATA['.$row->studiensemester_kurzbz.']]></NOTE:studiensemester_kurzbz>
<NOTE:note><![CDATA['.$row->note.']]></NOTE:note>
<NOTE:freigabedatum_iso><![CDATA['.$row->freigabedatum.']]></NOTE:freigabedatum_iso>
<NOTE:freigabedatum><![CDATA['.$datum->convertISODate($row->freigabedatum).']]></NOTE:freigabedatum>
<NOTE:benotungsdatum_iso><![CDATA['.$row->benotungsdatum.']]></NOTE:benotungsdatum_iso>
<NOTE:benotungsdatum><![CDATA['.$datum->convertISODate($row->benotungsdatum).']]></NOTE:benotungsdatum>
<NOTE:note_bezeichnung><![CDATA['.$row->note_bezeichnung.']]></NOTE:note_bezeichnung>
<NOTE:lehrveranstaltung_bezeichnung><![CDATA['.$row->lehrveranstaltung_bezeichnung.']]></NOTE:lehrveranstaltung_bezeichnung>
</RDF:Description>
</RDF:li>';
}
?>
</RDF:Seq>
</RDF:RDF>
+166 -75
View File
@@ -6,7 +6,7 @@ header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/vnd.mozilla.xul+xml");
header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
@@ -15,7 +15,8 @@ require_once('../include/functions.inc.php');
require_once('../include/person.class.php');
require_once('../include/benutzer.class.php');
require_once('../include/student.class.php');
require_once('../include/studiengang.class.php');
require_once('../include/datum.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
@@ -34,9 +35,14 @@ function convdate($date)
list($d,$m,$y) = explode('.',$date);
return $y.'-'.$m.'-'.$d;
}
$user = get_uid();
loadVariables($conn, $user);
if(isset($_SERVER['REMOTE_USER']))
{
$user = get_uid();
loadVariables($conn, $user);
}
$datum_obj = new datum();
$gruppe=(isset($_GET['gruppe'])?$_GET['gruppe']:null);
$grp=(isset($_GET['grp'])?$_GET['grp']:null);
$ver=(isset($_GET['ver'])?$_GET['ver']:null);
@@ -49,80 +55,165 @@ if(isset($_GET['stsem']) && $_GET['stsem']=='true')
$stsem = $semester_aktuell;
else
$stsem=null;
// Studenten holen
$student=new student($conn,null,true);
if (isset($uid))
$student->load($uid, $stsem);
else
$studenten=$student->getStudents($stg_kz,$sem,$ver,$grp,$gruppe, $stsem);
$rdf_url='http://www.technikum-wien.at/student';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:STUDENT="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/alle">
<?php
if(isset($uid))
drawStudent($student);
if(isset($_GET['xmlformat']) && $_GET['xmlformat']=='xml')
$xmlformat='xml';
else
foreach ($studenten as $student)
drawStudent($student);
$xmlformat='rdf';
function drawStudent($student)
if($xmlformat=='rdf')
{
global $rdf_url;
// Studenten holen
$student=new student($conn,null,true);
if (isset($uid))
$student->load($uid, $stsem);
else
$studenten=$student->getStudents($stg_kz,$sem,$ver,$grp,$gruppe, $stsem);
$rdf_url='http://www.technikum-wien.at/student';
?>
<RDF:li>
<RDF:Description id="<?php echo $student->uid; ?>" about="<?php echo $rdf_url.'/'.$student->uid; ?>" >
<STUDENT:uid><![CDATA[<?php echo $student->uid; ?>]]></STUDENT:uid>
<STUDENT:person_id><![CDATA[<?php echo $student->person_id; ?>]]></STUDENT:person_id>
<STUDENT:titelpre><![CDATA[<?php echo $student->titelpre; ?>]]></STUDENT:titelpre>
<STUDENT:titelpost><![CDATA[<?php echo $student->titelpost; ?>]]></STUDENT:titelpost>
<STUDENT:vornamen><![CDATA[<?php echo $student->vornamen ?>]]></STUDENT:vornamen>
<STUDENT:vorname><![CDATA[<?php echo $student->vorname ?>]]></STUDENT:vorname>
<STUDENT:nachname><![CDATA[<?php echo $student->nachname ?>]]></STUDENT:nachname>
<STUDENT:matrikelnummer><![CDATA[<?php echo $student->matrikelnr ?>]]></STUDENT:matrikelnummer>
<STUDENT:geburtsdatum><![CDATA[<?php echo $student->gebdatum ?>]]></STUDENT:geburtsdatum>
<STUDENT:geburtsdatum_iso><![CDATA[<?php echo $student->gebdatum; ?>]]></STUDENT:geburtsdatum_iso>
<STUDENT:alias><![CDATA[<?php echo $student->alias ?>]]></STUDENT:alias>
<STUDENT:homepage><![CDATA[<?php echo $student->homepage ?>]]></STUDENT:homepage>
<STUDENT:aktiv><![CDATA[<?php echo ($student->aktiv?'true':'false') ?>]]></STUDENT:aktiv>
<STUDENT:gebort><![CDATA[<?php echo $student->gebort; ?>]]></STUDENT:gebort>
<STUDENT:gebzeit><![CDATA[<?php echo $student->gebzeit; ?>]]></STUDENT:gebzeit>
<STUDENT:foto><![CDATA[<?php echo $student->foto; ?>]]></STUDENT:foto>
<STUDENT:anmerkungen><![CDATA[<?php echo $student->anmerkungen; ?>]]></STUDENT:anmerkungen>
<STUDENT:updateamum><![CDATA[<?php echo $student->updateamum; ?>]]></STUDENT:updateamum>
<STUDENT:updatevon><![CDATA[<?php echo $student->updatevon; ?>]]></STUDENT:updatevon>
<STUDENT:semester><![CDATA[<?php echo $student->semester; ?>]]></STUDENT:semester>
<STUDENT:verband><![CDATA[<?php echo $student->verband; ?>]]></STUDENT:verband>
<STUDENT:gruppe><![CDATA[<?php echo $student->gruppe; ?>]]></STUDENT:gruppe>
<STUDENT:studiengang_kz><![CDATA[<?php echo $student->studiengang_kz; ?>]]></STUDENT:studiengang_kz>
<STUDENT:anrede><![CDATA[<?php echo $student->anrede; ?>]]></STUDENT:anrede>
<STUDENT:svnr><![CDATA[<?php echo $student->svnr; ?>]]></STUDENT:svnr>
<STUDENT:ersatzkennzeichen><![CDATA[<?php echo $student->ersatzkennzeichen; ?>]]></STUDENT:ersatzkennzeichen>
<STUDENT:familienstand><![CDATA[<?php echo $student->familienstand; ?>]]></STUDENT:familienstand>
<STUDENT:geschlecht><![CDATA[<?php echo $student->geschlecht; ?>]]></STUDENT:geschlecht>
<STUDENT:anzahlkinder><![CDATA[<?php echo $student->anzahlkinder; ?>]]></STUDENT:anzahlkinder>
<STUDENT:staatsbuergerschaft><![CDATA[<?php echo $student->staatsbuergerschaft; ?>]]></STUDENT:staatsbuergerschaft>
<STUDENT:geburtsnation><![CDATA[<?php echo $student->geburtsnation; ?>]]></STUDENT:geburtsnation>
<STUDENT:sprache><![CDATA[<?php echo $student->sprache; ?>]]></STUDENT:sprache>
<STUDENT:prestudent_id><![CDATA[<?php echo $student->prestudent_id; ?>]]></STUDENT:prestudent_id>
</RDF:Description>
</RDF:li>
<?php
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:STUDENT="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/alle">
<?php
function drawStudent($student)
{
global $rdf_url;
?>
<RDF:li>
<RDF:Description id="<?php echo $student->uid; ?>" about="<?php echo $rdf_url.'/'.$student->uid; ?>" >
<STUDENT:uid><![CDATA[<?php echo $student->uid; ?>]]></STUDENT:uid>
<STUDENT:person_id><![CDATA[<?php echo $student->person_id; ?>]]></STUDENT:person_id>
<STUDENT:titelpre><![CDATA[<?php echo $student->titelpre; ?>]]></STUDENT:titelpre>
<STUDENT:titelpost><![CDATA[<?php echo $student->titelpost; ?>]]></STUDENT:titelpost>
<STUDENT:vornamen><![CDATA[<?php echo $student->vornamen ?>]]></STUDENT:vornamen>
<STUDENT:vorname><![CDATA[<?php echo $student->vorname ?>]]></STUDENT:vorname>
<STUDENT:nachname><![CDATA[<?php echo $student->nachname ?>]]></STUDENT:nachname>
<STUDENT:matrikelnummer><![CDATA[<?php echo $student->matrikelnr ?>]]></STUDENT:matrikelnummer>
<STUDENT:geburtsdatum><![CDATA[<?php echo $student->gebdatum ?>]]></STUDENT:geburtsdatum>
<STUDENT:geburtsdatum_iso><![CDATA[<?php echo $student->gebdatum; ?>]]></STUDENT:geburtsdatum_iso>
<STUDENT:alias><![CDATA[<?php echo $student->alias ?>]]></STUDENT:alias>
<STUDENT:homepage><![CDATA[<?php echo $student->homepage ?>]]></STUDENT:homepage>
<STUDENT:aktiv><![CDATA[<?php echo ($student->aktiv?'true':'false') ?>]]></STUDENT:aktiv>
<STUDENT:gebort><![CDATA[<?php echo $student->gebort; ?>]]></STUDENT:gebort>
<STUDENT:gebzeit><![CDATA[<?php echo $student->gebzeit; ?>]]></STUDENT:gebzeit>
<STUDENT:foto><![CDATA[<?php echo $student->foto; ?>]]></STUDENT:foto>
<STUDENT:anmerkungen><![CDATA[<?php echo $student->anmerkungen; ?>]]></STUDENT:anmerkungen>
<STUDENT:updateamum><![CDATA[<?php echo $student->updateamum; ?>]]></STUDENT:updateamum>
<STUDENT:updatevon><![CDATA[<?php echo $student->updatevon; ?>]]></STUDENT:updatevon>
<STUDENT:semester><![CDATA[<?php echo $student->semester; ?>]]></STUDENT:semester>
<STUDENT:verband><![CDATA[<?php echo $student->verband; ?>]]></STUDENT:verband>
<STUDENT:gruppe><![CDATA[<?php echo $student->gruppe; ?>]]></STUDENT:gruppe>
<STUDENT:studiengang_kz><![CDATA[<?php echo $student->studiengang_kz; ?>]]></STUDENT:studiengang_kz>
<STUDENT:anrede><![CDATA[<?php echo $student->anrede; ?>]]></STUDENT:anrede>
<STUDENT:svnr><![CDATA[<?php echo $student->svnr; ?>]]></STUDENT:svnr>
<STUDENT:ersatzkennzeichen><![CDATA[<?php echo $student->ersatzkennzeichen; ?>]]></STUDENT:ersatzkennzeichen>
<STUDENT:familienstand><![CDATA[<?php echo $student->familienstand; ?>]]></STUDENT:familienstand>
<STUDENT:geschlecht><![CDATA[<?php echo $student->geschlecht; ?>]]></STUDENT:geschlecht>
<STUDENT:anzahlkinder><![CDATA[<?php echo $student->anzahlkinder; ?>]]></STUDENT:anzahlkinder>
<STUDENT:staatsbuergerschaft><![CDATA[<?php echo $student->staatsbuergerschaft; ?>]]></STUDENT:staatsbuergerschaft>
<STUDENT:geburtsnation><![CDATA[<?php echo $student->geburtsnation; ?>]]></STUDENT:geburtsnation>
<STUDENT:sprache><![CDATA[<?php echo $student->sprache; ?>]]></STUDENT:sprache>
<STUDENT:prestudent_id><![CDATA[<?php echo $student->prestudent_id; ?>]]></STUDENT:prestudent_id>
</RDF:Description>
</RDF:li>
<?php
}
if(isset($uid))
drawStudent($student);
else
foreach ($studenten as $student)
drawStudent($student);
echo "</RDF:Seq>\n</RDF:RDF>";
}
?>
</RDF:Seq>
</RDF:RDF>
else
{
//XML
$uids = split(';',$uid);
echo '<studenten>';
foreach ($uids as $uid)
{
if($uid!='')
{
$student = new student($conn);
$student->load($uid);
$studiengang = new studiengang($conn);
$studiengang->load($student->studiengang_kz);
$typ='';
switch($studiengang->typ)
{
case 'd': $typ = 'FH-Diplom-Studiengang';
break;
case 'm': $typ = 'FH-Master-Studiengang';
break;
case 'b': $typ = 'FH-Bachelor-Studiengang';
break;
default: $typ = 'FH-Studiengang';
}
$qry = "SELECT * FROM campus.vw_benutzer JOIN public.tbl_benutzerfunktion USING(uid) WHERE funktion_kurzbz='rek'";
$rektor = '';
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$rektor = $row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost;
}
}
$studiengbeginn = '';
$studiensemester_kurzbz='';
$qry = "SELECT * FROM public.tbl_prestudentrolle JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE prestudent_id='$student->prestudent_id' ORDER BY datum LIMIT 1";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
$studienbeginn = $row->start;
$studiensemester = $row->studiensemester_kurzbz;
}
}
echo '
<student>
<uid><![CDATA['.$student->uid.']]></uid>
<person_id><![CDATA['.$student->person_id.']]></person_id>
<titelpre><![CDATA['.$student->titelpre.']]></titelpre>
<titelpost><![CDATA['.$student->titelpost.']]></titelpost>
<vornamen><![CDATA['.$student->vornamen.']]></vornamen>
<vorname><![CDATA['.$student->vorname.']]></vorname>
<nachname><![CDATA['.$student->nachname.']]></nachname>
<matrikelnummer><![CDATA['.$student->matrikelnr.']]></matrikelnummer>
<geburtsdatum><![CDATA['.$student->gebdatum.']]></geburtsdatum>
<geburtsdatum_iso><![CDATA['.$student->gebdatum.']]></geburtsdatum_iso>
<semester><![CDATA['.$student->semester.']]></semester>
<verband><![CDATA['.$student->verband.']]></verband>
<gruppe><![CDATA['.$student->gruppe.']]></gruppe>
<studiengang_kz><![CDATA['.sprintf("%04d",$student->studiengang_kz).']]></studiengang_kz>
<studiengang_bezeichnung><![CDATA['.$studiengang->bezeichnung.']]></studiengang_bezeichnung>
<studiengang_art><![CDATA['.$typ.']]></studiengang_art>
<anrede><![CDATA['.$student->anrede.']]></anrede>
<svnr><![CDATA['.$student->svnr.']]></svnr>
<ersatzkennzeichen><![CDATA['.$student->ersatzkennzeichen.']]></ersatzkennzeichen>
<familienstand><![CDATA['.$student->familienstand.']]></familienstand>
<rektor><![CDATA['.$rektor.']]></rektor>
<studienbeginn><![CDATA['.$datum_obj->convertISODate($studienbeginn).']]></studienbeginn>
<studiensemester><![CDATA['.$studiensemester.']]></studiensemester>
<tagesdatum><![CDATA['.date('d.m.Y').']]></tagesdatum>
</student>';
}
}
echo '</studenten>';
}
?>
+90
View File
@@ -0,0 +1,90 @@
<?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>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/zeugnisnote.class.php');
require_once('../include/datum.class.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$user = get_uid();
loadVariables($conn, $user);
$datum = new datum();
if(isset($_GET['uid']))
$uid = $_GET['uid'];
else
$uid = null;
if(isset($_GET['lehrveranstaltung_id']))
$lehrveranstaltung_id = $_GET['lehrveranstaltung_id'];
else
$lehrveranstaltung_id = null;
$rdf_url='http://www.technikum-wien.at/zeugnisnote';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NOTE="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
//Daten holen
$obj = new zeugnisnote($conn);
$obj->getZeugnisnoten($lehrveranstaltung_id, $uid, $semester_aktuell);
foreach ($obj->result as $row)
{
echo '
<RDF:li>
<RDF:Description id="'.$row->lehrveranstaltung_id.'/'.$row->student_uid.'/'.$row->studiensemester_kurzbz.'" about="'.$rdf_url.'/'.$row->lehrveranstaltung_id.'/'.$row->student_uid.'/'.$row->studiensemester_kurzbz.'" >
<NOTE:lehrveranstaltung_id><![CDATA['.$row->lehrveranstaltung_id.']]></NOTE:lehrveranstaltung_id>
<NOTE:student_uid><![CDATA['.$row->student_uid.']]></NOTE:student_uid>
<NOTE:studiensemester_kurzbz><![CDATA['.$row->studiensemester_kurzbz.']]></NOTE:studiensemester_kurzbz>
<NOTE:note><![CDATA['.$row->note.']]></NOTE:note>
<NOTE:uebernahmedatum_iso><![CDATA['.$row->uebernahmedatum.']]></NOTE:uebernahmedatum_iso>
<NOTE:uebernahmedatum><![CDATA['.$datum->convertISODate($row->uebernahmedatum).']]></NOTE:uebernahmedatum>
<NOTE:benotungsdatum_iso><![CDATA['.$row->benotungsdatum.']]></NOTE:benotungsdatum_iso>
<NOTE:benotungsdatum><![CDATA['.$datum->convertISODate($row->benotungsdatum).']]></NOTE:benotungsdatum>
<NOTE:note_bezeichnung><![CDATA['.$row->note_bezeichnung.']]></NOTE:note_bezeichnung>
<NOTE:lehrveranstaltung_bezeichnung><![CDATA['.$row->lehrveranstaltung_bezeichnung.']]></NOTE:lehrveranstaltung_bezeichnung>
</RDF:Description>
</RDF:li>';
}
?>
</RDF:Seq>
</RDF:RDF>