Projektarbeit/Projektbetreuer MODUL FAS Online

This commit is contained in:
Andreas Österreicher
2007-07-09 15:14:28 +00:00
parent 9b177e3868
commit 3745744376
14 changed files with 2139 additions and 259 deletions
+2 -2
View File
@@ -419,10 +419,10 @@
<td width="10" nowrap>&nbsp;</td>
<td nowrap><a href="?Jahresplan" class="MenuItem" onClick="return(js_toggle_container('Jahresplan'));"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Jahresplan</a>
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="Jahresplan" style="display: none">
<tr>
<!--<tr>
<td width="10" nowrap>&nbsp;</td>
<td nowrap><a class="Item" href="private/info/jahresplan_WS2006.html" target="content"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;WS 2006</a></td>
</tr>
</tr>-->
<tr>
<td width="10" nowrap>&nbsp;</td>
<td nowrap><a class="Item" href="private/info/jahresplan_SS2007.html" target="content"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;SS 2007</a></td>
+160
View File
@@ -50,6 +50,8 @@ require_once('../../include/zeugnisnote.class.php');
require_once('../../include/lvgesamtnote.class.php');
require_once('../../include/pruefung.class.php');
require_once('../../include/abschlusspruefung.class.php');
require_once('../../include/projektarbeit.class.php');
require_once('../../include/projektbetreuer.class.php');
$user = get_uid();
@@ -1500,6 +1502,164 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='saveprojektarbeit') // **** Projektarbeit **** //
{
$projektarbeit = new projektarbeit($conn, null, true);
if($_POST['neu']=='false')
{
if($projektarbeit->load($_POST['projektarbeit_id']))
{
$projektarbeit->new = false;
}
else
{
$error = true;
$return = false;
$errormsg = $projektarbeit->errormsg;
}
}
else
{
$projektarbeit->new = true;
$projektarbeit->insertamum = date('Y-m-d H:i:s');
$projektarbeit->insertvon = $user;
}
$projektarbeit->projekttyp_kurzbz = $_POST['projekttyp_kurzbz'];
$projektarbeit->titel = $_POST['titel'];
$projektarbeit->lehreinheit_id = $_POST['lehreinheit_id'];
$projektarbeit->student_uid = $_POST['student_uid'];
$projektarbeit->firma_id = $_POST['firma_id'];
$projektarbeit->note = $_POST['note'];
$projektarbeit->punkte = str_replace(',','.',$_POST['punkte']);
$projektarbeit->beginn = $_POST['beginn'];
$projektarbeit->ende = $_POST['ende'];
$projektarbeit->faktor = str_replace(',','.',$_POST['faktor']);
$projektarbeit->freigegeben = ($_POST['freigegeben']=='true'?true:false);
$projektarbeit->gesperrtbis = $_POST['gesperrtbis'];
$projektarbeit->stundensatz = str_replace(',','.',$_POST['stundensatz']);
$projektarbeit->gesamtstunden = $_POST['gesamtstunden'];
$projektarbeit->themenbereich = $_POST['themenbereich'];
$projektarbeit->anmerkung = $_POST['anmerkung'];
$projektarbeit->updateamum = date('Y-m-d H:i:s');
$projektarbeit->updatevon = $user;
if(!$error)
{
if($projektarbeit->save())
{
$return = true;
$data = $projektarbeit->projektarbeit_id;
}
else
{
$return = false;
$errormsg = $projektarbeit->errormsg;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='deleteprojektarbeit')
{
//Loescht einen Projektarbeit Eintrag
if(isset($_POST['projektarbeit_id']) && is_numeric($_POST['projektarbeit_id']))
{
$projektarbeit = new projektarbeit($conn);
if($projektarbeit->delete($_POST['projektarbeit_id']))
{
$return = true;
}
else
{
$errormsg = $projektarbeit->errormsg;
$return = false;
}
}
else
{
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='saveprojektbetreuer') // **** Projektbetreuer **** //
{
$projektbetreuer = new projektbetreuer($conn, null, null, true);
if($_POST['neu']=='false')
{
if($projektbetreuer->load($_POST['person_id_old'], $_POST['projektarbeit_id']))
{
$projektbetreuer->new = false;
}
else
{
$error = true;
$return = false;
$errormsg = $projektbetreuer->errormsg;
}
}
else
{
if($projektbetreuer->load($_POST['person_id'], $_POST['projektarbeit_id']))
{
$error = true;
$errormsg = 'Dieser Betreuer ist bereits zugeteilt';
}
$projektbetreuer->new = true;
$projektbetreuer->insertamum = date('Y-m-d H:i:s');
$projektbetreuer->insertvon = $user;
}
$projektbetreuer->person_id = $_POST['person_id'];
$projektbetreuer->person_id_old = $_POST['person_id_old'];
$projektbetreuer->projektarbeit_id = $_POST['projektarbeit_id'];
$projektbetreuer->note = $_POST['note'];
$projektbetreuer->faktor = str_replace(',','.', $_POST['faktor']);
$projektbetreuer->name = $_POST['name'];
$projektbetreuer->punkte = str_replace(',','.', $_POST['punkte']);
$projektbetreuer->stunden = str_replace(',','.', $_POST['stunden']);
$projektbetreuer->stundensatz = str_replace(',','.', $_POST['stundensatz']);
$projektbetreuer->betreuerart_kurzbz = $_POST['betreuerart_kurzbz'];
$projektbetreuer->updateamum = date('Y-m-d H:i:s');
$projektbetreuer->updatevon = $user;
if(!$error)
{
if($projektbetreuer->save())
{
$return = true;
}
else
{
$return = false;
$errormsg = $projektbetreuer->errormsg;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='deleteprojektbetreuer')
{
//Loescht einen Projektbetreuer Eintrag
if(isset($_POST['person_id']) && is_numeric($_POST['person_id']))
{
$projektbetreuer = new projektbetreuer($conn, null, null, true);
if($projektbetreuer->delete($_POST['person_id'], $_POST['projektarbeit_id']))
{
$return = true;
}
else
{
$errormsg = $projektbetreuer->errormsg;
$return = false;
}
}
else
{
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
else
{
$return = false;
@@ -397,7 +397,7 @@ function StudentAbschlusspruefungSpeichern()
if(sponsion!='' && !CheckDatum(sponsion))
{
alert('Datum ist ungueltig');
alert('Sponsionsdatum ist ungueltig');
return false;
}
+3
View File
@@ -37,6 +37,7 @@ 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"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentabschlusspruefungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentprojektarbeitoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
@@ -190,6 +191,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentabschlusspruefungov
<tab id="student-tab-kontakt" label="Kontakt" />
<tab id="student-tab-pruefung" label="Prüfung" />
<tab id="student-tab-abschlusspruefung" label="AbschlussPrüfung" />
<tab id="student-tab-projektarbeit" label="Projektarbeit" />
</tabs>
<tabpanels id="student-tabpanels-main" flex="1">
<vbox id="student-detail" style="margin-top:10px;" />
@@ -202,6 +204,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentabschlusspruefungov
<iframe id="student-kontakt" src="" style="margin-top:10px;" />
<vbox id="student-pruefung" style="margin-top:10px;" />
<vbox id="student-abschlusspruefung" style="margin-top:10px;" />
<vbox id="student-projektarbeit" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
+5
View File
@@ -1137,6 +1137,11 @@ function StudentAuswahl()
// ****** Abschlusspruefung ******** //
StudentAbschlusspruefungDetailDisableFields(true);
StudentAbschlusspruefungTreeLoad(uid);
// ****** Projektarbeit ********* //
StudentProjektarbeitDetailDisableFields(true);
StudentProjektbetreuerDisableFields(true);
StudentProjektarbeitTreeLoad(uid);
}
// ****
+861
View File
@@ -0,0 +1,861 @@
<?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>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// *********** Globale Variablen *****************//
var StudentProjektarbeitSelectID=null; //Id der Projektarbeit die nach dem Rebuild markiert werden soll
var StudentProjektarbeitTreeDatasource=null; //Datasource des Projektarbeit Trees
var StudentProjektbetreuerTreeDatasource=null; //Datasource des Projektbetreuer Trees
var StudentProjektbetreuerSelectPersonID=null;
var StudentProjektbetreuerSelectProjektarbeitID=null;
// ********** Observer und Listener ************* //
// ****
// * Observer fuer Projektarbeit Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var StudentProjektarbeitTreeSinkObserver =
{
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-projektarbeit-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird die Projektarbeit wieder
// * markiert
// ****
var StudentProjektarbeitTreeListener =
{
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(StudentProjektarbeitTreeSelectID,10);
}
};
// ****
// * Observer fuer Projektbetreuer Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var StudentProjektbetreuerTreeSinkObserver =
{
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-projektbetreuer-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird die Projektbetreuer wieder
// * markiert
// ****
var StudentProjektbetreuerTreeListener =
{
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(StudentProjektbetreuerTreeSelectID,10);
}
};
// ****************** FUNKTIONEN ************************** //
// ****
// * Laedt die Daten fuer den Projektarbeiten Tree
// ****
function StudentProjektarbeitTreeLoad(uid)
{
var tree = document.getElementById('student-projektarbeit-tree');
var url='<?php echo APP_ROOT;?>rdf/projektarbeit.rdf.php?student_uid='+uid+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
tree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentProjektarbeitTreeDatasource = rdfService.GetDataSource(url);
StudentProjektarbeitTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentProjektarbeitTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(StudentProjektarbeitTreeDatasource);
StudentProjektarbeitTreeDatasource.addXMLSinkObserver(StudentProjektarbeitTreeSinkObserver);
tree.builder.addListener(StudentProjektarbeitTreeListener);
StudentProjektarbeitDisableFields(false);
}
// ****
// * De-/Aktiviert die ProjektarbeitFelder
// ****
function StudentProjektarbeitDisableFields(val)
{
document.getElementById('student-projektarbeit-button-neu').disabled=val;
document.getElementById('student-projektarbeit-button-loeschen').disabled=val;
if(val)
StudentProjektarbeitDetailDisableFields(val);
}
// ****
// * De-/Aktiviert die ProjektarbeitDetailFelder
// ****
function StudentProjektarbeitDetailDisableFields(val)
{
document.getElementById('student-projektarbeit-button-speichern').disabled=val;
document.getElementById('student-projektarbeit-menulist-projekttyp').disabled=val;
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').disabled=val;
document.getElementById('student-projektarbeit-menulist-lehreinheit').disabled=val;
document.getElementById('student-projektarbeit-menulist-firma').disabled=val;
document.getElementById('student-projektarbeit-menulist-note').disabled=val;
document.getElementById('student-projektarbeit-textbox-titel').disabled=val;
document.getElementById('student-projektarbeit-textbox-punkte').disabled=val;
document.getElementById('student-projektarbeit-datum-beginn').disabled=val;
document.getElementById('student-projektarbeit-datum-ende').disabled=val;
document.getElementById('student-projektarbeit-textbox-faktor').disabled=val;
document.getElementById('student-projektarbeit-checkbox-freigegeben').disabled=val;
document.getElementById('student-projektarbeit-datum-gesperrtbis').disabled=val;
document.getElementById('student-projektarbeit-textbox-stundensatz').disabled=val;
document.getElementById('student-projektarbeit-textbox-gesamtstunden').disabled=val;
document.getElementById('student-projektarbeit-textbox-themenbereich').disabled=val;
document.getElementById('student-projektarbeit-textbox-anmerkung').disabled=val;
if(val)
StudentProjektarbeitResetFields();
}
// ****
// * Resetet die ProjektarbeitDetailFelder
// ****
function StudentProjektarbeitResetFields()
{
document.getElementById('student-projektarbeit-textbox-titel').value='';
document.getElementById('student-projektarbeit-textbox-punkte').value='0.0';
document.getElementById('student-projektarbeit-datum-beginn').value='';
document.getElementById('student-projektarbeit-datum-ende').value='';
document.getElementById('student-projektarbeit-textbox-faktor').value='0.0';
document.getElementById('student-projektarbeit-checkbox-freigegeben').checked=false;
document.getElementById('student-projektarbeit-datum-gesperrtbis').value='';
document.getElementById('student-projektarbeit-textbox-stundensatz').value='0.0';
document.getElementById('student-projektarbeit-textbox-gesamtstunden').value='0.0';
document.getElementById('student-projektarbeit-textbox-themenbereich').value='';
document.getElementById('student-projektarbeit-textbox-anmerkung').value='';
}
// *****
// * Markiert einen Datensatz im Tree
// *****
function StudentProjektarbeitTreeSelectID()
{
var tree=document.getElementById('student-projektarbeit-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(StudentProjektarbeitSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-projektarbeit-tree-projektarbeit_id"] : "student-projektarbeit-tree-projektarbeit_id";
var id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(id == StudentProjektarbeitSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentIOSelectID=null;
return true;
}
}
}
}
// ****
// * Laedt die Daten der Projektarbeit zum Bearbeiten
// ****
function StudentProjektarbeitAuswahl()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-projektarbeit-tree');
if (tree.currentIndex==-1) return;
StudentProjektarbeitDetailDisableFields(false);
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-projektarbeit-tree-projektarbeit_id"] : "student-projektarbeit-treecol-projektarbeit_id";
var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/projektarbeit.rdf.php?projektarbeit_id='+projektarbeit_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/projektarbeit/" + projektarbeit_id);
var predicateNS = "http://www.technikum-wien.at/projektarbeit/rdf";
//Daten holen
projekttyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#projekttyp_kurzbz" ));
titel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titel" ));
lehreinheit_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_id" ));
lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" ));
lehreinheit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_stsem" ));
student_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#student_uid" ));
firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
beginn = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beginn" ));
ende = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
faktor = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#faktor" ));
freigegeben = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#freigegeben" ));
gesperrtbis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gesperrtbis" ));
stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
themenbereich = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#themenbereich" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
gesamtstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gesamtstunden" ));
var verband_tree=document.getElementById('tree-verband');
var col = verband_tree.columns ? verband_tree.columns["stg_kz"] : "stg_kz";
var stg_kz=verband_tree.view.getCellText(verband_tree.currentIndex,col);
//Lehrveranstaltung DropDown laden
var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung');
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LvDropDown.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
LvDropDown.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
LvDropDown.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
LvDropDown.database.AddDataSource(datasource);
LvDropDown.builder.rebuild();
// Lehreinheit Drop Down laden
var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit');
url='<?php echo APP_ROOT;?>rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+lehreinheit_stsem+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LeDropDown.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
LeDropDown.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
LeDropDown.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
LeDropDown.database.AddDataSource(datasource);
LeDropDown.builder.rebuild();
//Werte setzen
document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=projektarbeit_id;
document.getElementById('student-projektarbeit-menulist-projekttyp').value=projekttyp_kurzbz;
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value=lehrveranstaltung_id;
document.getElementById('student-projektarbeit-menulist-lehreinheit').value=lehreinheit_id;
document.getElementById('student-projektarbeit-textbox-titel').value=titel;
document.getElementById('student-projektarbeit-menulist-firma').value=firma_id;
document.getElementById('student-projektarbeit-menulist-note').value=note;
document.getElementById('student-projektarbeit-textbox-punkte').value=punkte;
document.getElementById('student-projektarbeit-datum-beginn').value=beginn;
document.getElementById('student-projektarbeit-datum-ende').value=ende;
document.getElementById('student-projektarbeit-textbox-faktor').value=faktor;
if(freigegeben=='Ja')
document.getElementById('student-projektarbeit-checkbox-freigegeben').checked=true;
else
document.getElementById('student-projektarbeit-checkbox-freigegeben').checked=false;
document.getElementById('student-projektarbeit-datum-gesperrtbis').value=gesperrtbis;
document.getElementById('student-projektarbeit-textbox-stundensatz').value=stundensatz;
document.getElementById('student-projektarbeit-textbox-gesamtstunden').value=gesamtstunden;
document.getElementById('student-projektarbeit-textbox-themenbereich').value=themenbereich;
document.getElementById('student-projektarbeit-textbox-anmerkung').value=anmerkung;
document.getElementById('student-projektarbeit-checkbox-neu').checked=false;
// **** BETREUER **** //
var tree = document.getElementById('student-projektbetreuer-tree');
var url='<?php echo APP_ROOT;?>rdf/projektbetreuer.rdf.php?projektarbeit_id='+projektarbeit_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
tree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentProjektbetreuerTreeDatasource = rdfService.GetDataSource(url);
StudentProjektbetreuerTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentProjektbetreuerTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(StudentProjektbetreuerTreeDatasource);
StudentProjektbetreuerTreeDatasource.addXMLSinkObserver(StudentProjektbetreuerTreeSinkObserver);
tree.builder.addListener(StudentProjektbetreuerTreeListener);
StudentProjektbetreuerDisableFields(false);
}
// ****
// * Speichert die Projektarbeit Daten
// ****
function StudentProjektarbeitSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
projektarbeit_id = document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value;
projekttyp_kurzbz = document.getElementById('student-projektarbeit-menulist-projekttyp').value;
lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value;
lehreinheit_id = document.getElementById('student-projektarbeit-menulist-lehreinheit').value;
titel = document.getElementById('student-projektarbeit-textbox-titel').value;
firma_id = document.getElementById('student-projektarbeit-menulist-firma').value;
note = document.getElementById('student-projektarbeit-menulist-note').value;
punkte = document.getElementById('student-projektarbeit-textbox-punkte').value;
beginn = document.getElementById('student-projektarbeit-datum-beginn').value;
ende = document.getElementById('student-projektarbeit-datum-ende').value;
faktor = document.getElementById('student-projektarbeit-textbox-faktor').value;
freigegeben = document.getElementById('student-projektarbeit-checkbox-freigegeben').checked;
gesperrtbis = document.getElementById('student-projektarbeit-datum-gesperrtbis').value;
stundensatz = document.getElementById('student-projektarbeit-textbox-stundensatz').value;
gesamtstunden = document.getElementById('student-projektarbeit-textbox-gesamtstunden').value;
themenbereich = document.getElementById('student-projektarbeit-textbox-themenbereich').value;
anmerkung = document.getElementById('student-projektarbeit-textbox-anmerkung').value;
neu = document.getElementById('student-projektarbeit-checkbox-neu').checked;
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
{
alert('Student muss ausgewaehlt sein');
return;
}
var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var student_uid=tree.view.getCellText(tree.currentIndex,col);
//Datum pruefen
if(beginn!='' && !CheckDatum(beginn))
{
alert('Beginn ist ungueltig');
return false;
}
if(ende!='' && !CheckDatum(ende))
{
alert('Ende ist ungueltig');
return false;
}
if(gesperrtbis!='' && !CheckDatum(gesperrtbis))
{
alert('gesperrtbis ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'saveprojektarbeit');
req.add('projektarbeit_id', projektarbeit_id);
req.add('projekttyp_kurzbz', projekttyp_kurzbz );
req.add('titel', titel);
req.add('lehreinheit_id', lehreinheit_id);
req.add('student_uid', student_uid);
req.add('firma_id', firma_id);
req.add('note', note);
req.add('punkte', punkte);
req.add('beginn', beginn);
req.add('ende', ende);
req.add('faktor', faktor);
req.add('freigegeben', freigegeben);
req.add('gesperrtbis', gesperrtbis);
req.add('stundensatz', stundensatz);
req.add('gesamtstunden', gesamtstunden);
req.add('themenbereich', themenbereich);
req.add('anmerkung', anmerkung);
req.add('neu', neu);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentProjektarbeitSelectID=val.dbdml_data;
StudentProjektarbeitTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
StudentProjektarbeitDetailDisableFields(true);
}
}
// ****
// * Aktiviert die Detailfelder zum Neu Anlegen einer Projektarbeit
// ****
function StudentProjektarbeitNeu()
{
document.getElementById('student-projektarbeit-checkbox-neu').checked=true;
document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value='';
StudentProjektarbeitResetFields();
StudentProjektarbeitDetailDisableFields(false);
}
// ****
// * Loescht den markierten Eintrag
// ****
function StudentProjektarbeitLoeschen()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-projektarbeit-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren');
return false;
}
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-projektarbeit-tree-projektarbeit_id"] : "student-projektarbeit-tree-projektarbeit_id";
var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deleteprojektarbeit');
req.add('projektarbeit_id', projektarbeit_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentProjektarbeitSelectID=null;
StudentProjektarbeitTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden geloescht');
StudentProjektarbeitDetailDisableFields(true);
}
}
// ****
// * Wenn die Lehrveranstaltung geaendert wird, dann
// * muss das LehreinheitenDropDown neu geladen werden
// ****
function StudentProjektarbeitLVAChange()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value;
studiensemester_kurzbz = getStudiensemester();
// Lehreinheit Drop Down laden
var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit');
url='<?php echo APP_ROOT;?>rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+studiensemester_kurzbz+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LeDropDown.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
LeDropDown.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
LeDropDown.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
LeDropDown.database.AddDataSource(datasource);
LeDropDown.builder.rebuild();
}
// ******************* PROJEKTBETREUER ************************* //
// *****
// * Markiert eine Zeile im Projektbetreuer Tree
// *****
function StudentProjektbetreuerTreeSelectID()
{
var tree=document.getElementById('student-projektbetreuer-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(StudentProjektbetreuerSelectPersonID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-projektbetreuer-tree-projektarbeit_id"] : "student-projektbetreuer-tree-projektarbeit_id";
var projektarbeit_id=tree.view.getCellText(i,col);
col = tree.columns ? tree.columns["student-projektbetreuer-tree-person_id"] : "student-projektbetreuer-tree-person_id";
var person_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(person_id == StudentProjektbetreuerSelectPersonID && projektarbeit_id == StudentProjektbetreuerSelectProjektarbeitID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentIOSelectID=null;
return true;
}
}
}
}
// *****
// * Bei Auswahl eines Betreuers, wird dieser zum Bearbeiten geladen
// *****
function StudentProjektbetreuerAuswahl()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-projektbetreuer-tree');
if (tree.currentIndex==-1) return;
StudentProjektbetreuerDetailDisableFields(false);
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-projektbetreuer-tree-projektarbeit_id"] : "student-projektbetreuer-treecol-projektarbeit_id";
var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-projektbetreuer-tree-person_id"] : "student-projektbetreuer-treecol-person_id";
var person_id=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/projektbetreuer.rdf.php?projektarbeit_id='+projektarbeit_id+'&person_id='+person_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/projektbetreuer/" + person_id+'/'+projektarbeit_id);
var predicateNS = "http://www.technikum-wien.at/projektbetreuer/rdf";
//Daten holen
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
faktor = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#faktor" ));
name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
stunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stunden" ));
stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
betreuerart_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betreuerart_kurzbz" ));
person_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_nachname" ));
StudentProjektbetreuerMenulistPersonLoad(document.getElementById('student-projektbetreuer-menulist-person'), person_nachname);
//Werte setzen
MenulistSelectItemOnValue('student-projektbetreuer-menulist-person', person_id);
document.getElementById('student-projektbetreuer-menulist-note').value=note;
document.getElementById('student-projektbetreuer-textbox-faktor').value=faktor;
document.getElementById('student-projektbetreuer-textbox-name').value=name;
document.getElementById('student-projektbetreuer-textbox-punkte').value=punkte;
document.getElementById('student-projektbetreuer-textbox-stunden').value=stunden;
document.getElementById('student-projektbetreuer-textbox-stundensatz').value=stundensatz;
document.getElementById('student-projektbetreuer-menulist-betreuerart').value=betreuerart_kurzbz;
document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id;
document.getElementById('student-projektbetreuer-checkbox-neu').checked=false;
}
// *****
// * De-/Aktiviert die Buttons
// *****
function StudentProjektbetreuerDisableFields(val)
{
document.getElementById('student-projektbetreuer-button-neu').disabled=val;
document.getElementById('student-projektbetreuer-button-loeschen').disabled=val;
if(val)
{
tree = document.getElementById('student-projektbetreuer-tree');
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
tree.builder.rebuild();
StudentProjektbetreuerDetailDisableFields(val);
}
}
// ****
// * De-/Aktiviert die Detailfelder
// ****
function StudentProjektbetreuerDetailDisableFields(val)
{
document.getElementById('student-projektbetreuer-menulist-person').disabled=val;
document.getElementById('student-projektbetreuer-menulist-note').disabled=val;
document.getElementById('student-projektbetreuer-menulist-betreuerart').disabled=val;
document.getElementById('student-projektbetreuer-textbox-faktor').disabled=val;
document.getElementById('student-projektbetreuer-textbox-name').disabled=val;
document.getElementById('student-projektbetreuer-textbox-punkte').disabled=val;
document.getElementById('student-projektbetreuer-textbox-stunden').disabled=val;
document.getElementById('student-projektbetreuer-textbox-stundensatz').disabled=val;
}
// ****
// * Resettet die Detailfelder
// ****
function StudentProjektbetreuerDetailReset()
{
document.getElementById('student-projektbetreuer-textbox-faktor').value='0.0';
document.getElementById('student-projektbetreuer-textbox-name').value='';
document.getElementById('student-projektbetreuer-textbox-punkte').value='0.0';
document.getElementById('student-projektbetreuer-textbox-stunden').value='0.0';
document.getElementById('student-projektbetreuer-textbox-stundensatz').value='0.0';
}
// ****
// * Laedt dynamisch die Personen fuer das DropDown Menue
// * Es muessen mindestens 3 Zeichen in das DropDown Menue eingegeben werden
// ****
function StudentProjektbetreuerMenulistPersonLoad(menulist, filter)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(typeof(filter)=='undefined')
v = menulist.value;
else
v = filter;
if(v.length>2)
{
var url = '<?php echo APP_ROOT; ?>rdf/person.rdf.php?filter='+v+'&'+gettimestamp();
var oldDatasources = menulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
if(typeof(filter)=='undefined')
var datasource = rdfService.GetDataSource(url);
else
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
if(typeof(filter)!='undefined')
menulist.builder.rebuild();
}
}
// ****
// * Speichert die Projektbetreuer Daten
// ****
function StudentProjektbetreuerSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person');
note = document.getElementById('student-projektbetreuer-menulist-note').value;
faktor = document.getElementById('student-projektbetreuer-textbox-faktor').value;
name = document.getElementById('student-projektbetreuer-textbox-name').value;
punkte = document.getElementById('student-projektbetreuer-textbox-punkte').value;
stunden = document.getElementById('student-projektbetreuer-textbox-stunden').value;
stundensatz = document.getElementById('student-projektbetreuer-textbox-stundensatz').value;
betreuerart_kurzbz = document.getElementById('student-projektbetreuer-menulist-betreuerart').value;
person_id_old = document.getElementById('student-projektbetreuer-textbox-person_id').value;
neu = document.getElementById('student-projektbetreuer-checkbox-neu').checked;
var tree = document.getElementById('student-projektarbeit-tree');
if (tree.currentIndex==-1)
{
alert('Projektarbeit muss ausgewaehlt sein');
return;
}
var col = tree.columns ? tree.columns["student-projektarbeit-tree-projektarbeit_id"] : "student-projektarbeit-tree-projektarbeit_id";
var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'saveprojektbetreuer');
req.add('person_id', person_id);
req.add('note', note);
req.add('faktor', faktor);
req.add('name', name);
req.add('punkte', punkte);
req.add('stunden', stunden);
req.add('stundensatz', stundensatz);
req.add('betreuerart_kurzbz', betreuerart_kurzbz);
req.add('projektarbeit_id', projektarbeit_id);
req.add('person_id_old', person_id_old);
req.add('neu', neu);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentProjektbetreuerSelectPersonID=person_id;
StudentProjektbetreuerSelectProjektarbeitID=projektarbeit_id;
StudentProjektbetreuerTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
StudentProjektbetreuerDetailDisableFields(true);
}
}
// ****
// * Deaktiviert die Detailfelder um einen Neuen Datensatz zu erstellen
// ****
function StudentProjektbetreuerNeu()
{
StudentProjektbetreuerDetailReset();
document.getElementById('student-projektbetreuer-checkbox-neu').checked=true;
StudentProjektbetreuerDetailDisableFields(false);
}
// ****
// * Loescht einen Projektbetreuer
// ****
function StudentProjektbetreuerLoeschen()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-projektbetreuer-tree');
if (tree.currentIndex==-1)
{
alert('Projektbetreuer muss ausgewaehlt sein');
return;
}
var col = tree.columns ? tree.columns["student-projektbetreuer-tree-projektarbeit_id"] : "student-projektbetreuer-tree-projektarbeit_id";
var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-projektbetreuer-tree-person_id"] : "student-projektbetreuer-tree-person_id";
var person_id=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deleteprojektbetreuer');
req.add('person_id', person_id);
req.add('projektarbeit_id', projektarbeit_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentProjektbetreuerSelectPersonID=null;
StudentProjektbetreuerSelectProjektarbeitID=null;
StudentProjektbetreuerTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden geloescht');
StudentProjektbetreuerDetailDisableFields(true);
}
}
@@ -34,164 +34,448 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentprojektarbeit.js.php" />
<!-- Projektarbeit DETAILS -->
<vbox id="student-projektarbeit" style="overflow:auto;margin:0px;" flex="1">
<vbox id="student-projektarbeit" style="overflow:auto;" flex="1">
<popupset>
<popup id="student-projektarbeit-tree-popup">
<menuitem label="Entfernen" oncommand="StudentProjektarbeitDelete();" id="student-projektarbeit-tree-popup-delete" hidden="false"/>
<menuitem label="Entfernen" oncommand="StudentProjektarbeitLoeschen();" id="student-projektarbeit-tree-popup-delete" hidden="false"/>
</popup>
</popupset>
<hbox flex="1">
<grid id="student-projektarbeit-grid-detail" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<tree id="student-projektarbeit-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/bisio/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentIOAuswahl()"
context="student-io-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-io-tree-mobilitaetsprogramm_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/bisio/rdf#mobilitaetsprogramm_kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="student-io-tree-nation_code" label="Nation" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisio/rdf#nation_code"/>
<splitter class="tree-splitter"/>
<treecol id="student-io-tree-von" label="Von" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisio/rdf#von_iso" />
<splitter class="tree-splitter"/>
<treecol id="student-io-tree-bis" label="Bis" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisio/rdf#bis_iso" />
<splitter class="tree-splitter"/>
<treecol id="student-io-tree-zweck_kurzbz" label="Zweck" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisio/rdf#zweck_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="student-io-tree-bisio_id" label="bisio_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisio/rdf#bisio_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#mobilitaetsprogramm_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#nation_code"/>
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#von"/>
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#bis"/>
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#zweck_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#bisio_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<hbox>
<button id="student-io-button-neu" label="Neu" oncommand="StudentIONeu();" disabled="true"/>
<button id="student-io-button-loeschen" label="Loeschen" oncommand="StudentIODelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-io-detail-checkbox-neu" checked="true" />
<label value="Uid"/>
<textbox id="student-io-detail-textbox-uid" disabled="true"/>
<label value="BisIO ID"/>
<textbox id="student-io-detail-textbox-bisio_id" disabled="true"/>
</vbox>
<groupbox id="student-io-groupbox" flex="1">
<caption label="Details"/>
<grid id="student-io-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Von" control="student-io-textbox-von"/>
<hbox>
<box class="Datum" id="student-io-textbox-von" disabled="true"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Bis" control="student-io-textbox-bis"/>
<hbox>
<box class="Datum" id="student-io-textbox-bis" disabled="true"/>
<!--<textbox id="student-io-textbox-bis" disabled="true" maxlength="10" size="10"/>-->
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Mobilitaetsprogramm" control="student-io-menulist-mobilitaetsprogramm"/>
<menulist id="student-io-menulist-mobilitaetsprogramm" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/mobilitaetsprogramm.rdf.php" flex="1"
ref="http://www.technikum-wien.at/mobilitaetsprogramm/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#mobilitaetsprogramm_code"
label="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Gastnation" control="student-io-menulist-nation"/>
<menulist id="student-io-menulist-nation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Zweck" control="student-io-menulist-zweck"/>
<menulist id="student-io-menulist-zweck" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/zweck.rdf.php" flex="1"
ref="http://www.technikum-wien.at/zweck/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zweck/rdf#zweck_code"
label="rdf:http://www.technikum-wien.at/zweck/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
</rows>
</grid>
<hbox flex="1">
<tree id="student-projektarbeit-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/projektarbeit/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentProjektarbeitAuswahl()"
context="student-projektarbeit-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-projektarbeit-tree-projekttyp_kurzbz" label="Typ" flex="2" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projekttyp_kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-titel" label="Titel" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#titel"/>
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-note" label="Note" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#note" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-punkte" label="Punkte" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#punkte" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-beginn" label="Beginn" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#beginn" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-ende" label="Ende" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#ende" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-faktor" label="Faktor" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#faktor" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-freigegeben" label="Freigegeben" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#freigegeben" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-gesperrtbis" label="Gesperrt bis" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#gesperrtbis" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-stundensatz" label="stundensatz" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#stundensatz" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-gesamtstunden" label="Gesamtstunden" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#gesamtstunden" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-themenbereich" label="Themenbereich" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#themenbereich" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-anmerkung" label="Anmerkung" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#anmerkung" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-projektarbeit_id" label="ProjektarbeitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_id" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-student_uid" label="StudentUID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#student_uid" />
<splitter class="tree-splitter"/>
<treecol id="student-projektarbeit-tree-firma_id" label="FirmaID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#firma_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projekttyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#titel"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#note"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#punkte"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#beginn"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#ende"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#faktor"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#freigegeben"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#gesperrtbis"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#stundensatz"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#gesamtstunden"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#themenbereich"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#student_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#firma_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<button id="student-projektarbeit-button-neu" label="Neu" oncommand="StudentProjektarbeitNeu();" disabled="true"/>
<button id="student-projektarbeit-button-loeschen" label="Loeschen" oncommand="StudentProjektarbeitLoeschen();" disabled="true"/>
</vbox>
</hbox>
<hbox>
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-projektarbeit-checkbox-neu" checked="true" />
<label value="Projektarbeit ID"/>
<textbox id="student-projektarbeit-textbox-projektarbeit_id" disabled="true"/>
</vbox>
<groupbox flex="1">
<caption label="Details"/>
<grid style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Titel" control="student-projektarbeit-textbox-titel"/>
<textbox id="student-projektarbeit-textbox-titel" disabled="true" />
</row>
<row>
<label value="Typ" control="student-projektarbeit-menulist-projekttyp"/>
<menulist id="student-projektarbeit-menulist-projekttyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/projekttyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/projekttyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/projekttyp/rdf#projekttyp_kurzbz"
label="rdf:http://www.technikum-wien.at/projekttyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Firma" control="student-projektarbeit-menulist-firma"/>
<menulist id="student-projektarbeit-menulist-firma" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/firma.rdf.php" flex="1"
ref="http://www.technikum-wien.at/firma/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/firma/rdf#firma_id"
label="rdf:http://www.technikum-wien.at/firma/rdf#name"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Note" control="student-projektarbeit-menulist-note"/>
<menulist id="student-projektarbeit-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" 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="Lehrveranstaltung" control="student-projektarbeit-menulist-lehrveranstaltung"/>
<menulist id="student-projektarbeit-menulist-lehrveranstaltung" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
oncommand="StudentProjektarbeitLVAChange()"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#lehrveranstaltung_id"
label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#bezeichnung rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#semester Semester"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Lehreinheit" control="student-projektarbeit-menulist-lehreinheit"/>
<menulist id="student-projektarbeit-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="Punkte" control="student-projektarbeit-textbox-punkte" />
<hbox>
<textbox id="student-projektarbeit-textbox-punkte" maxlength="5" size="5" disabled="true"/>
</hbox>
</row>
<row>
<label value="Beginn" control="student-projektarbeit-datum-beginn"/>
<box class="Datum" id="student-projektarbeit-datum-beginn" disabled="true" />
</row>
<row>
<label value="Ende" control="student-projektarbeit-datum-ende"/>
<box class="Datum" id="student-projektarbeit-datum-ende" disabled="true" />
</row>
<row>
<label value="Faktor" control="student-projektarbeit-textbox-faktor"/>
<hbox>
<textbox id="student-projektarbeit-textbox-faktor" disabled="true" maxlength="3" size="3"/>
</hbox>
</row>
<row>
<label value="Freigegeben" control="student-projektarbeit-checkbox-freigegeben"/>
<checkbox id="student-projektarbeit-checkbox-freigegeben" disabled="true" />
</row>
<row>
<label value="Gesperrt bis" control="student-projektarbeit-datum-gesperrtbis"/>
<box class="Datum" id="student-projektarbeit-datum-gesperrtbis" disabled="true" />
</row>
<row>
<label value="Stundensatz" control="student-projektarbeit-textbox-stundensatz"/>
<hbox>
<textbox id="student-projektarbeit-textbox-stundensatz" disabled="true" maxlength="5" size="5"/>
</hbox>
</row>
<row>
<label value="Gesamtstunden" control="student-projektarbeit-textbox-gesamtstunden"/>
<hbox>
<textbox id="student-projektarbeit-textbox-gesamtstunden" disabled="true" maxlength="8" size="8"/>
</hbox>
</row>
<row>
<label value="Themenbereich" control="student-projektarbeit-textbox-themenbereich"/>
<textbox id="student-projektarbeit-textbox-themenbereich" disabled="true" maxlength="64"/>
</row>
<row>
<label value="Anmerkung" control="student-projektarbeit-textbox-anmerkung"/>
<textbox id="student-projektarbeit-textbox-anmerkung" disabled="true" maxlength="256"/>
</row>
<row>
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-io-button-speichern" oncommand="StudentIODetailSpeichern()" label="Speichern" disabled="true"/>
<button id="student-projektarbeit-button-speichern" oncommand="StudentProjektarbeitSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</groupbox>
</row>
</rows>
</grid>
</groupbox>
<groupbox flex="1">
<caption label="Betreuer"/>
<hbox>
<tree id="student-projektbetreuer-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/projektbetreuer/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentProjektbetreuerAuswahl()"
context="student-projektbetreuer-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-projektbetreuer-tree-nachname" label="Nachname" flex="2" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#person_nachname"/>
<treecol id="student-projektbetreuer-tree-vorname" label="Vorname" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#person_vorname"/>
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-name" label="Name" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#name"/>
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-note" label="Note" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#note"/>
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-faktor" label="Faktor" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#faktor" />
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-punkte" label="Punkte" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#punkte" />
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-stunden" label="Stunden" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#stunden" />
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-stundensatz" label="Stundensatz" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#stundensatz" />
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-betreuerart_kurzbz" label="Art" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#betreuerart_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-person_id" label="Person_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#person_id" />
<splitter class="tree-splitter"/>
<treecol id="student-projektbetreuer-tree-projektarbeit_id" label="ProjektarbeitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#projektarbeit_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#person_nachname"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#person_vorname"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#name"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#note"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#faktor"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#punkte"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#stunden"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#stundensatz"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#beutreuerart_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#person_id"/>
<treecell label="rdf:http://www.technikum-wien.at/projektbetreuer/rdf#projektarbeit_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<button id="student-projektbetreuer-button-neu" label="Neu" oncommand="StudentProjektbetreuerNeu();" disabled="true"/>
<button id="student-projektbetreuer-button-loeschen" label="Loeschen" oncommand="StudentProjektbetreuerLoeschen();" disabled="true"/>
</vbox>
</hbox>
<vbox hidden="true">
<textbox id="student-projektbetreuer-textbox-person_id" />
<checkbox id="student-projektbetreuer-checkbox-neu" />
</vbox>
</row>
</rows>
</grid>
</hbox>
<grid style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Betreuer" control="student-projektbetreuer-menulist-person" />
<menulist id="student-projektbetreuer-menulist-person"
editable="true" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/person/liste"
oninput="StudentProjektbetreuerMenulistPersonLoad(this)">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/person/rdf#person_id"
label="rdf:http://www.technikum-wien.at/person/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Note" control="student-projektbetreuer-menulist-note"/>
<menulist id="student-projektbetreuer-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" 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="Faktor" control="student-projektbetreuer-textbox-faktor"/>
<textbox id="student-projektbetreuer-textbox-faktor" disabled="true" maxlength="3"/>
</row>
<row>
<label value="Name" control="student-projektbetreuer-textbox-name"/>
<textbox id="student-projektbetreuer-textbox-name" disabled="true" maxlength="32"/>
</row>
<row>
<label value="Punkte" control="student-projektbetreuer-textbox-punkte"/>
<textbox id="student-projektbetreuer-textbox-punkte" disabled="true" maxlength="6"/>
</row>
<row>
<label value="Stunden" control="student-projektbetreuer-textbox-stunden"/>
<textbox id="student-projektbetreuer-textbox-stunden" disabled="true" maxlength="8"/>
</row>
<row>
<label value="Stundensatz" control="student-projektbetreuer-textbox-stundensatz"/>
<textbox id="student-projektbetreuer-textbox-stundensatz" disabled="true" maxlength="5"/>
</row>
<row>
<label value="Art" control="student-projektbetreuer-menulist-betreuerart"/>
<menulist id="student-projektbetreuer-menulist-betreuerart" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/betreuerart.rdf.php" flex="1"
ref="http://www.technikum-wien.at/betreuerart/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betreuerart/rdf#betreuerart_kurzbz"
label="rdf:http://www.technikum-wien.at/betreuerart/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-projektbetreuer-speichern" label="Speichern" oncommand="StudentProjektbetreuerSpeichern()" />
</hbox>
</row>
</rows>
</grid>
</groupbox>
</hbox>
<spacer flex="1" />
</vbox>
+11 -9
View File
@@ -70,16 +70,18 @@ class person
function person($conn, $person_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\n";
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\n";
return false;
}
}
if($person_id != null)
+172 -44
View File
@@ -46,7 +46,7 @@ class projektarbeit
var $freigegeben; // @var boolean
var $gesperrtbis; // @var date
var $stundensatz; // @var numeric(6,2)
var $gesamtstunden; // @var integer
var $gesamtstunden; // @var numeric(8,2)
var $themenbereich; // @var sting
var $anmerkung; // @var string
var $ext_id; // @var integer
@@ -64,30 +64,81 @@ class projektarbeit
function projektarbeit($conn,$projektarbeit_id=null, $unicode=false)
{
$this->conn = $conn;
if ($unicode)
if($unicode!=null)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
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;
}
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
//if($projektarbeit_id != null) $this->load($projektarbeit_id);
if($projektarbeit_id != null)
$this->load($projektarbeit_id);
}
/**
* Laedt die Funktion mit der ID $projektarbeit_id
* @param $projektarbeit_id ID der zu ladenden Funktion
* Laedt die Projektarbeit mit der ID $projektarbeit_id
* @param $projektarbeit_id ID der zu ladenden Projektarbeit
* @return true wenn ok, false im Fehlerfall
*/
function load($projektarbeit_id)
{
//noch nicht implementiert
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE projektarbeit_id='$projektarbeit_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->projektarbeit_id = $row->projektarbeit_id;
$this->projekttyp_kurzbz = $row->projekttyp_kurzbz;
$this->titel = $row->titel;
$this->lehreinheit_id = $row->lehreinheit_id;
$this->student_uid = $row->student_uid;
$this->firma_id = $row->firma_id;
$this->note = $row->note;
$this->punkte = $row->punkte;
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->faktor = $row->faktor;
$this->freigegeben = ($row->freigegeben=='t'?true:false);
$this->gesperrtbis = $row->gesperrtbis;
$this->stundensatz = $row->stundensatz;
$this->gesamtstunden = $row->gesamtstunden;
$this->themenbereich = $row->themenbereich;
$this->anmerkung = $row->anmerkung;
$this->ext_id = $row->ext_id;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
@@ -99,17 +150,17 @@ class projektarbeit
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if ($this->projektarbeit_kurzbz=null)
if ($this->projekttyp_kurzbz==null)
{
$this->errormsg='Projektarbeit_kurzbz darf nicht NULL sein! - student_uid: '.$this->student_uid;
$this->errormsg='Projekttyp_kurzbz darf nicht NULL sein! - student_uid: '.$this->student_uid;
}
if ($this->lehreinheit_id=null)
if ($this->lehreinheit_id==null)
{
$this->errormsg='Lehreinheit_id darf nicht NULL sein! - student_uid: '.$this->student_uid;
}
if(strlen($this->projektarbeit_kurzbz)>16)
if(strlen($this->projekttyp_kurzbz)>16)
{
$this->errormsg = 'Projektarbeit_kurzbz darf nicht länger als 16 Zeichen sein - student_uid: '.$this->student_uid;
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein - student_uid: '.$this->student_uid;
return false;
}
if(strlen($this->titel)>256)
@@ -177,17 +228,20 @@ class projektarbeit
* andernfalls wird der Datensatz mit der ID in $projektarbeit_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
function save($new=null)
{
//Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->addslashes($this->projekttyp_kurzbz).', '.
@@ -238,31 +292,40 @@ class projektarbeit
'gesamtstunden='.$this->addslashes($this->gesamtstunden).', '.
'themenbereich='.$this->addslashes($this->themenbereich).', '.
'anmerkung='.$this->addslashes($this->anmerkung).', '.
'updateamum= now(), '.
'updatevon='.$this->addslashes($this->updatevon).' '.
//'firmentyp='.$this->addslashes($this->firmentyp_kurzbz).' '.
'updateamum= now(), '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'WHERE projektarbeit_id='.$this->addslashes($this->projektarbeit_id).';';
}
//echo $qry;
if(pg_query($this->conn,$qry))
{
//Log schreiben
/*$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
if($new)
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_projektarbeit_projektarbeit_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->projektarbeit_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;
}
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
} */
return true;
}
else
@@ -279,7 +342,72 @@ class projektarbeit
*/
function delete($projektarbeit_id)
{
//noch nicht implementiert!
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id ist ungueltig';
return true;
}
$qry = "DELETE FROM lehre.tbl_projektarbeit WHERE projektarbeit_id='$projektarbeit_id'";
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
// ********************************************
// * Laedt alle Projektarbeiten eines Studenten
// * @param student_uid
// * @return true wenn ok, false wenn Fehler
// ********************************************
function getProjektarbeit($student_uid)
{
$qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($student_uid)."'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new projektarbeit($this->conn, null, null);
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
$obj->titel = $row->titel;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->student_uid = $row->student_uid;
$obj->firma_id = $row->firma_id;
$obj->note = $row->note;
$obj->punkte = $row->punkte;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->faktor = $row->faktor;
$obj->freigegeben = ($row->freigegeben=='t'?true:false);
$obj->gesperrtbis = $row->gesperrtbis;
$obj->stundensatz = $row->stundensatz;
$obj->gesamtstunden = $row->gesamtstunden;
$obj->themenbereich = $row->themenbereich;
$obj->anmerkung = $row->anmerkung;
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$this->result[] = $obj;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+154 -55
View File
@@ -32,21 +32,22 @@ class projektbetreuer
var $result = array(); // @var adresse Objekt
//Tabellenspalten
var $person_id; // @var integer
var $person_id; // @var integer
var $projektarbeit_id; // @var integer
var $note; // @var integer
var $betreuerart; // @var character(1) b-Bachelorarbeitsbetreuer, d-Diplomarbeitsbetreuer, g-Diplomarbeitsbegutachter
var $note; // @var integer
var $betreuerart_kurzbz;// @var varchar
var $faktor; // @var numeric(3,2)
var $name; // @var string
var $name; // @var string
var $punkte; // @var numeric(6,2)
var $stunden; // @var integer
var $stunden; // @var numeric(8,4)
var $stundensatz; // @var numeric(6,2)
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
var $updatevon; // @var bigint
var $person_id_old;
/**
* Konstruktor
@@ -56,20 +57,24 @@ class projektbetreuer
function projektbetreuer($conn, $person_id=null, $projektarbeit_id=null, $unicode=false)
{
$this->conn = $conn;
if ($unicode)
if($unicode!=null)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
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;
}
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
//if($projektarbeit_id != null && $person_id!=null) $this->load($person_id, $projektarbeit_id);
if($projektarbeit_id != null && $person_id!=null)
$this->load($person_id, $projektarbeit_id);
}
/**
@@ -80,7 +85,51 @@ class projektbetreuer
*/
function load($person_id, $projektarbeit_id)
{
//noch nicht implementiert
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->person_id = $row->person_id;
$this->projektarbeit_id = $row->projektarbeit_id;
$this->note = $row->note;
$this->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$this->faktor = $row->faktor;
$this->name = $row->name;
$this->punkte = $row->punkte;
$this->stunden = $row->stunden;
$this->stundensatz = $row->stundensatz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $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;
}
}
/**
@@ -93,9 +142,9 @@ class projektbetreuer
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(strlen($this->betreuerart)>1)
if(strlen($this->betreuerart_kurzbz)>16)
{
$this->errormsg = 'betreuerart darf nicht länger als 1 Zeichen sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
$this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
return false;
}
if(strlen($this->name)>32)
@@ -109,7 +158,7 @@ class projektbetreuer
$this->errormsg = 'Note muß ein numerischer Wert sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
return false;
}
if(!is_numeric($this->Punkte))
if(!is_numeric($this->punkte))
{
$this->errormsg = 'Punkte muß ein numerischer Wert sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
}
@@ -128,6 +177,7 @@ class projektbetreuer
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
@@ -138,28 +188,31 @@ class projektbetreuer
{
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 aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
function save()
function save($new=null)
{
if($new==null)
$new = $this->new;
//Variablen pruefen
if(!$this->checkvars())
return false;
if($this->new)
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart, faktor, name,
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name,
punkte, stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->projektarbeit_id).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->betreuerart).', '.
$this->addslashes($this->betreuerart_kurzbz).', '.
$this->addslashes($this->faktor).', '.
$this->addslashes($this->name).', '.
$this->addslashes($this->punkte).', '.
@@ -172,6 +225,8 @@ class projektbetreuer
else
{
//Updaten des bestehenden Datensatzes
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
//Pruefen ob projektarbeit_id eine gueltige Zahl ist
if(!is_numeric($this->projektarbeit_id))
@@ -179,6 +234,7 @@ class projektbetreuer
$this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($this->person_id))
{
@@ -188,39 +244,20 @@ class projektbetreuer
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.$this->addslashes($this->person_id).', '.
'projektarbeit_id='.$this->addslashes($this->projektarbeit_id).', '.
'note='.$this->addslashes($this->note).', '.
'betreuerart='.$this->addslashes($this->betreuerart).', '.
'betreuerart_kurzbz='.$this->addslashes($this->betreuerart_kurzbz).', '.
'faktor='.$this->addslashes($this->faktor).', '.
'name='.$this->addslashes($this->name).', '.
'punkte'.$this->addslashes($this->punkte).', '.
'punkte='.$this->addslashes($this->punkte).', '.
'stunden='.$this->addslashes($this->stunden).', '.
'stundensatz='.$this->addslashes($this->stundensatz).', '.
'updateamum= now(), '.
'updatevon='.$this->addslashes($this->updatevon).' '.
'firmentyp='.$this->addslashes($this->firmentyp_kurzbz).' '.
'WHERE projektarbeit_id='.$this->addslashes($this->projektarbeit_id).';';
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
"WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."';";
}
//echo $qry;
if(pg_query($this->conn,$qry))
{
//Log schreiben
/*$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
} */
{
return true;
}
else
@@ -238,7 +275,69 @@ class projektbetreuer
*/
function delete($person_id, $projektarbeit_id)
{
//noch nicht implementiert!
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."';";
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
// ************************************************
// * Liefert alle Betreuer zu einer Projektarbeit
// * @param projektarbeit_id
// ************************************************
function getProjektbetreuer($projektarbeit_id)
{
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id='".$projektarbeit_id."' ORDER BY name";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new projektbetreuer($this->conn, null, null, null);
$obj->person_id = $row->person_id;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->note = $row->note;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->faktor = $row->faktor;
$obj->name = $row->name;
$obj->punkte = $row->punkte;
$obj->stunden = $row->stunden;
$obj->stundensatz = $row->stundensatz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
}
}
}
?>
+67
View File
@@ -0,0 +1,67 @@
<?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');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
$rdf_url='http://www.technikum-wien.at/betreuerart';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:BETREUERART="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
$qry = "SELECT * FROM lehre.tbl_betreuerart ORDER BY betreuerart_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
echo '
<RDF:li>
<RDF:Description id="'.$row->betreuerart_kurzbz.'" about="'.$rdf_url.'/'.$row->betreuerart_kurzbz.'" >
<BETREUERART:betreuerart_kurzbz><![CDATA['.$row->betreuerart_kurzbz.']]></BETREUERART:betreuerart_kurzbz>
<BETREUERART:beschreibung><![CDATA['.$row->beschreibung.']]></BETREUERART:beschreibung>
</RDF:Description>
</RDF:li>
';
}
}
?>
</RDF:Seq>
</RDF:RDF>
+108
View File
@@ -0,0 +1,108 @@
<?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/projektarbeit.class.php');
require_once('../include/datum.class.php');
require_once('../include/lehreinheit.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
$rdf_url='http://www.technikum-wien.at/projektarbeit';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:PROJEKTARBEIT="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
$datum_obj = new datum();
$projektarbeit = new projektarbeit($conn, null, true);
if(isset($_GET['student_uid']))
{
$projektarbeit->getProjektarbeit($_GET['student_uid']);
foreach ($projektarbeit->result as $row)
draw_content($row);
}
elseif(isset($_GET['projektarbeit_id']) && is_numeric($_GET['projektarbeit_id']))
{
if($projektarbeit->load($_GET['projektarbeit_id']))
draw_content($projektarbeit);
else
die('Eintrag wurde nicht gefunden');
}
else
die('Student_uid oder Projektarbeit_id muss uebergeben werden');
function draw_content($row)
{
global $conn, $rdf_url, $datum_obj;
$lehreinheit = new lehreinheit($conn, $row->lehreinheit_id);
echo '
<RDF:li>
<RDF:Description id="'.$row->projektarbeit_id.'" about="'.$rdf_url.'/'.$row->projektarbeit_id.'" >
<PROJEKTARBEIT:projektarbeit_id><![CDATA['.$row->projektarbeit_id.']]></PROJEKTARBEIT:projektarbeit_id>
<PROJEKTARBEIT:projekttyp_kurzbz><![CDATA['.$row->projekttyp_kurzbz.']]></PROJEKTARBEIT:projekttyp_kurzbz>
<PROJEKTARBEIT:titel><![CDATA['.$row->titel.']]></PROJEKTARBEIT:titel>
<PROJEKTARBEIT:lehreinheit_id><![CDATA['.$row->lehreinheit_id.']]></PROJEKTARBEIT:lehreinheit_id>
<PROJEKTARBEIT:lehreinheit_stsem><![CDATA['.$lehreinheit->studiensemester_kurzbz.']]></PROJEKTARBEIT:lehreinheit_stsem>
<PROJEKTARBEIT:lehrveranstaltung_id><![CDATA['.$lehreinheit->lehrveranstaltung_id.']]></PROJEKTARBEIT:lehrveranstaltung_id>
<PROJEKTARBEIT:student_uid><![CDATA['.$row->student_uid.']]></PROJEKTARBEIT:student_uid>
<PROJEKTARBEIT:firma_id><![CDATA['.$row->firma_id.']]></PROJEKTARBEIT:firma_id>
<PROJEKTARBEIT:note><![CDATA['.$row->note.']]></PROJEKTARBEIT:note>
<PROJEKTARBEIT:punkte><![CDATA['.$row->punkte.']]></PROJEKTARBEIT:punkte>
<PROJEKTARBEIT:beginn><![CDATA['.$datum_obj->convertISODate($row->beginn).']]></PROJEKTARBEIT:beginn>
<PROJEKTARBEIT:beginn_iso><![CDATA['.$row->beginn.']]></PROJEKTARBEIT:beginn_iso>
<PROJEKTARBEIT:ende><![CDATA['.$datum_obj->convertISODate($row->ende).']]></PROJEKTARBEIT:ende>
<PROJEKTARBEIT:ende_iso><![CDATA['.$row->ende.']]></PROJEKTARBEIT:ende_iso>
<PROJEKTARBEIT:faktor><![CDATA['.$row->faktor.']]></PROJEKTARBEIT:faktor>
<PROJEKTARBEIT:freigegeben><![CDATA['.($row->freigegeben?'Ja':'Nein').']]></PROJEKTARBEIT:freigegeben>
<PROJEKTARBEIT:gesperrtbis><![CDATA['.$datum_obj->convertISODate($row->gesperrtbis).']]></PROJEKTARBEIT:gesperrtbis>
<PROJEKTARBEIT:gesperrtbis_iso><![CDATA['.$row->gesperrtbis.']]></PROJEKTARBEIT:gesperrtbis_iso>
<PROJEKTARBEIT:stundensatz><![CDATA['.$row->stundensatz.']]></PROJEKTARBEIT:stundensatz>
<PROJEKTARBEIT:gesamtstunden><![CDATA['.$row->gesamtstunden.']]></PROJEKTARBEIT:gesamtstunden>
<PROJEKTARBEIT:themenbereich><![CDATA['.$row->themenbereich.']]></PROJEKTARBEIT:themenbereich>
<PROJEKTARBEIT:anmerkung><![CDATA['.$row->anmerkung.']]></PROJEKTARBEIT:anmerkung>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>
+96
View File
@@ -0,0 +1,96 @@
<?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/projektbetreuer.class.php');
require_once('../include/datum.class.php');
require_once('../include/person.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
$rdf_url='http://www.technikum-wien.at/projektbetreuer';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:PROJEKTBETREUER="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
$datum_obj = new datum();
$projektbetreuer = new projektbetreuer($conn, null, null, true);
if(isset($_GET['projektarbeit_id']) && !isset($_GET['person_id']))
{
$projektbetreuer->getProjektbetreuer($_GET['projektarbeit_id']);
foreach ($projektbetreuer->result as $row)
draw_content($row);
}
elseif(isset($_GET['person_id']) && is_numeric($_GET['person_id']) && isset($_GET['projektarbeit_id']) && is_numeric($_GET['projektarbeit_id']))
{
if($projektbetreuer->load($_GET['person_id'], $_GET['projektarbeit_id']))
draw_content($projektbetreuer);
else
die('Eintrag wurde nicht gefunden');
}
else
die('Projektarbeit_id muss uebergeben werden');
function draw_content($row)
{
global $conn, $rdf_url, $datum_obj;
$person=new person($conn, $row->person_id, null);
echo '
<RDF:li>
<RDF:Description id="'.$row->person_id.'/'.$row->projektarbeit_id.'" about="'.$rdf_url.'/'.$row->person_id.'/'.$row->projektarbeit_id.'" >
<PROJEKTBETREUER:projektarbeit_id><![CDATA['.$row->projektarbeit_id.']]></PROJEKTBETREUER:projektarbeit_id>
<PROJEKTBETREUER:person_id><![CDATA['.$row->person_id.']]></PROJEKTBETREUER:person_id>
<PROJEKTBETREUER:person_nachname><![CDATA['.$person->nachname.']]></PROJEKTBETREUER:person_nachname>
<PROJEKTBETREUER:person_vorname><![CDATA['.$person->vorname.']]></PROJEKTBETREUER:person_vorname>
<PROJEKTBETREUER:note><![CDATA['.$row->note.']]></PROJEKTBETREUER:note>
<PROJEKTBETREUER:faktor><![CDATA['.$row->faktor.']]></PROJEKTBETREUER:faktor>
<PROJEKTBETREUER:name><![CDATA['.$row->name.']]></PROJEKTBETREUER:name>
<PROJEKTBETREUER:punkte><![CDATA['.$row->punkte.']]></PROJEKTBETREUER:punkte>
<PROJEKTBETREUER:stunden><![CDATA['.$row->stunden.']]></PROJEKTBETREUER:stunden>
<PROJEKTBETREUER:stundensatz><![CDATA['.$row->stundensatz.']]></PROJEKTBETREUER:stundensatz>
<PROJEKTBETREUER:betreuerart_kurzbz><![CDATA['.$row->betreuerart_kurzbz.']]></PROJEKTBETREUER:betreuerart_kurzbz>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>
+67
View File
@@ -0,0 +1,67 @@
<?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');
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!';
$rdf_url='http://www.technikum-wien.at/projekttyp';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:TYP="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
//Daten holen
$qry = "SET CLIENT_ENCODING TO 'UNICODE';SELECT * FROM lehre.tbl_projekttyp ORDER BY bezeichnung";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
echo '
<RDF:li>
<RDF:Description id="'.$row->projekttyp_kurzbz.'" about="'.$rdf_url.'/'.$row->projekttyp_kurzbz.'" >
<TYP:projekttyp_kurzbz><![CDATA['.$row->projekttyp_kurzbz.']]></TYP:projekttyp_kurzbz>
<TYP:bezeichnung><![CDATA['.$row->bezeichnung.']]></TYP:bezeichnung>
</RDF:Description>
</RDF:li>';
}
}
?>
</RDF:Seq>
</RDF:RDF>