mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 07:52:16 +00:00
- Drag und Drop Lektoren zu einem Studiengang möglich
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -10,7 +10,7 @@ function closeWindow()
|
||||
|
||||
function onLoad()
|
||||
{
|
||||
//window.close();
|
||||
initLektorTree();
|
||||
}
|
||||
|
||||
function loadRightFrame()
|
||||
|
||||
+38
-8
@@ -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';
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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>
|
||||
Reference in New Issue
Block a user