mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
- Binding fuer Datumsfeld
- Notenansicht Erstversion - Anpassung der Felder bei Konto XML - XML fuer Inskriptionsbestaetigung erstellt
This commit is contained in:
+18
-9
@@ -14,12 +14,8 @@ zusätzlich bei allen RDF-Files.</li>
|
||||
<li>Aufgenommener, Warteliste, Absage ->Button</li>
|
||||
<li>Ab- Unterbrecher -> 0.Semester für alle Stg.</li>
|
||||
<li>->[Student] für ehem. Unterbrecher</li>
|
||||
<li>SVNr/Ersatzkennzeichen, GebDatum und Stg bei
|
||||
Zahlungsbestätigung</li>
|
||||
<li>Inskriptionsbestätigung -> 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ätigung</li>
|
||||
<hr>
|
||||
<h2>Dokumente</h2>
|
||||
<ul>
|
||||
<li> Zahlungsbestätigung: Ein Button beim Konto liefert ein PDF
|
||||
für die Zahlungsbestätigung. (Button ist vorhanden XSLT fehlt
|
||||
noch) </li>
|
||||
|
||||
<li> Inskriptionsbestätigung: Im Hauptmenü Dokumente
|
||||
wählbar. Wenn mehrere Studenten gewä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ätigung: Ein Button beim Konto liefert ein PDF
|
||||
für die Zahlungsbestätigung. (Button ist vorhanden XSLT fehlt
|
||||
noch) <br>
|
||||
<br>
|
||||
</li>
|
||||
<li>Bericht statt Statistik<br>
|
||||
06.06.2007 oesi <br><br>
|
||||
</li>
|
||||
<li>Inskriptionsbestätigung -> mehrere Seiten im PDF
|
||||
<br>
|
||||
06.06.2007 oesi<br><br>
|
||||
</li>
|
||||
<li>SVNr/Ersatzkennzeichen, GebDatum und Stg bei
|
||||
Zahlungsbestätigung<br>
|
||||
06.06.2007 oesu <br><br>
|
||||
</li>
|
||||
<li> Lehraufträge: PDF mit allen Lektoren. Studiengang muss
|
||||
gewählt sein. <br>
|
||||
01.06.2007 oesi<br>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
box.Datum
|
||||
{
|
||||
-moz-binding: url('bindings.xml.php#Datum');
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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 [
|
||||
|
||||
@@ -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'];
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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="<=" 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>
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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)):'');
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -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
@@ -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>";
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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>';
|
||||
}
|
||||
?>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user