Pruefungs Tab

This commit is contained in:
Andreas Österreicher
2007-06-21 15:32:46 +00:00
parent 868bbdce30
commit 711447c784
5 changed files with 572 additions and 48 deletions
+3
View File
@@ -35,6 +35,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentkontooverlay.xul.ph
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"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentpruefungoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
@@ -186,6 +187,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.ph
<tab id="student-tab-io" label="Incoming/Outgoing" />
<tab id="student-tab-noten" label="Noten" />
<tab id="student-tab-kontakt" label="Kontakt" />
<tab id="student-tab-pruefung" label="Prüfung" />
</tabs>
<tabpanels id="student-tabpanels-main" flex="1">
<vbox id="student-detail" style="margin-top:10px;" />
@@ -196,6 +198,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.ph
<vbox id="student-io" style="margin-top:10px;" />
<vbox id="student-noten" style="margin-top:10px;" />
<iframe id="student-kontakt" src="" style="margin-top:10px;" />
<vbox id="student-pruefung" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
+105 -2
View File
@@ -42,6 +42,8 @@ var StudentNotenTreeDatasource; //Datasource des Noten Trees
var StudentNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentLvGesamtNotenTreeDatasource; //Datasource des Noten Trees
var StudentLvGesamtNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentPruefungTreeDatasource; //Datasource des Pruefung Trees
var StudentPruefungSelectID=null; //ID der Pruefung die nach dem Refresh markiert werden soll
// ********** Observer und Listener ************* //
@@ -252,6 +254,39 @@ var StudentLvGesamtNotenTreeListener =
}
};
// ****
// * Observer fuer Pruefung Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentPruefungTreeSinkObserver =
{
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-pruefung-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var StudentPruefungTreeListener =
{
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(StudentPruefungTreeSelectID,10);
}
};
// ***************** KEY Events ************************* //
// ****
@@ -1016,8 +1051,38 @@ function StudentAuswahl()
StudentLvGesamtNotenTreeDatasource.addXMLSinkObserver(StudentLvGesamtNotenTreeSinkObserver);
lvgesamtnotentree.builder.addListener(StudentLvGesamtNotenTreeListener);
// KONTAKTE
// ***** KONTAKTE *****
document.getElementById('student-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
// ***** Pruefungen *****
pruefungtree = document.getElementById('student-pruefung-tree');
url='<?php echo APP_ROOT;?>rdf/pruefung.rdf.php?student_uid='+uid+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = pruefungtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
pruefungtree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
pruefungtree.builder.rebuild();
try
{
StudentPruefungTreeDatasource.removeXMLSinkObserver(StudentPruefungTreeSinkObserver);
pruefungtree.builder.removeListener(StudentPruefungTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentPruefungTreeDatasource = rdfService.GetDataSource(url);
StudentPruefungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentPruefungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
pruefungtree.database.AddDataSource(StudentPruefungTreeDatasource);
StudentPruefungTreeDatasource.addXMLSinkObserver(StudentPruefungTreeSinkObserver);
pruefungtree.builder.addListener(StudentPruefungTreeListener);
}
// ****
@@ -2579,4 +2644,42 @@ function StudentNotenMove()
SetStatusBarText('Daten wurden gespeichert');
StudentNoteDetailDisableFields(true);
}
}
}
// **************** PRUEFUNG ************** //
// ****
// * Selectiert den Pruefung Eintrag nachdem der Tree
// * rebuildet wurde.
// ****
function StudentPruefungTreeSelectID()
{
var tree=document.getElementById('student-pruefung-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(StudentPruefungSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id";
var pruefung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(pruefung_id == StudentPruefungSelectLehrveranstaltugnID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentPruefungSelectID=null;
return true;
}
}
}
}
@@ -0,0 +1,231 @@
<?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="StudentPruefung"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<!-- Pruefung Overlay -->
<vbox id="student-pruefung" style="margin:0px;" flex="1">
<popupset>
<popup id="student-pruefung-tree-popup">
<menuitem label="Entfernen" oncommand="StudentPruefungDelete();" id="student-pruefung-tree-popup-delete" hidden="false"/>
</popup>
</popupset>
<hbox flex="1">
<grid id="student-pruefung-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<tree id="student-pruefung-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/pruefung/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentPruefungAuswahl()"
context="student-pruefung-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-pruefung-tree-datum" label="Datum" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#datum_iso"/>
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-lehreinheit_bezeichnung" label="Lehreinheit" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#lehreinheit_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-note_bezeichnung" label="Note" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/konto/rdf#note_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-anmerkung" label="Anmerkung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#anmerkung" />
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-typ" label="Typ" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#pruefungstyp_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-pruefung_id" label="PruefungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#pruefung_id" />
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#lehreinheit_id" />
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-student_uid" label="StudentUID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#student_uid" />
<splitter class="tree-splitter"/>
<treecol id="student-pruefung-tree-mitarbeiter_uid" label="mitarbeiter_uid" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/pruefung/rdf#mitarbeiter_uid" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#datum"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#lehrveranstaltung_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#note_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#pruefungstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#pruefung_id"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#student_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/pruefung/rdf#mitarbeiter_uid"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<hbox>
<button id="student-pruefung-button-neu" label="Neu" oncommand="StudentPruefungNeu();" disabled="true"/>
<button id="student-pruefung-button-loeschen" label="Loeschen" oncommand="StudentPruefungDelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="Pruefung_id" control="student-pruefung-textbox-pruefung_id"/>
<textbox id="student-pruefung-textbox-pruefung_id" disabled="true"/>
</vbox>
<groupbox id="student-pruefung-groupbox" flex="1">
<caption label="Details"/>
<grid id="student-pruefung-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Lehrveranstaltung" control="student-pruefung-menulist-lehrveranstaltung"/>
<menulist id="student-pruefung-menulist-lehrveranstaltung" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#lehrveranstaltung_id"
label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Lehreinheit" control="student-pruefung-menulist-lehreinheit"/>
<menulist id="student-pruefung-menulist-lehreinheit" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehreinheit/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehreinheit/rdf#lehreinheit_id"
label="rdf:http://www.technikum-wien.at/lehreinheit/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Mitarbeiter" control="student-pruefung-menulist-mitarbeiter"/>
<menulist id="student-pruefung-menulist-mitarbeiter" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitarbeiter_uid"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Typ" control="student-pruefung-menulist-typ"/>
<menulist id="student-pruefung-menulist-typ" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/pruefungstyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#pruefungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Note" control="student-pruefung-menulist-note"/>
<menulist id="student-pruefung-menulist-note" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Datum" control="student-pruefung-textbox-datum"/>
<hbox>
<box class="Datum" id="student-pruefung-textbox-datum" disabled="true"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Anmerkung" control="student-pruefung-textbox-anmerkung"/>
<textbox id="student-pruefung-textbox-anmerkung" disabled="true" maxlength="256"/>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="student-pruefung-button-speichern" oncommand="StudentPruefungDetailSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</groupbox>
</vbox>
</row>
</rows>
</grid>
</hbox>
<spacer flex="1" />
</vbox>
</overlay>
+130 -46
View File
@@ -41,32 +41,37 @@ class pruefung
var $updatevon; // varchar(16)
var $ext_id; // bigint
var $lehrveranstaltung_bezeichnung;
var $note_bezeichnung;
var $pruefungstyp_beschreibung;
// **************************************************************
// * Konstruktor
// * @param conn Connection zur Datenbank
// *
// * pruefung_id ID der zu ladenden Pruefung
// * unicode Wenn true, dann wird das Encoding auf UNICODE
// * gesetzt wenn false dann auf LATIN9
// **************************************************************
function pruefung($conn, $pruefung_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
if($unicode!=null)
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
if(is_numeric($pruefung_id))
$this->load($pruefung_id);
if($pruefung_id!=null)
$this->load($pruefung_id);
}
// *****************************************************
@@ -152,30 +157,43 @@ class pruefung
return true;
}
/**
* Loescht einen Studiengang
* @param $stg_id ID des zu loeschenden Studienganges
* @return true wenn ok, false im Fehlerfall
*/
function delete($stg_id)
// ****************************************************
// * Loescht eine Pruefung
// * @param $preufung_id ID der zu loeschenden Pruefung
// * @return true wenn ok, false im Fehlerfall
// ****************************************************
function delete($pruefung_id)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
if(!is_numeric($pruefung_id))
{
$this->errormsg = 'Pruefung_id ist ungueltig';
return false;
}
$qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id='$pruefung_id'";
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen der Pruefung';
return false;
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
// *******************************************
// * Prueft die Gueltigkeit der Variablen
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function checkvars()
{
$this->anmerkung = str_replace("'",'´',$this->anmerkung);
$this->insertvon = str_replace("'",'´',$this->insertvon);
$this->updatevon = str_replace("'",'´',$this->updatevon);
{
//Laenge Pruefen
if(strlen($this->anmerkung)>256)
{
@@ -195,10 +213,11 @@ class pruefung
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
// *******************************************
// * Speichert den aktuellen Datensatz
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function save()
{
//Gueltigkeit der Variablen pruefen
@@ -209,16 +228,8 @@ class pruefung
if($this->new)
{
//Pruefen ob pruefung_id gueltig ist
/*
if(!is_numeric($this->pruefung_id))
{
$this->errormsg = 'pruefung_id ungueltig! ('.$this->pruefung_id.'/'.$this->ext_id.')';
return false;
}
*/
//Neuen Datensatz anlegen
$qry = 'INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES ('.
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES ('.
$this->addslashes($this->lehreinheit_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
@@ -239,7 +250,7 @@ class pruefung
//Pruefen ob pruefung_id gueltig ist
if(!is_numeric($this->pruefung_id))
{
$this->errormsg = 'pruefung_id ungueltig.';
$this->errormsg = 'pruefung_id ist ungueltig.';
return false;
}
@@ -261,6 +272,32 @@ class pruefung
//echo $qry;
if(pg_query($this->conn, $qry))
{
if($this->new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->pruefung_id = $row->id;
pg_query($this->conn, 'COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
return false;
}
}
return true;
}
else
@@ -270,6 +307,53 @@ class pruefung
}
}
// *****************************************
// * Liefert alle Pruefungen eines Studenten
// * @param student_uid
// * @return true wenn ok, false wenn Fehler
// *****************************************
function getPruefungen($student_uid)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE student_uid='".addslashes($student_uid)."'
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz
ORDER BY datum";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new pruefung($this->conn, null, null);
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->student_uid = $row->student_uid;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->note = $row->note;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
$obj->datum = $row->datum;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+103
View File
@@ -0,0 +1,103 @@
<?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");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../include/pruefung.class.php');
require_once('../include/datum.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
if(isset($_GET['student_uid']))
$student_uid = $_GET['student_uid'];
else
$student_uid = '';
if(isset($_GET['pruefung_id']))
$pruefung_id = $_GET['pruefung_id'];
else
$pruefung_id = '';
$datum_obj = new datum();
$pruefung = new pruefung($conn, null, true);
$rdf_url='http://www.technikum-wien.at/pruefung';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:PRUEFUNG="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if($pruefung_id!='')
{
$pruefung->load($pruefung_id);
draw_rdf($pruefung);
}
else
{
$pruefung->getPruefungen($student_uid);
foreach ($pruefung->result as $row)
draw_rdf($row);
}
function draw_rdf($row)
{
global $rdf_url, $datum_obj;
echo '
<RDF:li>
<RDF:Description id="'.$row->pruefung_id.'" about="'.$rdf_url.'/'.$row->pruefung_id.'" >
<PRUEFUNG:pruefung_id><![CDATA['.$row->pruefung_id.']]></PRUEFUNG:pruefung_id>
<PRUEFUNG:lehreinheit_id><![CDATA['.$row->lehreinheit_id.']]></PRUEFUNG:lehreinheit_id>
<PRUEFUNG:student_uid><![CDATA['.$row->student_uid.']]></PRUEFUNG:student_uid>
<PRUEFUNG:mitarbeiter_uid><![CDATA['.$row->mitarbeiter_uid.']]></PRUEFUNG:mitarbeiter_uid>
<PRUEFUNG:note><![CDATA['.$row->note.']]></PRUEFUNG:note>
<PRUEFUNG:pruefungstyp_kurzbz><![CDATA['.$row->pruefungstyp_kurzbz.']]></PRUEFUNG:pruefungstyp_kurzbz>
<PRUEFUNG:datum><![CDATA['.$datum_obj->convertISODate($row->datum).']]></PRUEFUNG:datum>
<PRUEFUNG:datum_iso><![CDATA['.$row->datum.']]></PRUEFUNG:datum_iso>
<PRUEFUNG:anmerkung><![CDATA['.$row->anmerkung.']]></PRUEFUNG:anmerkung>
<PRUEFUNG:note_bezeichnung><![CDATA['.$row->note_bezeichnung.']]></PRUEFUNG:note_bezeichnung>
<PRUEFUNG:lehrveranstaltung_bezeichnung><![CDATA['.$row->lehrveranstaltung_bezeichnung.']]></PRUEFUNG:lehrveranstaltung_bezeichnung>
<PRUEFUNG:pruefungstyp_beschreibung><![CDATA['.$row->pruefungstyp_beschreibung.']]></PRUEFUNG:pruefungstyp_beschreibung>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>