mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-02 19:39:27 +00:00
Pruefungs Tab
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user