- Drag und Drop Lektoren zu einem Studiengang möglich

This commit is contained in:
Andreas Österreicher
2007-03-20 17:00:16 +00:00
parent 749e49bc46
commit dab267d74c
10 changed files with 369 additions and 84 deletions
+3 -1
View File
@@ -351,7 +351,9 @@ var nsDragAndDrop =
this.mDragSession = this.mDragService.getCurrentSession();
if (!this.mDragSession)
return false;
this.mDragSession.canDrop = this.mDragSession.sourceNode != aEvent.target;
//oesi - Auskommentiert um das DragnDrop innerhalb des selben Trees zu ermoeglichen
//this.mDragSession.canDrop = this.mDragSession.sourceNode != aEvent.target;
this.mDragSession.canDrop = true;
if ("canDrop" in aDragDropObserver)
this.mDragSession.canDrop &= aDragDropObserver.canDrop(aEvent, this.mDragSession);
return true;
+81
View File
@@ -84,6 +84,7 @@ var lvbgrpDDObserver=
}
};
// ****
// * Observer fuer den Gruppen Tree im Lehreinheiten-Modul
// ****
@@ -193,6 +194,86 @@ var mitarbeiterDDObserver=
}
};
// ****
// * Observer fuer Drop eines Lektors auf einen Studiengang
// ****
var LektorFunktionDDObserver=
{
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("application/tempus-mitarbeiter");
return flavours;
},
onDragEnter: function (evt,flavour,session)
{
},
onDragExit: function (evt,flavour,session)
{
},
onDragOver: function(evt,flavour,session)
{
},
onDrop: function (evt,dropdata,session)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
try
{
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
}
catch (e)
{
debug('treeDragDrop: e');
}
var ds = dragservice_ds;
var tree = document.getElementById('tree-lektor')
var row = { }
var col = { }
var child = { }
//Index der Quell-Row ermitteln
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
//Beim Scrollen soll kein DnD gemacht werden
if(col.value==null)
return false;
//Daten ermitteln
col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
var stg=tree.view.getCellText(row.value,col);
if(stg!=0)
{
uid=dropdata.data;
var req = new phpRequest('tempusDBDML.php','','');
req.add('type', 'addFunktionToMitarbeiter');
req.add('uid', uid);
req.add('studiengang_kz', stg);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
}
else
{
//Tree Refreshen
//keine Ahnung warum ich da ein setTimeout brauche
//aber wenns nicht da ist dann stuerzt Mozilla ab?!
//mit seamonkey funktionierts auch ohne!
window.setTimeout(RefreshLektorTree,10);
}
}
}
};
// ****
// * Observer fuer Lektor-Tree bei Lehreinheit-Modul
// * Bei OnDrop eines mitarbeiters wird dieser der
+20 -19
View File
@@ -24,14 +24,14 @@ if(!$benutzer->loadVariables($uid))
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
?>
<!--
<!DOCTYPE window [
<?php require("../locale/de-AT/tempus.dtd"); ?>
]>
]>-->
<window
id="tempus"
title="&window.title; &window.version;"
id="fas"
title="FAS 0.1"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
orient="vertical"
@@ -44,6 +44,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/tempus.js.php" />
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/DragAndDrop.js"/>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php"/>
<commandset id="maincommands">
<command id="menu-file-close:command" oncommand="closeWindow();"/>
@@ -55,26 +56,26 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
<keyset id="mainkeys">
<key
id = "menu-file-close:key"
key = "&menu-file-close:key;"
key = "§menu-file-close:key;"
observes = "menu-file-close:command"
modifiers = "accel" />
</keyset>
<toolbox id="main-toolbox">
<menubar id="menu" >
<menu id="menu-file" label="&menu-file:label;" accesskey="&menu-file:accesskey;">
<menu id="menu-file" label="§menu-file:label;" accesskey="§menu-file:accesskey;">
<menupopup id="menu-file-popup">
<menuitem
id = "menu-file-close"
key = "menu-file-close:key"
label = "&menu-file-close:label;"
label = "§menu-file-close:label;"
command = "menu-file-close:command"
accesskey = "&menu-file-close:accesskey;"/>
accesskey = "§menu-file-close:accesskey;"/>
</menupopup>
</menu>
<menu id="menu-edit" label="&menu-edit:label;" accesskey="&menu-edit:accesskey;" onclick="loadUndoList();">
<menu id="menu-edit" label="§menu-edit:label;" accesskey="§menu-edit:accesskey;" onclick="loadUndoList();">
<menupopup id="menu-edit-popup" onpopupshowing="debug('wooosaar');">
<menu id="menu-edit-undo" label="&menu-edit-undo:label;"
<menu id="menu-edit-undo" label="§menu-edit-undo:label;"
datasources="rdf:null"
ref="http://www.technikum-wien.at/undo/liste"
>
@@ -90,24 +91,24 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
</menu>
</menupopup>
</menu>
<menu id="menu-prefs" label="&menu-prefs:label;" accesskey="&menu-prefs:accesskey;">
<menu id="menu-prefs" label="§menu-prefs:label;" accesskey="§menu-prefs:accesskey;">
<menupopup id="menu-prefs-popup">
<menu id="menu-prefs-stpltable" label="&menu-prefs-stpltable:label;" accesskey="&menu-prefs-stpltable:accesskey;">
<menu id="menu-prefs-stpltable" label="§menu-prefs-stpltable:label;" accesskey="§menu-prefs-stpltable:accesskey;">
<menupopup id="menu-prefs-stpltable-popup">
<menuitem
id ="menu-prefs-stpltable-stundenplan"
type ="radio"
key ="menu-prefs-stpltable-stundenplan:key"
label ="&menu-prefs-stpltable-stundenplan:label;"
label ="§menu-prefs-stpltable-stundenplan:label;"
command ="menu-prefs-stpltable-stundenplan:command"
accesskey ="&menu-prefs-stpltable-stundenplan:accesskey;"/>
accesskey ="§menu-prefs-stpltable-stundenplan:accesskey;"/>
<menuitem
id ="menu-prefs-stpltable-stundenplandev"
type ="radio"
key ="menu-prefs-stpltable-stundenplandev:key"
label ="&menu-prefs-stpltable-stundenplandev:label;"
label ="§menu-prefs-stpltable-stundenplandev:label;"
command ="menu-prefs-stpltable-stundenplandev:command"
accesskey ="&menu-prefs-stpltable-stundenplandev:accesskey;"/>
accesskey ="§menu-prefs-stpltable-stundenplandev:accesskey;"/>
</menupopup>
</menu>
<menu
@@ -132,14 +133,14 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
</menu>
</menupopup>
</menu>
<menu id="menu-help" label="&menu-help:label;" accesskey="&menu-help:accesskey;">
<menu id="menu-help" label="§menu-help:label;" accesskey="§menu-help:accesskey;">
<menupopup id="menu-about-popup">
<menuitem
id = "menu-help-close"
key = "menu-help-close:key"
label = "&menu-help-close:label;"
label = "§menu-help-close:label;"
command = "menu-help-close:command"
accesskey = "&menu-help-close:accesskey;"/>
accesskey = "§menu-help-close:accesskey;"/>
</menupopup>
</menu>
</menubar>
+59 -1
View File
@@ -4,6 +4,60 @@ include('../vilesci/config.inc.php');
var currentAuswahl=new auswahlValues();
var LvTreeDatasource;
var LektorTreeDatasource;
//Lektor-Tree initialisieren
//window.setTimeout(initLektorTree,300);
// ****
// * initialisiert den Lektor Tree
// ****
function initLektorTree()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
try
{
url = '<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php?user=true&'+gettimestamp();
var LektorTree=document.getElementById('tree-lektor');
//Alte DS entfernen
var oldDatasources = LektorTree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
LektorTree.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
LektorTreeDatasource = rdfService.GetDataSource(url);
LektorTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
LektorTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
LektorTree.database.AddDataSource(LektorTreeDatasource);
//LektorTreeDatasource.addXMLSinkObserver(LektorTreeSinkObserver);
//LektorTree.builder.addListener(LektorTreeListener);
}
catch(e)
{
debug(e);
}
}
// ****
// * Refresht den Lektor Tree
// ****
function RefreshLektorTree()
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
LektorTreeDatasource.Refresh(true);
//Crash on Mozilla
document.getElementById('tree-lektor').builder.rebuild();
}
catch(e)
{
alert(e);
}
}
function auswahlValues()
{
@@ -121,9 +175,12 @@ function onOrtSelect()
function onLektorSelect()
{
/*
var contentFrame=document.getElementById('iframeTimeTableWeek');
var treeLektor=document.getElementById('tree-lektor');
if(treeLektor.currentIndex==-1)
return;
var uid=treeLektor.view.getCellText(treeLektor.currentIndex,"uid");
if(uid=='')
return;
@@ -140,6 +197,7 @@ function onLektorSelect()
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid);
*/
}
function loadURL(event)
+9 -34
View File
@@ -98,11 +98,15 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
</template>
</tree>
<tree id="tree-lektor" onselect="onLektorSelect();"
<tree id="tree-lektor" onmouseup="onLektorSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
enableColumnDrag="true"
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
datasources="../rdf/mitarbeiter.rdf.php" ref="http://www.technikum-wien.at/mitarbeiter/alle">
ondragdrop="nsDragAndDrop.drop(event,LektorFunktionDDObserver)"
ondragover="nsDragAndDrop.dragOver(event,LektorFunktionDDObserver)"
ondragenter="nsDragAndDrop.dragEnter(event,LektorFunktionDDObserver)"
ondragexit="nsDragAndDrop.dragExit(event,LektorFunktionDDObserver)"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/liste">
<treecols>
<treecol id="kurzbz" label="Kuerzel" flex="2" primary="true" />
<splitter class="tree-splitter"/>
@@ -113,6 +117,8 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<treecol id="titel" label="Titel" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="uid" label="UID" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="studiengang_kz" label="Studiengangkz" flex="1" hidden="true"/>
</treecols>
<template>
@@ -125,38 +131,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<!-- testing - Verschachtelte Mitarbeiter Ansicht-->
<tree id="tree-lektor_verschachtelt" onselect="onLektorSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
enableColumnDrag="true"
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
datasources="../rdf/mitarbeiter_verschachtelt.rdf.php" ref="http://www.technikum-wien.at/ma/liste">
<treecols>
<treecol id="bezeichnung" label="Kuerzel" flex="2" primary="true" />
<splitter class="tree-splitter"/>
<treecol id="nachname" label="Nachname" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="vorname" label="Vornamen" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="uid" label="UID" flex="1" hidden="true"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#nachname"/>
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#vorname"/>
<treecell label="rdf:http://www.technikum-wien.at/ma/rdf#uid"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#studiengang_kz"/>
</treerow>
</treeitem>
</treechildren>
+1 -1
View File
@@ -10,7 +10,7 @@ function closeWindow()
function onLoad()
{
//window.close();
initLektorTree();
}
function loadRightFrame()
+38 -8
View File
@@ -15,7 +15,7 @@
* 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>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -23,7 +23,7 @@
// ****************************************
// * Insert/Update/Delete
// * der Lehreinheiten
// *
// *
// * Script sorgt fuer den Datenbanzugriff
// * fuer das XUL - Lehreinheiten-Modul
// *
@@ -37,13 +37,14 @@ require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/log.class.php');
require_once('../include/benutzerfunktion.class.php');
$user = get_uid();
error_reporting(0);
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$return = false;
@@ -67,7 +68,7 @@ if(!$error)
if(isset($_POST['type']) && $_POST['type']=='undo')
{
//UNDO Befehl ausfuehren
if (!isset($_POST['log_id']))
{
$return = false;
@@ -75,23 +76,52 @@ if(!$error)
$data = '';
$error = true;
}
if(!$error)
{
$log = new log($conn, null, null, true);
if($log->undo($log_id))
{
$return = true;
}
else
else
{
$return = false;
$errormsg = 'Fehler bei UnDo:'.$log->errormsg;
}
}
}
else
elseif (isset($_POST['type']) && $_POST['type']=='addFunktionToMitarbeiter')
{
if(isset($_POST['uid']))
{
$obj = new benutzerfunktion($conn);
$obj->uid = $_POST['uid'];
$obj->studiengang_kz = $_POST['studiengang_kz'];
$obj->funktion_kurzbz = 'lkt';
$obj->updateamum = date('Y-m-d H:i:s');
$obj->updatevon = $user;
$obj->insertamum = date('Y-m-d H:i:s');
$obj->insertvon = $user;
if($obj->save(true))
{
$return = true;
}
else
{
$return = false;
$errormsg = $obj->errormsg;
}
}
else
{
$return = false;
$errormsg = 'Uid wurde nicht angegeben';
}
}
else
{
$return = false;
$errormsg = 'Unkown type';
+5 -3
View File
@@ -182,13 +182,15 @@ class benutzerfunktion
* @return true wenn ok, false im Fehlerfall
*/
function save()
function save($new=null)
{
//Gueltigkeit der Variablen pruefen
//if(!$this->checkvars())
// return false;
if($new==null)
$new = $this->new;
if($this->new)
if($new)
{
//Neuen Datensatz anlegen
//Pruefen ob uid vorhanden
@@ -264,7 +266,7 @@ class benutzerfunktion
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.$this->uid;
$this->errormsg = 'Fehler beim Speichern des Datensatzes - '.pg_errormessage($this->conn);
return false;
}
}
+79
View File
@@ -290,5 +290,84 @@ class mitarbeiter extends benutzer
}
return $result;
}
function getMitarbeiterStg($lektor,$fixangestellt,$stge, $fkt_kurzbz)
{
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, tbl_benutzerfunktion.studiengang_kz FROM campus.vw_mitarbeiter
JOIN public.tbl_benutzerfunktion USING (uid)
WHERE';
if (!$lektor)
$sql_query.=' NOT';
$sql_query.=' lektor';
if ($fixangestellt!=null)
{
$sql_query.=' AND';
if (!$fixangestellt)
$sql_query.=' NOT';
$sql_query.=' fixangestellt';
}
if($fkt_kurzbz!='')
{
$sql_query.=" AND funktion_kurzbz='$fkt_kurzbz'";
}
if ($stge!=null)
{
$in='';
foreach ($stge as $stg)
{
$in.=','.$stg;
if($stg==0)
{
$in='';
break;
}
}
if($in!='')
$sql_query.=' AND studiengang_kz in (-1'.$in.')';
}
$sql_query.=' ORDER BY studiengang_kz, nachname, vornamen, kurzbz';
//echo $sql_query;
if(!($erg=pg_query($this->conn, $sql_query)))
{
$this->errormsg=pg_errormessage($conn);
return false;
}
$num_rows=pg_numrows($erg);
$result=array();
for($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($erg,$i);
$l=new mitarbeiter($this->conn);
// Personendaten
$l->uid=$row->uid;
$l->titelpre=$row->titelpre;
$l->titelpost=$row->titelpost;
$l->vorname=$row->vorname;
$l->vornamen=$row->vornamen;
$l->nachname=$row->nachname;
$l->gebdatum=$row->gebdatum;
$l->gebort=$row->gebort;
$l->gebzeit=$row->gebzeit;
$l->foto=$row->foto;
$l->anmerkungen=$row->anmerkungen;
$l->aktiv=$row->aktiv=='t'?true:false;
$l->homepage=$row->homepage;
$l->updateamum=$row->updateamum;
$l->updatevon=$row->updatevon;
// Lektorendaten
$l->personalnummer=$row->personalnummer;
$l->kurzbz=$row->kurzbz;
$l->lektor=$row->lektor=='t'?true:false;
$l->fixangestellt=$row->fixangestellt=='t'?true:false;
$l->standort_kurzbz = $row->standort_kurzbz;
$l->telefonklappe=$row->telefonklappe;
$l->studiengang_kz = $row->studiengang_kz;
//$l->ort_kurzbz=$row->ort_kurzbz;
// Lektor in Array speichern
$result[]=$l;
}
return $result;
}
}
?>
+74 -17
View File
@@ -34,6 +34,7 @@ require_once('../include/person.class.php');
require_once('../include/benutzer.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/studiengang.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
@@ -66,17 +67,13 @@ else
// Mitarbeiter holen
$mitarbeiter=new mitarbeiter($conn);
if ($user)
{
$bb=new benutzerberechtigung($conn);
if($bb->getBerechtigungen($REMOTE_USER))
{
$stge=$bb->getStgKz();
$ma=$mitarbeiter->getMitarbeiterStg($lektor,$fixangestellt,$stge);
}
}
else
$ma=$mitarbeiter->getMitarbeiter($lektor,$fixangestellt,$stg_kz,$fachbereich_id);
$ma=$mitarbeiter->getMitarbeiter($lektor,$fixangestellt,$stg_kz,$fachbereich_id);
$stg_obj = new studiengang($conn);
$stg_obj->getAll();
foreach ($stg_obj->result as $stg)
$stg_arr[$stg->studiengang_kz]=$stg->kuerzel;
$rdf_url='http://www.technikum-wien.at/mitarbeiter/';
?>
@@ -86,14 +83,12 @@ $rdf_url='http://www.technikum-wien.at/mitarbeiter/';
xmlns:MITARBEITER="<?php echo $rdf_url; ?>rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>alle">
<?php
$alle='';
foreach ($ma as $mitarbeiter)
{
?>
<RDF:li>
<RDF:Description about="<?php echo $rdf_url.$mitarbeiter->uid; ?>" >
<MITARBEITER:uid><?php echo $mitarbeiter->uid; ?></MITARBEITER:uid>
<MITARBEITER:titelpre><?php echo $mitarbeiter->titelpre; ?></MITARBEITER:titelpre>
@@ -102,10 +97,72 @@ foreach ($ma as $mitarbeiter)
<MITARBEITER:vorname><?php echo $mitarbeiter->vorname; ?></MITARBEITER:vorname>
<MITARBEITER:nachname><?php echo $mitarbeiter->nachname; ?></MITARBEITER:nachname>
<MITARBEITER:kurzbz><?php echo $mitarbeiter->kurzbz; ?></MITARBEITER:kurzbz>
<MITARBEITER:studiengang_kz></MITARBEITER:studiengang_kz>
</RDF:Description>
</RDF:li>
<?php
$alle.="\n\t\t\t<RDF:li resource=\"".$rdf_url.$mitarbeiter->uid."\" />";
}
$desc= '
<RDF:Description about="'.$rdf_url.'_alle" >
<MITARBEITER:uid></MITARBEITER:uid>
<MITARBEITER:titelpre></MITARBEITER:titelpre>
<MITARBEITER:titelpost></MITARBEITER:titelpost>
<MITARBEITER:vornamen></MITARBEITER:vornamen>
<MITARBEITER:vorname></MITARBEITER:vorname>
<MITARBEITER:nachname></MITARBEITER:nachname>
<MITARBEITER:kurzbz>Alle</MITARBEITER:kurzbz>
<MITARBEITER:studiengang_kz>0</MITARBEITER:studiengang_kz>
</RDF:Description>
';
$seq= "
<RDF:Seq about=\"".$rdf_url."liste\" >
<RDF:li>
<RDF:Seq about=\"".$rdf_url."_alle\" >$alle
</RDF:Seq>
</RDF:li>
";
if ($user)
{
$bb=new benutzerberechtigung($conn);
if($bb->getBerechtigungen($REMOTE_USER))
{
$stge=$bb->getStgKz();
$ma=$mitarbeiter->getMitarbeiterStg($lektor,$fixangestellt,$stge, 'lkt');
$laststg=-1;
foreach ($ma as $mitarbeiter)
{
if($mitarbeiter->studiengang_kz!=$laststg)
{
if($laststg!=-1)
{
$seq.="\n\t\t</RDF:Seq>\n\t</RDF:li>\n";
}
$desc.="\n\t\t<RDF:Description about=\"".$rdf_url.$mitarbeiter->studiengang_kz."\" >".
"\n\t\t\t<MITARBEITER:uid></MITARBEITER:uid>".
"\n\t\t\t<MITARBEITER:titelpre></MITARBEITER:titelpre>".
"\n\t\t\t<MITARBEITER:titelpost></MITARBEITER:titelpost>".
"\n\t\t\t<MITARBEITER:vornamen></MITARBEITER:vornamen>".
"\n\t\t\t<MITARBEITER:vorname></MITARBEITER:vorname>".
"\n\t\t\t<MITARBEITER:nachname></MITARBEITER:nachname>".
"\n\t\t\t<MITARBEITER:kurzbz>".$stg_arr[$mitarbeiter->studiengang_kz]."</MITARBEITER:kurzbz>".
"\n\t\t\t<MITARBEITER:studiengang_kz>$mitarbeiter->studiengang_kz</MITARBEITER:studiengang_kz>".
"\n\t\t</RDF:Description>\n";
$seq.="\n\t<RDF:li>\n\t\t<RDF:Seq about=\"".$rdf_url.$mitarbeiter->studiengang_kz."\" >";
$laststg = $mitarbeiter->studiengang_kz;
}
$seq.="\n\t\t\t<RDF:li resource=\"".$rdf_url.$mitarbeiter->uid."\" />";
}
$seq.="\n\t\t</RDF:Seq>\n\t</RDF:li>";
}
}
echo $desc;
echo $seq;
?>
</RDF:Seq>
</RDF:Seq>
</RDF:RDF>