This commit is contained in:
Christian Paminger
2006-11-27 08:46:23 +00:00
parent 69e7513333
commit 0f0296a02a
570 changed files with 69005 additions and 0 deletions
+360
View File
@@ -0,0 +1,360 @@
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Ben Goodger <[email protected]> (Original Author)
* Pierre Chanial <[email protected]>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
////////////////////////////////////////////////////////////////////////////
// XXX - WARNING - DRAG AND DROP API CHANGE ALERT - XXX
// This file has been extensively modified in a checkin planned for Mozilla
// 0.8, and the API has been modified. DO NOT MODIFY THIS FILE without
// approval from [email protected], otherwise your changes will be lost.
/**
* XXX - until load is supported in chrome, you also need to include
* these files:
* chrome://global/content/nsTransferable.js
**/
/**
* nsDragAndDrop - a convenience wrapper for nsTransferable, nsITransferable
* and nsIDragService/nsIDragSession.
*
* USAGE INFORMATION: see 'README-nsDragAndDrop.html' in the same source directory
* as this file (typically xpfe/global/resources/content)
*/
var nsDragAndDrop =
{
_mDS: null,
get mDragService()
{
if (!this._mDS)
{
const kDSContractID = "@mozilla.org/widget/dragservice;1";
const kDSIID = Components.interfaces.nsIDragService;
this._mDS = Components.classes[kDSContractID].getService(kDSIID);
}
return this._mDS;
},
/**
* void startDrag (DOMEvent aEvent, Object aDragDropObserver) ;
*
* called when a drag on an element is started.
*
* @param DOMEvent aEvent
* the DOM event fired by the drag init
* @param Object aDragDropObserver
* javascript object of format described above that specifies
* the way in which the element responds to drag events.
**/
startDrag: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) { alert(e); }
if (!("onDragStart" in aDragDropObserver))
return;
const kDSIID = Components.interfaces.nsIDragService;
var dragAction =
{
action: kDSIID.DRAGDROP_ACTION_COPY + kDSIID.DRAGDROP_ACTION_MOVE + kDSIID.DRAGDROP_ACTION_LINK
};
var transferData =
{
data: null
};
try
{
aDragDropObserver.onDragStart(aEvent, transferData, dragAction);
}
catch (e)
{
return; // not a draggable item, bail!
}
if (!transferData.data)
return;
transferData = transferData.data;
var transArray = Components.classes["@mozilla.org/supports-array;1"]
.createInstance(Components.interfaces.nsISupportsArray);
var region = null;
if (aEvent.originalTarget.localName == "treechildren")
{
// let's build the drag region
var tree = aEvent.originalTarget.parentNode;
try
{
region = Components.classes["@mozilla.org/gfx/region;1"].createInstance(Components.interfaces.nsIScriptableRegion);
region.init();
var obo = tree.treeBoxObject;
var bo = obo.treeBody.boxObject;
var obosel= obo.selection;
var rowX = bo.x;
var rowY = bo.y;
var rowHeight = obo.rowHeight;
var rowWidth = bo.width;
//add a rectangle for each visible selected row
for (var i = obo.getFirstVisibleRow(); i <= obo.getLastVisibleRow(); i ++)
{
if (obosel.isSelected(i))
region.unionRect(rowX, rowY, rowWidth, rowHeight);
rowY = rowY + rowHeight;
}
//and finally, clip the result to be sure we don't spill over...
region.intersectRect(bo.x, bo.y, bo.width, bo.height);
}
catch(ex)
{
dump("Error while building selection region: " + ex + "\n");
region = null;
}
}
var count = 0;
do
{
var trans = nsTransferable.set(transferData._XferID == "TransferData"
? transferData : transferData.dataList[count++]);
transArray.AppendElement(trans.QueryInterface(Components.interfaces.nsISupports));
}
while (transferData._XferID == "TransferDataSet" && count < transferData.dataList.length);
try
{
this.mDragService.invokeDragSession(aEvent.target, transArray, region, dragAction.action);
}
catch(ex)
{
// this could be because the user pressed escape to
// cancel the drag. even if it's not, there's not much
// we can do, so be silent.
}
aEvent.preventBubble();
},
/**
* void dragOver (DOMEvent aEvent, Object aDragDropObserver) ;
*
* called when a drag passes over this element
*
* @param DOMEvent aEvent
* the DOM event fired by passing over the element
* @param Object aDragDropObserver
* javascript object of format described above that specifies
* the way in which the element responds to drag events.
**/
dragOver: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) { alert(e); }
if (!("onDragOver" in aDragDropObserver))
return;
if (!this.checkCanDrop(aEvent, aDragDropObserver))
return;
var flavourSet = aDragDropObserver.getSupportedFlavours();
for (var flavour in flavourSet.flavourTable)
{
if (this.mDragSession.isDataFlavorSupported(flavour))
{
aDragDropObserver.onDragOver(aEvent,
flavourSet.flavourTable[flavour],
this.mDragSession);
aEvent.preventBubble();
break;
}
}
},
mDragSession: null,
/**
* void drop (DOMEvent aEvent, Object aDragDropObserver) ;
*
* called when the user drops on the element
*
* @param DOMEvent aEvent
* the DOM event fired by the drop
* @param Object aDragDropObserver
* javascript object of format described above that specifies
* the way in which the element responds to drag events.
**/
drop: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) { alert(e); }
if (!("onDrop" in aDragDropObserver))
return;
if (!this.checkCanDrop(aEvent, aDragDropObserver))
return;
if (this.mDragSession.canDrop) {
var flavourSet = aDragDropObserver.getSupportedFlavours();
var transferData = nsTransferable.get(flavourSet, this.getDragData, true);
// hand over to the client to respond to dropped data
var multiple = "canHandleMultipleItems" in aDragDropObserver && aDragDropObserver.canHandleMultipleItems;
var dropData = multiple ? transferData : transferData.first.first;
aDragDropObserver.onDrop(aEvent, dropData, this.mDragSession);
}
aEvent.preventBubble();
},
/**
* void dragExit (DOMEvent aEvent, Object aDragDropObserver) ;
*
* called when a drag leaves this element
*
* @param DOMEvent aEvent
* the DOM event fired by leaving the element
* @param Object aDragDropObserver
* javascript object of format described above that specifies
* the way in which the element responds to drag events.
**/
dragExit: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) { alert(e); }
if (!this.checkCanDrop(aEvent, aDragDropObserver))
return;
if ("onDragExit" in aDragDropObserver)
aDragDropObserver.onDragExit(aEvent, this.mDragSession);
},
/**
* void dragEnter (DOMEvent aEvent, Object aDragDropObserver) ;
*
* called when a drag enters in this element
*
* @param DOMEvent aEvent
* the DOM event fired by entering in the element
* @param Object aDragDropObserver
* javascript object of format described above that specifies
* the way in which the element responds to drag events.
**/
dragEnter: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) { alert(e); }
if (!this.checkCanDrop(aEvent, aDragDropObserver))
return;
if ("onDragEnter" in aDragDropObserver)
aDragDropObserver.onDragEnter(aEvent, this.mDragSession);
},
/**
* nsISupportsArray getDragData (Object aFlavourList)
*
* Creates a nsISupportsArray of all droppable items for the given
* set of supported flavours.
*
* @param FlavourSet aFlavourSet
* formatted flavour list.
**/
getDragData: function (aFlavourSet)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e)
{
alert(e);
}
var supportsArray = Components.classes["@mozilla.org/supports-array;1"]
.createInstance(Components.interfaces.nsISupportsArray);
for (var i = 0; i < nsDragAndDrop.mDragSession.numDropItems; ++i)
{
var trans = nsTransferable.createTransferable();
for (var j = 0; j < aFlavourSet.flavours.length; ++j)
trans.addDataFlavor(aFlavourSet.flavours[j].contentType);
nsDragAndDrop.mDragSession.getData(trans, i);
supportsArray.AppendElement(trans);
}
return supportsArray;
},
/**
* Boolean checkCanDrop (DOMEvent aEvent, Object aDragDropObserver) ;
*
* Sets the canDrop attribute for the drag session.
* returns false if there is no current drag session.
*
* @param DOMEvent aEvent
* the DOM event fired by the drop
* @param Object aDragDropObserver
* javascript object of format described above that specifies
* the way in which the element responds to drag events.
**/
checkCanDrop: function (aEvent, aDragDropObserver)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) { alert(e); }
if (!this.mDragSession)
this.mDragSession = this.mDragService.getCurrentSession();
if (!this.mDragSession)
return false;
this.mDragSession.canDrop = this.mDragSession.sourceNode != aEvent.target;
if ("canDrop" in aDragDropObserver)
this.mDragSession.canDrop &= aDragDropObserver.canDrop(aEvent, this.mDragSession);
return true;
}
};
+111
View File
@@ -0,0 +1,111 @@
/**************************************************************************
* @brief Funktion draw_week_rdf Stundenplan im RDF-Format
*
* @param datum Datum eines Tages in der angeforderten Woche
*
* @return true oder false
*
*/
function draw_week_rdf()
{
// Stundentafel abfragen
$sql_query="SELECT * FROM tbl_stunde ORDER BY stunde";
if(!$result_stunde=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_stunde=pg_numrows($result_stunde);
//echo $this->datum;
$rdf_url='http://www.technikum-wien.at/tempus/lehrstunde/';
//RDF Kopf
echo '<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:LEHRSTUNDE="'.$rdf_url.'rdf#">';
// Von Montag bis Samstag
for ($i=1; $i<7; $i++)
{
for ($k=0; $k<$num_rows_stunde; $k++)
{
$j=pg_result($result_stunde,$k,'"stunde"');
if (isset($this->std_plan[$i][$j][0]->lehrfach))
{
// Daten aufbereiten
$kollision=-1;
unset($a_unr);
foreach ($this->std_plan[$i][$j] as $lehrstunde)
$a_unr[]=$lehrstunde->unr;
// Unterrichtsnummer (Kollision?)
$unr=array_unique($a_unr);
$kollision+=count($unr);
foreach ($a_unr as $unr)
foreach ($this->std_plan[$i][$j] as $lehrstunde)
if ($lehrstunde->unr==$unr)
{
// Ausgabe
$lvb=$lehrstunde->stg.'-'.$lehrstunde->sem;
if ($lehrstunde->ver!=null && $lehrstunde->ver!='0' && $lehrstunde->ver!='')
{
$lvb.=$lehrstunde->ver;
if ($lehrstunde->grp!=null && $lehrstunde->grp!='0' && $lehrstunde->grp!='')
$lvb.=$lehrstunde->grp;
}
echo '<RDF:Description RDF:about="'.$rdf_url.$lehrstunde->stundenplan_id.'" >
<LEHRSTUNDE:stundenplan_id>'.$lehrstunde->stundenplan_id.'</LEHRSTUNDE:stundenplan_id>
<LEHRSTUNDE:lehrverband>'.$lvb.'</LEHRSTUNDE:lehrverband>
<LEHRSTUNDE:stg_kz>'.$lehrstunde->stg_kz.'</LEHRSTUNDE:stg_kz>
<LEHRSTUNDE:stg>'.$lehrstunde->stg.'</LEHRSTUNDE:stg>
<LEHRSTUNDE:sem>'.$lehrstunde->sem.'</LEHRSTUNDE:sem>
<LEHRSTUNDE:ver>'.$lehrstunde->ver.'</LEHRSTUNDE:ver>
<LEHRSTUNDE:grp>'.$lehrstunde->grp.'</LEHRSTUNDE:grp>
<LEHRSTUNDE:einheit>'.$lehrstunde->einheit_kurzbz.'</LEHRSTUNDE:einheit>
<LEHRSTUNDE:datum>'.$lehrstunde->datum.'</LEHRSTUNDE:datum>
<LEHRSTUNDE:stunde>'.$lehrstunde->stunde.'</LEHRSTUNDE:stunde>
<LEHRSTUNDE:tag>'.$i.'</LEHRSTUNDE:tag>
<LEHRSTUNDE:kollision>'.($kollision ? 'true':'false').'</LEHRSTUNDE:kollision>
</RDF:Description>';
}
}
}
}
// Sequenz Von Montag bis Samstag
echo '<RDF:Seq RDF:about="'.$rdf_url.'alle-lehrstunden">';
for ($i=1; $i<7; $i++)
{
for ($k=0; $k<$num_rows_stunde; $k++)
{
$j=pg_result($result_stunde,$k,'"stunde"');
if (isset($this->std_plan[$i][$j][0]->lehrfach))
{
// Daten aufbereiten
unset($a_unr);
foreach ($this->std_plan[$i][$j] as $lehrstunde)
$a_unr[]=$lehrstunde->unr;
// Unterrichtsnummern
$unr=array_unique($a_unr);
foreach ($a_unr as $unr)
{
echo '<RDF:li RDF:resource="'.$rdf_url.$lehrstunde->stundenplan_id.'" />
<RDF:li>
<RDF:Seq RDF:about="'.$rdf_url.$lehrstunde->stundenplan_id.'">';
foreach ($this->std_plan[$i][$j] as $lehrstunde)
if ($lehrstunde->unr==$unr)
{
// Ausgabe
echo '<RDF:li RDF:resource="'.$rdf_url.$lehrstunde->stundenplan_id.'" />';
}
echo '</RDF:Seq>
</RDF:li>';
}
}
}
}
echo '</RDF:Seq>';
echo '</RDF:RDF>';
}
+57
View File
@@ -0,0 +1,57 @@
function lehrstunde(type,stg_kz,sem,ver,grp)
{
this.type=type;
this.stg_kz=stg_kz;
this.sem=sem;
this.ver=ver;
this.grp=grp;
}
var listObserver=
{
onDragStart: function (evt,transferData,action)
{
var elemID=evt.target.getAttribute("elem");
var paramList=evt.target.getAttribute("paramList");
var transferObjekt=new lehrstunde(elemID,paramList,elemID,elemID,elemID);
transferData.data=new TransferData();
//transferData.data.addDataForFlavour("text/unicode",transferObjekt);
transferData.data.addDataForFlavour("text/unicode",paramList);
}
};
var boardObserver=
{
/*canHandleMultipleItems : function()
{
var canHandleMultipleItems=false;
},*/
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("text/unicode");
return flavours;
},
onDragOver: function (evt,flavour,session)
{
},
onDrop: function (evt,dropdata,session)
{
if (dropdata.data!="")
{
var dragElement=document.getElementById(dropdata.data);
var contentFrame=document.getElementById('iframeTimeTableWeek');
var stunde=evt.target.getAttribute("stunde");
var datum=evt.target.getAttribute("datum");
/*//var elem=document.createElement("label");*/
/*evt.target.appendChild(elem); */
var paramList=dragElement.getAttribute("paramList");
/*elem.setAttribute("value",dropdata.data + paramList); */
var url=location.href;//contentFrame.getAttribute('src');
url+=paramList+"&new_stunde="+stunde+"&new_datum="+datum+'&aktion=stplverschieben';
//contentFrame.setAttribute('src', url);
location.href=url;
}
}
};
+173
View File
@@ -0,0 +1,173 @@
<?php
include('../vilesci/config.inc.php');
?>
function lehrstunde(id,idList)
{
this.id=id;
this.idList=idList;
}
var lehrstunden=new Array();
/***** Drag Observer fuer Lehrveranstaltungen *****/
var lvaObserver=
{
onDragStart: function (evt,transferData,action)
{
var idList=evt.target.getAttribute("idList");
var aktion=evt.target.getAttribute("aktion");
aktion+="_set";
var paramList="?aktion="+aktion+"&lva_ids="+idList;
transferData.data=new TransferData();
transferData.data.addDataForFlavour("application/tempus-lehrveranstaltung",paramList);
//alert("test");
}
};
/***** Drag Observer fuer STPL-Verschiebung *****/
var listObserver=
{
onDragStart: function (evt,transferData,action)
{
var type=evt.target.getAttribute("stpltype");
var dragdatum=evt.target.getAttribute("datum");
var pers_uid=evt.target.getAttribute("pers_uid");
var idList=evt.target.getAttribute("idList");
var stg_kz=evt.target.getAttribute("stg_kz");
var sem=evt.target.getAttribute("sem");
var ver=evt.target.getAttribute("ver");
var grp=evt.target.getAttribute("grp");
var einheit=evt.target.getAttribute("einheit");
var old_ort=evt.target.getAttribute("ort");
var aktion=evt.target.getAttribute("aktion");
aktion+="_set";
var paramList="?dragtype="+type+"&dragdatum="+dragdatum+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit+"&old_ort="+old_ort+idList+"&aktion="+aktion;
//var transferObjekt=new lehrstunde(type,dragdatum,pers_uid,stg_kz,sem,ver,grp,einheit,old_ort,idList);
transferData.data=new TransferData();
transferData.data.addDataForFlavour("application/tempus-lehrstunde",paramList);
var styleOrig=evt.target.getAttribute("styleOrig");
evt.target.setAttribute("style",styleOrig+"color:red;font-style:italic;");
}
};
/***** Board Observer fuer STPL- und LVA-Verschiebung *****/
var boardObserver=
{
/*canHandleMultipleItems : function()
{
var canHandleMultipleItems=false;
},*/
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("application/tempus-lehrveranstaltung");
flavours.appendFlavour("application/tempus-lehrstunde");
return flavours;
},
onDragEnter: function (evt,flavour,session)
{
var styleNow=evt.target.getAttribute("style");
if (evt.target.tagName=="label")
evt.target.setAttribute("style","background-color:#AAFFAA;");
else
evt.target.setAttribute("style",styleNow+"border:1px dashed black;");
},
onDragExit: function (evt,flavour,session)
{
var styleNow=evt.target.getAttribute("style");
if (evt.target.tagName=="label")
evt.target.setAttribute("style","");
else
evt.target.setAttribute("style",styleNow+"border:1px solid black;");
},
onDragOver: function(evt,flavour,session)
{
// Mehrfachauswahl von Lehrstunden mit CTRL bzw. ALT-Taste
if ((evt.ctrlKey || evt.altKey) && flavour.contentType=="application/tempus-lehrstunde" && evt.target.tagName=="button")
{
var idList=evt.target.getAttribute("idList");
var id=evt.target.getAttribute("id");
var styleOrig=evt.target.getAttribute("styleOrig");
// Ist Element schon vorhanden und an welcher stelle im Array?
var gesetzt=null;
for (var i=0;i<lehrstunden.length;i++)
if (lehrstunden[i].id==id)
gesetzt=i;
// User will Element anhaengen?
if (gesetzt==null && evt.ctrlKey)
{
var ls=new lehrstunde(id,idList);
lehrstunden.push(ls);
evt.target.setAttribute("style",styleOrig+"color:red;font-style:italic;");
}
else
// User will Element entfernen?
if (gesetzt!=null && evt.altKey)
{
// Element aus Array loeschen
if (gesetzt==0)
lehrstunden.shift();
else
if (gesetzt==lehrstunden.length)
lehrstunden.pop();
else
{
var tmpArray=new array();
tmpArray.concat(lehrstunden.slice(0,gesetzt-1));
tmpArray.concat(lehrstunden.slice(gesetzt+1,lehrstunden.length));
lehrstunden=tmpArray;
}
evt.target.setAttribute("style",styleOrig+"color:black;font-style:normal;");
}
}
},
onDrop: function (evt,dropdata,session)
{
if (dropdata.data!="")
{
var stplData=document.getElementById('TimeTableWeekData');
var datum=stplData.getAttribute("datum");
var type=stplData.getAttribute("stpl_type");
var stg_kz=stplData.getAttribute("stg_kz");
var sem=stplData.getAttribute("sem");
var ver=stplData.getAttribute("ver");
var grp=stplData.getAttribute("grp");
var pers_uid=stplData.getAttribute("pers_uid");
var ort=stplData.getAttribute("ort");
var einheit=stplData.getAttribute("einheit");
var stunde=evt.target.getAttribute("stunde");
var new_datum=evt.target.getAttribute("datum");
if (evt.target.tagName=="label")
var new_ort=evt.target.getAttribute("value");
else
if (dropdata.flavour.contentType=="application/tempus-lehrveranstaltung")
var new_ort=ort;
var url="<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=dropdata.data+"&new_stunde="+stunde+"&new_datum="+new_datum;
url+="&type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid;
url+="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
if (evt.target.tagName=="label" || dropdata.flavour.contentType=="application/tempus-lehrveranstaltung")
url+="&new_ort="+new_ort;
else
url+="&aktion=stpl_move";
url+="&mime="+dropdata.flavour.contentType;
// Mehrfachauswahl anhaengen
for (var i=0;i<lehrstunden.length;i++)
url+=lehrstunden[i].idList.replace(/&/g,"&x"+i);
//var BoxTimeTableWeek=document.getElementById('boxTimeTableWeek');
//var ScrollX=BoxTimeTableWeek.contentWindow.scrollX;
//var ScrollY=BoxTimeTableWeek.contentWindow.scrollY;
//alert('X:'+ScrollX+' Y:'+ScrollY);
//alert(url);
location.href=url;
//BoxTimeTableWeek=document.getElementById('boxTimeTableWeek');
//BoxTimeTableWeek.scrollTo(ScrollX,ScrollY);
}
}
};
+65
View File
@@ -0,0 +1,65 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/einheit.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// Einheiten holen
$einheitenDAO=new einheit($conn);
$einheiten=$einheitenDAO->getAll();
$rdf_url='http://www.technikum-wien.at/tempus/einheiten';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:EINHEIT="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
foreach ($einheiten as $einheit)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $einheit->kurzbz; ?>" about="<?php echo $rdf_url.'/'.$einheit->kurzbz; ?>" >
<EINHEIT:kurzbz><?php echo $einheit->kurzbz ?></EINHEIT:kurzbz>
<EINHEIT:stg_kz><?php echo $einheit->stg_kz ?></EINHEIT:stg_kz>
<EINHEIT:stg_kurzbz><?php echo $einheit->stg_kurzbz ?></EINHEIT:stg_kurzbz>
<EINHEIT:bezeichnung><?php echo $einheit->bezeichnung ?></EINHEIT:bezeichnung>
<EINHEIT:semester><?php echo $einheit->semester ?></EINHEIT:semester>
<EINHEIT:typ><?php echo $einheit->typ ?></EINHEIT:typ>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+160
View File
@@ -0,0 +1,160 @@
<?php
/*
* author: Christian Paminger <[email protected]>
* date: 2006-04-22
*/
//error_reporting(E_ALL);
//ini_set('display_errors','1');
include('../vilesci/config.inc.php');
include_once('../include/fas/functions.inc.php');
include_once('../include/fas/person.class.php');
include_once('../include/fas/mitarbeiter.class.php');
include_once('../include/Excel/PEAR.php');
include_once('../include/Excel/BIFFwriter.php');
include_once('../include/Excel/Workbook.php');
include_once('../include/Excel/Format.php');
include_once('../include/Excel/Worksheet.php');
include_once('../include/Excel/Parser.php');
include_once('../include/Excel/OLE.php');
include_once('../include/Excel/PPS.php');
include_once('../include/Excel/Root.php');
include_once('../include/Excel/File.php');
include_once('../include/Excel/Writer.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING_FAS))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
//Parameter holen
if (isset($_GET['mitarbeiter_id']))
$mitarbeiter_id = $_GET['mitarbeiter_id'];
else
$mitarbeiter_id=null;
if (isset($_GET['fix']))
$fix = $_GET['fix'];
else
$fix=null;
if (isset($_GET['stgl']))
$stgl = $_GET['stgl'];
else
$stgl=null;
if (isset($_GET['fbl']))
$fbl = $_GET['fbl'];
else
$fbl=null;
if (isset($_GET['aktiv']))
$aktiv = $_GET['aktiv'];
else
$aktiv=null;
if (isset($_GET['karenziert']))
$karenziert = $_GET['karenziert'];
else
$karenziert=null;
if (isset($_GET['ausgeschieden']))
$ausgeschieden = $_GET['ausgeschieden'];
else
$ausgeschieden=null;
if (isset($_GET['zustelladresse']))
$zustelladresse = $_GET['zustelladresse'];
else
$zustelladresse = null;
//Spalten
$anzSpalten=0;
$varname='spalte'.(string)$anzSpalten;
while (isset($_GET[$varname]))
{
$spalte[$anzSpalten]=$_GET[$varname];
//echo $spalte[$anzSpalten];
$anzSpalten++;
$varname='spalte'.(string)$anzSpalten;
}
$zustelladresse=true;
// Mitarbeiter holen
$mitarbeiterDAO=new mitarbeiter($conn);
$mitarbeiterDAO->getMitarbeiter($mitarbeiter_id, $fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $zustelladresse,getStudiensemesterIdFromName($conn, $benutzer->variable->semester_aktuell));
/*
* Create Excel File with Content from Students Examples solved
*/
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Mitarbeiter". "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Mitarbeiter");
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// $format_title->setColor('yellow');
// $format_title->setPattern(1);
// $format_title->setFgColor('blue');
// let's merge
$format_title->setAlign('merge');
for ($i=0;$i<$anzSpalten;$i++)
$worksheet->write(0,$i,strtoupper(str_replace('_bezeichnung','',$spalte[$i])), $format_bold);
$worksheet->write(0,$i,"STRASSE", $format_bold);
$worksheet->write(0,$i+1,"PLZ", $format_bold);
$worksheet->write(0,$i+2,"ORT", $format_bold);
// set width of columns
//$worksheet->setColumn(1,4,20); // ersten 3 Spalten auf width=17
//$worksheet->setColumn(0,0,22);
$j=1;
$maxlength = array();
for ($i=0;$i<$anzSpalten;$i++)
$maxlength[$i]=strlen(str_replace('_bezeichnung','',$spalte[$i]));
$maxlength[$i]=strlen('STRASSE');
$maxlength[$i+1]=strlen('PLZ');
$maxlength[$i+2]=strlen('ORT');
foreach ($mitarbeiterDAO->result as $mitarbeiter)
{
for ($i=0;$i<$anzSpalten;$i++)
{
if(strlen($mitarbeiter->$spalte[$i])>$maxlength[$i])
$maxlength[$i] = strlen($mitarbeiter->$spalte[$i]);
$worksheet->write($j,$i, utf8_decode($mitarbeiter->$spalte[$i]));
}
if(strlen($mitarbeiter->zustelladresse_strasse)>$maxlength[$i])
$maxlength[$i]=strlen($mitarbeiter->zustelladresse_strasse);
$worksheet->write($j,$i, utf8_decode($mitarbeiter->zustelladresse_strasse));
if(strlen($mitarbeiter->zustelladresse_plz)>$maxlength[$i+1])
$maxlength[$i+1]=strlen($mitarbeiter->zustelladresse_plz);
$worksheet->write($j,$i+1, utf8_decode($mitarbeiter->zustelladresse_plz));
if(strlen($mitarbeiter->zustelladresse_ort)>$maxlength[$i+2])
$maxlength[$i+2]=strlen($mitarbeiter->zustelladresse_ort);
$worksheet->write($j,$i+2, utf8_decode($mitarbeiter->zustelladresse_ort));
$j++;
}
for ($i=0;$i<$anzSpalten;$i++)
$worksheet->setColumn($i, $i, $maxlength[$i]+2);
$worksheet->setColumn($i, $i, $maxlength[$i]+2);
$worksheet->setColumn($i+1, $i+1, $maxlength[$i+1]+2);
$worksheet->setColumn($i+2, $i+2, $maxlength[$i+2]+2);
$workbook->close();
?>
+83
View File
@@ -0,0 +1,83 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/fachbereich.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// test
$einheit_kurzbz='';
$grp='1';
//$ver='A';
$sem=5;
$stg_kz=145;
/*
$einheit_kurzbz='';
$grp=$_GET['grp'];
$ver=$_GET['ver'];
$sem=$_GET['sem'];
$stg_kz=$_GET['stg_kz']; */
// fachbereiche holen
$fachbereichDAO=new fachbereich($conn);
$fachbereiche=$fachbereichDAO->getAll();
$rdf_url='http://www.technikum-wien.at/tempus/fachbereich';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:FACHBEREICH="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
if (is_array($fachbereiche)) {
foreach ($fachbereiche as $fb)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $fb->id; ?>" about="<?php echo $rdf_url.'/'.$fb->id; ?>" >
<FACHBEREICH:id><?php echo $fb->id ?></FACHBEREICH:id>
<FACHBEREICH:kurzbz><?php echo $fb->kurzbz ?></FACHBEREICH:kurzbz>
<FACHBEREICH:bezeichnung><?php echo $fb->bezeichnung ?></FACHBEREICH:bezeichnung>
<FACHBEREICH:farbe><?php echo $fb->farbe ?></FACHBEREICH:farbe>
<FACHBEREICH:studiengang_kz><?php echo $fb->studiengang_kz ?></FACHBEREICH:studiengang_kz>
<FACHBEREICH:studiengang_kurzbz><?php echo $fb->studiengang_kurzbz ?></FACHBEREICH:studiengang_kurzbz>
</RDF:Description>
</RDF:li>
<?php
}
}
?>
</RDF:Seq>
</RDF:RDF>
+144
View File
@@ -0,0 +1,144 @@
<?php
include("../vilesci/config.inc.php");
?>
/**
* Wenn einer der Tabs angeklickt wird wird der zugehoerige Tab
* im anderen Overlay auch geaendert
*/
function tabchange(select)
{
if(select=='lehreinheiten') //Auswahl des Lehreinheiten Tabs
{
document.getElementById('tab-mitarbeiter').selected=false;
document.getElementById('tab-mitarbeiter1').selected=false;
document.getElementById('tab-lehreinheiten').selected=true;
document.getElementById('tab-verband').selected=true;
document.getElementById('tabpanels-main').selectedIndex=1;
document.getElementById('tabpanels-left').selectedIndex=1;
}
else if(select=='mitarbeiter') //Auswahl des Mitarbeiter Tabs
{
document.getElementById('tab-lehreinheiten').selected=false;
document.getElementById('tab-verband').selected=false;
document.getElementById('tab-mitarbeiter').selected=true;
document.getElementById('tab-mitarbeiter1').selected=true;
document.getElementById('tabpanels-main').selectedIndex=0;
document.getElementById('tabpanels-left').selectedIndex=0;
}
}
/**
* Beim schliessen des Fensters wird ueberprueft ob Daten geaendert und noch
* nicht gespeichert wurden.
*/
function closeWindow()
{
//Wenn Daten geaendert wurden
if(treeMitarbeiterDetailChanged)
{
if(confirm("Wollen Sie die geänderten Daten speichern?"))
if(!saveMitarbeiter())
{
//Falls beim Speichern ein Fehler auftritt bleibt das Fenster offen!
return false;
}
else
window.close();
else
window.close();
}
else
window.close();
}
/**
* Wenn das Fenster Fertig geladen ist
*/
function onLoad()
{
//rebuild Listener setzen
document.getElementById('tree-liste-mitarbeiter').builder.addListener(treemenurebuildobserve);
//Eingabefelder deaktivieren
SetMitarbeiterDetailAktiv(false);
//studiengangsleiter als Default setzen
document.getElementById('tree-menu-mitarbeiter1').view.selection.select(6);
}
/**
* Aenderung des Studiensemesters
*/
function studiensemesterChange()
{
var items = document.getElementsByTagName('menuitem');
var stsem='';
//Markiertes Studiensemester holen
for(i in items)
{
if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true')
stsem = items[i].label;
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = "type=variablechange";
param = param + "&stsem="+stsem;
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//Statusbar setzen
setStatusBarText("Studiensemester erfolgreich geändert");
document.getElementById("tree-liste-funktionen").builder.refresh();
document.getElementById("statusbarpanel-semester").label = stsem;
MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
+170
View File
@@ -0,0 +1,170 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
include('../vilesci/config.inc.php');
include('../include/functions.inc.php');
include('../include/fas/benutzer.class.php');
// Testumgebung
//if (!isset($REMOTE_USER))
// $REMOTE_USER='pam';
//$uid=$REMOTE_USER;
$user = get_uid();
$error_msg='';
//Variablen laden
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$benutzer = new benutzer($conn);
if(!$benutzer->loadVariables($user))
$error_msg = $benutzer->errormsg;
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/fas.css" type="text/css"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
?>
<!DOCTYPE window >
<window
id="fas"
title="FAS-Online Version 0.4 vom 07. November 2006"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
orient="vertical"
width="800"
height="600"
persist="screenX screenY width height sizemode"
onload="onLoad()" onclose="return closeWindow()"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fas.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/dragboard.js"/>
-->
<commandset id="maincommands">
<command id="menu-file-close:command" oncommand="closeWindow();"/>
<command id="menu-properties-studiensemester:command" oncommand="studiensemesterChange();"/>
</commandset>
<keyset id="mainkeys">
<key
id = "menu-file-close:key"
key = "D"
observes = "menu-file-close:command"
modifiers = "accel" />
</keyset>
<toolbox id="main-toolbox">
<menubar id="menu">
<menu id="menu-file" label="Datei" accesskey="D">
<menupopup id="menu-file-popup">
<menuitem
id = "menu-file-close"
key = "menu-file-close:key"
label = "Beenden"
command = "menu-file-close:command"
accesskey = "B"/>
</menupopup>
</menu>
<menu id="menu-properties" label="Einstellungen" accesskey="E">
<menupopup id="menu-properties-popup">
<menu
id = "menu-properies-studiensemester"
label = "Studiensemester">
<menupopup id="menu-properties-popup">
<?php
$stsem_arr = $benutzer->getpossibilities('semester_aktuell');
foreach ($stsem_arr as $stsem)
{
echo "
<menuitem
id = 'menu-properies-studiensemester-name'
label = '$stsem'
type = 'radio'
command = 'menu-properties-studiensemester:command'
checked = ".($benutzer->variable->semester_aktuell==$stsem?"'true' ":"'false'")." />";
}
?>
</menupopup>
</menu>
</menupopup>
</menu>
<!-- <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;">
<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;"
command ="menu-prefs-stpltable-stundenplan:command"
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;"
command ="menu-prefs-stpltable-stundenplandev:command"
accesskey ="&menu-prefs-stpltable-stundenplandev:accesskey;"/>
</menupopup>
</menu>
</menupopup>
</menu>
<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;"
command = "menu-help-close:command"
accesskey = "&menu-help-close:accesskey;"/>
</menupopup>
</menu> -->
</menubar>
</toolbox>
<hbox flex="1">
<tabbox id="tabbox-left" orient="vertical" flex="1">
<tabs orient="horizontal">
<tab id="tab-mitarbeiter1" label="Mitarbeiter" oncommand="tabchange('mitarbeiter');"/>
<tab id="tab-verband" label="Verband" oncommand="tabchange('lehreinheiten');"/>
<tab id="tab-ort" label="Ort" />
<!--<tab id="tab-lektor" label="Lektor" />-->
</tabs>
<tabpanels id="tabpanels-left" flex="1" >
<tree id="tree-menu-mitarbeiter1" />
<tree id="tree-verband" />
<!--<tree id="tree-ort" />
<tree id="tree-lektor" />-->
</tabpanels>
</tabbox>
<splitter collapse="before" persist="state">
<grippy />
</splitter>
<vbox id="vbox-main" flex="15" />
</hbox>
<statusbar id="status-bar" persist="collapsed">
<statusbarpanel class="statusbarpanel-iconic" id="logo-icon" />
<statusbarpanel id="statusbarpanel-semester" label="<?php echo $benutzer->variable->semester_aktuell; ?>"/>
<statusbarpanel id="statusbarpanel-db_table" label="<?php echo substr(CONN_STRING_FAS,strpos(CONN_STRING_FAS,'dbname=')+7,strpos(CONN_STRING_FAS,'user=')-strpos(CONN_STRING_FAS,'dbname=')-7); ?>"/>
<statusbarpanel id="statusbarpanel-user" label="<?php echo $user; ?>"/>
<statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" />
<statusbarpanel class="statusbarpanel-iconic" id="example-status" flex="1" />
<statusbarpanel id="statusbarpanel-progressmeter" hidden='true'>
<progressmeter id="identifier" mode="undetermined"/>
</statusbarpanel>
</statusbar>
</window>
+231
View File
@@ -0,0 +1,231 @@
<?php
/**
* Erstellt ein XML File fuer die BIS-Meldung
* Personal
*/
include('../vilesci/config.inc.php');
header("content-type text/xml");
if(!$conn=pg_connect(CONN_STRING_FAS))
die("Connection Problem");
$error='<table><tr><th>Vorname</th><th>Nachname</th><th>PersNr</th><th>Fehlermeldung</th></tr>';
$funktionen='';
$stgleitung='';
$myausmass='<table><tr><th>Vorname</th><th>Nachname</th><th>Ausmass</th></tr>';
$stsem1=9;
$stsem2=8;
$jahr='2005-09-01';
$stsemwhere = "(funktion.studiensemester_fk=$stsem1 OR funktion.studiensemester_fk=$stsem2)";
if(isset($_GET['printerror']) && $_GET['printerror']=='false')
$printerror=false;
else
$printerror=true;
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
?>
<Erhalter>
<ErhKz>005</ErhKz>
<MeldeDatum>1511<?php echo date('Y');?></MeldeDatum>
<PersonalMeldung>
<?php
//$qry = "Select mitarbeiter_pk, vorname, familienname, persnr, gebdat, geschlecht, ausbildung, habilitation,funktion.besonderequalifikation, funktion.beschart1, funktion.beschart2, funktion.ausmass, funktion.verwendung,(select kennzahl from studiengang where studiengang_pk=studiengang_fk) as kennzahl, funktion.sws, funktion.hauptberuflich, funktion.hauptberuf, funktion.entwicklungsteam, funktion.funktion, (Select kennzahl from studiengang where studiengang_pk=funktion.studiengang_fk) as stgkz from person, mitarbeiter, funktion where person_pk=person_fk and mitarbeiter_pk=mitarbeiter_fk AND (studiensemester_fk=9 OR studiensemester_fk=8) AND ausgeschieden='N' and familienname!='Dummy' order by persnr ASC, beschart1 DESC";
//$qry = "Select * from vw_bis_personal";
$qry = "SET CLIENT_ENCODING TO 'UNICODE';SELECT distinct person_pk, mitarbeiter_pk, persnr, vorname, familienname, gebdat, geschlecht, ausbildung, habilitation FROM person, funktion, mitarbeiter where bismelden='J' AND person.person_pk=mitarbeiter.person_fk AND mitarbeiter.mitarbeiter_pk=funktion.mitarbeiter_fk AND $stsemwhere AND familienname!='Dummy' AND (beendigungsdatum>'$jahr' OR beendigungsdatum is null) ORDER BY persnr ASC";
if(!$result=pg_query($conn,$qry))
die("Fehler beim auslesen der Datenbank".$qry);
$aktpers=0;
while($row=pg_fetch_object($result))
{
//Neue Person
//Verwendungsblock hinausschreiben
$aktpers=$row->persnr;
$funktionen='';
$stgleitung='';
echo " <Person>\n";
echo " <PersonalNummer>".sprintf("%015d",$row->persnr)."</PersonalNummer>\n";
//Geburtsdatum
list($y,$m,$d) = explode("-",$row->gebdat);
if(date('Y')-$y<10)
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>Person muss aelter als 10 Jahre sein</td></tr>';
echo " <GeburtsDatum>".$d.$m.$y."</GeburtsDatum>\n";
//Geschlecht
if(!in_array($row->geschlecht,array('M','m','W','w')))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>Geschlecht ist ungueltig</td></tr>';
echo " <Geschlecht>".$row->geschlecht."</Geschlecht>\n";
//Hoechste abgeschlossene Ausbildung
if(!in_array($row->ausbildung,array(1,2,3,4,5,6,7,8,9,10,11)))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>HoechsteAbgeschlosseneAusbildung ist ungueltig</td></tr>';
echo " <HoechsteAbgeschlosseneAusbildung>".$row->ausbildung."</HoechsteAbgeschlosseneAusbildung>\n";
//Habilitation
if(!in_array($row->habilitation,array('J','j','N','n')))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>Habilitation ist ungueltig</td></tr>';
echo " <Habilitation>".$row->habilitation."</Habilitation>\n";
//VERWENDUNG
echo " <Verwendung>\n";
//Beschaeftigungsart1
$qry1 = "Select beschart1 from funktion where mitarbeiter_fk='$row->mitarbeiter_pk' and beschart1 in(1,2,3,4,5,6) AND $stsemwhere";
if(!$result1 = pg_query($conn,$qry1))
$error.= "<br>qry failed: $qry1";
else
if(!$row1 = pg_fetch_object($result1))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>BeschaeftigungsArt1 ist ungueltig</td></tr>';
else
$beschart1 = $row1->beschart1;
echo " <BeschaeftigungsArt1>".$beschart1."</BeschaeftigungsArt1>\n";
//Beschaeftingungsart2
$qry1 = "Select beschart2 from funktion where mitarbeiter_fk='$row->mitarbeiter_pk' and beschart2 in(1,2) AND $stsemwhere";
if(!$result1 = pg_query($conn,$qry1))
$error.= "<tr><td>qry failed: $qry1</td></tr>";
else
if(!$row1 = pg_fetch_object($result1))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>BeschaeftigungsArt2 ist ungueltig</td></tr>';
else
$beschart2 = $row1->beschart2;
echo " <BeschaeftigungsArt2>".$beschart2."</BeschaeftigungsArt2>\n";
//Beschaeftigungsausmass
$qry1 = "Select ausmass from funktion where mitarbeiter_fk='$row->mitarbeiter_pk' and ausmass in(1,2,3,4,5) AND $stsemwhere";
if(!$result1 = pg_query($conn,$qry1))
$error.= "<br>qry failed: $qry1";
else
if(!$row1 = pg_fetch_object($result1))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>Ausmass ist ungueltig</td></tr>';
else
$ausmass = $row1->ausmass;
echo " <BeschaeftigungsAusmass>".$ausmass."</BeschaeftigungsAusmass>\n";
$myausmass .= "<tr><td>$row->vorname</td><td>$row->familienname</td><td>$ausmass</td></tr>";
//Verwendung
$qry1 = "Select verwendung from funktion where mitarbeiter_fk='$row->mitarbeiter_pk' and verwendung in(1,2,3,4,5,6,7,8,9) AND $stsemwhere";
if(!$result1 = pg_query($conn,$qry1))
$error.= "<tr><td>qry failed: $qry1</td></tr>";
else
if(!$row1 = pg_fetch_object($result1))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>Verwendung ist ungueltig</td></tr>';
else
$verwendung = $row1->verwendung;
echo " <VerwendungsCode>".$verwendung."</VerwendungsCode>\n";
//Hauptberuflich / Hauptberuf
$qry1 = "Select hauptberuflich, hauptberuf from funktion where mitarbeiter_fk = '$row->mitarbeiter_pk' and hauptberuflich!='' AND $stsemwhere";
if(!$result1=pg_query($conn,$qry1))
$error.= "<tr><td>qry failed: $qry1</td></tr>";
else
if(!$row1 = pg_fetch_object($result1))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>hauptberuflich/hauptberuf ist ungueltig</td></tr>';
else
{
$hauptberuf = $row1->hauptberuf;
$hauptberuflich = $row1->hauptberuflich;
}
if(($hauptberuflich=='N' || $hauptberuflich=='n') && !in_array($hauptberuf, array(0,1,2,3,4,5,6,7,8,9,10,11,12)))
{
$qry1 = "Select hauptberuf from funktion where mitarbeiter_fk = '$row->mitarbeiter_pk' and hauptberuf in (0,1,2,3,4,5,6,7,8,9,10,11,12) AND $stsemwhere AND hauptberuf is not null limit 1";
if(!$result1 = pg_query($conn,$qry1))
$error.="<tr><td>qry failed: $qry1</td></tr>";
else
if(!$row1=pg_fetch_object($result1))
$error.='<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>hauptberuf ist ungueltig</td></tr>';
else
$hauptberuf = $row1->hauptberuf;
}
//Studiengangsleiter Funktionen zusammenbauen
$qry1 = "Select distinct kennzahl FROM studiengang where studiengang_pk in(Select studiengang_fk from funktion where funktion.funktion=5 AND $stsemwhere AND mitarbeiter_fk='$row->mitarbeiter_pk')";
if(!$result1 = pg_query($conn,$qry1))
$error.= "<tr><td>qry failed: $qry1</td></tr>";
while($row1 = pg_fetch_object($result1))
{
$x = sprintf("%04d",$row1->kennzahl);
$stgleitung.=" <StgLeitung>\n";
$stgleitung.=" <StgKz>".$x."</StgKz>\n";
$stgleitung.=" </StgLeitung>\n";
}
//FUNKTIONEN
$qry1 = "SELECT studiengang_pk, kennzahl, entwicklungsteam, besonderequalifikation FROM funktion, studiengang WHERE mitarbeiter_fk='$row->mitarbeiter_pk' AND $stsemwhere AND studiengang_fk=studiengang_pk";
if($result1 = pg_query($conn,$qry1))
{
$stg = array();
while($row1 = pg_fetch_object($result1))
{
//Wenn noch kein Funktionseintrag fuer diesen Studiengang vorhanden ist
if(!in_array($row1->studiengang_pk,$stg))
{
$stg[] = $row1->studiengang_pk;
$funktion='';
$valid=true;
$x = sprintf("%04d",$row1->kennzahl);
$funktion.= " <Funktion>\n";
$funktion.= " <StgKz>".$x."</StgKz>\n";
//$qry2 = "Select sum(sws) as sws from lehreinheit, mitarbeiterlehreinheit where lehreinheit_pk = lehreinheit_fk and (lehreinheit.studiensemester_fk=$stsem1 or lehreinheit.studiensemester_fk=$stsem2) and mitarbeiter_fk='$row->mitarbeiter_pk'";
$qry2 = "Select sum(semesterwochenstunden) as sws from lehreinheit, mitarbeiter_lehreinheit where studiengang_fk='$row1->studiengang_pk' AND lehreinheit_pk = mitarbeiter_lehreinheit.lehreinheit_fk and (lehreinheit.studiensemester_fk=$stsem1 or lehreinheit.studiensemester_fk=$stsem2) and mitarbeiter_fk='$row->mitarbeiter_pk'";
if(!$row2 = pg_fetch_object(pg_query($conn,$qry2)))
$error.="<br>qry failed: $qry2";
//Semesterwochenstunden
if($row2->sws > 80 || $row2->sws < 0)
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>SWS ist ungueltig:'.$row2->sws.'</td></tr>';
if($row2->sws==0)
$valid=false;
$funktion.= " <SWS>".sprintf("%.2f",$row2->sws)."</SWS>\n";
//Hauptberuflich
if(!in_array($hauptberuflich,array('j','J','n','N')))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>Hauptberuflich ist ungueltig</td></tr>';
$funktion.= " <Hauptberuflich>".$hauptberuflich."</Hauptberuflich>\n";
//Hauptberuf
if($hauptberuflich=='n' || $hauptberuflich=='N')
{
if(!in_array($hauptberuf, array(0,1,2,3,4,5,6,7,8,9,10,11,12)))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.' HauptberufCode ist ungueltig</td></tr>';
$funktion.= " <HauptberufCode>".$hauptberuf."</HauptberufCode>\n";
}
//Mitglied im Entwicklungsteam
if(!in_array($row1->entwicklungsteam, array('J','j','n','N')))
$funktion.= " <Entwicklungsteam>N</Entwicklungsteam>\n";
else
$funktion.= " <Entwicklungsteam>".$row1->entwicklungsteam."</Entwicklungsteam>\n";
//Besondere Qualifikation
if($row1->entwicklungsteam=='J' || $row1->entwicklungsteam=='j')
{
if(!in_array($row1->besonderequalifikation,array(0,1,2,3)))
$error.= '<tr><td>'.$row->vorname.'</td><td>'.$row->familienname.'</td><td>'.$row->persnr.'</td><td>BesondereQualifikationCode ist ungueltig</td></tr>';
$funktion.= " <BesondereQualifikationCode>".$row1->besonderequalifikation."</BesondereQualifikationCode>\n";
}
$funktion.= " </Funktion>\n";
if($valid)
$funktionen .= $funktion;
}
}
}
else
$error.="<tr><td>qry failed: $qry1</td></tr>";
if($aktpers!=0) //Ende einer Person erreicht
{
echo $stgleitung;
echo $funktionen;
echo " </Verwendung>\n";
echo " </Person>\n";
}
}
if($printerror)
{
echo $error.'</table>';
echo $myausmass.'</table>';
}
?>
</PersonalMeldung>
</Erhalter>
+300
View File
@@ -0,0 +1,300 @@
<?php
include('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/fas/functions.inc.php');
require_once('../include/fas/benutzer.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING_FAS))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
if (!$conn_vilesci = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$user = get_uid();
//Studiensemester_id holen
$benutzer = new benutzer($conn_vilesci);
$benutzer->loadVariables($user);
$stsem = $benutzer->variable->semester_aktuell;
$stsem_id = getStudiensemesterIdFromName($conn, $stsem);
echo "var studiensemester_id=".$stsem_id.";";
?>
var sink;
var MenuMitarbeiterAuswahl=0;
var treemenuobservedata='';
/**
* Observer der aufgerufen wird wenn Refresh des Funktionen-Trees
* fertig ausgefuehrt wurde.
*/
var treefunktionenobserve = {
onBeginLoad: function(aSink)
{
/* Statusbar setzen */
setStatusBarText('Loading ...');
/* Progressmeter anzeigen */
document.getElementById('statusbarpanel-progressmeter').hidden=false;
},
onInterrupt: function(aSink) { },
onResume: function(aSink) { },
onEndLoad: function(aSink)
{
//debug('onEndLoad Funktionen');
/* Statusbar leeren */
setStatusBarText('');
/* Progressmeter verstecken */
document.getElementById('statusbarpanel-progressmeter').hidden=true;
/* Mitarbeiter Value Changed zuruecksetzen und Speichern Button deaktivieren */
// MitarbeiterDetailRestore();
//debug('Starting Rebuild');
document.getElementById('tree-liste-funktionen').builder.rebuild();
},
onError: function(aSink, aStatus, aErrorMsg)
{
alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.');
}
};
/**
* Observer der aufgerufen wird wenn Refresh des Mitarbeiter-Trees
* fertig ausgefuehrt wurde.
*/
var treemenuobserve = {
onBeginLoad: function(aSink)
{
/* Statusbar setzen */
setStatusBarText('Loading ...');
/* Progressmeter anzeigen */
document.getElementById('statusbarpanel-progressmeter').hidden=false;
},
onInterrupt: function(aSink) { },
onResume: function(aSink) { },
onEndLoad: function(aSink)
{
//debug('onEndLoad');
/* Statusbar leeren */
setStatusBarText('');
/* Progressmeter verstecken */
document.getElementById('statusbarpanel-progressmeter').hidden=true;
/* Mitarbeiter Value Changed zuruecksetzen und Speichern Button deaktivieren */
MitarbeiterDetailRestore();
document.getElementById('tree-liste-mitarbeiter').builder.rebuild();
},
onError: function(aSink, aStatus, aErrorMsg)
{
alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.');
}
};
/**
* Observer der aufgerufen wird wenn Rebuild fertig abgearbeitet wurde
* (Funktioniert mit Moz 1.7.13 nicht richtig -> Seamonkey 1.0.2 funktioniert)
*/
var treemenurebuildobserve = {
willRebuild: function(aSink) { },
didRebuild: function(aSink)
{
//debug('didRebuild:'+treemenuobservedata);
//wenn treemenuobservedata = refresheintragmerken dann wird der Mitarbeiter wieder markiert
if(treemenuobservedata=='refresheintragmerken')
MitarbeiterSelectMitarbeiter();
treemenuobservedata='';
treeMitarbeiterReload=true;
}
}
/**
* Gibt eine Message auf die Javascript Console aus
*/
function debug(msg)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var consoleService = Components.classes["@mozilla.org/consoleservice;1"]
.getService(Components.interfaces.nsIConsoleService);
consoleService.logStringMessage(msg);
}
/**
* Beim Auswaehlen eines Mitarbeiter-Filters werden die Mitarbeiter
* die diesem Filter entsprechen geladen
*/
function onMenuMitarbeiterSelect(id)
{
//Falls Daten geaendert wurden aber noch nicht gespeichert
if(treeMitarbeiterDetailChanged)
{
if(confirm("Wollen Sie die geänderten Daten speichern?"))
saveMitarbeiter();
else
treeMitarbeiterDetailChanged=false;
}
var tree=document.getElementById(id);
var content=document.getElementById('tree-liste-mitarbeiter');
var col = tree.columns ? tree.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
var filter=tree.view.getCellText(tree.currentIndex,col);
var url = "<?php echo APP_ROOT; ?>rdf/fas/mitarbeiter.rdf.php";
var attributes="?type=unknown&leerzeichencodierung=true";
if(filter=="")
filter="Studiengangsleiter";
if (filter=="Studiengangsleiter")
{
attributes+="&stgl=true";
MenuMitarbeiterAuswahl=0;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true;
}
if (filter=="Fachbereichsleiter")
{
attributes+="&fbl=true";
MenuMitarbeiterAuswahl=1;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true;
}
if (filter=="Alle")
{
attributes+="&alle=true";
MenuMitarbeiterAuswahl=2;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false;
}
if (filter=="Aktive")
{
attributes+="&aktiv=true";
MenuMitarbeiterAuswahl=3;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false;
}
if (filter=="FixAngestellte")
{
attributes+="&fix=true&aktiv=true";
MenuMitarbeiterAuswahl=4;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false;
}
if (filter=="FixAngestellteAlle")
{
attributes+="&fix=true";
MenuMitarbeiterAuswahl=5;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false;
}
if (filter=="Inaktive")
{
attributes+="&aktiv=false";
MenuMitarbeiterAuswahl=6;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true;
}
if (filter=="Karenziert")
{
attributes+="&karenziert=true";
MenuMitarbeiterAuswahl=7;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true;
}
if (filter=="Ausgeschieden")
{
attributes+="&ausgeschieden=true";
MenuMitarbeiterAuswahl=8;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=true;
}
if (filter=="FreiAngestellte")
{
attributes+="&fix=false&aktiv=true";
MenuMitarbeiterAuswahl=9;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false;
}
if (filter=="FreiAngestellteAlle")
{
attributes+="&fix=false";
MenuMitarbeiterAuswahl=10;
document.getElementById('toolbar-MitarbeiterEditor-neu').disabled=false;
}
//Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein
//Observer Event ausgeloest wird.
url+=attributes+'&'+gettimestamp();
treeMitarbeiterReload=false;
//Mitarbeiter Detail Felder deaktivieren
SetMitarbeiterDetailAktiv(false);
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Alte Datasources loeschen
var oldDatasources = content.database.GetDataSources();
while(oldDatasources.hasMoreElements())
content.database.RemoveDataSource(oldDatasources.getNext());
//Neue Datasource setzen
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var newDs = rdfService.GetDataSource(url);
content.database.AddDataSource(newDs);
//Sink Observer anhaengen
sink = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
sink.addXMLSinkObserver(treemenuobserve);
}
/**
* Bei Auswahl des Verbandes wird lehreinheiten.rdf
* fuer die zugehoerige Gruppe/Studiengang geladen
*/
function onMenuVerbandSelect()
{
tree = document.getElementById('tree-verband');
//Studiengang, Gruppe und Ausbildungssemester holen
var col = tree.columns ? tree.columns["tree-verband-studiengang_id"] : "tree-verband-studiengang_id";
var studiengang_id=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["tree-verband-gruppe_id"] : "tree-verband-gruppe_id";
var gruppe_id=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["tree-verband-ausbildungssemester_id"] : "tree-verband-ausbildungssemester_id";
var ausbildungssemester_id=tree.view.getCellText(tree.currentIndex,col);
//Tree fuellen
lehreinheitentree = document.getElementById('tree-liste-lehreinheiten');
if(gruppe_id==0)
url = '<?php echo APP_ROOT; ?>rdf/fas/lehreinheiten.rdf.php?studiengang_id='+studiengang_id;
else
url = '<?php echo APP_ROOT; ?>rdf/fas/lehreinheiten.rdf.php?gruppe_id='+gruppe_id;
lehreinheitentree.setAttribute('datasources',url);
document.getElementById('textbox-lehreinheiten-detail-studiengang').value=studiengang_id;
document.getElementById('textbox-lehreinheiten-ausbildungssemester_id').value=ausbildungssemester_id;
}
/**
* Parst einen RDF String
*/
function parseRDFString(str, url)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var memoryDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
var ios=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
baseUri=ios.newURI(url,null,null);
var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser);
parser.parseString(memoryDS,baseUri,str);
return memoryDS;
}
/**
* Liefert Wert aus Datasource
*/
function getTargetHelper(dsource,subj,predi)
{
if (dsource.hasArcOut(subj, predi))
{
var target = dsource.GetTarget(subj, predi, true);
if (target instanceof Components.interfaces.nsIRDFLiteral)
return target.Value;
if (target instanceof Components.interfaces.nsIRDFInt) //Fuer Integer Werte
return target.Value;
}
return "";
}
+238
View File
@@ -0,0 +1,238 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
include('../vilesci/config.inc.php');
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiteroverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lehreinheitenoverlay.xul.php"?>';
/*echo '<?xul-overlay href="'.APP_ROOT.'content/studentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lfvtoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-week-overlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-semester-overlay.xul.php"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/fas.css" type="text/css"?>';*/
?>
<!DOCTYPE overlay >
<overlay id="FASOverlay"
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/fasoverlay.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/dragboard.js"/>
-->
<tree id="tree-menu-mitarbeiter1" onselect="onMenuMitarbeiterSelect('tree-menu-mitarbeiter1');"
seltype="single" hidecolumnpicker="true" flex="1"
>
<treecols>
<treecol id="tree-menu-mitarbeiter-col-name" label="Filter" primary="true" flex="1"/>
<treecol id="tree-menu-mitarbeiter-col-filter" label="ColFilter" hidden="true" flex="1"/>
</treecols>
<treechildren>
<treeitem>
<treerow>
<treecell label="Alle"/>
<treecell label="Alle"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="FixAngestellte"/>
<treecell label="FixAngestellteAlle"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="FreiAngestellte"/>
<treecell label="FreiAngestellteAlle"/>
</treerow>
</treeitem>
<treeitem container="true" open="true">
<treerow>
<treecell label="Aktive"/>
<treecell label="Aktive"/>
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="FixAngestellte"/>
<treecell label="FixAngestellte"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="FreiAngestellte"/>
<treecell label="FreiAngestellte"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Studiengangsleiter"/>
<treecell label="Studiengangsleiter"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Fachbereichsleiter"/>
<treecell label="Fachbereichsleiter"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
<treeitem container="true" open="true">
<treerow>
<treecell label="Inaktive"/>
<treecell label="Inaktive"/>
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="Karenziert"/>
<treecell label="Karenziert"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Ausgeschieden"/>
<treecell label="Ausgeschieden"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</tree>
<tree id="tree-verband" onselect="onMenuVerbandSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="<?php echo APP_ROOT; ?>rdf/fas/student-verbaende.rdf.php" ref="http://www.technikum-wien.at/gruppen/liste"
>
<treecols>
<treecol id="tree-verband-name" label="Name" flex="2" primary="true"/>
<splitter class="tree-splitter"/>
<treecol id="tree-verband-bezeichnung" label="Bezeichnung" flex="15" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="tree-verband-studiengang_id" label="StudiengangID" flex="15" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="tree-verband-gruppe_id" label="GruppenID" flex="15" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="tree-verband-ausbildungssemester_id" label="AusbildungssemesterID" flex="15" hidden="true"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#name"/>
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#studiengang_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#studiengang_id"/>
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#gruppe_id"/>
<treecell label="rdf:http://www.technikum-wien.at/gruppen/rdf#ausbildungssemester_id"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<tree id="tree-ort" onselect="onOrtSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="" ref="http://www.technikum-wien.at/tempus/ort/alle-orte">
<treecols>
<treecol id="raumtyp" label="Raumtyp" flex="2" primary="true" />
<splitter class="tree-splitter"/>
<treecol id="ort_kurzbz" label="Raum" flex="4" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="hierarchie" label="HI" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="ort_bezeichnung" label="Bezeichnung" flex="3" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="max_person" label="MaxP" flex="1" hidden="true"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#raumtyp"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#ort_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#hierarchie"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#ort_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#max_person"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<tree id="tree-lektor" onselect="onLektorSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="mitarbeiter.rdf.php" ref="http://www.technikum-wien.at/tempus/mitarbeiter/alle">
<treecols>
<treecol id="kurzbz" 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="vornamen" label="Vornamen" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="titel" label="Titel" flex="1" 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/tempus/mitarbeiter/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#nachname"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#vornamen"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#titel"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#uid"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
-->
<vbox id="vbox-main">
<tabbox id="tabbox-main" flex="3" orient="vertical">
<tabs orient="horizontal">
<tab id="tab-mitarbeiter" label="Mitarbeiter" oncommand="tabchange('mitarbeiter');" />
<tab id="tab-lehreinheiten" label="Lehreinheiten" oncommand="tabchange('lehreinheiten');"/>
<!--<tab id="tab-semester" label="Semesterplan" />
<tab id="tab-studenten" label="Studenten" />-->
<!-- <tab id="tab-lfvt" label="Lehrveranstaltung" /> -->
</tabs>
<tabpanels id="tabpanels-main" flex="1">
<!-- Mitarbeiter -->
<vbox id="MitarbeiterEditor" />
<vbox id="LehreinheitenEditor" />
<!-- Wochenplan -->
<!-- <hbox id="hboxTimeTableWeek" /> -->
<!-- Semesterplan -->
<!-- <vbox id="vboxTimeTableSemester" /> -->
<!-- Studenten -->
<!-- <vbox id="studentenEditor" /> -->
<!-- Lehrfachverteilung -->
<!-- <vbox id="lfvtEditor" /> -->
</tabpanels>
</tabbox>
</vbox>
</overlay>
+237
View File
@@ -0,0 +1,237 @@
<?php
require('../vilesci/config.inc.php');
?>
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
/**
* Wird zu Beginn einer DragnDrop Session aufgerufen.
* Hier werden die Flayvour und die zu uebertragenden Daten
* festgelegt.
*/
function treeDragGesture(event)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
var tree = document.getElementById('tree-liste-lehreinheiten')
var row = { }
var col = { }
var child = { }
//Index der Quell-Row ermitteln
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
//Wenn es keine Row ist sondern ein Header oder Scrollbar dann das DnD abbrechen
if (!col.value)
return false;
//Lehreinheit_id ermitteln
col = tree.columns ? tree.columns["tree-liste-lehreinheiten-col-lehreinheit_id"] : "tree-liste-lehreinheiten-col-lehreinheit_id";
lehreinheit_id=tree.view.getCellText(row.value,col);
var ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
//Flavour anhaengen
trans.addDataFlavor("lva");
var textWrapper = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
//Daten anhaengen
textWrapper.data = lehreinheit_id;
trans.setTransferData("lva", textWrapper, textWrapper.data.length*2);
var transArray = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
transArray.AppendElement(trans);
// Actually start dragging
ds.invokeDragSession(event.target, transArray, null, ds.DRAGDROP_ACTION_COPY + ds.DRAGDROP_ACTION_MOVE);
event.stopPropagation();
}
/**
* Wird aufgerufen wenn Drag Event von Ausserhalb des eigenen Windows kommt
*/
function treeDragEnter(event)
{
//Not implemented
}
/**
* Drag ueber ein Element
*/
function DragOverContentArea ( event )
{
var validFlavor = false;
var dragSession = null;
var targetNode = event.target
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].
getService().QueryInterface(Components.interfaces.nsIDragService);
if( dragService )
{
dragSession = dragService.getCurrentSession();
if( dragSession )
{
if( dragSession.isDataFlavorSupported("moz/toolbaritem") )
validFlavor = true;
else if ( dragSession.isDataFlavorSupported("lva") )
validFlavor = true;
if ( validFlavor )
{
//Style action
//targetNode.style.backgroundColor = "red";
//targetNode.style.color = "red";
//event.originalTarget.style.color = "red";
dragSession.canDrop = true;
event.stopPropagation();
}
}
}
}
function treeDragExit(event)
{
//Not implemented
}
var dragservice_ds;
/**
* Holt die Daten aus der DragSession
*/
function getDragData(aFlavourSet)
{
debug('getdragdata in');
/*try
{
var ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
}
catch(e)
{
debug('getDragData() in lehreinheitenDragnDrop.js.php hat folgenden Fehler verursacht: '+e);
}
*/
var ds = dragservice_ds;
var ses = ds.getCurrentSession()
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var supportsArray = Components.classes["@mozilla.org/supports-array;1"]
.createInstance(Components.interfaces.nsISupportsArray);
for (var i = 0; i < ses.numDropItems; ++i)
{
var trans = nsTransferable.createTransferable();
for (var j = 0; j < aFlavourSet.flavours.length; ++j)
trans.addDataFlavor(aFlavourSet.flavours[j].contentType);
ses.getData(trans, i);
supportsArray.AppendElement(trans);
}
debug('getdragdata out');
return supportsArray;
}
/**
* (Wenn gedroppt wird)
* Speichert die Partizipierung
*/
function treeDragDrop(event)
{
event.stopPropagation();
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
try {
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
}
catch (e)
{
debug('treeDragDrop: e');
}
debug('treeDragDrop in');
var ds = dragservice_ds;
var ses = ds.getCurrentSession()
var sourceNode = ses.sourceNode
var tree = document.getElementById('tree-liste-lehreinheiten')
var row = { }
var col = { }
var child = { }
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
if(row.value!=-1) //Drop on Row
{
//Ziel Lehreinheit holen
col = tree.columns ? tree.columns["tree-liste-lehreinheiten-col-lehreinheit_id"] : "tree-liste-lehreinheiten-col-lehreinheit_id";
ziel_lehreinheit_id=tree.view.getCellText(row.value,col);
}
else
ziel_lehreinheit_id=-1; //Drop on Header or empty place
//Quell Lehreinheit holen
var flavourset = new FlavourSet();
flavourset.appendFlavour("lva");
var transferData = nsTransferable.get(flavourset, getDragData, true);
quell_lehreinheit_id=transferData.first.first.data;
if(quell_lehreinheit_id!=ziel_lehreinheit_id)
{
//Pratizipierung Speichern
if(confirm('Wollen Sie diese Lehreinheit wirklich verschieben'))
{
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = 'type=lva_partizipierung&ziel_lehreinheit_id='+ziel_lehreinheit_id+'&quell_lehreinheit_id='+quell_lehreinheit_id;
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
default: //passiert hoffentlich nie
alert("Fehler: DragnDrop Request Error");
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
RefreshLehreinheitenTree();
else
alert(dbdml_errormsg);
}
}
else
{
alert('Partizipierung von sich selbst ist nicht moeglich');
}
}
+353
View File
@@ -0,0 +1,353 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!DOCTYPE overlay>
<overlay id="LehreinheitenDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="LehreinheitenDetailEditor" flex="1" style="overflow:auto">
<textbox id="textbox-lehreinheiten-detail-lehreinheit_id" hidden="true" />
<tabbox id="tabbox-lehreinheitenDetail" flex="3" orient="vertical" hidden="false">
<tabs orient="horizontal">
<tab id="tab-lehreinheiten-daten" label="Daten" />
<tab id="tab-lehreinheiten-lektoren" label="Lektoren" />
</tabs>
<tabpanels id="tabpanels-lehreinheiten-main" flex="1">
<!--Daten-->
<vbox style="margin-top: 5px;">
<textbox id="textbox-lehreinheiten-detail-studiengang" oninput="LehreinheitenDetailValueChange()" hidden="true"/>
<textbox id="textbox-lehreinheiten-detail-studiensemester" oninput="LehreinheitenDetailValueChange()" hidden="true"/>
<textbox id="textbox-lehreinheiten-detail-lehrveranstaltung" oninput="LehreinheitenDetailValueChange()" hidden="true"/>
<textbox id="textbox-lehreinheiten-detail-lehreinheit_fk" oninput="LehreinheitenDetailValueChange()" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-lehreinheiten-detail-fachbereich" value="Fachbereich:"/>
<menulist id="menulist-lehreinheiten-detail-fachbereich" oncommand="LehreinheitenDetailValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/fachbereich.rdf.php"
ref="http://www.technikum-wien.at/fachbereich/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/fachbereich/rdf#name"
value="rdf:http://www.technikum-wien.at/fachbereich/rdf#fachbereich_id"/>
</menupopup>
</template>
</menulist>
<label align="end" control="menulist-lehreinheiten-detail-ausbildungssemester" value="Ausbildungssemester:"/>
<menulist id="menulist-lehreinheiten-detail-ausbildungssemester" oncommand="LehreinheitenDetailsetGruppenMenulistDatasource();LehreinheitenDetailValueChange();"
datasources="rdf:null"
ref="http://www.technikum-wien.at/ausbildungssemester/liste">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildungssemester/rdf#name"
value="rdf:http://www.technikum-wien.at/ausbildungssemester/rdf#ausbildungssemester_id"/>
</menupopup>
</template>
</menulist>
<label align="end" control="menulist-lehreinheiten-detail-gruppe" value="Gruppe:"/>
<menulist id="menulist-lehreinheiten-detail-gruppe" oncommand="LehreinheitenDetailValueChange();"
datasources="rdf:null"
ref="http://www.technikum-wien.at/gruppen/liste">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/gruppen/rdf#fullname"
value="rdf:http://www.technikum-wien.at/gruppen/rdf#gruppe_id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="textbox-lehreinheiten-detail-bezeichnung" value="Bezeichnung: "/>
<textbox id="textbox-lehreinheiten-detail-bezeichnung" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
<label control="textbox-lehreinheiten-detail-kurzbezeichnung" value="Kurzbezeichnung: "/>
<textbox id="textbox-lehreinheiten-detail-kurzbezeichnung" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
<label align="end" control="menulist-lehreinheiten-detail-lehrform" value="Lehrform:"/>
<menulist id="menulist-lehreinheiten-detail-lehrform" oncommand="LehreinheitenDetailValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/lehrform.rdf.php"
ref="http://www.technikum-wien.at/lehrform/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/lehrform/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/lehrform/rdf#lehrform_id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="textbox-lehreinheiten-detail-nummer" value="Nummer: "/>
<textbox id="textbox-lehreinheiten-detail-nummer" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
<label align="end" control="menulist-lehreinheiten-detail-koordinator" value="Koordinator:"/>
<menulist id="menulist-lehreinheiten-detail-koordinator" oncommand="LehreinheitenDetailValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/mitarbeiter.rdf.php?aktiv=true"
ref="http://www.technikum-wien.at/mitarbeiter/alle">
<template>
<menupopup>
<menuitem value="-1" label="Kein Koordinator" />
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname^ rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"
value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitarbeiter_id"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname"
/>
</menupopup>
</template>
</menulist>
</row>
</rows>
</grid>
<groupbox>
<caption label="Kosten" />
<vbox flex="1" style="margin: 5px;">
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label control="textbox-lehreinheiten-detail-sws" value="Semesterwochenstunden: "/>
<textbox id="textbox-lehreinheiten-detail-sws" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
<label control="textbox-lehreinheiten-detail-gesamtstunden" value="Gesamtstunden: "/>
<textbox id="textbox-lehreinheiten-detail-gesamtstunden" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
</row>
<row>
<label control="textbox-lehreinheiten-detail-planlektoren" value="Anzahl der Lektoren: "/>
<hbox><textbox id="textbox-lehreinheiten-detail-planlektoren" maxlength="2" oninput="LehreinheitenDetailValueChange()"/><spacer flex="1"/></hbox>
<label control="textbox-lehreinheiten-detail-plankostenprolektor" value="Kosten pro Lektor: "/>
<textbox id="textbox-lehreinheiten-detail-plankostenprolektor" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
<label control="textbox-lehreinheiten-detail-planfaktor" value="Geplanter Faktor: "/>
<textbox id="textbox-lehreinheiten-detail-planfaktor" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
</row>
</rows>
</grid>
</vbox>
</groupbox>
<groupbox>
<caption label="LV-Planung" />
<vbox flex="1" style="margin: 5px;">
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-lehreinheiten-detail-raumtyp" value="Raumtyp:"/>
<menulist id="menulist-lehreinheiten-detail-raumtyp" oncommand="LehreinheitenDetailValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/raumtyp.rdf.php"
ref="http://www.technikum-wien.at/raumtyp/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/raumtyp/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/raumtyp/rdf#raumtyp_id"/>
</menupopup>
</template>
</menulist>
<label align="end" control="menulist-lehreinheiten-detail-raumtypalternativ" value="Raumtyp Alternativ:"/>
<menulist id="menulist-lehreinheiten-detail-raumtypalternativ" oncommand="LehreinheitenDetailValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/raumtyp.rdf.php"
ref="http://www.technikum-wien.at/raumtyp/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/raumtyp/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/raumtyp/rdf#raumtyp_id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label align="end" control="menulist-lehreinheiten-detail-wochenrythmus" value="Wochenrythmus:"/>
<menulist id="menulist-lehreinheiten-detail-wochenrythmus" oncommand="LehreinheitenDetailValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/wochenrythmus.rdf.php"
ref="http://www.technikum-wien.at/wochenrythmus/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/wochenrythmus/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/wochenrythmus/rdf#wochenrythmus_id"/>
</menupopup>
</template>
</menulist>
<label control="textbox-lehreinheiten-detail-kalenderwoche" value="Kalenderwoche: "/>
<textbox id="textbox-lehreinheiten-detail-kalenderwoche" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
<label control="textbox-lehreinheiten-detail-stundenblockung" value="Stundenblockung: "/>
<textbox id="textbox-lehreinheiten-detail-stundenblockung" maxlength="255" flex="1" oninput="LehreinheitenDetailValueChange()"/>
</row>
</rows>
</grid>
<hbox>
<label control="textbox-lehreinheiten-detail-bemerkungen" value="Bemerkung:"/>
<textbox id="textbox-lehreinheiten-detail-bemerkungen" multiline="true" oninput="LehreinheitenDetailValueChange()" flex="1"/>
</hbox>
</vbox>
</groupbox>
<hbox>
<spacer flex="1"/>
<button label="Abbrechen" oncommand="LehreinheitenTreeAuswahl();"/>
<button label="Speichern" oncommand="LehreinheitenDetailSpeichern()"/>
</hbox>
<spacer flex="5"/>
</vbox>
<!--Lektoren Tab-->
<vbox>
<hbox flex="1" style="padding: 10px">
<vbox width="250">
<hbox flex="1">
<tree id="tree-liste-mitarbeiterlehreinheiten" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/mitarbeiterlehreinheiten/alle"
onselect="MitarbeiterLehreinheitenTreeAuswahl();" flags="dont-build-content"
style="border: 1px solid black;"
>
<treecols>
<treecol id="tree-liste-mitarbeiterlehreinheiten-col-nachname" label="Nachname" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheiten/rdf#nachname" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiterlehreinheiten-col-vorname" label="Vorname" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheiten/rdf#vorname" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiterlehreinheiten-col-mitarbeiter_lehreinheit_id" label="MitarbeiterLehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheiten/rdf#mitarbeiter_lehreinheit_id" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheiten/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheiten/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheiten/rdf#mitarbeiter_lehreinheit_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<spacer />
</hbox>
<hbox>
<button label="+" oncommand="MitarbeiterLehreinheitenAdd()" style="max-width: 30px;"/>
<button label="-" oncommand="MitarbeiterLehreinheitenDel()" style="max-width: 30px;"/>
</hbox>
</vbox>
<vbox>
<hbox>
<groupbox>
<caption label="Lektorendaten" />
<vbox flex="1">
<textbox id="textbox-lehreinheiten-detail-lektoren-lehreinheit_id" hidden="true"/>
<textbox id="textbox-lehreinheiten-detail-lektoren-mitarbeiter_lehreinheit_id" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-lehreinheiten-detail-funktion" value="Funktion:"/>
<menulist id="menulist-lehreinheiten-detail-funktion" disabled="true" oncommand="LehreinheitenDetailLektorValueChanged();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/mitarbeiterlehreinheitenfunktionen.rdf.php"
ref="http://www.technikum-wien.at/mitarbeiterlehreinheitenfunktionen/alle" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheitenfunktionen/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheitenfunktionen/rdf#funktion_id"/>
</menupopup>
</template>
</menulist>
<label align="end" control="menulist-lehreinheiten-detail-mitarbeiterauswahl" value="Lektor:"/>
<hbox flex="1">
<menulist id="menulist-lehreinheiten-detail-mitarbeiterauswahl" disabled="true" oncommand="LehreinheitenDetailLektorValueChanged();"
datasources="rdf:*"
ref="http://www.technikum-wien.at/mitarbeiterlehreinheitenauswahl/alle" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheitenauswahl/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiterlehreinheitenauswahl/rdf#vorname"
value="rdf:http://www.technikum-wien.at/mitarbeiterlehreinheitenauswahl/rdf#mitarbeiter_id"/>
</menupopup>
</template>
</menulist>
<button label='+' id="button-lehreinheiten-detail-lektoren-auswahladd" disabled="true" oncommand='OpenMitarbeiterAuswahlDialog()' style="max-width: 30px;"/>
</hbox>
</row>
<row>
<label control="textbox-lehreinheiten-detail-lektoren-kosten" value="Kosten: "/>
<textbox id="textbox-lehreinheiten-detail-lektoren-kosten" disabled="true" maxlength="255" flex="1" oninput="LehreinheitenDetailLektorValueChanged()"/>
<label control="textbox-lehreinheiten-detail-lektoren-gesamtstunden" value="Gesamtstunden: "/>
<textbox id="textbox-lehreinheiten-detail-lektoren-gesamtstunden" disabled="true" maxlength="255" flex="1" oninput="LehreinheitenDetailLektorValueChanged()"/>
</row>
<row>
<label control="textbox-lehreinheiten-detail-lektoren-faktor" value="Faktor: "/>
<textbox id="textbox-lehreinheiten-detail-lektoren-faktor" disabled="true" maxlength="255" flex="1" oninput="LehreinheitenDetailLektorValueChanged()"/>
<label control="textbox-lehreinheiten-detail-lektoren-differenz" value="Differenz: "/>
<textbox id="textbox-lehreinheiten-detail-lektoren-differenz" maxlength="255" flex="1" oninput="LehreinheitenDetailLektorValueChanged()" disabled="true"/>
</row>
</rows>
</grid>
<hbox flex="1">
<spacer flex="1" />
<button label="Speichern" disabled="true" id="button-lehreinheiten-detail-lektoren-save" oncommand="MitarbeiterLehreinheitenZuteilungSave();"/>
</hbox>
</vbox>
</groupbox>
</hbox>
</vbox>
<spacer flex="1" />
</hbox>
</vbox>
</tabpanels>
</tabbox>
</vbox>
</overlay>
@@ -0,0 +1,23 @@
<?php
include("../vilesci/config.inc.php");
?>
function LehreinheitenMitarbeiterHinzufuegen()
{
tree = document.getElementById('tree-liste-lehreinheiten-mitarbeiter');
var idx;
if(tree.currentIndex>=0)
idx = tree.currentIndex;
else
{
alert('Bitte zuerst einen Lektor auswaehlen');
return false;
}
//MitarbeiterLehreinheit_id holen
var col = tree.columns ? tree.columns["tree-liste-lehreinheiten-mitarbeiter-col-mitarbeiter_id"] : "tree-liste-lehreinheiten-mitarbeiter-col-mitarbeiter_id";
var mitarbeiter_id=tree.view.getCellText(idx,col);
window.opener.MitarbeiterLehreinheitAuswahlAdd(mitarbeiter_id);
window.close();
}
@@ -0,0 +1,94 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/fas.css" type="text/css"?>';
?>
<window id="lehreinheiten-mitarbeiter-dialog" title="Mitarbeiter Auswahl"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lehreinheitenmitarbeiterdialog.js.php" />
<tree id="tree-liste-lehreinheiten-mitarbeiter" seltype="single" hidecolumnpicker="false" flex="1"
datasources="<?php echo APP_ROOT; ?>rdf/fas/mitarbeiter.rdf.php?aktiv=true"
ref="http://www.technikum-wien.at/mitarbeiter/alle"
flags="dont-build-content"
enableColumnDrag="true" style="margin:5px;"
persist="height"
>
<treecols>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-anrede" label="Anrede" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-titelpre" label="Titel(Pre)" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-vorname" label="Vorname" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-vornamen" label="Vornamen" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-nachname" label="Nachname" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator" sortActive="true" sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-titelpost" label="Titel(Post)" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-uid" label="UID" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-mitarbeiter_id" label="mitarbeiter_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitarbeiter_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-mitarbeiter-col-person_id" label="person_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitarbeiter_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<hbox flex="1">
<spacer flex="1"/>
<button id="button-lehreinheiten-mitarbeiter-auswahl" label="Hinzufuegen" oncommand="LehreinheitenMitarbeiterHinzufuegen();" />
</hbox>
</vbox>
</window>
+30
View File
@@ -0,0 +1,30 @@
<?php
include("../vilesci/config.inc.php");
?>
/**
* Fuegt eine neue Lehreinheit hinzu.
* Wenn das anlegen erfolgreich war, wird das Dialogfenster geschlossen.
*/
function LehreinheitenLVAHinzufuegen()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Markierten Eintrag holen
tree = document.getElementById('tree-liste-lehreinheiten-lehrveranstaltung');
var idx;
if(tree.currentIndex>=0)
idx = tree.currentIndex;
else
{
alert('Bitte zuerst einen Lektor auswaehlen');
return false;
}
//LVA_id holen
var col = tree.columns ? tree.columns["tree-liste-lehreinheiten-lehrveranstaltung-col-lehrveranstaltung_id"] : "tree-liste-lehreinheiten-lehrveranstaltung-col-lehrveranstaltung_id";
var lehrveranstaltung_id=tree.view.getCellText(idx,col);
if(window.opener.LehreinheitenNeu1(lehrveranstaltung_id))
window.close();
}
+78
View File
@@ -0,0 +1,78 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/fas.css" type="text/css"?>';
if(isset($_GET['stg_id']))
{
$parameter='?studiengang_id='.$_GET['stg_id'];
if(isset($_GET['ausbildungssemester_id']) && $_GET['ausbildungssemester_id']!='0')
$parameter.='&amp;ausbildungssemester_id='.$_GET['ausbildungssemester_id'];
}
else
$parameter='';
?>
<window id="lehreinheiten-mitarbeiter-dialog" title="Mitarbeiter Auswahl"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lehreinheitenneudialog.js.php" />
<tree id="tree-liste-lehreinheiten-lehrveranstaltung" seltype="single" hidecolumnpicker="false" flex="1"
datasources="<?php echo APP_ROOT; ?>rdf/fas/lehrveranstaltungen.rdf.php<?php echo $parameter; ?>"
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
flags="dont-build-content"
enableColumnDrag="true" style="margin:5px;"
persist="height"
ondblclick="LehreinheitenLVAHinzufuegen()"
>
<treecols>
<treecol id="tree-liste-lehreinheiten-lehrveranstaltung-col-lehrveranstaltung_id" label="LVA_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-lehrveranstaltung-col-name" label="Name" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#name" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-lehrveranstaltung-col-ausbildungssemester" label="Ausbildungssemester" flex="1" hidden="false"
class="sortDirectionIndicator" sortActive="true" sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#ausbildungssemester_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-lehrveranstaltung-col-fachbereich" label="Fachbereich" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#fachbereich_bezeichnung" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#lehrveranstaltung_id" />
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#ausbildungssemester_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#fachbereich_bezeichnung" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<hbox flex="1">
<spacer flex="1"/>
<button id="button-lehreinheiten-mitarbeiter-auswahl" label="Hinzufuegen" oncommand="LehreinheitenLVAHinzufuegen();" />
</hbox>
</vbox>
</window>
File diff suppressed because it is too large Load Diff
+204
View File
@@ -0,0 +1,204 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/fas.css" type="text/css"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lehreinheitendetailoverlay.xul.php"?>';
// rdf:null
?>
<!DOCTYPE overlay>
<overlay id="LehreinheitenOverlay"
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/lehreinheitenoverlay.js.php" />
<!--
<script src="chrome://global/content/nsTransferable.js"/>
-->
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lehreinheitenDragnDrop.js.php" />
<vbox id="LehreinheitenEditor" flex="1">
<keyset>
<key id="lehreinheiten-delete-key" keycode="VK_DELETE" oncommand="LehreinheitenDelete();"/>
<key id="lehreinheiten-new-key" modifiers="control" key="N" oncommand="LehreinheitenNeu();"/>
</keyset>
<toolbox>
<toolbar id="toolbar-LehreinheitenEditor">
<toolbarbutton id="toolbar-LehreinheitenEditor-neu" label=" Neu" key="lehreinheiten-new-key" oncommand="LehreinheitenNeu();" image="../skin/images/NeuDokument.png" tooltiptext="Neue Lehreinheit anlegen" />
<toolbarbutton id='toolbar-LehreinheitenEditor-loeschen' label=" Löschen" key="lehreinheiten-delete-key" oncommand="LehreinheitenDelete();" image="../skin/images/DeleteIcon.png" tooltiptext="Lehreinheiten löschen" />
<toolbarbutton label=" Neu Laden" oncommand="RefreshLehreinheitenTree()" image="../skin/images/refresh.png" tooltiptext="Liste neu laden" />
</toolbar>
</toolbox>
<textbox id="textbox-lehreinheiten-ausbildungssemester_id" oninput="LehreinheitenDetailValueChange()" hidden="true"/>
<tree id="tree-liste-lehreinheiten" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/lehreinheiten/liste"
onselect="LehreinheitenTreeAuswahl();" flags="dont-build-content"
enableColumnDrag="true"
ondraggesture="treeDragGesture(event);"
ondragenter="treeDragEnter(event);"
ondragover="return DragOverContentArea(event);"
ondragexit="treeDragExit(event);"
ondragdrop="treeDragDrop(event);"
>
<treecols>
<treecol id="tree-liste-lehreinheiten-col-bezeichnung" label="Bezeichnung" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator" sortActive="true" sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#bezeichnung" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-studiengang" label="Studiengang" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#studiengang_kurzbz" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-studiensemester" label="Studiensemester" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#studiensemester_kurzbz" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-fachbereich" label="Fachbereich" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#fachbereich_bezeichnung" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-ausbildungssemester" label="Ausbildungssemester" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#ausbildungssemester_kurzbz" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-lehrform" label="Lehrform" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#lehrform_kurzbz" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-gruppe" label="Gruppe" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#gruppe_kurzbz" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-nummer" label="Nummer" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#nummer" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-kurzbezeichnung" label="Kurzbezeichnung" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#kurzbezeichnung" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-semesterwochenstunden" label="Semesterwochenstunden" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#semesterwochenstunden" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-gesamtstunden" label="Gesamtstunden" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#gesamtstunden" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-plankostenprolektor" label="Plankosten pro Lektor" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#plankostenprolektor" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-planfaktor" label="Planfaktor" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#planfaktor" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-planlektoren" label="Planlektoren" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#planlektoren" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-raumtyp_bezeichnung" label="Raumtyp" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#raumtyp_bezeichnung" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-raumtypalternativ_bezeichnung" label="Raumtyp Alternativ" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#raumtypalternativ_bezeichnung" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-bemerkungen" label="Bemerkungen" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#bemerkungen" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-wochenrythmus" label="Wochenrythmus" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#wochenrythmus" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-kalenderwoche" label="Kalenderwoche" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#kalenderwoche" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-stundenblockung" label="Stundenblockung" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#stundenblockung" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-koordinator_nachname" label="Koordinator Nachname" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#koordinator_nachname" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-koordinator_vorname" label="Koordinator Vorname" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#koordinator_vorname" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#lehreinheit_id" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-koordinator_id" label="Koordinator_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#koordinator_id" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-lehreinheiten-col-gruppe_id" label="Gruppe_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#gruppe_id" onclick="LehreinheitenTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem container="true" open="true" uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#studiengang_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#studiensemester_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#fachbereich_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#ausbildungssemester_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#lehrform_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#gruppe_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#nummer" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#kurzbezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#semesterwochenstunden" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#gesamtstunden" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#plankostenprolektor" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#planfaktor" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#planlektoren" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#raumtyp_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#raumtypalternativ_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#bemerkungen" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#wochenrythmus" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#kalenderwoche" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#stundenblockung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#koordinator_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#koordinator_vorname" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#lehreinheit_id" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#koordinator_id" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheiten/rdf#gruppe_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<splitter id="lehreinheiten-overlay-splitter" collapse="after" persist="state">
<grippy />
</splitter>
<vbox id="LehreinheitenDetailEditor" persist="height"/>
</vbox>
</overlay>
+69
View File
@@ -0,0 +1,69 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/lehrfach.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// Einheiten holen
$lehrfachDAO=new lehrfach($conn);
$lehrfaecher=$lehrfachDAO->getAll();
$rdf_url='http://www.technikum-wien.at/tempus/lehrfach';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:LEHRFACH="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
foreach ($lehrfaecher as $lehrfach)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $lehrfach->lehrfach_nr; ?>" about="<?php echo $rdf_url.'/'.$lehrfach->lehrfach_nr; ?>" >
<LEHRFACH:lehrfach_nr><?php echo $lehrfach->lehrfach_nr ?></LEHRFACH:lehrfach_nr>
<LEHRFACH:bezeichnung><![CDATA[ <?php echo $lehrfach->bezeichnung ?> ]]></LEHRFACH:bezeichnung>
<LEHRFACH:fachbereich_id><?php echo $lehrfach->fachbereich_id ?></LEHRFACH:fachbereich_id>
<LEHRFACH:kurzbz><?php echo $lehrfach->kurzbz ?></LEHRFACH:kurzbz>
<LEHRFACH:lehrelink><?php echo $lehrfach->lehrelink ?></LEHRFACH:lehrelink>
<LEHRFACH:farbe><?php echo $lehrfach->farbe ?></LEHRFACH:farbe>
<LEHRFACH:lehrform_kurzbz><?php echo $lehrfach->lehrform_kurzbz ?></LEHRFACH:lehrform_kurzbz>
<LEHRFACH:aktiv><?php echo $lehrfach->aktiv ?></LEHRFACH:aktiv>
<LEHRFACH:studiengang_kz><?php echo $lehrfach->studiengang_kz ?></LEHRFACH:studiengang_kz>
<LEHRFACH:ects><?php echo $lehrfach->ects ?></LEHRFACH:ects>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+130
View File
@@ -0,0 +1,130 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// header fuer 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
include('../vilesci/config.inc.php');
include('../include/functions.inc.php');
include('../include/lehrstunde.class.php');
function checkID($needle)
{
global $id_list;
//echo "checkID $needle \n";
reset($id_list);
foreach($id_list as $v)
if ($v==$needle)
return true;
return false;
}
$id_list=array();
while(list($k,$v)=each($_GET))
if (strpos($k,'stundenplan_id')!==false)
$id_list[]=$v;
//print_r($id_list);
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
if (isset($_GET[datum]))
$datum=$_GET[datum];
if (isset($_GET[datum_bis]))
$datum_bis=$_GET[datum_bis];
if (isset($_GET[stunde]))
$stunde=$_GET[stunde];
if (isset($_GET[type]))
$type=$_GET[type];
if (isset($_GET[stg_kz]))
$stg_kz=$_GET[stg_kz];
if (isset($_GET[sem]))
$sem=$_GET[sem];
if (isset($_GET[ver]))
$ver=$_GET[ver];
if (isset($_GET[grp]))
$grp=$_GET[grp];
if (isset($_GET[einheit]))
$einheit=$_GET[einheit];
if (isset($_GET[pers_uid]))
$pers_uid=$_GET[pers_uid];
if (isset($_GET[ort_kurzbz]))
$ort_kurzbz=$_GET[ort_kurzbz];
$error_msg='';
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg.='Es konnte keine Verbindung zum Server aufgebaut werden!';
$error_msg.=loadVariables($conn,$REMOTE_USER);
if (!isset($datum_bis))
$datum_bis=date('Y-m-d',(mktime(0,0,1,substr($datum,5,2),substr($datum,8),substr($datum,0,4))+86400));
$lehrstunden=new lehrstunde($conn);
$anz=$lehrstunden->load_lehrstunden($type,$datum,$datum_bis,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$einheit,$db_stpl_table);
if ($anz<0)
{
$errormsg=$lehrstunden->errormsg;
echo "Fehler: ".$errormsg;
exit();
}
$rdf_url='http://www.technikum-wien.at/tempus/lehrstunde';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:LEHRSTUNDE="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/alle">
<?php
if (is_array($lehrstunden->lehrstunden))
foreach ($lehrstunden->lehrstunden as $ls)
{
//var_dump($ls);
//echo $ls->stunde.";";
//if ($ls->stunde == $stunde && checkID($ls->stundenplan_id))
//{
?>
<RDF:li>
<RDF:Description id="<?php echo $ls->stundenplan_id; ?>" about="<?php echo $rdf_url.'/'. $ls->stundenplan_id; ?>" >
<LEHRSTUNDE:id><?php echo $ls->stundenplan_id ?></LEHRSTUNDE:id>
<LEHRSTUNDE:datum><?php echo $ls->datum ?></LEHRSTUNDE:datum>
<LEHRSTUNDE:stunde><?php echo $ls->stunde ?></LEHRSTUNDE:stunde>
<LEHRSTUNDE:unr><?php echo $ls->unr ?></LEHRSTUNDE:unr>
<LEHRSTUNDE:ort_kurzbz><?php echo $ls->ort_kurzbz ?></LEHRSTUNDE:ort_kurzbz>
<LEHRSTUNDE:lehrfach><?php echo $ls->lehrfach ?></LEHRSTUNDE:lehrfach>
<LEHRSTUNDE:lehrfach_bez><?php echo $ls->lehrfach_bez ?></LEHRSTUNDE:lehrfach_bez>
<LEHRSTUNDE:lehrform><?php echo $ls->lehrform ?></LEHRSTUNDE:lehrform>
<LEHRSTUNDE:lektor><?php echo $ls->lektor_kurzbz ?></LEHRSTUNDE:lektor>
<LEHRSTUNDE:semester><?php echo $ls->sem ?></LEHRSTUNDE:semester>
<LEHRSTUNDE:verband><?php echo $ls->ver ?></LEHRSTUNDE:verband>
<LEHRSTUNDE:gruppe><?php echo $ls->grp ?></LEHRSTUNDE:gruppe>
<LEHRSTUNDE:einheit><?php echo $ls->einheit_kurzbz ?></LEHRSTUNDE:einheit>
<LEHRSTUNDE:lehrform><?php echo $ls->lehrform ?></LEHRSTUNDE:lehrform>
<LEHRSTUNDE:studiengang><?php echo $ls->studiengang ?></LEHRSTUNDE:studiengang>
<LEHRSTUNDE:farbe><?php echo $ls->farbe ?></LEHRSTUNDE:farbe>
<LEHRSTUNDE:anmerkung><![CDATA[<?php echo $ls->anmerkung ?>]]></LEHRSTUNDE:anmerkung>
</RDF:Description>
</RDF:li>
<?php
//}
}
?>
</RDF:Seq>
</RDF:RDF>
+214
View File
@@ -0,0 +1,214 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// header fuer 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include_once('../vilesci/config.inc.php');
include_once('../include/functions.inc.php');
include_once('../include/lehrveranstaltung.class.php');
include_once('../include/berechtigung.class.php');
// Testumgebung
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
$error_msg='';
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$berechtigung=new berechtigung($conn);
$berechtigung->getBerechtigungen($uid);
$error_msg.=loadVariables($conn,$uid);
if (isset($semester_aktuell))
$studiensemester=$semester_aktuell;
else
echo $error_msg='studiensemester is not set!';
if (isset($_GET['type']))
$type=$_GET['type'];
else
$type='lektor';
if (isset($_GET['stg_kz']))
$stg_kz=$_GET['stg_kz'];
else
$stg_kz=0;
if (isset($_GET['sem']))
$sem=$_GET['sem'];
else
$sem=0;
if (isset($_GET['lektor']))
$lektor=$_GET['lektor'];
else
$lektor=$uid;
if (isset($_GET['ver']))
$ver=$_GET['ver'];
else
$ver=null;
if (isset($_GET['grp']))
$grp=$_GET['grp'];
else
$grp=null;
if (isset($_GET['einheit']))
$einheit_kurzbz=$_GET['einheit'];
else
$einheit_kurzbz=null;
// LVA holen
$lva=array();
$lehrveranstaltung=new lehrveranstaltung($conn);
if (!$error_msg)
$lva=$lehrveranstaltung->getLehrveranstaltungSTPL($db_stpl_table,$studiensemester,$type,$stg_kz,$sem,$lektor,$ver,$grp,$einheit_kurzbz);
$rdf_url='http://www.technikum-wien.at/tempus/lehrveranstaltung/';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:LVA="<?php echo $rdf_url; ?>rdf#">
<RDF:Seq about="<?php echo $rdf_url.'alle'; ?>">
<?php
//var_dump($lva);
//echo $lehrveranstaltung->errormsg;
$anz=count($lva);
if ($anz>0)
foreach ($lva as $l)
{
$lva_ids='';
$lehrverband='';
$lvnr='';
$lektor='';
$einheit='';
$i=0;
// IDs der Lehrveranstaltungen
foreach($l->lehrveranstaltung_id as $lva_id)
$lva_ids.='&amp;lva_id'.$i++.'='.$lva_id;
// Lektoren
$lektor='';
$l->lektor=array_unique($l->lektor);
sort($l->lektor);
foreach($l->lektor as $lv)
$lektor.=$lv.' ';
// Lehrverbaende
$l->lehrverband=array_unique($l->lehrverband);
sort($l->lehrverband);
foreach($l->lehrverband as $lv)
$lehrverband.=$lv.' ';
// LVNRs
foreach($l->lvnr as $lv)
$lvnr.=$lv.' ';
foreach($l->einheit as $lv)
$einheit.=$lv.' ';
// Stundenblockung
$stundenblockung='';
$l->stundenblockung=array_unique($l->stundenblockung);
sort($l->stundenblockung);
foreach($l->stundenblockung as $sb)
$stundenblockung.=$sb.' ';
if (count($l->stundenblockung)>1)
$stundenblockung.=' ?';
// Start KW
$start_kw='';
$l->start_kw=array_unique($l->start_kw);
sort($l->start_kw);
foreach($l->start_kw as $kw)
$start_kw.=$kw.' ';
if (count($l->start_kw)>1)
$start_kw.=' ?';
// Wochenrythmus
$wochenrythmus='';
$l->wochenrythmus=array_unique($l->wochenrythmus);
sort($l->wochenrythmus);
foreach($l->wochenrythmus as $wr)
$wochenrythmus.=$wr.' ';
if (count($l->wochenrythmus)>1)
$wochenrythmus.=' ?';
// Lehrfach
$lehrfach='';
$l->lehrfach=array_unique($l->lehrfach);
sort($l->lehrfach);
foreach($l->lehrfach as $lf)
$lehrfach.=$lf.' ';
if (count($l->lehrfach)>1)
$lehrfach.=' ?';
// Lehrform
$lehrform='';
$l->lehrform=array_unique($l->lehrform);
sort($l->lehrform);
foreach($l->lehrform as $lf)
$lehrform.=$lf.' ';
if (count($l->lehrform)>1)
$lehrform.=' ?';
// Semesterstunden
$semesterstunden='';
$l->semesterstunden=array_unique($l->semesterstunden);
sort($l->semesterstunden);
foreach($l->semesterstunden as $lf)
$semesterstunden.=$lf.' ';
if (count($l->semesterstunden)>1)
$semesterstunden.=' ?';
// Verplant
$verplant='';
$l->verplant=array_unique($l->verplant);
sort($l->verplant);
foreach($l->verplant as $lf)
$verplant.=$lf.' ';
if (count($l->verplant)>1)
$verplant.=' ?';
// Offene Stunden
$offenestunden='';
$l->offenestunden=array_unique($l->offenestunden);
sort($l->offenestunden);
foreach($l->offenestunden as $os)
$offenestunden.=$os.' ';
if (count($l->offenestunden)>1)
$offenestunden.=' ?';
if ($berechtigung->isBerechtigt('lvaVerplanung',$l->stg_kz[0]) || $berechtigung->isBerechtigt('admin',0) || $berechtigung->isBerechtigt('admin',$l->stg_kz[0]))
echo'<RDF:li>
<RDF:Description id="lva'.($anz--).'" about="'.$rdf_url.$l->unr.'">
<LVA:lvnr>'.$lvnr.'</LVA:lvnr>
<LVA:unr>'.$l->unr.'</LVA:unr>
<LVA:einheit>'.$einheit.'</LVA:einheit>
<LVA:lektor>'.$lektor.'</LVA:lektor>
<LVA:lehrfach_nr>'.$l->lehrfach_nr.'</LVA:lehrfach_nr>
<LVA:studiengang_kz>'.$l->studiengang_kz.'</LVA:studiengang_kz>
<LVA:fachbereich_id>'.$l->fachbereich_id.'</LVA:fachbereich_id>
<LVA:semester>'.$l->semester[0].'</LVA:semester>
<LVA:verband>'.$l->verband[0].'</LVA:verband>
<LVA:gruppe>'.$l->gruppe[0].'</LVA:gruppe>
<LVA:einheit>'.$l->einheit[0].'</LVA:einheit>
<LVA:raumtyp>'.$l->raumtyp.'</LVA:raumtyp>
<LVA:raumtypalternativ>'.$l->raumtypalternativ.'</LVA:raumtypalternativ>
<LVA:semesterstunden>'.$semesterstunden.'</LVA:semesterstunden>
<LVA:stundenblockung>'.$stundenblockung.'</LVA:stundenblockung>
<LVA:wochenrythmus>'.$wochenrythmus.'</LVA:wochenrythmus>
<LVA:verplant>'.$verplant.'</LVA:verplant>
<LVA:offenestunden>'.$offenestunden.'</LVA:offenestunden>
<LVA:start_kw>'.$start_kw.'</LVA:start_kw>
<LVA:anmerkung>'.$l->anmerkung[0].'</LVA:anmerkung>
<LVA:studiensemester_kurzbz>'.$l->studiensemester_kurzbz.'</LVA:studiensemester_kurzbz>
<LVA:lehrfach>'.$lehrfach.'</LVA:lehrfach>
<LVA:lehrform>'.$lehrform.'</LVA:lehrform>
<LVA:lehrfach_bez><![CDATA['.$l->lehrfach_bez[0].']]></LVA:lehrfach_bez>
<LVA:lehrfach_farbe>#'.$l->lehrfach_farbe[0].'</LVA:lehrfach_farbe>
<LVA:lva_ids>'.$lva_ids.'</LVA:lva_ids>
<LVA:lehrverband>'.$lehrverband.'</LVA:lehrverband>
</RDF:Description>
</RDF:li>';
}
?>
</RDF:Seq>
</RDF:RDF>
+89
View File
@@ -0,0 +1,89 @@
.stplDetailRow {
margin:0px;
padding:0px;
-moz-binding: url('lfvtbinding.xml.php#stplDetailRow');
}
.stplDetail {
overflow:auto;
margin:0px;
-moz-binding: url('lfvtbinding.xml.php#stplDetail');
}
customMenulist.fachbereich {
-moz-binding: url('lfvtbinding.xml.php#fachbereichListe');
}
customMenulist.lehrform {
-moz-binding: url('lfvtbinding.xml.php#lehrformListe');
}
customMenulist.raumtyp {
-moz-binding: url('lfvtbinding.xml.php#raumtypListe');
}
customMenulist.raum {
-moz-binding: url('lfvtbinding.xml.php#raumListe');
}
customMenulist.studiengang {
-moz-binding: url('lfvtbinding.xml.php#stgListe');
}
customMenulist.lektor {
-moz-binding: url('lfvtbinding.xml.php#lektorenListe');
}
customMenulist.einheit {
-moz-binding: url('lfvtbinding.xml.php#einheitenListe');
}
customMenulist.lehrfach {
-moz-binding: url('lfvtbinding.xml.php#lehrfaecherListe');
}
customMenulist.studiensemester {
-moz-binding: url('lfvtbinding.xml.php#studiensemesterListe');
}
tree.lvaTree {
-moz-binding: url('lfvtbinding.xml.php#lfvtTree');
}
tree treecol {
background-color: #FFFFCC;
border: 1px solid black;
}
tree {
font-size:9pt;
font-family:Arial;
}
box.lvaDetail {
-moz-binding: url('lfvtbinding.xml.php#lfvtDetail');
}
box.studentDetail {
-moz-binding: url('lfvtbinding.xml.php#studentDetail');
}
label,textbox {
font-size:9pt;
font-family:Arial;
}
#gridLFVT > rows > row {padding:2px;vertical-align:bottom;}
treechildren::-moz-tree-row(selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-row(even, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-cell-text(selected) { color: #000000; }
treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
+135
View File
@@ -0,0 +1,135 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// header fr no cache
header("Cache-Control: no-cache, must-revalidate");
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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/lfvt.class.php');
include_once('../include/functions.inc.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$uid = get_uid();
loadVariables($conn,$uid);
// test
//$einheit_kurzbz='';
//$grp='1';
//$ver='A';
//$sem=5;
//$stg_kz=145;
$einheit_kurzbz=$_GET['einheit'];
$grp=$_GET['grp'];
$ver=$_GET['ver'];
$sem=$_GET['sem'];
$stg_kz=$_GET['stg_kz'];
$lektor=$_GET['lektor'];
// LVAs holen
$lvaDAO=new lfvt($conn);
$lvas=$lvaDAO->getLVAs($einheit_kurzbz, $grp, $ver, $sem, $stg_kz,$lektor,$semester_aktuell);
$rdf_url='http://www.technikum-wien.at/tempus/lva';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:LVA="<?php echo $rdf_url; ?>/rdf#"
>
<?php
if (is_array($lvas))
{
$currentUNR='';
$lastUNR='';
$nextUNR='';
$inSub=false;
for ($i=0;$i<count($lvas);$i++)
{
$lva=$lvas[$i];
$currentUNR=$lva->unr;
$lastUNR=($i>0?$lvas[$i-1]->unr:'');
$nextUNR=($i<(count($lvas)-1)?$lvas[$i+1]->unr:'');
$descr.="
<RDF:Description id=\"".$lva->lehrveranstaltung_id."\" about=\"".$rdf_url.'/'.$lva->lehrveranstaltung_id."\" >
<LVA:lvnr>".$lva->lvnr."</LVA:lvnr>
<LVA:unr>".$lva->unr."</LVA:unr>
<LVA:einheit_kurzbz>".$lva->einheit_kurzbz."</LVA:einheit_kurzbz>
<LVA:lektor>".$lva->lektor."</LVA:lektor>
<LVA:lektorPrettyPrint>".utf8_encode($lva->lektorPrettyPrint)."</LVA:lektorPrettyPrint>
<LVA:lehrfach_nr>".$lva->lehrfach_nr."</LVA:lehrfach_nr>
<LVA:studiengang_kz>".$lva->studiengang_kz."</LVA:studiengang_kz>
<LVA:fachbereich_id>".$lva->fachbereich_id."</LVA:fachbereich_id>
<LVA:semester>".$lva->semester."</LVA:semester>".
(strlen(trim($lva->verband))>0?" <LVA:verband>".$lva->verband."</LVA:verband>":"").
($lva->gruppe>0?" <LVA:gruppe>".$lva->gruppe."</LVA:gruppe>":"")."
<LVA:raumtyp>".$lva->raumtyp."</LVA:raumtyp>
<LVA:raumtypalternativ>".$lva->raumtypalternativ."</LVA:raumtypalternativ>
<LVA:semesterstunden>".$lva->semesterstunden."</LVA:semesterstunden>
<LVA:stundenblockung>".$lva->stundenblockung."</LVA:stundenblockung>
<LVA:wochenrythmus>".$lva->wochenrythmus."</LVA:wochenrythmus>
<LVA:start_kw>".$lva->start_kw."</LVA:start_kw>
<LVA:anmerkung>".$lva->anmerkung."</LVA:anmerkung>
<LVA:studiensemester_kurzbz>".$lva->studiensemester_kurzbz."</LVA:studiensemester_kurzbz>
<LVA:lehrfach><![CDATA[".utf8_encode($lva->lehrfach)."]]></LVA:lehrfach>
<LVA:lehrform>".$lva->lehrform."</LVA:lehrform>
<LVA:dbID>".$lva->lehrveranstaltung_id."</LVA:dbID>
</RDF:Description>";
$subClose=false;
if (($lastUNR!=$currentUNR && $currentUNR==$nextUNR) || count($lvas)==$i) {
$inSub=true;
$hier.="
<!-- ********************************* -->
<RDF:li>
<RDF:Seq about=\"".$rdf_url.'/'.$lva->lehrveranstaltung_id."\" >";
}
if ($nextUNR!=$currentUNR && $inSub) {
$inSub=false;
$subClose=true;
$hier.="
<RDF:li resource=\"".$rdf_url.'/'.$lva->lehrveranstaltung_id."\" />
</RDF:Seq>
</RDF:li>
<!-- ********************************* -->";
}
if (($inSub && $lastUNR==$currentUNR) || (count($lvas)==1) || (!$inSub && $currentUNR!=nextUNR && !$subClose)) {
$hier.="
<RDF:li resource=\"".$rdf_url.'/'.$lva->lehrveranstaltung_id."\" /> <!-- insub -->";
}
}
$hier="
<RDF:Seq about=\"".$rdf_url."/liste\">".$hier."
</RDF:Seq>";
echo $descr;
echo $hier;
//print_r($lvas);
}
?>
</RDF:RDF>
+67
View File
@@ -0,0 +1,67 @@
<?php
// *****************************
// Create/Update/Delete
// der Lehrfachverteilung
// *****************************
include('../vilesci/config.inc.php');
include_once('../include/lfvt.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$lvaDAO=new lfvt($conn);
if ($_GET['do']=='create' || ($_GET['do']=='update')) {
$lvaDAO->lvnr=$_GET['lvnr'];
$lvaDAO->unr=$_GET['unr'];
$lvaDAO->einheit_kurzbz=$_GET['einheit_kurzbz'];
$lvaDAO->lektor=$_GET['lektor'];
$lvaDAO->lehrfach_nr=$_GET['lehrfach_nr'];
$lvaDAO->studiengang_kz=$_GET['studiengang_kz'];
$lvaDAO->fachbereich_id=$_GET['fachbereich_id'];
$lvaDAO->semester=$_GET['semester'];
$lvaDAO->verband=$_GET['verband'];
$lvaDAO->gruppe=$_GET['gruppe'];
$lvaDAO->raumtyp=$_GET['raumtyp'];
if (isset($_GET['raumtypalternativ'])) $lvaDAO->raumtypalternativ=$_GET['raumtypalternativ'];
if (isset($_GET['semesterstunden'])) $lvaDAO->semesterstunden=$_GET['semesterstunden'];
if (isset($_GET['stundenblockung'])) $lvaDAO->stundenblockung=$_GET['stundenblockung'];
if (isset($_GET['wochenrythmus'])) $lvaDAO->wochenrythmus=$_GET['wochenrythmus'];
if (isset($_GET['start_kw'])) $lvaDAO->start_kw=$_GET['start_kw'];
if (isset($_GET['anmerkung'])) $lvaDAO->anmerkung=$_GET['anmerkung'];
if (isset($_GET['studiensemester_kurzbz'])) $lvaDAO->studiensemester_kurzbz=$_GET['studiensemester_kurzbz'];
if (isset($_GET['lehrform'])) $lvaDAO->lehrform=$_GET['lehrform'];
if ($_GET['do']=='create') {
// LVA neu anlegen
$lvaDAO->new=true;
if ($lvaDAO->save()) echo 'ok';
else echo $lvaDAO->errormsg;
//echo "NEU";
} else if ($_GET['do']=='update') {
// LVA aktualisieren
$lvaDAO->lehrveranstaltung_id=$_GET['lehrveranstaltung_id'];
$lvaDAO->new=false;
if ($lvaDAO->save()) echo 'ok';
else echo $lvaDAO->errormsg;
}
} else if ($_GET['do']=='delete') {
// LVA löschen
$lvaDAO->new=false;
$lvaDAO->lehrveranstaltung_id=$_GET['lehrveranstaltung_id'];
if ($lvaDAO->lehrveranstaltung_id>0) {
$lvaDAO->delete();
}
if ($lvaDAO->save()) echo 'ok';
else echo $lvaDAO->errormsg;
}
?>
+968
View File
@@ -0,0 +1,968 @@
<?php
include('../vilesci/config.inc.php');
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<binding id="stplDetail">
<content>
<xul:vbox style="margin:0px;padding:0px;" flex="1">
<xul:hbox style="background:#eeeeee;margin:0px;padding:2px" flex="0">
<xul:label value="Details" style="font-size:12pt;font-weight:bold;margin-top:5px;" flex="1" />
<xul:button id="btnLFVTSave" label="speichern" oncommand="parentNode.parentNode.parentNode.saveData();"/>
</xul:hbox>
<xul:grid id="gridLFVT" flex="1" datasources="rdf:null"
ref="http://www.technikum-wien.at/tempus/lva/liste"
style="padding:0px;"
>
<xul:columns >
<xul:column />
</xul:columns>
<xul:rows>
<xul:row>
<xul:box id="stplDetailRow1" class="stplDetailRow" />
</xul:row>
<xul:row>
<xul:box id="stplDetailRow2" class="stplDetailRow" />
</xul:row>
</xul:rows>
</xul:grid>
</xul:vbox>
</content>
</binding>
<binding id="stplDetailRow">
<resources>
<stylesheet src="lfvt.css" />
</resources>
<content>
<xul:grid id="gridLFVT" flex="1" datasources="rdf:null"
ref="http://www.technikum-wien.at/tempus/lva/liste"
style="padding:0px;border:1px solid #000000"
>
<xul:columns >
<xul:column />
<xul:column style="min-width:240px" />
<xul:column />
<xul:column style="min-width:240px" />
</xul:columns>
<xul:rows>
<!-- fehlt hier die eindeutige ID ? -->
<xul:row >
<xul:label value="Datum" />
<xul:textbox id="gridSTPLDatum" maxlength="20" onchange="document.getBindingParent(this).lvnr=this.value"/>
<xul:label value="Stunde" />
<xul:textbox id="gridSTPLStunde" onchange="document.getBindingParent(this).unr=this.value;" />
</xul:row>
<xul:row >
<xul:label value="LVNR" />
<xul:textbox id="gridSTPLLVNR" maxlength="20" onchange="document.getBindingParent(this).lvnr=this.value"/>
<xul:label value="UNR" />
<xul:textbox id="gridSTPLNR" onchange="document.getBindingParent(this).unr=this.value;" />
</xul:row>
<xul:row>
<xul:label value="Einheit" />
<xul:customMenulist id="gridSTPLEinheit" class="einheit" oncommand="document.getBindingParent(this).einheit=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Lektor" />
<xul:customMenulist id="gridSTPLLektor" class="lektor" flex="1" oncommand="document.getBindingParent(this).lektor=document.getAnonymousNodes(this)[0].value" />
</xul:row>
<xul:row>
<xul:label value="Lehrfach" />
<xul:customMenulist id="gridSTPLLehrfach" class="lehrfach" oncommand="document.getBindingParent(this).lehrfach=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Studiengang" />
<!--<xul:menulist id="gridLFVTStudiengang" name="stgListe" class="studiengang" maxwidth="100px" /> -->
<xul:customMenulist id="gridSTPLStudiengang" class="studiengang" oncommand="document.getBindingParent(this).studiengang=document.getAnonymousNodes(this)[0].value" />
</xul:row>
<xul:row>
<xul:label value="Fachbereich" />
<xul:customMenulist id="gridSTPLFachbereich" class="fachbereich" oncommand="document.getBindingParent(this).fachbereich=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Semester" />
<xul:textbox id="gridSTPLSemester" flex="1" onchange="document.getBindingParent(this).semester=this.value" />
</xul:row>
<xul:row>
<xul:label value="Verband" />
<xul:textbox id="gridSTPLVerband" flex="1" onchange="document.getBindingParent(this).verband=this.value" />
<xul:label value="Gruppe" />
<xul:textbox id="gridSTPLGruppe" flex="1" onchange="document.getBindingParent(this).gruppe=this.value" />
</xul:row>
<xul:row>
<xul:label value="Raum" />
<xul:customMenulist id="gridSTPLRaum" class="raum" flex="1" oncommand="document.getBindingParent(this).raumtyp=document.getAnonymousNodes(this)[0].value" />
</xul:row>
</xul:rows>
</xul:grid>
</content>
</binding>
<binding id="lfvtDetail">
<content>
<xul:vbox style="margin:0px;padding:0px;" flex="1">
<xul:hbox style="background:#eeeeee;margin:0px;padding:2px" flex="1">
<xul:label value="Details" style="font-size:12pt;font-weight:bold;margin-top:5px;" flex="1" />
<xul:button id="btnLFVTSave" label="speichern" oncommand="parentNode.parentNode.parentNode.saveData();"/>
</xul:hbox>
<xul:grid id="gridLFVT" flex="1" datasources="rdf:null"
ref="http://www.technikum-wien.at/tempus/lva/liste"
style="padding:5px;"
>
<xul:columns >
<xul:column />
<xul:column style="min-width:240px" />
<xul:column />
<xul:column style="min-width:240px" />
</xul:columns>
<xul:rows>
<!-- fehlt hier die eindeutige ID ? -->
<xul:row >
<xul:label value="LVNR" />
<xul:textbox id="gridLFVTLVNR" maxlength="20" onchange="document.getBindingParent(this).lvnr=this.value"/>
<xul:label value="UNR" />
<xul:textbox id="gridLFVTUNR" onchange="document.getBindingParent(this).unr=this.value;" />
</xul:row>
<xul:row>
<xul:label value="Einheit" />
<xul:customMenulist id="gridLFVTEinheit" class="einheit" oncommand="document.getBindingParent(this).einheit=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Lektor" />
<xul:customMenulist id="gridLFVTLektor" class="lektor" flex="1" oncommand="document.getBindingParent(this).lektor=document.getAnonymousNodes(this)[0].value" />
</xul:row>
<xul:row>
<xul:label value="Lehrfach" />
<xul:customMenulist id="gridLFVTLehrfach" class="lehrfach" oncommand="document.getBindingParent(this).lehrfach=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Studiengang" />
<!-- <xul:menulist id="gridLFVTStudiengang" name="stgListe" class="studiengang" maxwidth="100px" /> -->
<xul:customMenulist id="gridLFVTStudiengang" class="studiengang" oncommand="document.getBindingParent(this).studiengang=document.getAnonymousNodes(this)[0].value" />
</xul:row>
<xul:row>
<xul:label value="Fachbereich" />
<xul:customMenulist id="gridLFVTFachbereich" class="fachbereich" oncommand="document.getBindingParent(this).fachbereich=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Semester" />
<xul:textbox id="gridLFVTSemester" flex="1" onchange="document.getBindingParent(this).semester=this.value" />
</xul:row>
<xul:row>
<xul:label value="Verband" />
<xul:textbox id="gridLFVTVerband" flex="1" onchange="document.getBindingParent(this).verband=this.value" />
<xul:label value="Gruppe" />
<xul:textbox id="gridLFVTGruppe" flex="1" onchange="document.getBindingParent(this).gruppe=this.value" />
</xul:row>
<xul:row>
<xul:label value="Raumtyp" />
<xul:customMenulist id="gridLFVTRaumtyp" class="raumtyp" flex="1" oncommand="document.getBindingParent(this).raumtyp=document.getAnonymousNodes(this)[0].value" />
<xul:label value="Raumtyp alternativ" />
<xul:customMenulist id="gridLFVTRaumtypAlt" class="raumtyp" flex="1" oncommand="document.getBindingParent(this).raumtyp_alt=document.getAnonymousNodes(this)[0].value" />
</xul:row>
<xul:row>
<xul:label value="Semesterstunden" />
<xul:textbox id="gridLFVTSemesterstunden" onchange="document.getBindingParent(this).semesterstunden=this.value"/>
<xul:label value="Stundenblockung" />
<xul:textbox id="gridLFVTStundenblockung" onchange="document.getBindingParent(this).stundenblockung=this.value" />
</xul:row>
<xul:row>
<xul:label value="Wochenrythmus" />
<xul:textbox id="gridLFVTWochenrythmus" onchange="document.getBindingParent(this).wochenrythmus=this.value" />
<xul:label value="Start KW" />
<xul:textbox id="gridLFVTStart_kw" onchange="document.getBindingParent(this).start_kw=this.value" />
</xul:row>
<xul:row>
<xul:label value="Studiensemester" />
<xul:textbox id="gridLFVTStudiensemester" onchange="document.getBindingParent(this).studiensemester=this.value" />
<xul:label value="Anmerkung" />
<xul:textbox id="gridLFVTAnmerkung" onchange="document.getBindingParent(this).anmerkung=this.value" />
<!--
<xul:label value="ECTS" />
<xul:textbox id="gridLFVTECTS" onchange="parentNode.parentNode.parentNode.parentNode.ects=this.value" />
-->
</xul:row>
<xul:row>
<xul:label value="Lehrform" />
<xul:customMenulist id="gridLFVTLehrform" class="lehrform" flex="1" oncommand="document.getBindingParent(this).lehrform=document.getAnonymousNodes(this)[0].value" />
</xul:row>
</xul:rows>
</xul:grid>
</xul:vbox>
</content>
<implementation>
<constructor>
this.gridLFVTLVNR=document.getElementById('gridLFVTLVNR');
this.gridLFVTUNR=document.getElementById('gridLFVTUNR');
this.gridLFVTEinheit=document.getElementById('gridLFVTEinheit');
this.gridLFVTLektor=document.getElementById('gridLFVTLektor');
this.gridLFVTLehrfach=document.getElementById('gridLFVTLehrfach');
this.gridLFVTStudiengang=document.getElementById('gridLFVTStudiengang');
this.gridLFVTFachbereich=document.getElementById('gridLFVTFachbereich');
this.gridLFVTSemester=document.getElementById('gridLFVTSemester');
this.gridLFVTVerband=document.getElementById('gridLFVTVerband');
this.gridLFVTGruppe=document.getElementById('gridLFVTGruppe');
this.gridLFVTRaumtyp=document.getElementById('gridLFVTRaumtyp');
this.gridLFVTRaumtypAlt=document.getElementById('gridLFVTRaumtypAlt');
this.gridLFVTSemesterstunden=document.getElementById('gridLFVTSemesterstunden');
this.gridLFVTStundenblockung=document.getElementById('gridLFVTStundenblockung');
this.gridLFVTWochenrythmus=document.getElementById('gridLFVTWochenrythmus');
this.gridLFVTStart_kw=document.getElementById('gridLFVTStart_kw');
this.gridLFVTAnmerkung=document.getElementById('gridLFVTAnmerkung');
this.gridLFVTStudiensemester=document.getElementById('gridLFVTStudiensemester');
this.gridLFVTLehrform=document.getElementById('gridLFVTLehrform');
<!-- this.gridLFVTECTS=document.getElementById('gridLFVTECTS'); -->
</constructor>
<!-- Grid-Felder -->
<field name="gridLFVTLVNR">null</field>
<field name="gridLFVTUNR">null</field>
<field name="gridLFVTEinheit">null</field>
<field name="gridLFVTLektor">null</field>
<field name="gridLFVTLehrfach">null</field>
<field name="gridLFVTStudiengang">null</field>
<field name="gridLFVTFachbereich">null</field>
<field name="gridLFVTSemester">null</field>
<field name="gridLFVTVerband">null</field>
<field name="gridLFVTGruppe">null</field>
<field name="gridLFVTRaumtyp">null</field>
<field name="gridLFVTRaumtypAlt">null</field>
<field name="gridLFVTSemesterstunden">null</field>
<field name="gridLFVTStundenblockung">null</field>
<field name="gridLFVTWochenrythmus">null</field>
<field name="gridLFVTStart_kw">null</field>
<field name="gridLFVTAnmerkung">null</field>
<field name="gridLFVTStudiensemester">null</field>
<field name="gridLFVTLehrform">null</field>
<!-- <field name="gridLFVTECTS">null</field> -->
<!-- neuer Datensatz -->
<field name="_new">false</field>
<!-- aktuelles Value Objekt der Lehrveranstaltung -->
<field name="currentLVA">null</field>
<!-- neuer Datensatz -->
<property name="isNew" onget="return this._new" onset="this._new=val;return val;" />
<!-- LVA-Felder -->
<property name="lvnr" onget="return this.currentLVA.lvnr;" >
<setter>
if (isNaN(val)) {
alert('LVNR muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.lvnr=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.lvnr=val;
}
return val;
</setter>
</property>
<property name="unr" onget="return this.currentLVA.unr;" >
<setter>
if (isNaN(val)) {
alert('UNR muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.unr=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.unr=val;
}
alert('unr:'+val);
return val;
</setter>
</property>
<!-- einheit -->
<property name="einheit" onget="return this.currentLVA.einheit;" >
<setter>
//alert('property-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.einheit=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<!-- lektor -->
<property name="lektor" onget="return this.currentLVA.lektor;" >
<setter>
//alert('property-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.lektor=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<!-- lehrfach -->
<property name="lehrfach" onget="return this.currentLVA.lehrfach;" >
<setter>
//alert('property-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.lehrfach=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<!-- studiengang -->
<property name="studiengang" onget="return this.currentLVA.studiengang;" >
<setter>
//alert('property-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.studiengang=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<!-- fachbereich -->
<property name="fachbereich" onget="return this.currentLVA.fachbereich;" >
<setter>
//alert('fachbereich-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.fachbereich=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<!-- raumtyp -->
<property name="raumtyp" onget="return this.currentLVA.raumtyp;" >
<setter>
//alert('property-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.raumtyp=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<!-- raumtyp_alt -->
<property name="raumtyp_alt" onget="return this.currentLVA.raumtyp_alt;" >
<setter>
//alert('property-setter: val='+val);
if (this.currentLVA!=null)
this.currentLVA.raumtyp_alt=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<property name="semester" onget="return this.currentLVA.semester;" >
<setter>
if (isNaN(val)) {
alert('Semester muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.unr=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.semester=val;
}
return val;
</setter>
</property>
<property name="verband" onget="return this.currentLVA.verband;" >
<setter>
if (this.currentLVA!=null)
this.currentLVA.verband=val;
}
return val;
</setter>
</property>
<property name="gruppe" onget="return this.currentLVA.gruppe;" >
<setter>
if (isNaN(val)) {
alert('Gruppe muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.gruppe=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.gruppe=val;
}
return val;
</setter>
</property>
<property name="semesterstunden" onget="return this.currentLVA.semesterstunden;" >
<setter>
if (isNaN(val)) {
alert('Semesterstunden muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.semesterstunden=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.semesterstunden=val;
}
return val;
</setter>
</property>
<property name="stundenblockung" onget="return this.currentLVA.stundenblockung;" >
<setter>
if (isNaN(val)) {
alert('Stundenblockung muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.stundenblockung=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.stundenblockung=val;
}
return val;
</setter>
</property>
<property name="wochenrythmus" onget="return this.currentLVA.wochenrythmus;" >
<setter>
if (isNaN(val)) {
alert('Wochenrythmus muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.wochenrythmus=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.wochenrythmus=val;
}
return val;
</setter>
</property>
<property name="start_kw" onget="return this.currentLVA.start_kw;" >
<setter>
if (isNaN(val)) {
alert('start_kw muss eine Zahl sein!');
if (this.currentLVA!=null)
this.currentLVA.start_kw=null;
} else {
if (this.currentLVA!=null)
this.currentLVA.start_kw=val;
}
return val;
</setter>
</property>
<property name="studiensemester" onget="return this.currentLVA.studiensemester;" >
<setter>
// todo: Validation Check
if (this.currentLVA!=null)
this.currentLVA.studiensemester=val;
//this.showCurrentLVA();
return val;
</setter>
</property>
<property name="lehrform" onget="return this.currentLVA.lehrform;" >
<setter>
// todo: Validation Check
if (this.currentLVA!=null)
this.currentLVA.lehrform=val;
return val;
</setter>
</property>
<property name="anmerkung" onget="return this.currentLVA.anmerkung;" >
<setter>
if (this.currentLVA!=null)
this.currentLVA.anmerkung=val;
return val;
</setter>
</property>
<!-- Daten speichern -->
<method name="saveData">
<body><![CDATA[
var req = new phpRequest('lfvtCUD.php','pam','pam');
if (this.isNew) {
req.add('do','create');
} else {
req.add('do','update');
}
req.add('lehrveranstaltung_id',this.currentLVA.id);
if (this.currentLVA.unr!=null) req.add('unr',this.currentLVA.unr);
if (this.currentLVA.lvnr!=null) req.add('lvnr',this.currentLVA.lvnr);
if (this.currentLVA.einheit!=null) req.add('einheit_kurzbz',this.currentLVA.einheit);
if (this.currentLVA.lektor!=null) req.add('lektor',this.currentLVA.lektor);
if (this.currentLVA.lehrfach!=null) req.add('lehrfach_nr',this.currentLVA.lehrfach);
if (this.currentLVA.studiengang!=null) req.add('studiengang_kz',this.currentLVA.studiengang);
if (this.currentLVA.fachbereich!=null) req.add('fachbereich_id',this.currentLVA.fachbereich);
if (this.currentLVA.semester!=null) req.add('semester',this.currentLVA.semester);
if (this.currentLVA.verband!=null) req.add('verband',this.currentLVA.verband);
if (this.currentLVA.gruppe!=null) req.add('gruppe',this.currentLVA.gruppe);
if (this.currentLVA.raumtyp!=null) req.add('raumtyp',this.currentLVA.raumtyp);
if (this.currentLVA.raumtyp_alt!=null) req.add('raumtypalternativ',this.currentLVA.raumtyp_alt);
if (this.currentLVA.semesterstunden!=null) req.add('semesterstunden',this.currentLVA.semesterstunden);
if (this.currentLVA.stundenblockung!=null) req.add('stundenblockung',this.currentLVA.stundenblockung);
if (this.currentLVA.wochenrythmus!=null) req.add('wochenrythmus',this.currentLVA.wochenrythmus);
if (this.currentLVA.start_kw!=null) req.add('start_kw',this.currentLVA.start_kw);
if (this.currentLVA.studiensemester!=null) req.add('studiensemester_kurzbz',this.currentLVA.studiensemester);
if (this.currentLVA.lehrform!=null) req.add('lehrform',this.currentLVA.lehrform);
var response = req.execute();
if (response!='ok') {
alert(response);
} else {
if (this.currentLVA.isNew) this.currentLVA.isNew=false;
}
]]>
</body>
</method>
<method name="showCurrentLVA">
<body>
alert('CurrentLVA: studiensemester='+this.currentLVA.studiensemester+'; einheit='+this.currentLVA.einheit);
</body>
</method>
<!-- Felder zuruecksetzen -->
<method name="reset">
<body><![CDATA[
this.gridLFVTLVNR.value=null;
this.gridLFVTUNR.value=null;
this.gridLFVTEinheit.currentValue=null;
this.gridLFVTLektor.currentValue=null;
this.gridLFVTLehrfach.currentValue=null;
this.gridLFVTStudiengang.currentValue=null;
this.gridLFVTFachbereich.currentValue=null;
this.gridLFVTSemester.value=null;
this.gridLFVTVerband.value=null;
this.gridLFVTGruppe.value=null;
this.gridLFVTRaumtyp.currentValue=null;
this.gridLFVTRaumtypAlt.currentValue=null;
this.gridLFVTSemesterstunden.value=null;
this.gridLFVTStundenblockung.value=null;
this.gridLFVTWochenrythmus.value=null;
this.gridLFVTStart_kw.value=null;
this.gridLFVTAnmerkung.value=null;
this.gridLFVTStudiensemester.value=null;
this.gridLFVTLehrform.value=null;
this.currentLVA=null;
]]>
</body>
</method>
<!-- Value Objekt -->
<method name="setLVA">
<parameter name="lva"/>
<body><![CDATA[
// Value Object
this.currentLVA=lva;
//alert('unr='+this.currentLVA.unr);
// LVNR
this.gridLFVTLVNR.value=this.currentLVA.lvnr;
// UNR
this.gridLFVTUNR.value=this.currentLVA.unr;
// Einheit
this.gridLFVTEinheit.currentValue=this.currentLVA.einheit;
// Lektor setzen
this.gridLFVTLektor.currentValue=this.currentLVA.lektor;
// Lehrfach
this.gridLFVTLehrfach.currentValue=this.currentLVA.lehrfach;
//alert(this.currentLVA.lehrfach);
// Studiengang
this.gridLFVTStudiengang.currentValue=this.currentLVA.studiengang;
//alert('stg='+this.currentLVA.studiengang);
// Fachbereich
this.gridLFVTFachbereich.currentValue=this.currentLVA.fachbereich;
// Semester
this.gridLFVTSemester.value=this.currentLVA.semester;
// Verband
this.gridLFVTVerband.value=this.currentLVA.verband;
// Gruppe
this.gridLFVTGruppe.value=this.currentLVA.gruppe;
// Raumtyp
this.gridLFVTRaumtyp.currentValue=this.currentLVA.raumtyp;
// Raumtyp alternativ
this.gridLFVTRaumtypAlt.currentValue=this.currentLVA.raumtyp_alt;
//alert('alt:'+this.currentLVA.raumtyp_alt);
// semesterstunden
this.gridLFVTSemesterstunden.value=this.currentLVA.semesterstunden;
// stundenblockung
this.gridLFVTStundenblockung.value=this.currentLVA.stundenblockung;
// Wochenrythmus
this.gridLFVTWochenrythmus.value=this.currentLVA.wochenrythmus;
// Start KW
this.gridLFVTStart_kw.value=this.currentLVA.start_kw;
// Studiensemester
this.gridLFVTStudiensemester.value=this.currentLVA.studiensemester;
// Lehrform
this.gridLFVTLehrform.currentValue=this.currentLVA.lehrform;
// ECTS
// ist bei lehrfach
]]>
</body>
</method>
</implementation>
</binding>
<binding id="studentDetail">
<content>
<xul:hbox flex="1">
<xul:grid id="gridStudenten" style="overflow:auto;margin:4px;" flex="1" datasources="rdf:null" ref="http://www.technikum-wien.at/tempus/studenten/liste">
<xul:columns >
<xul:column flex="1"/>
<xul:column flex="5"/>
<xul:column flex="3"/>
</xul:columns>
<xul:rows>
<xul:row>
<xul:label value="UID" />
<xul:textbox id="gridStudentenUID" />
</xul:row>
<xul:row>
<xul:label value="Matrikelnummer" />
<xul:textbox id="gridStudentenMatrikelnummer" onchange="currentStudent.updateData();" />
</xul:row>
<xul:row>
<xul:label value="Titel" />
<xul:textbox id="gridStudentenTitel" />
</xul:row>
<xul:row>
<xul:label value="Vorname" />
<xul:textbox id="gridStudentenVornamen" />
</xul:row>
<xul:row>
<xul:label value="Nachname" />
<xul:textbox id="gridStudentenNachname" />
</xul:row>
<xul:row>
<xul:label value="Geburtsdatum" />
<xul:textbox id="gridStudentenGeburtsdatum" />
</xul:row>
<xul:row>
<xul:label value="Geburtsort" />
<xul:textbox id="gridStudentenGeburtsort" />
</xul:row>
<xul:row>
<xul:label value="Geburtszeit" />
<xul:textbox id="gridStudentenGeburtszeit" />
</xul:row>
<xul:row>
<xul:label value="Homepage" />
<xul:textbox id="gridStudentenHomepage" />
</xul:row>
<xul:row>
<xul:label value="Email" />
<xul:textbox id="gridStudentenEmail" />
</xul:row>
<xul:row>
<xul:label value="Semester" />
<xul:textbox id="gridStudentenSemester" />
<xul:spacer flex="5" />
</xul:row>
<xul:row>
<xul:label value="Verband" />
<xul:textbox id="gridStudentenVerband" />
<xul:spacer flex="5" />
</xul:row>
<xul:row>
<xul:label value="Gruppe" />
<xul:textbox id="gridStudentenGruppe" />
<xul:spacer flex="5" />
</xul:row>
<xul:row>
<xul:label value="Studiengang" />
<xul:customMenulist id="gridStudentenStgBezeichnung" class="studiengang" />
<xul:spacer flex="5" />
</xul:row>
<xul:row>
<xul:label value="Aktiv" />
<xul:checkbox id="gridStudentenAktiv" checked="true" />
<xul:spacer flex="5" />
</xul:row>
</xul:rows>
</xul:grid>
</xul:hbox>
</content>
</binding>
<binding id="lfvtTree">
<content>
<children/>
</content>
</binding>
<!-- DropDownList fuer Fachbereiche -->
<binding id="fachbereichListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="fachbereich.rdf.php" flex="1"
ref="http://www.technikum-wien.at/tempus/fachbereich/liste" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/fachbereich/rdf#id"
label="rdf:http://www.technikum-wien.at/tempus/fachbereich/rdf#bezeichnung"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- DropDownList fuer Lehrform -->
<binding id="lehrformListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="../rdf/lehrform.rdf.php" flex="1"
ref="http://www.technikum-wien.at/lehrform/liste" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/lehrform/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/lehrform/rdf#kurzbz"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- DropDownList fuer Raumtyp -->
<binding id="raumtypListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="raumtyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/tempus/raumtyp/liste" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/tempus/raumtyp/rdf#kurzbz"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- DropDownList fuer Orte -->
<binding id="raumListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="<?php echo APP_ROOT; ?>rdf/ort.rdf.php" flex="1"
ref="http://www.technikum-wien.at/tempus/ort/alle-orte" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/ort/rdf#raumtyp"
label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#raumtyp"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- DropDownList fuer Lektoren -->
<binding id="lektorenListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="mitarbeiter.rdf.php?lektor=1" flex="1"
ref="http://www.technikum-wien.at/tempus/mitarbeiter/alle" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#uid"
label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#kurzbz"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
<!--
<implementation>
<property name="currentValue" onget="return this.getAttribute('currentValue');">
<setter><![CDATA[
this.setAttribute('currentValue',val);
var menulist=document.getAnonymousNodes(this)[0];
// auszuwaehlenden Datensatz suchen (stammt aus original Source Code)
var arr=menulist.menupopup.getElementsByAttribute('value',val);
//alert('anzahl arr='+arr.length+'; val='+val);
if (arr.item(0)) {
menulist.selectedItem=arr[0];
} else {
menulist.selectedIndex=0;
}
return val;
]]>
</setter>
</property>
<property name="selectedIndex"
onget="return document.getAnonymousNodes(this)[0].selectedIndex;"
onset="alert('val='+val);return document.getAnonymousNodes(this)[0].selectedIndex=val;"
/>
</implementation>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].getAttribute('value');" />
</handlers>
-->
</binding>
<!-- DropDownList fuer Einheiten -->
<binding id="einheitenListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="<?php echo APP_ROOT; ?>rdf/einheiten.rdf.php" flex="1"
ref="http://www.technikum-wien.at/tempus/einheiten/liste"
>
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/einheiten/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/tempus/einheiten/rdf#kurzbz"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- DropDownList fuer Lehrfaecher -->
<binding id="lehrfaecherListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist datasources="lehrfach.rdf.php" flex="1"
ref="http://www.technikum-wien.at/tempus/lehrfach/liste" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/lehrfach/rdf#lehrfach_nr"
label="rdf:http://www.technikum-wien.at/tempus/lehrfach/rdf#bezeichnung"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- DropDownList fuer Studiengaenge -->
<!--
/ extends="chrome://global/content/bindings/menulist.xml#menulist"
-->
<binding id="stgListe" extends="lfvtbinding.xml.php#customMenulist-base" >
<content>
<xul:menulist id="stg" flex="1" datasources="studiengang.rdf.php"
ref="http://www.technikum-wien.at/tempus/studiengang/liste" >
<xul:template>
<xul:menupopup>
<!--<xul:menuitem value="null" label="-" />-->
<xul:menuitem value="rdf:http://www.technikum-wien.at/tempus/studiengang/rdf#studiengang_kz"
label="rdf:http://www.technikum-wien.at/tempus/studiengang/rdf#bezeichnung"
uri="rdf:*"/>
</xul:menupopup>
</xul:template>
</xul:menulist>
</content>
<handlers>
<handler event="command" action="this.currentValue=document.getAnonymousNodes(this)[0].value;" />
</handlers>
</binding>
<!-- ************************************************************************* -->
<!-- customMenulist-base -->
<!-- - fgt property currentValue hinzu, welcher dem value der internen -->
<!-- Menulist entspricht, auerdem wird durch setzen von currentValue -->
<!-- auch der entsprechende Datensatz selektiert -->
<!-- - forward fr selectedIndex -->
<!-- ************************************************************************* -->
<binding id="customMenulist-base" >
<content />
<implementation>
<property name="currentValue" onget="return this.getAttribute('currentValue');">
<setter><![CDATA[
this.setAttribute('currentValue',val);
var menulist=document.getAnonymousNodes(this)[0];
// auszuwaehlenden Datensatz suchen (stammt aus original Source Code)
var arr=menulist.menupopup.getElementsByAttribute('value',val);
//alert('anzahl arr='+arr.length+'; val='+val);
if (arr.item(0)) {
menulist.selectedItem=arr[0];
} else {
menulist.selectedIndex=0;
}
return val;
]]>
</setter>
</property>
<property name="selectedIndex"
onget="return document.getAnonymousNodes(this)[0].selectedIndex;"
onset="return document.getAnonymousNodes(this)[0].selectedIndex=val;"
/>
</implementation>
</binding>
</bindings>
+506
View File
@@ -0,0 +1,506 @@
function getDropDownValue(obj) {
//var list = document.getElementById(obj.name);
//var selectedText = list.selectedItem.label;
//alert(selectedText);
return obj.name;
}
function listElementHandlers(aObj) {
if(!aObj)
return null;
for(var list in aObj)
if(list.match(/^on/))
dump(list+'\n');
}
/**
* neue LVA anlegen
*/
function lvaNeu() {
var lvaDetail=document.getElementById('lvaDetail');
lvaDetail.reset();
var lva = new Lehrveranstaltung();
lva.studiengang=currentAuswahl.stg_kz;
lva.semester=currentAuswahl.sem;
lva.verband=currentAuswahl.ver;
lva.gruppe=currentAuswahl.grp;
lva.einheit=currentAuswahl.einheit;
lvaDetail.setLVA(lva);
lvaDetail.isNew=true;
//alert('stg_kz='+lva.stg_kz);
}
/**
* neue LVA löschen
*/
function lvaDelete() {
// id holen
var lvaDetail=document.getElementById('lvaDetail');
var id=lvaDetail.currentLVA.id;
var lvnr=lvaDetail.currentLVA.lvnr;
if (confirm('LVA '+lvnr+' wirklich löschen?')) {
var details = document.getElementById('lvaDetail');
details.reset();
var req = new phpRequest('lfvtCUD.php','<?php echo $_SERVER['PHP_AUTH_USER'] ?>','<?php echo $_SERVER['PHP_AUTH_PASSW'] ?>');
req.add('do','delete');
req.add('lehrveranstaltung_id',id);
var response = req.execute();
if (response!='ok') alert(response);
currentLVA_id=id;
// RDF aktualisieren (=Datensatz aus Tree entfernen)
var tree=document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
/*
// aus dem RDF loeschen
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
var sources=tree.database.GetDataSources();
if (sources.hasMoreElements()){
dsource=sources.getNext();
}
*/
// refresh
/* funktioniert zwar, ist aber unpraktisch, weil langsam und außerdem werden die Aeste vom Tree geschlossen
dsource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource).Refresh(true);
tree.builder.rebuild( );
return;
*/
/*
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subRes = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/" + id);
var rootSubject = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/liste");
var container = Components.classes["@mozilla.org/rdf/container;1"].
createInstance(Components.interfaces.nsIRDFContainer);
try {
container.Init(dsource, rootSubject);
//alert(container);
//container.AppendElement(christaRes);
}
catch (ex){}
var rdfContainerUtils = Components.classes["@mozilla.org/rdf/container-utils;1"].
getService(Components.interfaces.nsIRDFContainerUtils);
if (rdfContainerUtils.IsContainer(dsource,subRes)) {
alert(' is container');
} else {
// -> partizipierende LVA
// parent suchen
var parent = null;
var arcsIn = dsource.ArcLabelsIn(subRes);
while (arcsIn.hasMoreElements()){
var arc = arcsIn.getNext();
if (arc instanceof Components.interfaces.nsIRDFResource){
if (rdfContainerUtils.IsOrdinalProperty(arc)){
parent = dsource.GetSource(arc, subRes, true);
break;
}
}
}
if (rdfContainerUtils.IsContainer(dsource,parent)) {
alert('parent is container '+parent.Value);
var idx = rdfContainerUtils.indexOf(dsource,parent,subRes);
alert('index='+idx);
var container = Components.classes["@mozilla.org/rdf/container;1"].
createInstance(Components.interfaces.nsIRDFContainer);
try {
container.Init(dsource, parent);
var twoRes = rdfContainerUtils.IndexToOrdinalResource(2);
alert("count="+container.GetCount()+"; twoRes="+twoRes.Value);
// geht nicht bei remote RDF
//container.RemoveElementAt(2,true);
} catch(ex) {alert(ex);}
}
}
//predicate = rdfService.GetResource( "id" ); // RDF.GetResource('http://books.mozdev.org/rdf#chapters');
//object = dsource.GetTarget(rootSubject,predicate,true);
//datasource.Mark(rootSubject,predicate,object,true);
//datasource.Sweep( );
*/
// löscht nur aus dem view!
try {
//alert('currentIndex'+tree.currentIndex);
var selected = tree.treeBoxObject.view.getItemAtIndex(tree.currentIndex);
var cells = selected.getElementsByTagName( "treerow" );
var id = cells[ 0 ].getAttribute( "dbID" );
// ids müssten identisch sein (ist nur ein Sicherheitscheck)
if (id==currentLVA_id) {
var parent = tree.view.getItemAtIndex(tree.currentIndex).parentNode;
parent.removeChild(selected);
}
} catch(e) {
alert(e);
return false;
}
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
}
}
/**
* neue LVA als Partizipierung anlegen
*/
function lvaNeuPart() {
// ausgewählte LVA holen
var tree = document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
try {
var unr = tree.view.getCellText(tree.currentIndex, "lvaUnr")
//alert('currentIndex'+tree.currentIndex);
// level (0 oder 1?)
var level=tree.view.getLevel(tree.currentIndex);
//alert("unr="+unr+"; level="+tree.view.getLevel(tree.currentIndex));
if (level==1) {
var parent = tree.view.getItemAtIndex(c).parentNode;
parent.addChild();
}
tree.builder.rebuild( );
//parent.removeChild(selected);
} catch(e) {
alert(e);
return false;
}
// unr holen
// Datensatz anlegen
var details = document.getElementById('lvaDetail');
details.reset();
}
function lvaAuswahl() {
var tree = document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
try {
//alert('currentIndex'+tree.currentIndex);
var selected = tree.treeBoxObject.view.getItemAtIndex(tree.currentIndex);
var cells = selected.getElementsByTagName( "treerow" );
var id = cells[ 0 ].getAttribute( "dbID" );
//alert(id);
//var parent = tree.view.getItemAtIndex(c).parentNode;
//parent.removeChild(selected);
} catch(e) {
alert(e);
return false;
}
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
var sources=tree.database.GetDataSources();
if (sources.hasMoreElements()){
dsource=sources.getNext();
}
/*
// RDF/XML Datasources are all nsIRDFXMLSinks
var sink = dsource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
// Attach the observer to the datasource-as-sink
sink.addXMLSinkObserver(
{
onBeginLoad: function(aSink) { },
onInterrupt: function(aSink) { },
onResume: function(aSink) { }, */
// onEndLoad: function(aSink) { /*tree.builder.rebuild();*/ alert('Refresh done'); },
// onError: function(aSink, aStatus, aErrorMsg) { alert('Error! ' + aErrorMsg); }
// }
//);
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/" + id);
// zum debuggen; zeigt predicates an, die in resource zu finden sind
//var karen = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/176355");
/*
var targets = dsource.ArcLabelsOut(subject);
while (targets.hasMoreElements()){
var predicate = targets.getNext();
if (predicate instanceof Components.interfaces.nsIRDFResource){
var newPredicate = rdfService.GetResource( predicate.Value );
alert(predicate.Value);
}
}*/
/*
var targets = dsource.ArcLabelsOut(karen);
while (targets.hasMoreElements()){
var predicate = targets.getNext();
if (predicate instanceof Components.interfaces.nsIRDFResource){
alert(predicate.Value);
var target = dsource.GetTarget(subject, predicate, true);
if (target instanceof Components.interfaces.nsIRDFResource){
alert("Resource is: " + target.Value);
}
else if (target instanceof Components.interfaces.nsIRDFLiteral){
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
}
}
}*/
//
var predicateNS = "http://www.technikum-wien.at/tempus/lva/rdf";
// debug
var predicate = rdfService.GetResource( predicateNS + "#lvnr" );
//
var lva = new Lehrveranstaltung();
lva.id = getTargetHelper(dsource,subject,rdfService.GetResource( "id" ));
lva.unr = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#unr" ));
lva.lvnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lvnr" ));
lva.einheit=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#einheit_kurzbz" ));
lva.lektor=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lektor" ));
lva.lehrfach=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrfach_nr" ));
lva.studiengang=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" ));
lva.fachbereich=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_id" ));
lva.semester=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
lva.verband=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verband" ));
lva.gruppe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gruppe" ));
lva.raumtyp=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#raumtyp" ));
lva.raumtyp_alt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#raumtyp_alt" ));
lva.semesterstunden=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semesterstunden" ));
lva.stundenblockung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundenblockung" ));
lva.wochenrythmus=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenrythmus" ));
lva.start_kw=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#start_kw" ));
lva.studiensemester=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
// ist jetzt beim lehrfach:
//lva.ects=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ects" ));
//student.show();
currentLVA = lva;
//alert("lva.studiengang="+lva.studiengang);
var lvaDetail=document.getElementById('lvaDetail');
lvaDetail.setLVA(lva);
lvaDetail.isNew=false;
/*
if (dsource.hasArcOut(subject, predicate)) {
if (target instanceof Components.interfaces.nsIRDFLiteral) {
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
student.vornamen = target.Value;
student.show();
}
} */
}
function getTargetHelper(dsource,subj,predi) {
if (dsource.hasArcOut(subj, predi)) {
var target = dsource.GetTarget(subj, predi, true);
if (target instanceof Components.interfaces.nsIRDFLiteral) {
return target.Value;
}
}
return "";
}
/**
* Lehrveranstaltung Value Object
*/
function Lehrveranstaltung() {
this.id=null; // =lehrveranstaltung_id
this.lvnr=null;
this.unr=null;
this.einheit=null;
this.lektor=null;
this.lehrfach=null;
this.studiengang=null;
this.fachbereich=null;
this.semester=null;
this.verband=null;
this.gruppe=null;
this.raumtyp=null;
this.raumtyp_alt=null;
this.semesterstunden=null;
this.stundenblockung=null;
this.wochenrythmus=null;
this.start_kw=null;
this.studiensemester=null;
this.ects=null;
// flag, welches angibt, ob Daten verändert wurden
this.dataChanged=false;
}
/**
* Daten aus Formular holen und evt. speichern
*/
Lehrveranstaltung.prototype.updateData = function() {
if (document.getElementById('gridStudentenUID').value!=this.uid) {
this.uid = document.getElementById('gridStudentenUID').value;
this.dataChanged = true;
};
if (document.getElementById('gridStudentenTitel').value!=this.titel) {
this.titel = document.getElementById('gridStudentenTitel').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVornamen').value!=this.vornamen) {
this.vornamen = document.getElementById('gridStudentenVornamen').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenNachname').value!=this.nachname) {
this.nachname = document.getElementById('gridStudentenNachname').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenMatrikelnummer').value!=this.matrikelnummer) {
this.matrikelnummer = document.getElementById('gridStudentenMatrikelnummer').value;
this.dataChanged = true;
}
//alert(document.getElementById('gridStudentenMatrikelnummer').value);
if (document.getElementById('gridStudentenGeburtsdatum').value!=this.geburtsdatum) {
// todo validation
this.geburtsdatum = document.getElementById('gridStudentenGeburtsdatum').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtsort').value!=this.geburtsort) {
this.geburtsort = document.getElementById('gridStudentenGeburtsort').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtszeit').value!=this.geburtszeit) {
// todo validation
this.geburtszeit = document.getElementById('gridStudentenGeburtszeit').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenHomepage').value!=this.homepage) {
this.homepage = document.getElementById('gridStudentenHomepage').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenEmail').value!=this.email) {
this.email = document.getElementById('gridStudentenEmail').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenSemester').value!=this.semester) {
this.semester = document.getElementById('gridStudentenSemester').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVerband').value!=this.verband) {
this.verband = document.getElementById('gridStudentenVerband').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGruppe').value!=this.gruppe) {
this.gruppe = document.getElementById('gridStudentenGruppe').value;
this.dataChanged = true;
}
if (!((document.getElementById('gridStudentenAktiv').checked && this.aktiv=='True') ||
(!document.getElementById('gridStudentenAktiv').checked && this.aktiv=='False'))) {
this.aktiv = document.getElementById('gridStudentenAktiv').checked?'True':'False';
this.dataChanged = true;
}
alert(this.dataChanged?'dataChanged':'nix changed');
}
/**
* Student anzeigen
*/
Lehrveranstaltung.prototype.show = function() {
document.getElementById('gridStudentenUID').value = this.uid;
document.getElementById('gridStudentenTitel').value = this.titel;
document.getElementById('gridStudentenVornamen').value = this.vornamen;
document.getElementById('gridStudentenNachname').value = this.nachname;
document.getElementById('gridStudentenMatrikelnummer').value = this.matrikelnummer;
document.getElementById('gridStudentenGeburtsdatum').value = this.geburtsdatum;
document.getElementById('gridStudentenGeburtsort').value = this.geburtsort;
document.getElementById('gridStudentenGeburtszeit').value = this.geburtszeit;
document.getElementById('gridStudentenHomepage').value = this.homepage;
document.getElementById('gridStudentenEmail').value = this.email;
document.getElementById('gridStudentenSemester').value = this.semester;
document.getElementById('gridStudentenVerband').value = this.verband;
document.getElementById('gridStudentenGruppe').value = this.gruppe;
document.getElementById('gridStudentenStgBezeichnung').value = this.stg_bezeichnung;
document.getElementById('gridStudentenAktiv').checked = (this.aktiv=='True'?true:false);
}
+512
View File
@@ -0,0 +1,512 @@
function getDropDownValue(obj) {
//var list = document.getElementById(obj.name);
//var selectedText = list.selectedItem.label;
//alert(selectedText);
return obj.name;
}
function listElementHandlers(aObj) {
if(!aObj)
return null;
for(var list in aObj)
if(list.match(/^on/))
dump(list+'\n');
}
/**
* neue LVA anlegen
*/
function lvaNeu() {
var lvaDetail=document.getElementById('lvaDetail');
lvaDetail.reset();
var lva = new Lehrveranstaltung();
lva.studiengang=currentAuswahl.stg_kz;
lva.semester=currentAuswahl.sem;
lva.verband=currentAuswahl.ver;
lva.gruppe=currentAuswahl.grp;
lva.einheit=currentAuswahl.einheit;
lvaDetail.setLVA(lva);
lvaDetail.isNew=true;
//alert('stg_kz='+lva.stg_kz);
}
/**
* neue LVA löschen
*/
function lvaDelete() {
// id holen
var lvaDetail=document.getElementById('lvaDetail');
var id=lvaDetail.currentLVA.id;
var lvnr=lvaDetail.currentLVA.lvnr;
if (confirm('LVA '+lvnr+' wirklich löschen?')) {
var details = document.getElementById('lvaDetail');
details.reset();
var req = new phpRequest('lfvtCUD.php','pam','pam');
req.add('do','delete');
req.add('lehrveranstaltung_id',id);
var response = req.execute();
if (response!='ok') alert(response);
currentLVA_id=id;
// RDF aktualisieren (=Datensatz aus Tree entfernen)
var tree=document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
/*
// aus dem RDF loeschen
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
var sources=tree.database.GetDataSources();
if (sources.hasMoreElements()){
dsource=sources.getNext();
}
*/
// refresh
/* funktioniert zwar, ist aber unpraktisch, weil langsam und außerdem werden die Aeste vom Tree geschlossen
dsource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource).Refresh(true);
tree.builder.rebuild( );
return;
*/
/*
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subRes = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/" + id);
var rootSubject = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/liste");
var container = Components.classes["@mozilla.org/rdf/container;1"].
createInstance(Components.interfaces.nsIRDFContainer);
try {
container.Init(dsource, rootSubject);
//alert(container);
//container.AppendElement(christaRes);
}
catch (ex){}
var rdfContainerUtils = Components.classes["@mozilla.org/rdf/container-utils;1"].
getService(Components.interfaces.nsIRDFContainerUtils);
if (rdfContainerUtils.IsContainer(dsource,subRes)) {
alert(' is container');
} else {
// -> partizipierende LVA
// parent suchen
var parent = null;
var arcsIn = dsource.ArcLabelsIn(subRes);
while (arcsIn.hasMoreElements()){
var arc = arcsIn.getNext();
if (arc instanceof Components.interfaces.nsIRDFResource){
if (rdfContainerUtils.IsOrdinalProperty(arc)){
parent = dsource.GetSource(arc, subRes, true);
break;
}
}
}
if (rdfContainerUtils.IsContainer(dsource,parent)) {
alert('parent is container '+parent.Value);
var idx = rdfContainerUtils.indexOf(dsource,parent,subRes);
alert('index='+idx);
var container = Components.classes["@mozilla.org/rdf/container;1"].
createInstance(Components.interfaces.nsIRDFContainer);
try {
container.Init(dsource, parent);
var twoRes = rdfContainerUtils.IndexToOrdinalResource(2);
alert("count="+container.GetCount()+"; twoRes="+twoRes.Value);
// geht nicht bei remote RDF
//container.RemoveElementAt(2,true);
} catch(ex) {alert(ex);}
}
}
//predicate = rdfService.GetResource( "id" ); // RDF.GetResource('http://books.mozdev.org/rdf#chapters');
//object = dsource.GetTarget(rootSubject,predicate,true);
//datasource.Mark(rootSubject,predicate,object,true);
//datasource.Sweep( );
*/
// löscht nur aus dem view!
try {
//alert('currentIndex'+tree.currentIndex);
var selected = tree.treeBoxObject.view.getItemAtIndex(tree.currentIndex);
var cells = selected.getElementsByTagName( "treerow" );
var id = cells[ 0 ].getAttribute( "dbID" );
// ids müssten identisch sein (ist nur ein Sicherheitscheck)
if (id==currentLVA_id) {
var parent = tree.view.getItemAtIndex(tree.currentIndex).parentNode;
parent.removeChild(selected);
}
} catch(e) {
alert(e);
return false;
}
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
}
}
/**
* neue LVA als Partizipierung anlegen
*/
function lvaNeuPart() {
// ausgewählte LVA holen
var tree = document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
try {
var unr = tree.view.getCellText(tree.currentIndex, "lvaUnr")
//alert('currentIndex'+tree.currentIndex);
// level (0 oder 1?)
var level=tree.view.getLevel(tree.currentIndex);
//alert("unr="+unr+"; level="+tree.view.getLevel(tree.currentIndex));
if (level==1) {
var parent = tree.view.getItemAtIndex(c).parentNode;
parent.addChild();
}
tree.builder.rebuild( );
//parent.removeChild(selected);
} catch(e) {
alert(e);
return false;
}
// unr holen
// Datensatz anlegen
var details = document.getElementById('lvaDetail');
details.reset();
}
function lvaAuswahl() {
var tree = document.getElementById('treeLFVT');
if (tree.currentIndex==-1) return;
try {
//alert('currentIndex'+tree.currentIndex);
var selected = tree.treeBoxObject.view.getItemAtIndex(tree.currentIndex);
var cells = selected.getElementsByTagName( "treerow" );
var id = cells[ 0 ].getAttribute( "dbID" );
//alert(id);
//var parent = tree.view.getItemAtIndex(c).parentNode;
//parent.removeChild(selected);
} catch(e) {
alert(e);
return false;
}
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
var sources=tree.database.GetDataSources();
if (sources.hasMoreElements()){
dsource=sources.getNext();
}
/*
// RDF/XML Datasources are all nsIRDFXMLSinks
var sink = dsource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
// Attach the observer to the datasource-as-sink
sink.addXMLSinkObserver(
{
onBeginLoad: function(aSink) { },
onInterrupt: function(aSink) { },
onResume: function(aSink) { }, */
// onEndLoad: function(aSink) { /*tree.builder.rebuild();*/ alert('Refresh done'); },
// onError: function(aSink, aStatus, aErrorMsg) { alert('Error! ' + aErrorMsg); }
// }
//);
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/" + id);
// zum debuggen; zeigt predicates an, die in resource zu finden sind
//var karen = rdfService.GetResource("http://www.technikum-wien.at/tempus/lva/176355");
/*
var targets = dsource.ArcLabelsOut(subject);
while (targets.hasMoreElements()){
var predicate = targets.getNext();
if (predicate instanceof Components.interfaces.nsIRDFResource){
var newPredicate = rdfService.GetResource( predicate.Value );
alert(predicate.Value);
}
}*/
/*
var targets = dsource.ArcLabelsOut(karen);
while (targets.hasMoreElements()){
var predicate = targets.getNext();
if (predicate instanceof Components.interfaces.nsIRDFResource){
alert(predicate.Value);
var target = dsource.GetTarget(subject, predicate, true);
if (target instanceof Components.interfaces.nsIRDFResource){
alert("Resource is: " + target.Value);
}
else if (target instanceof Components.interfaces.nsIRDFLiteral){
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
}
}
}*/
//
var predicateNS = "http://www.technikum-wien.at/tempus/lva/rdf";
// debug
var predicate = rdfService.GetResource( predicateNS + "#lvnr" );
//
var lva = new Lehrveranstaltung();
lva.id = getTargetHelper(dsource,subject,rdfService.GetResource( "id" ));
lva.unr = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#unr" ));
lva.lvnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lvnr" ));
lva.einheit=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#einheit_kurzbz" ));
lva.lektor=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lektor" ));
lva.lehrfach=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrfach_nr" ));
lva.studiengang=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" ));
lva.fachbereich=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_id" ));
lva.semester=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
lva.verband=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verband" ));
lva.gruppe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gruppe" ));
lva.raumtyp=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#raumtyp" ));
lva.raumtyp_alt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#raumtypalternativ" ));
lva.semesterstunden=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semesterstunden" ));
lva.stundenblockung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundenblockung" ));
lva.wochenrythmus=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenrythmus" ));
lva.start_kw=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#start_kw" ));
lva.studiensemester=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
lva.lehrform=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrform" ));
// ist jetzt beim lehrfach:
//lva.ects=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ects" ));
//student.show();
currentLVA = lva;
//alert("lva.studiengang="+lva.studiengang);
var lvaDetail=document.getElementById('lvaDetail');
lvaDetail.setLVA(lva);
lvaDetail.isNew=false;
/*
if (dsource.hasArcOut(subject, predicate)) {
if (target instanceof Components.interfaces.nsIRDFLiteral) {
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
student.vornamen = target.Value;
student.show();
}
} */
}
function getTargetHelper(dsource,subj,predi) {
if (dsource.hasArcOut(subj, predi)) {
var target = dsource.GetTarget(subj, predi, true);
if (target instanceof Components.interfaces.nsIRDFLiteral) {
return target.Value;
}
}
return "";
}
/**
* Lehrveranstaltung Value Object
*/
function Lehrveranstaltung() {
this.id=null; // =lehrveranstaltung_id
this.lvnr=null;
this.unr=null;
this.einheit=null;
this.lektor=null;
this.lehrfach=null;
this.studiengang=null;
this.fachbereich=null;
this.semester=null;
this.verband=null;
this.gruppe=null;
this.raumtyp=null;
this.raumtyp_alt=null;
this.semesterstunden=null;
this.stundenblockung=null;
this.wochenrythmus=null;
this.start_kw=null;
this.studiensemester=null;
this.lehrform=null;
this.ects=null;
// flag, welches angibt, ob Daten verändert wurden
this.dataChanged=false;
}
/**
* Daten aus Formular holen und evt. speichern
*/
Lehrveranstaltung.prototype.updateData = function() {
if (document.getElementById('gridStudentenUID').value!=this.uid) {
this.uid = document.getElementById('gridStudentenUID').value;
this.dataChanged = true;
};
if (document.getElementById('gridStudentenTitel').value!=this.titel) {
this.titel = document.getElementById('gridStudentenTitel').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVornamen').value!=this.vornamen) {
this.vornamen = document.getElementById('gridStudentenVornamen').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenNachname').value!=this.nachname) {
this.nachname = document.getElementById('gridStudentenNachname').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenMatrikelnummer').value!=this.matrikelnummer) {
this.matrikelnummer = document.getElementById('gridStudentenMatrikelnummer').value;
this.dataChanged = true;
}
//alert(document.getElementById('gridStudentenMatrikelnummer').value);
if (document.getElementById('gridStudentenGeburtsdatum').value!=this.geburtsdatum) {
// todo validation
this.geburtsdatum = document.getElementById('gridStudentenGeburtsdatum').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtsort').value!=this.geburtsort) {
this.geburtsort = document.getElementById('gridStudentenGeburtsort').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtszeit').value!=this.geburtszeit) {
// todo validation
this.geburtszeit = document.getElementById('gridStudentenGeburtszeit').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenHomepage').value!=this.homepage) {
this.homepage = document.getElementById('gridStudentenHomepage').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenEmail').value!=this.email) {
this.email = document.getElementById('gridStudentenEmail').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenSemester').value!=this.semester) {
this.semester = document.getElementById('gridStudentenSemester').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVerband').value!=this.verband) {
this.verband = document.getElementById('gridStudentenVerband').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGruppe').value!=this.gruppe) {
this.gruppe = document.getElementById('gridStudentenGruppe').value;
this.dataChanged = true;
}
if (document.getElementById('gridLehrform').value!=this.lehrform) {
this.lehrform = document.getElementById('gridLehrform').value;
this.dataChanged = true;
}
if (!((document.getElementById('gridStudentenAktiv').checked && this.aktiv=='True') ||
(!document.getElementById('gridStudentenAktiv').checked && this.aktiv=='False'))) {
this.aktiv = document.getElementById('gridStudentenAktiv').checked?'True':'False';
this.dataChanged = true;
}
alert(this.dataChanged?'dataChanged':'nix changed');
}
/**
* Student anzeigen
*/
Lehrveranstaltung.prototype.show = function() {
document.getElementById('gridStudentenUID').value = this.uid;
document.getElementById('gridStudentenTitel').value = this.titel;
document.getElementById('gridStudentenVornamen').value = this.vornamen;
document.getElementById('gridStudentenNachname').value = this.nachname;
document.getElementById('gridStudentenMatrikelnummer').value = this.matrikelnummer;
document.getElementById('gridStudentenGeburtsdatum').value = this.geburtsdatum;
document.getElementById('gridStudentenGeburtsort').value = this.geburtsort;
document.getElementById('gridStudentenGeburtszeit').value = this.geburtszeit;
document.getElementById('gridStudentenHomepage').value = this.homepage;
document.getElementById('gridStudentenEmail').value = this.email;
document.getElementById('gridStudentenSemester').value = this.semester;
document.getElementById('gridStudentenVerband').value = this.verband;
document.getElementById('gridStudentenGruppe').value = this.gruppe;
document.getElementById('gridStudentenStgBezeichnung').value = this.stg_bezeichnung;
document.getElementById('gridStudentenAktiv').checked = (this.aktiv=='True'?true:false);
}
+142
View File
@@ -0,0 +1,142 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?>";
?>
<overlay id="LFVTOverlay"
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/phpRequest.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lfvtoverlay.js.php" />
<!-- ************************ -->
<!-- * Lehrfachverteilung * -->
<!-- ************************ -->
<vbox id="lfvtEditor" flex="1">
<toolbox>
<toolbar id="nav-toolbar">
<toolbarbutton label="Neue LVA" oncommand="lvaNeu();" />
<toolbarbutton label="Neue LVA-Partizipierung" oncommand="lvaNeuPart();"/>
<toolbarbutton label="Löschen" oncommand="lvaDelete();" />
</toolbar>
</toolbox>
<!-- ************* -->
<!-- * Auswahl * -->
<!-- ************* -->
<!-- Bem.: style="visibility:collapse" versteckt eine Spalte -->
<tree id="treeLFVT" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/tempus/lva/liste"
style="margin:0px;"
onselect="lvaAuswahl(this);"
>
<treecols>
<treecol id="lvaUnr" label="UNR" flex="2" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#unr"
/>
<splitter class="tree-splitter"/>
<treecol id="lvaLvnr" label="LVNR" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lvnr" />
<splitter class="tree-splitter"/>
<treecol id="lvaLehrfach" label="Lehrfach" flex="10" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lehrfach"/>
<splitter class="tree-splitter"/>
<treecol id="lvaLektor" label="Lektor" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lektorPrettyPrint"/>
<splitter class="tree-splitter"/>
<treecol id="lvaSemester" label="S" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#semester" />
<splitter class="tree-splitter"/>
<treecol id="lvaVerband" label="V" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#verband" />
<splitter class="tree-splitter"/>
<treecol id="lvaGruppe" label="G" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#gruppe"/>
<splitter class="tree-splitter"/>
<treecol id="lvaEinheit" label="Einheit" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lva/rdf#einheit_kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lvaRaumtyp" label="R.Typ." flex="5" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaRaumtypalternativ" label="R.Typ.alt." flex="5" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaSemesterstunden" label="Semesterstunden" flex="1" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaStundenblockung" label="Stundenblockung" flex="5" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaWochenrythmus" label="Wochenrythmus" flex="5" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaStart_kw" label="Start KW" flex="5" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaStudiensemester_kurzbz" label="Studiensemester" flex="5" hidden="true" />
<splitter class="tree-splitter"/>
<treecol id="lvaLehrform" label="Lehrform" flex="5" hidden="true" />
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow dbID="rdf:http://www.technikum-wien.at/tempus/lva/rdf#dbID">
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#unr" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lvnr"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lehrfach"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lektorPrettyPrint"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#semester"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#verband"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#gruppe"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#einheit_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#raumtyp"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#raumtypalternativ"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#semesterstunden"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#stundenblockung"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#wochenrythmus"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#start_kw"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lva/rdf#lehrform"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * Detail * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;">
<box id="lvaDetail" class="lvaDetail" style="margin:0px;" />
</vbox>
</vbox>
</overlay>
+75
View File
@@ -0,0 +1,75 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/person.class.php');
include_once('../include/mitarbeiter.class.php');
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// test
/*
$einheit_kurzbz='';
$grp='1';
$ver='A';
$sem=3;
$stg_kz=145;
*/
$einheit_kurzbz='';
if (isset($_GET['lektor']))
$lektor=$_GET['lektor'];
else
$lektor=true;
$fixangestellt=$_GET['fixangestellt'];
$stg_kz=$_GET['stg_kz'];
$fachbereich_id=$_GET['fachbereich_id'];
// Mitarbeiter holen
$mitarbeiter=new mitarbeiter($conn);
$ma=$mitarbeiter->getMitarbeiter($lektor,$fixangestellt,$stg_kz,$fachbereich_id);
$rdf_url='http://www.technikum-wien.at/tempus/mitarbeiter/';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:MITARBEITER="<?php echo $rdf_url; ?>rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>alle">
<?php
foreach ($ma as $mitarbeiter)
{
?>
<RDF:li>
<RDF:Description about="<?php echo $rdf_url.$mitarbeiter->uid; ?>" >
<MITARBEITER:uid><?php echo $mitarbeiter->uid; ?></MITARBEITER:uid>
<MITARBEITER:titel><?php echo $mitarbeiter->titel; ?></MITARBEITER:titel>
<MITARBEITER:vornamen><?php echo $mitarbeiter->vornamen; ?></MITARBEITER:vornamen>
<MITARBEITER:nachname><?php echo $mitarbeiter->nachname; ?></MITARBEITER:nachname>
<MITARBEITER:kurzbz><?php echo $mitarbeiter->kurzbz; ?></MITARBEITER:kurzbz>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+196
View File
@@ -0,0 +1,196 @@
<?php
/**
* FAS-Online
* Dialog zum eingeben und bearbeiten der Adressen
*/
include('../vilesci/config.inc.php');
if(isset($_GET['adress_id']) && $_GET['adress_id']!='')
echo "var MitarbeiterDetailAdress_id=".$_GET['adress_id'];
else
echo "var MitarbeiterDetailAdress_id=null";
?>
if(MitarbeiterDetailAdress_id!=null)
{
window.setTimeout("MitarbeiterAdressenBearbeiten()",window.opener.sleep_time/2);
}
/**
* Laedt den zu bearbeitenden Datensatz
*/
function MitarbeiterAdressenBearbeiten()
{
// RDF vom Server holen
// Url zum RDF
var url="<?php echo APP_ROOT; ?>rdf/fas/adressen.rdf.php?adress_id="+MitarbeiterDetailAdress_id;
// Request absetzen
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, false, '','');
httpRequest.send('');
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/adressen/alle');
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Daten aus RDF auslesen
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/adressen/" + MitarbeiterDetailAdress_id);
var predicateNS = "http://www.technikum-wien.at/adressen/rdf";
//Felder befuellen
person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" ));
adresstyp = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#typ" ));
nation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#nation" ));
strasse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#strasse" ));
plz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#plz" ));
gemeinde = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#gemeinde" ));
ort = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ort" ));
zustelladresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#zustelladresse" ));
bismeldeadresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bismeldeadresse" ));
document.getElementById('textbox-mitarbeiter-adressen-person_id').value = person_id;
document.getElementById('menulist-mitarbeiter-adressen-adresstyp').value = adresstyp;
document.getElementById('menulist-mitarbeiter-adressen-nation').value = nation;
document.getElementById('textbox-mitarbeiter-adressen-strasse').value = strasse;
document.getElementById('textbox-mitarbeiter-adressen-plz').value = plz;
document.getElementById('textbox-mitarbeiter-adressen-gemeinde').value = gemeinde;
document.getElementById('textbox-mitarbeiter-adressen-ort').value = ort;
if(zustelladresse == 'Ja')
document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked = true;
else
document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked = false;
if(bismeldeadresse == 'Ja')
document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked = true;
else
document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked = false;
}
function MitarbeiterAdressenValueChange()
{
}
/**
* Speichert die eingegebene Adresse
*/
function MitarbeiterAdressenSave()
{
//Daten aus den Felder holen
person_id = document.getElementById('textbox-mitarbeiter-adressen-person_id').value;
adresstyp = document.getElementById('menulist-mitarbeiter-adressen-adresstyp').value;
name = document.getElementById('menulist-mitarbeiter-adressen-adresstyp').label;
nation = document.getElementById('menulist-mitarbeiter-adressen-nation').value;
strasse = document.getElementById('textbox-mitarbeiter-adressen-strasse').value;
plz = document.getElementById('textbox-mitarbeiter-adressen-plz').value;
gemeinde = document.getElementById('textbox-mitarbeiter-adressen-gemeinde').value;
ort = document.getElementById('textbox-mitarbeiter-adressen-ort').value;
zustelladresse = document.getElementById('checkbox-mitarbeiter-adressen-zustelladresse').checked;
bismeldeadresse = document.getElementById('checkbox-mitarbeiter-adressen-bismeldeadresse').checked;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//Parameterliste zusammenbauen
var param = "type=adresse";
if(MitarbeiterDetailAdress_id!=null)
param = param + "&new=false";
else
param = param + "&new=true";
param = param + "&adress_id="+encodeURIComponent(MitarbeiterDetailAdress_id);
param = param + "&person_id="+encodeURIComponent(person_id);
param = param + "&adresstyp="+encodeURIComponent(adresstyp);
param = param + "&name="+encodeURIComponent(name);
param = param + "&nation="+encodeURIComponent(nation);
param = param + "&strasse="+encodeURIComponent(strasse);
param = param + "&plz="+encodeURIComponent(plz);
param = param + "&gemeinde="+encodeURIComponent(gemeinde);
param = param + "&ort="+encodeURIComponent(ort);
param = param + "&zustelladresse="+encodeURIComponent(zustelladresse);
param = param + "&bismeldeadresse="+encodeURIComponent(bismeldeadresse);
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//AdressenTree aktualisieren
//Statusbar setzen
window.opener.setStatusBarText("Adresse erfolgreich gespeichert");
window.opener.document.getElementById("tree-liste-adressen").builder.refresh();
//Fenster schliessen
window.close();
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
+111
View File
@@ -0,0 +1,111 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id=null;
if(isset($_GET['adress_id']))
$adress_id=$_GET['adress_id'];
else
$adress_id=null;
// rdf:null
?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<window id="mitarbeiter-adressen-dialog" title="Adressen"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiteradressendialog.js.php?adress_id=<?php echo $adress_id;?>" />
<textbox id="textbox-mitarbeiter-adressen-person_id" value="<?php echo $person_id;?>" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-mitarbeiter-adresse-adresstyp" value="Adresstyp:"/>
<menulist id="menulist-mitarbeiter-adressen-adresstyp"
oncommand="MitarbeiterAdressenValueChange();">
<menupopup>
<menuitem label=" --- " value="0"/>
<menuitem label="Firmensitz" value="1"/>
<menuitem label="Hauptwohnsitz" value="2" selected="true"/>
<menuitem label="Nebenwohnsitz" value="3"/>
</menupopup>
</menulist>
</row>
<row>
<label align="end" control="menulist-mitarbeiter-adressen-nation" value="Nation:"/>
<menulist id="menulist-mitarbeiter-adressen-nation" oncommand="MitarbeiterAdressenValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/nation.rdf.php"
ref="http://www.technikum-wien.at/nation/alle" value='A'>
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
value="rdf:http://www.technikum-wien.at/nation/rdf#code"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-adressen-strasse" value="Strasse:"/>
<textbox id="textbox-mitarbeiter-adressen-strasse" maxlength="255" oninput="MitarbeiterAdressenValueChange()"/>
</row>
<row>
<label align="end" control="menulist-mitarbeiter-adressen-plz" value="Plz:"/>
<hbox><textbox id="textbox-mitarbeiter-adressen-plz" size="10" maxlength="10" oninput="MitarbeiterAdressenValueChange()"/><spacer /></hbox>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-adressen-gemeinde" value="Gemeinde:"/>
<textbox id="textbox-mitarbeiter-adressen-gemeinde" maxlength="255" oninput="MitarbeiterAdressenValueChange()"/>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-adressen-ort" value="Ort:"/>
<textbox id="textbox-mitarbeiter-adressen-ort" maxlength="255" oninput="MitarbeiterAdressenValueChange()"/>
</row>
<row>
<spacer />
<hbox>
<checkbox label="Zustelladresse" id="checkbox-mitarbeiter-adressen-zustelladresse" checked="true" onclick="MitarbeiterAdressenValueChange()"/>
<checkbox label="BIS-Meldeadresse" id="checkbox-mitarbeiter-adressen-bismeldeadresse" checked="true" onclick="MitarbeiterAdressenValueChange()"/>
</hbox>
</row>
</rows>
</grid>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column flex="5"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<spacer />
<button label="OK" oncommand="MitarbeiterAdressenSave()"/>
<button label="Abbrechen" oncommand="window.close()"/>
</row>
</rows>
</grid>
</window>
@@ -0,0 +1,194 @@
<?php
include('../vilesci/config.inc.php');
if(isset($_GET['bankverbindung_id']) && $_GET['bankverbindung_id']!='')
echo "var MitarbeiterDetailBankverbindung_id=".$_GET['bankverbindung_id'];
else
echo "var MitarbeiterDetailBankverbindung_id=null";
?>
if(MitarbeiterDetailBankverbindung_id!=null)
{
window.setTimeout("MitarbeiterBankverbindungBearbeiten()",window.opener.sleep_time/2);
}
/**
* Laedt den zu bearbeitenden Datensatz
*/
function MitarbeiterBankverbindungBearbeiten()
{
// RDF vom Server holen
// Url zum RDF
var url="<?php echo APP_ROOT; ?>rdf/fas/bankverbindungen.rdf.php?bankverbindung_id="+MitarbeiterDetailBankverbindung_id;
// Request absetzen
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, false, '','');
httpRequest.send('');
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/bankverbindungen/alle');
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Daten aus RDF auslesen
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/bankverbindungen/" + MitarbeiterDetailBankverbindung_id);
var predicateNS = "http://www.technikum-wien.at/bankverbindungen/rdf";
//Felder befuellen
person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" ));
name = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#name" ));
anschrift = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#anschrift" ));
blz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#blz" ));
bic = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bic" ));
kontonr = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#kontonummer" ));
iban = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#iban" ));
typ = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#typ" ));
verrechnungskonto = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#verrechnungskonto" ));
document.getElementById('textbox-mitarbeiter-bankverbindung-person_id').value = person_id;
document.getElementById('textbox-mitarbeiter-bankverbindung-name').value = name;
document.getElementById('textbox-mitarbeiter-bankverbindung-anschrift').value = anschrift;
document.getElementById('textbox-mitarbeiter-bankverbindung-blz').value = blz;
document.getElementById('textbox-mitarbeiter-bankverbindung-bic').value = bic;
document.getElementById('textbox-mitarbeiter-bankverbindung-kontonr').value = kontonr;
document.getElementById('textbox-mitarbeiter-bankverbindung-iban').value = iban;
document.getElementById('menulist-mitarbeiter-bankverbindung-typ').value = typ;
if(verrechnungskonto=='Ja')
document.getElementById('checkbox-mitarbeiter-bankverbindung-verrechnungskonto').checked=true;
else
document.getElementById('checkbox-mitarbeiter-bankverbindung-verrechnungskonto').checked=false;
}
function MitarbeiterBankverbindungValueChange()
{
}
/**
* Speichert die eingegebene Email
*/
function MitarbeiterBankverbindungSave()
{
//Daten aus den Felder holen
person_id = document.getElementById('textbox-mitarbeiter-bankverbindung-person_id').value;
name = document.getElementById('textbox-mitarbeiter-bankverbindung-name').value;
typ = document.getElementById('menulist-mitarbeiter-bankverbindung-typ').value;
anschrift = document.getElementById('textbox-mitarbeiter-bankverbindung-anschrift').value;
blz = document.getElementById('textbox-mitarbeiter-bankverbindung-blz').value;
bic = document.getElementById('textbox-mitarbeiter-bankverbindung-bic').value;
kontonr = document.getElementById('textbox-mitarbeiter-bankverbindung-kontonr').value;
iban = document.getElementById('textbox-mitarbeiter-bankverbindung-iban').value;
verrechnungskonto = document.getElementById('checkbox-mitarbeiter-bankverbindung-verrechnungskonto').checked;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = "type=bankverbindung";
if(MitarbeiterDetailBankverbindung_id!=null)
param = param + "&new=false";
else
param = param + "&new=true";
param = param + "&bankverbindung_id="+encodeURIComponent(MitarbeiterDetailBankverbindung_id);
param = param + "&person_id="+encodeURIComponent(person_id);
param = param + "&name="+encodeURIComponent(name);
param = param + "&typ="+encodeURIComponent(typ);
param = param + "&anschrift="+encodeURIComponent(anschrift);
param = param + "&blz="+encodeURIComponent(blz);
param = param + "&bic="+encodeURIComponent(bic);
param = param + "&kontonr="+encodeURIComponent(kontonr);
param = param + "&iban="+encodeURIComponent(iban);
if(verrechnungskonto)
param = param + "&verrechnungskonto=true";
else
param = param + "&verrechnungskonto=false";
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//BankverbindungenTree aktualisieren
//Statusbar setzen
window.opener.setStatusBarText(dbdml_errormsg);
window.opener.document.getElementById("tree-liste-bankverbindungen").builder.refresh();
window.setTimeout('window.opener.document.getElementById("tree-liste-bankverbindungen").builder.rebuild()',window.opener.sleep_time*2);
//Fenster schliessen
window.close();
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
@@ -0,0 +1,101 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id=null;
if(isset($_GET['bankverbindung_id']))
$bankverbindung_id=$_GET['bankverbindung_id'];
else
$bankverbindung_id=null;
// rdf:null
?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<window id="mitarbeiter-bankverbindung-dialog" title="Email"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiterbankverbindungdialog.js.php?bankverbindung_id=<?php echo $bankverbindung_id;?>" />
<textbox id="textbox-mitarbeiter-bankverbindung-person_id" value="<?php echo $person_id;?>" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-mitarbeiter-bankverbindung-typ" value="Konto Typ:"/>
<menulist id="menulist-mitarbeiter-bankverbindung-typ"
oncommand="MitarbeiterBankverbindungValueChange();">
<menupopup>
<menuitem label="Privatkonto" value="1" selected="true"/>
<menuitem label="Firmenkonto" value="2"/>
</menupopup>
</menulist>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-bankverbindung-name" value="Bank Bezeichnung:"/>
<textbox id="textbox-mitarbeiter-bankverbindung-name" maxlength="255" oninput="MitarbeiterBankverbindungValueChange()"/>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-bankverbindung-anschrift" value="Bank Anschrift:"/>
<textbox id="textbox-mitarbeiter-bankverbindung-anschrift" maxlength="255" oninput="MitarbeiterBankverbindungValueChange()"/>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-bankverbindung-blz" value="BLZ:"/>
<textbox id="textbox-mitarbeiter-bankverbindung-blz" maxlength="255" oninput="MitarbeiterBankverbindungValueChange()"/>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-bankverbindung-kontonr" value="Kontonummer:"/>
<textbox id="textbox-mitarbeiter-bankverbindung-kontonr" maxlength="255" oninput="MitarbeiterBankverbindungValueChange()"/>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-bankverbindung-bic" value="BIC:"/>
<textbox id="textbox-mitarbeiter-bankverbindung-bic" maxlength="255" oninput="MitarbeiterBankverbindungValueChange()"/>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-bankverbindung-iban" value="IBAN:"/>
<textbox id="textbox-mitarbeiter-bankverbindung-iban" maxlength="255" oninput="MitarbeiterBankverbindungValueChange()"/>
</row>
<row>
<spacer />
<checkbox label="Verrechnungskonto" id="checkbox-mitarbeiter-bankverbindung-verrechnungskonto" checked="true" oncommand="MitarbeiterBankverbindungValueChange()"/>
</row>
</rows>
</grid>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column flex="5"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<spacer />
<button label="OK" oncommand="MitarbeiterBankverbindungSave()"/>
<button label="Abbrechen" oncommand="window.close()"/>
</row>
</rows>
</grid>
</window>
+630
View File
@@ -0,0 +1,630 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/fas.css" type="text/css"?>';
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle" -->
<vbox id="MitarbeiterDetailEditor" flex="1" style="overflow:auto">
<tabbox id="tabbox-MitarbeiterDetail" flex="3" orient="vertical" hidden="false">
<tabs orient="horizontal">
<tab id="tab-mitarbeiter-person" label="Stammdaten" />
<tab id="tab-mitarbeiter-detail" label="Zusätzliche Daten" />
</tabs>
<tabpanels id="tabpanels-mitarbeiter-main" flex="1">
<vbox>
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<textbox id="textbox-mitarbeiter-detail-mitarbeiter_id" hidden="true" />
<textbox id="textbox-mitarbeiter-detail-person_id" hidden="true" />
<textbox id="textbox-mitarbeiter-detail-aktstatus" hidden="true" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="textbox-mitarbeiter-detail-anrede" value="Anrede:"/>
<textbox id="textbox-mitarbeiter-detail-anrede" flex="1" value="" oninput="treeMitarbeiterValueChange()" onchange="MitarbeiterAnredeValueChange()"/>
<label control="textbox-mitarbeiter-detail-titelpre" value="Titel (Pre):"/>
<textbox id="textbox-mitarbeiter-detail-titelpre" flex="1" value="" oninput="treeMitarbeiterValueChange()"/>
<label control="textbox-mitarbeiter-detail-titelpost" value="Titel (Post):"/>
<textbox id="textbox-mitarbeiter-detail-titelpost" flex="1" oninput="treeMitarbeiterValueChange()"/>
<label control="textbox-mitarbeiter-detail-uid" value="UID:"/>
<hbox><textbox id="textbox-mitarbeiter-detail-uid" size="20" maxlength="20" oninput="treeMitarbeiterValueChange()"/><spacer /></hbox>
</row>
<row>
<label control="textbox-mitarbeiter-detail-nachname" value="Nachname:"/>
<textbox id="textbox-mitarbeiter-detail-nachname" class="pflichtfeld" flex="1" oninput="treeMitarbeiterValueChange()"/>
<label control="textbox-mitarbeiter-detail-vorname" value="Vorname:"/>
<textbox id="textbox-mitarbeiter-detail-vorname" class="pflichtfeld" flex="1" oninput="treeMitarbeiterValueChange()"/>
<label control="textbox-mitarbeiter-detail-vornamen" value="Vornamen:"/>
<textbox id="textbox-mitarbeiter-detail-vornamen" flex="1" oninput="treeMitarbeiterValueChange()"/>
<label control="textbox-mitarbeiter-detail-svnr" value="SVNR:" />
<hbox><textbox id="textbox-mitarbeiter-detail-svnr" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()" onchange="MitarbeiterSVNRValueChange()"/><spacer /></hbox>
</row>
<row>
<label control="textbox-mitarbeiter-detail-geburtsort" value="Geburtsort: "/>
<textbox id="textbox-mitarbeiter-detail-geburtsort" maxlength="255" flex="1" oninput="treeMitarbeiterValueChange()"/>
<label control="menulist-mitarbeiter-detail-staatsbuergerschaft" value="Staatsbürgerschaft:"/>
<menulist id="menulist-mitarbeiter-detail-staatsbuergerschaft" oncommand="treeMitarbeiterValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/nation.rdf.php?ohnesperre=true"
ref="http://www.technikum-wien.at/nation/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
value="rdf:http://www.technikum-wien.at/nation/rdf#code"/>
</menupopup>
</template>
</menulist>
<label control="menulist-mitarbeiter-detail-geburtsnation" value="Geburtsnation:"/>
<menulist id="menulist-mitarbeiter-detail-geburtsnation" oncommand="treeMitarbeiterValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/nation.rdf.php"
ref="http://www.technikum-wien.at/nation/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
value="rdf:http://www.technikum-wien.at/nation/rdf#code"/>
</menupopup>
</template>
</menulist>
<label control="textbox-mitarbeiter-detail-ersatzkennzeichen" value="Ersatzkennzeichen:"/>
<textbox id="textbox-mitarbeiter-detail-ersatzkennzeichen" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/>
</row>
<row>
<label control="textbox-mitarbeiter-detail-geburtsdatum" value="Gebutsdatum:"/>
<hbox><textbox id="textbox-mitarbeiter-detail-geburtsdatum" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/><spacer /></hbox>
<label control="button-mitarbeiter-detail-geschlecht" value="Geschlecht:"/>
<button id='button-mitarbeiter-detail-geschlecht' label='maennlich' oncommand="MitarbeiterDetailGeschlechtChange()" class="change" />
<label control="menulist-mitarbeiter-detail-familienstand" value="Familienstand: "/>
<menulist id="menulist-mitarbeiter-detail-familienstand"
oncommand="treeMitarbeiterValueChange();">
<menupopup>
<menuitem label=" --- " value="0"/>
<menuitem label="ledig" value="1" selected="true"/>
<menuitem label="verheiratet" value="2"/>
<menuitem label="geschieden" value="3"/>
<menuitem label="verwitwet" value="4"/>
</menupopup>
</menulist>
<label control="textbox-mitarbeiter-detail-anzahlderkinder" value="Anzahl Kinder:"/>
<hbox><textbox id="textbox-mitarbeiter-detail-anzahlderkinder" size="2" maxlength="2" value="0" oninput="treeMitarbeiterValueChange()"/><spacer /></hbox>
</row>
</rows>
</grid>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" class="style-groupbox"
>
<columns>
<column />
<column flex="2"/>
<column flex="1"/>
<column />
</columns>
<rows>
<row>
<label control="textbox-mitarbeiter-detail-bemerkung" value="Bemerkung:"/>
<textbox id="textbox-mitarbeiter-detail-bemerkung" multiline="true" oninput="treeMitarbeiterValueChange()"/>
<spacer flex="1"/>
<checkbox label="Aktiv" id="checkbox-mitarbeiter-detail-aktiv" checked="true" oncommand="treeMitarbeiterValueChange()"/>
<checkbox label="BIS Melden" id="checkbox-mitarbeiter-detail-bismelden" checked="true" oncommand="treeMitarbeiterValueChange()"/>
</row>
</rows>
</grid>
</groupbox>
<hbox>
<groupbox flex="8">
<caption label="Mitarbeiterdaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="textbox-mitarbeiter-detail-personal_nr" value="Personalnummer:"/>
<textbox id="textbox-mitarbeiter-detail-personal_nr" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/>
<label align="end" control="textbox-mitarbeiter-detail-kurzbezeichnung" value="Kurzbezeichnung:"/>
<hbox>
<textbox id="textbox-mitarbeiter-detail-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/>
<button id='button-mitarbeiter-detail-gen_kurzbez' label='G' oncommand="MitarbeiterDetailKurzbzGenerate()"/>
</hbox>
<label align="end" control="textbox-mitarbeiter-detail-beginndatum" value="Beginndatum:"/>
<hbox><textbox id="textbox-mitarbeiter-detail-beginndatum" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/><spacer /></hbox>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-detail-stundensatz" value="Stundensatz:"/>
<textbox id="textbox-mitarbeiter-detail-stundensatz" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/>
<checkbox label="Habilitation" id="checkbox-mitarbeiter-detail-habilitation" checked="false" oncommand="treeMitarbeiterValueChange()"/>
<spacer/>
<checkbox label="ausgeschieden am" id="checkbox-mitarbeiter-detail-ausgeschieden" checked="false" oncommand="treeMitarbeiterValueChange(); MitarbeiterDetailAusgeschiedenChange();"/>
<hbox><textbox id="textbox-mitarbeiter-detail-beendigungsdatum" disabled="true" size="10" maxlength="10" oninput="treeMitarbeiterValueChange()"/><spacer /></hbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
<label align="end" control="menulist-mitarbeiter-detail-ausbildung" value="Höchste abgeschlossene Ausbildung:"/>
<menulist id="menulist-mitarbeiter-detail-ausbildung" oncommand="treeMitarbeiterValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/ausbildung.rdf.php"
ref="http://www.technikum-wien.at/ausbildung/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#ausbildung_id"/>
</menupopup>
</template>
</menulist>
</hbox>
</groupbox>
<spacer flex="2" />
<vbox flex="1">
<spacer flex="1"/>
<hbox><button id="button-mitarbeiter-detail-zurueck" flex="1" disabled="true" label="Zurück" oncommand="MitarbeiterDetailZurueck();"/></hbox>
<hbox><button id="button-mitarbeiter-detail-speichern" flex="1" disabled="true" label="Speichern" oncommand="saveMitarbeiter();"/></hbox>
<spacer flex="1"/>
</vbox>
<spacer flex="2" />
</hbox>
<groupbox hidden="false" flex="1">
<caption label="Funktionen" />
<hbox flex="1" class="hbox-tree">
<tree id="tree-liste-funktionen" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/funktionen/alle"
onselect="" flags="dont-build-content"
enableColumnDrag="true"
ondblclick="MitarbeiterDetailFunktionenBearbeiten()"
>
<treecols>
<treecol id="tree-liste-funktionen-col-funktion_id" label="Funktion_id" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#funktion_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-mitarbeiter_id" label="Mitarbeiter_id" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#mitarbeiter_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-studiensemester_bezeichnung" label="Studiensemester" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#studiensemester_id" />
<splitter class="tree-splitter"/>
<?php /*Wenn die ID nicht angezeigt wird, dann funktioniert das Sortieren von studiensemester_bezeichnung nicht richtig*/ ?>
<treecol id="tree-liste-funktionen-col-studiensemester_id" label="StudiensemesterID" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#studiensemester_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-erhalter_id" label="Erhalter" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#erhalter_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-studiengang_bezeichnung" label="Studiengang" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#studiengang_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-fachbereich_bezeichnung" label="Fachbereich" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#fachbereich_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-name" label="Name" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#name" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-funktion_bezeichnung" label="Funktion" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#funktion_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-beschart1" label="Beschäftigungsart 1" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#beschart1_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-beschart2" label="Beschäftigungsart 2" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#beschart2_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-verwendung" label="Verwendung" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#verwendung_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-hauptberuflich" label="Hauptberuflich" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#hauptberuflich" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-hauptberuf" label="Hauptberuf" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#hauptberuf_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-entwicklungsteam" label="Mitglied im Entwicklungsteam" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#entwicklungsteam" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-besonderequalifikation" label="Besondere Qualifikation" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#besonderequalifikation_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-funktionen-col-ausmass" label="Ausmass" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/funktionen/rdf#ausmass_bezeichnung" />
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#funktion_id" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#mitarbeiter_id" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#studiensemester_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#studiensemester_id" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#erhalter_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#studiengang_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#fachbereich_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#funktion_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#beschart1_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#beschart2_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#verwendung_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#hauptberuflich" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#hauptberuf_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#entwicklungsteam" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#besonderequalifikation_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/funktionen/rdf#ausmass_bezeichnung" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="button-mitarbeiter-detail-funktionen-neu" disabled="true" label="Neu" oncommand="MitarbeiterDetailFunktionenNeu();"/>
<button id="button-mitarbeiter-detail-funktionen-bearbeiten" disabled="true" label="Bearbeiten" oncommand="MitarbeiterDetailFunktionenBearbeiten();"/>
<button id="button-mitarbeiter-detail-funktionen-loeschen" disabled="true" label="Löschen" oncommand="MitarbeiterDetailFunktionenLoeschen();"/>
<spacer flex="1" />
<button id="button-mitarbeiter-detail-funktionen-alleanzeigen" disabled="true" label="Alle Anzeigen" oncommand="MitarbeiterDetailFunktionenAlleAnzeigen();"/>
</vbox>
</hbox>
</groupbox>
</vbox>
<!-- Seite 2 -->
<vbox>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns>
<column flex="6"/>
<column flex="1"/>
</columns>
<rows>
<row>
<vbox>
<groupbox hidden="false">
<caption label="Adressen" />
<hbox class="hbox-tree">
<tree id="tree-liste-adressen" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/adressen/alle"
onselect="" flags="dont-build-content"
enableColumnDrag="true"
>
<treecols>
<treecol id="tree-liste-adressen-col-adresse_id" label="Adresse_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#adresse_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-bismeldeadresse" label="BisMeldeAdresse" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#bismeldeadresse" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-gemeinde" label="Gemeinde" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#gemeinde" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-name" label="Name" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#name" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-nation" label="Nation" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#nation" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-plz" label="Plz" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#plz" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-ort" label="Ort" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#ort" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-adressen-col-strasse" label="Strasse" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#strassse" />
<splitter class="tree-splitter"/>
<!-- ist das selbe wie name
<treecol id="tree-liste-adressen-col-typ" label="Typ" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#typ" />
<splitter class="tree-splitter"/>
-->
<treecol id="tree-liste-adressen-col-zustelladresse" label="Zustelladresse" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adressen/rdf#zustelladresse" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#adresse_id" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#bismeldeadresse" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#gemeinde" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#nation" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#plz" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#ort" />
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#strasse" />
<!--<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#typ" />-->
<treecell label="rdf:http://www.technikum-wien.at/adressen/rdf#zustelladresse" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="button-mitarbeiter-detail-adressen-neu" disabled="true" label="Neu" oncommand="MitarbeiterDetailAdressenNeu();"/>
<button id="button-mitarbeiter-detail-adressen-bearbeiten" disabled="true" label="Bearbeiten" oncommand="MitarbeiterDetailAdressenBearbeiten();"/>
<button id="button-mitarbeiter-detail-adressen-loeschen" disabled="true" label="Löschen" oncommand="MitarbeiterDetailAdressenLoeschen();"/>
</vbox>
</hbox>
</groupbox>
<groupbox hidden="false">
<caption label="Emailadressen" />
<hbox class="hbox-tree">
<tree id="tree-liste-email" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/email/alle"
onselect="" flags="dont-build-content"
enableColumnDrag="true"
>
<treecols>
<treecol id="tree-liste-email-col-email_id" label="Email_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/email/rdf#email_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-email-col-email" label="Email" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/email/rdf#email" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-email-col-name" label="Name" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/email/rdf#name" />
<splitter class="tree-splitter"/>
<!-- ist das gleiche wie name
<treecol id="tree-liste-email-col-typ" label="Typ" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/email/rdf#typ" />
<splitter class="tree-splitter"/>
-->
<treecol id="tree-liste-email-col-zustelladresse" label="Zustelladresse" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/email/rdf#zustelladresse" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/email/rdf#email_id" />
<treecell label="rdf:http://www.technikum-wien.at/email/rdf#email" />
<treecell label="rdf:http://www.technikum-wien.at/email/rdf#name" />
<!--<treecell label="rdf:http://www.technikum-wien.at/email/rdf#typ" />-->
<treecell label="rdf:http://www.technikum-wien.at/email/rdf#zustelladresse" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="button-mitarbeiter-detail-email-neu" disabled="true" label="Neu" oncommand="MitarbeiterDetailEmailNeu();"/>
<button id="button-mitarbeiter-detail-email-bearbeiten" disabled="true" label="Bearbeiten" oncommand="MitarbeiterDetailEmailBearbeiten();"/>
<button id="button-mitarbeiter-detail-email-loeschen" disabled="true" label="Löschen" oncommand="MitarbeiterDetailEmailLoeschen();"/>
</vbox>
</hbox>
</groupbox>
<groupbox hidden="false">
<caption label="Telefonnummern" />
<hbox class="hbox-tree">
<tree id="tree-liste-telefonnummern" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/telefonnummern/alle"
onselect="" flags="dont-build-content"
enableColumnDrag="true"
>
<treecols>
<treecol id="tree-liste-telefonnummern-col-telefonnummer_id" label="Telefonnummer_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/telefonnummern/rdf#telefonnummer_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-telefonnummern-col-name" label="Name" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/telefonnummern/rdf#name" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-telefonnummern-col-nummer" label="Nummer" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/telefonnummern/rdf#nummer" />
<!--<splitter class="tree-splitter"/>
<treecol id="tree-liste-telefonnummern-col-typ" label="Typ" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/telefonnummern/rdf#typ" />
-->
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/telefonnummern/rdf#telefonnummer_id" />
<treecell label="rdf:http://www.technikum-wien.at/telefonnummern/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/telefonnummern/rdf#nummer" />
<!--<treecell label="rdf:http://www.technikum-wien.at/telefonnummern/rdf#typ" />-->
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="button-mitarbeiter-detail-telefonnummern-neu" disabled="true" label="Neu" oncommand="MitarbeiterDetailTelefonnummernNeu();"/>
<button id="button-mitarbeiter-detail-telefonnummern-bearbeiten" disabled="true" label="Bearbeiten" oncommand="MitarbeiterDetailTelefonnummernBearbeiten();"/>
<button id="button-mitarbeiter-detail-telefonnummern-loeschen" disabled="true" label="Löschen" oncommand="MitarbeiterDetailTelefonnummernLoeschen();"/>
</vbox>
</hbox>
</groupbox>
<groupbox hidden="false">
<caption label="Bankverbindungen" />
<hbox class="hbox-tree">
<tree id="tree-liste-bankverbindungen" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/bankverbindungen/alle"
onselect="" flags="dont-build-content"
enableColumnDrag="true"
>
<treecols>
<treecol id="tree-liste-bankverbindungen-col-bankverbindung_id" label="Bankverbindung_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#bankverbindungen_id" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-name" label="Name" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#name" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-anschrift" label="Anschrift" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#anschrift" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-blz" label="BLZ" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#blz" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-bic" label="BIC" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#bic" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-kontonummer" label="Kontonummer" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#kontonummer" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-iban" label="IBAN" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#iban" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-verrechnungskonto" label="Verrechnungskonto" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#verrechnungskonto" />
<splitter class="tree-splitter"/>
<treecol id="tree-liste-bankverbindungen-col-typ" label="Typ" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#typ_name" />
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#bankverbindung_id" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#anschrift" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#blz" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#bic" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#kontonummer" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#iban" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#verrechnungskonto" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindungen/rdf#typ_name" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id="button-mitarbeiter-detail-bankverbindungen-neu" disabled="true" label="Neu" oncommand="MitarbeiterDetailBankverbindungenNeu();"/>
<button id="button-mitarbeiter-detail-bankverbindungen-bearbeiten" disabled="true" label="Bearbeiten" oncommand="MitarbeiterDetailBankverbindungenBearbeiten();"/>
<button id="button-mitarbeiter-detail-bankverbindungen-loeschen" disabled="true" label="Löschen" oncommand="MitarbeiterDetailBankverbindungenLoeschen();"/>
</vbox>
</hbox>
</groupbox>
</vbox>
</row>
</rows>
</grid>
</vbox>
</tabpanels>
</tabbox>
</vbox>
</overlay>
+169
View File
@@ -0,0 +1,169 @@
<?php
include('../vilesci/config.inc.php');
if(isset($_GET['email_id']) && $_GET['email_id']!='')
echo "var MitarbeiterDetailEmail_id=".$_GET['email_id'];
else
echo "var MitarbeiterDetailEmail_id=null";
?>
if(MitarbeiterDetailEmail_id!=null)
{
window.setTimeout("MitarbeiterEmailBearbeiten()",window.opener.sleep_time/2);
}
/**
* Laedt den zu bearbeitenden Datensatz
*/
function MitarbeiterEmailBearbeiten()
{
// RDF vom Server holen
// Url zum RDF
var url="<?php echo APP_ROOT; ?>rdf/fas/email.rdf.php?email_id="+MitarbeiterDetailEmail_id;
// Request absetzen
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, false, '','');
httpRequest.send('');
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/email/alle');
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Daten aus RDF auslesen
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/email/" + MitarbeiterDetailEmail_id);
var predicateNS = "http://www.technikum-wien.at/email/rdf";
//Felder befuellen
person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" ));
typ = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#typ" ));
email = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#email" ));
zustelladresse = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#zustelladresse" ));
document.getElementById('textbox-mitarbeiter-email-person_id').value = person_id;
document.getElementById('menulist-mitarbeiter-email-name').value = typ;
document.getElementById('textbox-mitarbeiter-email-email').value = email;
if(zustelladresse == 'Ja')
document.getElementById('checkbox-mitarbeiter-email-zustelladresse').checked = true;
else
document.getElementById('checkbox-mitarbeiter-email-zustelladresse').checked = false;
}
function MitarbeiterEmailValueChange()
{
}
/**
* Speichert die eingegebene Email
*/
function MitarbeiterEmailSave()
{
//Daten aus den Felder holen
person_id = document.getElementById('textbox-mitarbeiter-email-person_id').value;
name = document.getElementById('menulist-mitarbeiter-email-name').label;
typ = document.getElementById('menulist-mitarbeiter-email-name').value;
email = document.getElementById('textbox-mitarbeiter-email-email').value;
zustelladresse = document.getElementById('checkbox-mitarbeiter-email-zustelladresse').checked;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = "type=email";
if(MitarbeiterDetailEmail_id!=null)
param = param + "&new=false";
else
param = param + "&new=true";
param = param + "&email_id="+encodeURIComponent(MitarbeiterDetailEmail_id);
param = param + "&person_id="+encodeURIComponent(person_id);
param = param + "&name="+encodeURIComponent(name);
param = param + "&typ="+encodeURIComponent(typ);
param = param + "&email="+encodeURIComponent(email);
param = param + "&zustelladresse="+encodeURIComponent(zustelladresse);
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//AdressenTree aktualisieren
//Statusbar setzen
window.opener.setStatusBarText("Email erfolgreich gespeichert");
window.opener.document.getElementById("tree-liste-email").builder.refresh();
window.setTimeout('window.opener.document.getElementById("tree-liste-email").builder.rebuild()',window.opener.sleep_time);
//Fenster schliessen
window.setTimeout('window.close()',window.opener.sleep_time);
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
+83
View File
@@ -0,0 +1,83 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id=null;
if(isset($_GET['email_id']))
$email_id=$_GET['email_id'];
else
$email_id=null;
// rdf:null
?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<window id="mitarbeiter-email-dialog" title="Email"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiteremaildialog.js.php?email_id=<?php echo $email_id;?>" />
<textbox id="textbox-mitarbeiter-email-person_id" value="<?php echo $person_id;?>" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-mitarbeiter-email-name" value="Art:"/>
<menulist id="menulist-mitarbeiter-email-name"
oncommand="MitarbeiterEmailValueChange();">
<menupopup>
<menuitem label="Private Emailadresse" value="1" selected="true"/>
<menuitem label="Emailadresse in der Firma" value="2"/>
<menuitem label="Emailadresse an der Fachhochschule" value="3"/>
</menupopup>
</menulist>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-email-email" value="Emailadresse:"/>
<textbox id="textbox-mitarbeiter-email-email" maxlength="255" oninput="MitarbeiterEmailValueChange()"/>
</row>
<row>
<spacer />
<checkbox label="Zustelladresse" id="checkbox-mitarbeiter-email-zustelladresse" checked="true" onclick="MitarbeiterEmailValueChange()"/>
</row>
</rows>
</grid>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column flex="5"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<spacer />
<button label="OK" oncommand="MitarbeiterEmailSave()"/>
<button label="Abbrechen" oncommand="window.close()"/>
</row>
</rows>
</grid>
</window>
+285
View File
@@ -0,0 +1,285 @@
<?php
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");
include("../vilesci/config.inc.php");
if(isset($_GET['funktion_id']) && $_GET['funktion_id']!='' && is_numeric($_GET['funktion_id']))
echo "var MitarbeiterDetailFunktion_id=".$_GET['funktion_id'].";";
else
echo "var MitarbeiterDetailFunktion_id=null;";
?>
function Check()
{
if(MitarbeiterDetailFunktion_id!=null)
window.setTimeout("MitarbeiterFunktionBearbeiten()",window.opener.sleep_time);
else
window.setTimeout("MitarbeiterFunktionDefault()",window.opener.sleep_time);
}
/**
* Setzt die Defaultwerte
*/
function MitarbeiterFunktionDefault()
{
MitarbeiterDetailStudiensemester_id = document.getElementById('textbox-mitarbeiter-funktion-stsem_id').value;
document.getElementById('menulist-mitarbeiter-funktion-fachbereich').value = 2;
document.getElementById('textbox-mitarbeiter-funktion-beschreibung').value = '';
document.getElementById('menulist-mitarbeiter-funktion-funktion').value = 0;
document.getElementById('menulist-mitarbeiter-funktion-beschart1').value = 3;
document.getElementById('menulist-mitarbeiter-funktion-beschart2').value = 2;
document.getElementById('menulist-mitarbeiter-funktion-verwendung').value = 0;
document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').value = 0;
document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked = false;
document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked = false;
document.getElementById('menulist-mitarbeiter-funktion-qualifikation').disabled = true;
document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value = 0;
document.getElementById('menulist-mitarbeiter-funktion-ausmass').value = 1;
document.getElementById('menulist-mitarbeiter-funktion-studiensemester').value = MitarbeiterDetailStudiensemester_id;
}
/**
* Laedt den zu bearbeitenden Datensatz
*/
function MitarbeiterFunktionBearbeiten()
{
// RDF vom Server holen
// Url zum RDF
var url="<?php echo APP_ROOT; ?>rdf/fas/funktionen.rdf.php?funktion_id="+MitarbeiterDetailFunktion_id+'&'+window.opener.gettimestamp();
// Request absetzen
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, false, '','');
httpRequest.send('');
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/funktionen/alle');
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Daten aus RDF auslesen
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/funktionen/" + MitarbeiterDetailFunktion_id);
var predicateNS = "http://www.technikum-wien.at/funktionen/rdf";
//Felder befuellen
mitarbeiter_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#mitarbeiter_id" ));
studiensemester_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#studiensemester_id" ));
erhalter_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#erhalter_id" ));
studiengang_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#studiengang_id" ));
fachbereich_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#fachbereich_id" ));
name = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#name" ));
funktion = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#funktion" ));
beschart1 = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#beschart1" ));
beschart2 = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#beschart2" ));
verwendung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#verwendung" ));
hauptberuf = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#hauptberuf" ));
hauptberuflich = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#hauptberuflich" ));
entwicklungsteam = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#entwicklungsteam" ));
qualifikation = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#besonderequalifikation" ));
ausmass = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#ausmass" ));
document.getElementById('textbox-mitarbeiter-funktion-mitarbeiter_id').value = mitarbeiter_id;
document.getElementById('menulist-mitarbeiter-funktion-studiensemester').value = studiensemester_id;
document.getElementById('menulist-mitarbeiter-funktion-erhalter').value = erhalter_id;
document.getElementById('menulist-mitarbeiter-funktion-studiengang').value = studiengang_id;
document.getElementById('menulist-mitarbeiter-funktion-fachbereich').value = fachbereich_id;
document.getElementById('textbox-mitarbeiter-funktion-beschreibung').value = name;
document.getElementById('menulist-mitarbeiter-funktion-funktion').value = funktion;
document.getElementById('menulist-mitarbeiter-funktion-beschart1').value = beschart1;
document.getElementById('menulist-mitarbeiter-funktion-beschart2').value = beschart2;
document.getElementById('menulist-mitarbeiter-funktion-verwendung').value = verwendung;
document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').value = hauptberuf;
if(hauptberuflich=='Ja')
{
document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked = true;
document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').disabled = true;
}
else
{
document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked = false;
document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').disabled = false;
}
if(entwicklungsteam=='Ja')
{
document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked = true;
document.getElementById('menulist-mitarbeiter-funktion-qualifikation').disabled = false;
}
else
{
document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked = false;
document.getElementById('menulist-mitarbeiter-funktion-qualifikation').disabled = true;
}
document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value = qualifikation;
document.getElementById('menulist-mitarbeiter-funktion-ausmass').value = ausmass;
}
function MitarbeiterFunktionValueChange()
{
}
/**
* Speichert die eingegebene Funktion
*/
function MitarbeiterFunktionSave()
{
//Daten aus den Feldern holen
mitarbeiter_id = document.getElementById('textbox-mitarbeiter-funktion-mitarbeiter_id').value;
studiensemester_id = document.getElementById('menulist-mitarbeiter-funktion-studiensemester').value;
erhalter_id = document.getElementById('menulist-mitarbeiter-funktion-erhalter').value;
studiengang_id = document.getElementById('menulist-mitarbeiter-funktion-studiengang').value;
fachbereich_id = document.getElementById('menulist-mitarbeiter-funktion-fachbereich').value;
name = document.getElementById('textbox-mitarbeiter-funktion-beschreibung').value;
funktion = document.getElementById('menulist-mitarbeiter-funktion-funktion').value;
beschart1 = document.getElementById('menulist-mitarbeiter-funktion-beschart1').value;
beschart2 = document.getElementById('menulist-mitarbeiter-funktion-beschart2').value;
verwendung = document.getElementById('menulist-mitarbeiter-funktion-verwendung').value;
hauptberuf = document.getElementById('menulist-mitarbeiter-funktion-hauptberuf').value;
hauptberuflich = document.getElementById('checkbox-mitarbeiter-funktion-hauptberuflich').checked;
entwicklungsteam = document.getElementById('checkbox-mitarbeiter-funktion-entwicklungsteam').checked;
qualifikation = document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value;
ausmass = document.getElementById('menulist-mitarbeiter-funktion-ausmass').value;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = "type=funktion";
if(MitarbeiterDetailFunktion_id!=null)
param = param + "&new=false";
else
param = param + "&new=true";
param = param + "&funktion_id="+encodeURIComponent(MitarbeiterDetailFunktion_id);
param = param + "&mitarbeiter_id="+encodeURIComponent(mitarbeiter_id);
param = param + "&studiensemester_id="+encodeURIComponent(studiensemester_id);
param = param + "&erhalter_id="+encodeURIComponent(erhalter_id);
param = param + "&studiengang_id="+encodeURIComponent(studiengang_id);
param = param + "&fachbereich_id="+encodeURIComponent(fachbereich_id);
param = param + "&name="+encodeURIComponent(name);
param = param + "&funktion="+encodeURIComponent(funktion);
param = param + "&beschart1="+encodeURIComponent(beschart1);
param = param + "&beschart2="+encodeURIComponent(beschart2);
param = param + "&verwendung="+encodeURIComponent(verwendung);
param = param + "&hauptberuf="+encodeURIComponent(hauptberuf);
param = param + "&hauptberuflich="+encodeURIComponent(hauptberuflich);
param = param + "&entwicklungsteam="+encodeURIComponent(entwicklungsteam);
param = param + "&qualifikation="+encodeURIComponent(qualifikation);
param = param + "&ausmass="+encodeURIComponent(ausmass);
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//Statusbar setzen
window.opener.setStatusBarText("Funktion erfolgreich gespeichert");
window.opener.document.getElementById("tree-liste-funktionen").builder.refresh();
window.opener.document.getElementById("textbox-mitarbeiter-detail-aktstatus").value = dbdml_errormsg;
//window.opener.refreshtree(true);
//Fenster schliessen
window.close();
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
function MitarbeiterFunktionHauptberuflichChange()
{
hauptberuflich = document.getElementById("checkbox-mitarbeiter-funktion-hauptberuflich").checked;
if(hauptberuflich)
{
document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").disabled=false;
document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").value=0;
}
else
{
document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").value='';
document.getElementById("menulist-mitarbeiter-funktion-hauptberuf").disabled=true;
}
}
function MitarbeiterFunktionEntwicklungsteamChange()
{
entwicklungsteam = document.getElementById("checkbox-mitarbeiter-funktion-entwicklungsteam").checked;
if(entwicklungsteam)
{
document.getElementById("menulist-mitarbeiter-funktion-qualifikation").disabled=true;
document.getElementById('menulist-mitarbeiter-funktion-qualifikation').value = 0;
}
else
{
document.getElementById("menulist-mitarbeiter-funktion-qualifikation").value='';
document.getElementById("menulist-mitarbeiter-funktion-qualifikation").disabled=false;
}
}
+214
View File
@@ -0,0 +1,214 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
if(isset($_GET['mitarbeiter_id']))
$mitarbeiter_id = $_GET['mitarbeiter_id'];
else
$mitarbeiter_id=null;
if(isset($_GET['funktion_id']))
$funktion_id=$_GET['funktion_id'];
else
$funktion_id=null;
if(isset($_GET['MitarbeiterDetailStudiensemester_id']))
$stsem_id=$_GET['MitarbeiterDetailStudiensemester_id'];
else
$stsem_id=null;
// rdf:null
?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<window id="mitarbeiter-funktion-dialog" title="Email"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="Check()">
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiterfunktiondialog.js.php?funktion_id=<?php echo $funktion_id;?>" />
<textbox id="textbox-mitarbeiter-funktion-mitarbeiter_id" value="<?php echo $mitarbeiter_id;?>" hidden="true"/>
<textbox id="textbox-mitarbeiter-funktion-stsem_id" value="<?php echo $stsem_id;?>" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label align="end" control="menulist-mitarbeiter-funktion-erhalter" value="Erhalter:"/>
<menulist id="menulist-mitarbeiter-funktion-erhalter"
oncommand="treeFunktionValueChange();">
<menupopup>
<menuitem label="Technikum Wien" value="1"/>
</menupopup>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-studiensemester" value="Studiensemester:"/>
<menulist id="menulist-mitarbeiter-funktion-studiensemester" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/studiensemester.rdf.php"
ref="http://www.technikum-wien.at/studiensemester/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
value="rdf:http://www.technikum-wien.at/studiensemester/rdf#studiensemester_id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-funktion" value="Funktion:"/>
<menulist id="menulist-mitarbeiter-funktion-funktion" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/funktion_id.rdf.php"
ref="http://www.technikum-wien.at/funktion_id/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/funktion_id/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/funktion_id/rdf#funktion"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-studiengang" value="Studiengang:"/>
<menulist id="menulist-mitarbeiter-funktion-studiengang" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/studiengang.rdf.php"
ref="http://www.technikum-wien.at/studiengang/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/studiengang/rdf#name"
value="rdf:http://www.technikum-wien.at/studiengang/rdf#studiengang_id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-fachbereich" value="Fachbereich:"/>
<menulist id="menulist-mitarbeiter-funktion-fachbereich" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/fachbereich.rdf.php"
ref="http://www.technikum-wien.at/fachbereich/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/fachbereich/rdf#name"
value="rdf:http://www.technikum-wien.at/fachbereich/rdf#fachbereich_id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-beschart1" value="Beschäftigungsart 1:"/>
<menulist id="menulist-mitarbeiter-funktion-beschart1" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/beschaeftigungsart1.rdf.php"
ref="http://www.technikum-wien.at/beschaeftigungsart1/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/beschaeftigungsart1/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/beschaeftigungsart1/rdf#ba1code"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-beschart2" value="Beschäftigungsart 2:"/>
<menulist id="menulist-mitarbeiter-funktion-beschart2"
oncommand="treeFunktionValueChange();">
<menupopup>
<menuitem label="befristet" value="1"/>
<menuitem label="unbefristet" value="2" selected="true"/>
</menupopup>
</menulist>
</row>
<row>
<label align="end" control="menulist-mitarbeiter-funktion-ausmass" value="Ausmass:"/>
<menulist id="menulist-mitarbeiter-funktion-ausmass" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/ausmass.rdf.php"
ref="http://www.technikum-wien.at/ausmass/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausmass/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausmass/rdf#id"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label control="menulist-mitarbeiter-funktion-verwendung" value="Verwendung:"/>
<menulist id="menulist-mitarbeiter-funktion-verwendung" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/verwendung.rdf.php"
ref="http://www.technikum-wien.at/verwendung/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/verwendung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/verwendung/rdf#verwendungcode"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<checkbox label="hauptberuflich" id="checkbox-mitarbeiter-funktion-hauptberuflich" checked="false" onclick="MitarbeiterFunktionHauptberuflichChange()"/>
<hbox flex="1">
<label control="menulist-mitarbeiter-funktion-hauptberuf" value="Hauptberuf: "/>
<menulist id="menulist-mitarbeiter-funktion-hauptberuf" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/hauptberuf.rdf.php"
ref="http://www.technikum-wien.at/hauptberuf/alle" flex="1" disabled="false">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/hauptberuf/rdf#bezeichnung"
value ="rdf:http://www.technikum-wien.at/hauptberuf/rdf#hauptberuf_id" />
</menupopup>
</template>
</menulist>
</hbox>
</row>
<row>
<checkbox label="Entwicklungsteam" id="checkbox-mitarbeiter-funktion-entwicklungsteam" checked="false" onclick="MitarbeiterFunktionEntwicklungsteamChange()"/>
<hbox flex="1">
<label control="menulist-mitarbeiter-funktion-qualifikation" value="Qualifikation:"/>
<menulist id="menulist-mitarbeiter-funktion-qualifikation" oncommand="MitarbeiterFunktionValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/qualifikation.rdf.php"
ref="http://www.technikum-wien.at/qualifikation/alle" flex="1" disabled="true">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/qualifikation/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/qualifikation/rdf#qualifikation_id"/>
</menupopup>
</template>
</menulist>
</hbox>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-funktion-beschreibung" value="Beschreibung:"/>
<textbox id="textbox-mitarbeiter-funktion-beschreibung" maxlength="255" oninput="MitarbeiterFunktionValueChange()"/>
</row>
</rows>
</grid>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column flex="5"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<spacer />
<button label="OK" oncommand="MitarbeiterFunktionSave()"/>
<button label="Abbrechen" oncommand="window.close()"/>
</row>
</rows>
</grid>
</window>
File diff suppressed because it is too large Load Diff
+262
View File
@@ -0,0 +1,262 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiterdetailoverlay.xul.php"?>';
// rdf:null
?>
<!DOCTYPE overlay>
<overlay id="MitarbeiterOverlay"
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/mitarbeiteroverlay.js.php" />
<!--
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
-->
<vbox id="MitarbeiterEditor" flex="1">
<keyset>
<key id="delete-key" keycode="VK_DELETE" oncommand="MitarbeiterDelete();"/>
<key id="delete-key" modifiers="control" key="N" oncommand="MitarbeiterNeu();"/>
</keyset>
<toolbox>
<toolbar id="toolbar-MitarbeiterEditor">
<toolbarbutton id="toolbar-MitarbeiterEditor-neu" label=" Neu" oncommand="MitarbeiterNeu();" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Mitarbeiter anlegen" />
<toolbarbutton id='toolbar-MitarbeiterEditor-loeschen' label=" Löschen" key="delete-key" oncommand="MitarbeiterDelete();" image="../skin/images/DeleteIcon.png" tooltiptext="Mitarbeiter löschen" />
<toolbarbutton label=" Excel" oncommand="MitarbeiterExcelExport();" image="../skin/images/ExcelIcon.png" tooltiptext="Excel-Export" />
<toolbarbutton label=" Neu Laden" oncommand="refreshtree(true);" image="../skin/images/refresh.png" tooltiptext="Liste neu laden" />
</toolbar>
</toolbox>
<popupset>
<popup id="tree-liste-mitarbeiter-popup">
<menuitem label="EMail versenden" oncommand="TreeListeMitarbeiter_sendmail();" />
</popup>
</popupset>
<tree id="tree-liste-mitarbeiter" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null"
ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="TreeListeMitarbeiterAuswahl();" flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
persist="height"
context="tree-liste-mitarbeiter-popup"
>
<treecols>
<treecol id="tree-liste-mitarbeiter-col-anrede" label="Anrede" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-titelpre" label="Titel(Pre)" flex="2" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-vorname" label="Vorname" flex="2" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-vornamen" label="Vornamen" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-nachname" label="Nachname" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator" sortActive="true" sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-titelpost" label="Titel(Post)" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-personal_nr" label="PNr" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personal_nr" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-geburtsdatum" label="Geburtsdatum" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-geburtsdatum_iso" label="Geburtsdatum_ISO" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-svnr" label="SVNR" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-uid" label="UID" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-kurzbezeichnung" label="Kuerzel" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbezeichnung" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-geschlecht" label="Geschlecht" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geschlecht" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-staatsbuergerschaft" label="Staatsb." flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#staatsbuergerschaft" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-aktstatus" label="Status" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktstatus_bezeichnung" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-akademischergrad" label="Akademischergrad" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#akademischergrad" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-familienstand" label="Familienstand" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#familienstand_bezeichnung" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-anzahlderkinder" label="Anzahlderkinder" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anzahlderkinder" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-geburtsnation" label="Geburtsnation" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsnation" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-beginndatum" label="Beginndatum" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#beginndatum" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-bemerkung" label="Bemerkung" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#bemerkung" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-habilitation" label="Habilitation" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#habilitation" onclick="TreeMitarbeiterSort()"/>
<!-- in tabelle funktion
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-mitgliedentwicklungsteam" label="MitgliedEntwicklungsteam" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitgliedentwicklungsteam" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-qualifikation" label="Qualifikation" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#qualifikation" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-hauptberuflich" label="Hauptberuflich" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#hauptberuflich" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-hauptberuf" label="Hauptberuf" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#hauptberuf" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-sws" label="SWS" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#sws" onclick="TreeMitarbeiterSort()"/>
-->
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-ausgeschieden" label="Ausgeschieden" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ausgeschieden" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-beendigungsdatum" label="Beendigungsdatum" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#beendigungsdatum" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-ausbildung" label="Ausbildung" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ausbildung_bezeichnung" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-stundensatz" label="Stundensatz" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#stundensatz" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-bismelden" label="BIS" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#bismelden" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-aktiv" label="Aktiv" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-mitarbeiter_id" label="mitarbeiter_id" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitarbeiter_id" onclick="TreeMitarbeiterSort()"/>
<splitter class="tree-splitter"/>
<treecol id="tree-liste-mitarbeiter-col-person_id" label="person_id" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="TreeMitarbeiterSort()"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personal_nr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geschlecht" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#staatsbuergerschaft" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktstatus_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#akademischergrad" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#familienstand_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anzahlderkinder" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsnation" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#beginndatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#bemerkung" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#habilitation" />
<!-- in tabelle funktion
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitgliedentwicklungsteam" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#qualifikation" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#hauptberuflich" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#hauptberuf" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#sws" />
-->
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ausgeschieden" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#beendigungsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ausbildung_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#stundensatz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#bismelden" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#mitarbeiter_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<splitter id="mitarbeiter-overlay-splitter" collapse="after" persist="state">
<grippy />
</splitter>
<vbox id="MitarbeiterDetailEditor" persist="height"/>
</vbox>
</overlay>
@@ -0,0 +1,159 @@
<?php
include('../vilesci/config.inc.php');
if(isset($_GET['telefonnummer_id']) && $_GET['telefonnummer_id']!='')
echo "var MitarbeiterDetailTelefonnummer_id=".$_GET['telefonnummer_id'];
else
echo "var MitarbeiterDetailTelefonnummer_id=null";
?>
function Check()
{
if(MitarbeiterDetailTelefonnummer_id!=null)
window.setTimeout("MitarbeiterTelefonnummerBearbeiten()",window.opener.sleep_time);
}
/**
* Laedt den zu bearbeitenden Datensatz
*/
function MitarbeiterTelefonnummerBearbeiten()
{
// RDF vom Server holen
// Url zum RDF
var url="<?php echo APP_ROOT; ?>rdf/fas/telefonnummern.rdf.php?telefonnummer_id="+MitarbeiterDetailTelefonnummer_id;
// Request absetzen
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, false, '','');
httpRequest.send('');
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status); //404 ErrorCodes etc
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/telefonnummern/alle');
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Daten aus RDF auslesen
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/telefonnummern/" + MitarbeiterDetailTelefonnummer_id);
var predicateNS = "http://www.technikum-wien.at/telefonnummern/rdf";
//Felder befuellen
person_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#person_id" ));
typ = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#typ" ));
nummer = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#nummer" ));
document.getElementById('textbox-mitarbeiter-telefonnummer-person_id').value = person_id;
document.getElementById('menulist-mitarbeiter-telefonnummer-typ').value = typ;
document.getElementById('textbox-mitarbeiter-telefonnummer-nummer').value = nummer;
}
function MitarbeiterTelefonnummerValueChange()
{
}
/**
* Speichert die eingegebene Telefonnummer
*/
function MitarbeiterTelefonnummerSave()
{
//Daten aus den Felder holen
person_id = document.getElementById('textbox-mitarbeiter-telefonnummer-person_id').value;
typ = document.getElementById('menulist-mitarbeiter-telefonnummer-typ').value;
name = document.getElementById('menulist-mitarbeiter-telefonnummer-typ').label;
nummer = document.getElementById('textbox-mitarbeiter-telefonnummer-nummer').value;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = "type=telefonnummer";
if(MitarbeiterDetailTelefonnummer_id!=null)
param = param + "&new=false";
else
param = param + "&new=true";
param = param + "&telefonnummer_id="+encodeURIComponent(MitarbeiterDetailTelefonnummer_id);
param = param + "&person_id="+encodeURIComponent(person_id);
param = param + "&name="+encodeURIComponent(name);
param = param + "&typ="+encodeURIComponent(typ);
param = param + "&nummer="+encodeURIComponent(nummer);
//Parameter schicken
httpRequest.send(param);
debug('telefon save param:'+param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//Statusbar setzen
window.opener.setStatusBarText("Telefonnummer erfolgreich gespeichert");
window.opener.document.getElementById("tree-liste-telefonnummern").builder.refresh();
//Fenster schliessen
window.close();
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
@@ -0,0 +1,84 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id=null;
if(isset($_GET['telefonnummer_id']))
$telefonnummer_id=$_GET['telefonnummer_id'];
else
$telefonnummer_id=null;
// rdf:null
?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<window id="mitarbeiter-email-dialog" title="Email"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="Check()" >
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeitertelefonnummerdialog.js.php?telefonnummer_id=<?php echo $telefonnummer_id;?>" />
<textbox id="textbox-mitarbeiter-telefonnummer-person_id" value="<?php echo $person_id;?>" hidden="true"/>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column />
<column flex="1"/>
</columns>
<rows>
<row>
<label control="menulist-mitarbeiter-telefonnummer-typ" value="Typ:"/>
<menulist id="menulist-mitarbeiter-telefonnummer-typ" oncommand="MitarbeiterTelefonnummerValueChange();"
datasources="<?php echo APP_ROOT; ?>rdf/fas/telefonnummerntyp.rdf.php"
ref="http://www.technikum-wien.at/telefonnummerntyp/alle">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/telefonnummerntyp/rdf#name"
value="rdf:http://www.technikum-wien.at/telefonnummerntyp/rdf#typ"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label align="end" control="textbox-mitarbeiter-telefonnummer-nummer" value="Telefonnummer:"/>
<textbox id="textbox-mitarbeiter-telefonnummer-nummer" maxlength="255" oninput="MitarbeiterTelefonnummerValueChange()" value="+43-"/>
</row>
<row>
<label align="end" value="Eingabeformat:"/>
<label align="end" value="+43-01-123456"/>
</row>
</rows>
</grid>
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true" style="margin:0px;"
>
<columns>
<column flex="5"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<spacer />
<button label="OK" oncommand="MitarbeiterTelefonnummerSave()"/>
<button label="Abbrechen" oncommand="window.close()"/>
</row>
</rows>
</grid>
</window>
+35
View File
@@ -0,0 +1,35 @@
<?php
// *****************************
// Vorschlag fuer UNR liefern
// *****************************
include('../vilesci/config.inc.php');
$conn = @pg_pconnect(CONN_STRING))
if ($conn) {
$sql="select max(unr) as max_unr from tbl_lehrveranstaltung";
if(!($erg=pg_exec($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);
} else {
echo 'no connection';
}
?>
+80
View File
@@ -0,0 +1,80 @@
<?php
/*
* Created on 02.12.2004
*
*/
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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// Orte holen
$sql_query="SELECT * FROM (tbl_ort NATURAL JOIN tbl_ortraumtyp) JOIN tbl_raumtyp USING (raumtyp_kurzbz)
WHERE aktiv AND raumtyp_kurzbz!='LM' ORDER BY raumtyp_kurzbz, hierarchie,ort_kurzbz";
if(!$result=pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn);
else
$num_rows=@pg_numrows($result);
$rdf_url='http://www.technikum-wien.at/tempus/ort';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ORT="<?php echo $rdf_url; ?>/rdf#"
>
<?php
$descr='';
$sequenz='';
for ($i=0;$i<$num_rows;$i++)
{
$ortLAST=($i>0?pg_fetch_object($result,$i-1):null);
$ort=pg_fetch_object($result,$i);
$ortNEXT=(($i<$num_rows-1)?pg_fetch_object($result,$i+1):null);
$currentTYP=$ort->raumtyp_kurzbz;
$lastTYP=$ortLAST->raumtyp_kurzbz;
$nextTYP=$ortNEXT->raumtyp_kurzbz;
//echo "current:$currentTYP last:$lastTYP next:$nextTYP";
if ($lastTYP!=$currentTYP || $i==0)
$descr.='<RDF:Description RDF:about="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'" >
<ORT:raumtyp>'.$ort->raumtyp_kurzbz.'</ORT:raumtyp>
<ORT:hierarchie></ORT:hierarchie>
<ORT:ort_kurzbz></ORT:ort_kurzbz>
<ORT:ort_bezeichnung></ORT:ort_bezeichnung>
<ORT:max_person></ORT:max_person>
</RDF:Description>';
$descr.='<RDF:Description RDF:about="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz.'" >
<ORT:raumtyp>'.$ort->ort_kurzbz."</ORT:raumtyp>
<ORT:hierarchie>".$ort->hierarchie."</ORT:hierarchie>
<ORT:ort_kurzbz>".$ort->ort_kurzbz."</ORT:ort_kurzbz>
<ORT:ort_bezeichnung>".$ort->bezeichnung."</ORT:ort_bezeichnung>
<ORT:max_person>".$ort->max_person.'</ORT:max_person>
</RDF:Description>'."\n";
if ($lastTYP!=$currentTYP)
$sequenz.='<RDF:li RDF:resource="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'" />
<RDF:li>
<RDF:Seq RDF:about="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'" >'."\n";
if ($nextTYP!=$currentTYP || $i==$num_rows-1)
$sequenz.='<RDF:li RDF:resource="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz.'" />
</RDF:Seq>
</RDF:li>'."\n";
elseif ($lastTYP==$currentTYP || $nextTYP==$currentTYP || $num_rows==1)
$sequenz.='<RDF:li RDF:resource="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz.'" />'."\n";
}
$sequenz='<RDF:Seq about="'.$rdf_url.'/alle-orte">'."\n".$sequenz.'
</RDF:Seq>';
echo $descr;
echo $sequenz;
?>
</RDF:RDF>
+75
View File
@@ -0,0 +1,75 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// ORT holen
if(!($result=pg_query($conn, 'SELECT * FROM (tbl_ort NATURAL JOIN tbl_ortraumtyp)
JOIN tbl_raumtyp USING (raumtyp_kurzbz) WHERE aktiv
ORDER BY raumtyp_kurzbz, hierarchie,ort_kurzbz')))
$error_msg.=pg_errormessage($conn);
else
$num_rows=@pg_numrows($result);
$rdf_url='http://www.technikum-wien.at/tempus/ort';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ORT="<?php echo $rdf_url; ?>/rdf#"
>
<?php
$descr='';
$sequenz='';
for ($i=0;$i<$num_rows;$i++)
{
$ortLAST=($i>0?pg_fetch_object($result,$i-1):null);
$ort=pg_fetch_object($result,$i);
$ortNEXT=(($i<$num_rows-1)?pg_fetch_object($result,$i+1):null);
$currentTYP=$ort->raumtyp_kurzbz;
$lastTYP=$ortLAST->raumtyp_kurzbz;
$nextTYP=$ortNEXT->raumtyp_kurzbz;
//echo "current:$currentTYP last:$lastTYP next:$nextTYP";
$descr.='
<RDF:Description about="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz.'" >
<ORT:raumtyp>'.$ort->raumtyp_kurzbz."</ORT:raumtyp>
<ORT:hierarchie>".$ort->hierarchie."</ORT:hierarchie>
<ORT:ort_kurzbz>".$ort->ort_kurzbz."</ORT:ort_kurzbz>
<ORT:ort_bezeichnung>".$ort->bezeichnung."</ORT:ort_bezeichnung>
<ORT:max_person>".$ort->max_person.'</ORT:max_person>
</RDF:Description>';
if ($lastTYP!=$currentTYP)
$sequenz.='<RDF:li>
<RDF:Seq about="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'" >';
if ($nextTYP!=$currentTYP || $i==$num_rows-1)
$sequenz.='<RDF:li resource="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz.'" />
</RDF:Seq>
</RDF:li>';
if ($lastTYP==$currentTYP || $nextTYP==$currentTYP || $num_rows==1)
$sequenz.='<RDF:li resource="'.$rdf_url.'/'.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz.'" />';
}
$sequenz='<RDF:Seq about="'.$rdf_url.'/alle-orte">'.$sequenz.'
</RDF:Seq>';
echo $descr;
echo $sequenz;
?>
</RDF:RDF>
+58
View File
@@ -0,0 +1,58 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// ORT holen
if(!($result=pg_query($conn, 'SELECT * FROM (tbl_ort NATURAL JOIN tbl_ortraumtyp)
JOIN tbl_raumtyp USING (raumtyp_kurzbz) WHERE aktiv
ORDER BY raumtyp_kurzbz, hierarchie,ort_kurzbz')))
$error_msg.=pg_errormessage($conn);
else
$num_rows=@pg_numrows($result);
$rdf_url='http://www.technikum-wien.at/tempus/ort/';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ORT="<?php echo $rdf_url; ?>rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>alle">
<?php
for ($i=0;$i<$num_rows;$i++)
{
$ort=pg_fetch_object($result,$i);
?>
<RDF:li>
<RDF:Description about="<?php echo $rdf_url.$ort->raumtyp_kurzbz.'/'.$ort->ort_kurzbz; ?>" >
<ORT:raumtyp><?php echo $ort->raumtyp_kurzbz; ?></ORT:raumtyp>
<ORT:hierarchie><?php echo $ort->hierarchie; ?></ORT:hierarchie>
<ORT:ort_kurzbz><?php echo $ort->ort_kurzbz; ?></ORT:ort_kurzbz>
<ORT:ort_bezeichnung><?php echo $ort->bezeichnung; ?></ORT:ort_bezeichnung>
<ORT:max_person><?php echo $ort->max_person; ?></ORT:max_person>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+94
View File
@@ -0,0 +1,94 @@
/**
*
* HTTP Request Klasse
* stammt aus Artikel von phpPatterns (http://www.phppatterns.com/index.php/article/articleview/82/1/2/)
* leicht modifiziert
*/
//Configuration Details
//const SERVER_URL = "/xul/server.php";
// wir uebergeben das als Parameter
//End Configuration
function doLogin() {
var username = document.getElementById('loginUser').value;
var password = document.getElementById('loginPass').value;
req = new phpRequest();
req.add('username',username);
req.add('password',password);
var response = req.execute();
alert(response);
}
//Start phpRequest Object
function phpRequest(server_url,uname,passw) {
this.parms = new Array();
this.parmsIndex = 0;
this.execute = phpRequestExecute;
this.add = phpRequestAdd;
this.server = server_url;
this.uname = uname;
this.passw = passw;
}
function phpRequestAdd(name,value) {
this.parms[this.parmsIndex] = new Pair(name,value);
this.parmsIndex++;
}
function phpRequestExecute() {
var targetURL = this.server;
try {
var httpRequest = new XMLHttpRequest();
}catch (e){
alert('Error creating the connection!');
return;
}
try {
var txt = "?";
for(var i in this.parms) {
txt = txt+'&'+this.parms[i].name+'='+this.parms[i].value;
}
//alert('sende '+txt);
//Two options here, only uncomment one of these
//GET REQUEST
httpRequest.open("GET", targetURL+txt, false, '<?php echo $_SERVER['PHP_AUTH_USER'] ?>','<?php echo $_SERVER['PHP_AUTH_PASSW'] ?>');
//POST REQUEST EXAMPLE
/*
httpRequest.open("POST", targetURL+txt, false, null, null);
httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
*/
httpRequest.send('');
}catch (e){
alert('An error has occured calling the external site: '+e);
return false;
}
switch(httpRequest.readyState) {
case 1,2,3:
alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4:
if(httpRequest.status !=200) {
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
} else {
var response = httpRequest.responseText;
}
break;
}
return response;
}
function Pair(name,value) {
this.name = name;
this.value = value;
}
+61
View File
@@ -0,0 +1,61 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/raumtyp.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// raumtypen holen
$raumtypDAO=new raumtyp($conn);
$raumtypen=$raumtypDAO->getAll();
$rdf_url='http://www.technikum-wien.at/tempus/raumtyp';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:RAUMTYP="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
if (is_array($raumtypen)) {
foreach ($raumtypen as $rt)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $rt->kurzbz; ?>" about="<?php echo $rdf_url.'/'.$rt->kurzbz; ?>" >
<RAUMTYP:kurzbz><?php echo $rt->kurzbz ?></RAUMTYP:kurzbz>
<RAUMTYP:beschreibung><?php echo $rt->beschreibung ?></RAUMTYP:beschreibung>
</RDF:Description>
</RDF:li>
<?php
}
}
?>
</RDF:Seq>
</RDF:RDF>
+162
View File
@@ -0,0 +1,162 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?>";
?>
<!DOCTYPE overlay [
<?php require("../locale/tempus.dtd"); ?>
]>
<overlay id="STPLDetailsOverlay"
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/studenten.js" />
<!-- ************************* -->
<!-- * Stundenplan Details * -->
<!-- ************************* -->
<vbox id="vboxSTPLDetailsListe">
<!-- ************* -->
<!-- * Auswahl * -->
<!-- ************* -->
<tree id="treeStplDetails" seltype="single" hidecolumnpicker="false" flex="1"
datasources="" ref="http://www.technikum-wien.at/tempus/lehrstunde/liste"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
>
<treecols>
<treecol id="stplUNR" label="UNR" flex="2" primary="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#unr" />
<splitter class="tree-splitter"/>
<treecol id="stplLektor" label="Lektor" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lektor" />
<splitter class="tree-splitter"/>
<treecol id="stplLehrfachKurzbz" label="Fach" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lehrfach" />
<splitter class="tree-splitter"/>
<treecol id="stplLehrform" label="Form" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lehrform" />
<splitter class="tree-splitter"/>
<treecol id="stplLehrfachBezeichnung" label="Lehrfach" flex="20" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lehrfach_bez" />
<splitter class="tree-splitter"/>
<treecol id="stpl_studiengang" label="Studiengang" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#studiengang" />
<splitter class="tree-splitter"/>
<treecol id="stplSemester" label="S" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#semester" />
<splitter class="tree-splitter"/>
<treecol id="stplVerband" label="V" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#verband" />
<splitter class="tree-splitter"/>
<treecol id="gruppe" label="G" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#gruppe" />
<splitter class="tree-splitter"/>
<treecol id="stpl_einheit" label="Einheit" flex="3" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#einheit" />
<splitter class="tree-splitter"/>
<treecol id="stplOrt" label="Ort" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#ort_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="stpl_datum" label="Datum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#datum" />
<splitter class="tree-splitter"/>
<treecol id="stpl_stunde" label="Std" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#stunde" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#unr" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lehrfach" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lehrform" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#lehrfach_bez" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#studiengang" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#semester" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#verband" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#gruppe" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#einheit" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/lehrstunde/rdf#stunde" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
<!--
<template>
<rule>
<conditions>
<content uri="?uri" />
<member container="?uri" child="?student" />
</conditions>
<bindings>
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#uid" object="?uid" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#titel" object="?titel" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#vornamen" object="?vornamen" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#nachname" object="?nachname" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#geburtsdatum" object="?geburtsdatum" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#aktiv" object="?aktiv" />
</bindings>
<action>
<treechildren>
<treeitem uri="?student">
<treerow>
<treecell label="?uid" />
<treecell label="?titel" />
<treecell label="?vornamen" />
<treecell label="?nachname" />
<treecell label="?geburtsdatum" />
<treecell label="?aktiv" />
</treerow>
</treeitem>
</treechildren>
</action>
</rule>
</template>
-->
</tree>
</vbox>
</overlay>
+27
View File
@@ -0,0 +1,27 @@
<?php
include('../vilesci/config.inc.php');
?>
// SemesterPlan aktualisieren
function onSTPLSemesterRefresh()
{
// Welche Ansicht ist aktiv?
var semesterplan=document.getElementById('tabpanels-left');
var panelIndex=semesterplan.getAttribute("selectedIndex");
if (panelIndex==0)
onVerbandSelect();
else if (panelIndex==1)
onOrtSelect();
else if (panelIndex==2)
onLektorSelect();
}
// SemesterPlan drucken
function onSTPLSemesterPrint()
{
// Wie ist gerade die Source vom iFrame
var iframeTimeTableSemester=document.getElementById('iframeTimeTableSemester');
var iframeTimeTableSemesterSource=iframeTimeTableSemester.getAttribute("src");
var src=iframeTimeTableSemesterSource.replace("content/timetable-week.xul.php","stdplan/stpl_kalender.php");
var newWindow=window.open(src, "subWindowTimeTableSemester","");
}
+58
View File
@@ -0,0 +1,58 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
include('../include/functions.inc.php');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
// Testumgebung
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Fehler: Es konnte keine Verbindung zum Server aufgebaut werden!';
//$error_msg.=loadVariables($conn,$REMOTE_USER);
// Stundentafel abfragen
$sql_query="SET datestyle TO ISO;SELECT * FROM tbl_stunde ORDER BY stunde";
if(!$result_stunde=pg_exec($conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_stunde=pg_numrows($result_stunde);
?>
<!DOCTYPE overlay [
<?php require("../locale/tempus.dtd"); ?>
]>
<overlay id="TempusOverlay"
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="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/dragboard.js.php"/>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/stpl-semester-overlay.js.php"/>
<vbox id="vboxTimeTableSemester" flex="1">
<toolbox>
<toolbar id="toolbarTimeTableSemesterWeek" tbautostretch="always" persist="collapsed">
<separator orient="horizontal" class="thin" />
<toolbarbutton id="toolbarbuttonStplSemesterRefresh"
image="../skin/images/refresh.png"
oncommand="onSTPLSemesterRefresh();"
tooltiptext="Neu Laden"
/>
<toolbarbutton id="toolbarbuttonStplSemesterPrint"
image="../skin/images/drucken.png"
oncommand="onSTPLSemesterPrint();"
tooltiptext="Drucken"
/>
</toolbar>
</toolbox>
<iframe id="iframeTimeTableSemester" name="TimeTableSemester" flex="1"
src="<?php echo APP_ROOT; ?>content/timetable-week.xul.php?semesterplan=true" />
</vbox>
</overlay>
+203
View File
@@ -0,0 +1,203 @@
<?php
include('../vilesci/config.inc.php');
?>
// LVA-Panel aktualisieren
function onLVARefresh()
{
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
//alert (datasources);
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources+"&bla=");
}
function onJumpNow()
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var type=daten.getAttribute("stpl_type");
var stg_kz=daten.getAttribute("stg_kz");
var sem=daten.getAttribute("sem");
var ver=daten.getAttribute("ver");
var grp=daten.getAttribute("grp");
var einheit=daten.getAttribute("einheit");
var ort=daten.getAttribute("ort");
var pers_uid=daten.getAttribute("pers_uid");
var d = new Date();
var datum=0;
//Aktuelles Datum ermitteln
datum = ((d.getDate()+3)*60*60*24)+((d.getMonth())*31*24*60*60)+((d.getFullYear()-1970)*365*24*60*60);
//alert(datum);
var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
if (url)
contentFrame.setAttribute('src', url);
}
function onJumpDate(wochen)
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var type=daten.getAttribute("stpl_type");
var stg_kz=daten.getAttribute("stg_kz");
var sem=daten.getAttribute("sem");
var ver=daten.getAttribute("ver");
var grp=daten.getAttribute("grp");
var einheit=daten.getAttribute("einheit");
var ort=daten.getAttribute("ort");
var pers_uid=daten.getAttribute("pers_uid");
// neues Datum berechnen. Eine Woche sind 604800 Sekunden.
datum+=(604800*wochen)+1;
var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
if (url)
contentFrame.setAttribute('src', url);
}
function onJumpDateRel(evt)
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var type=daten.getAttribute("stpl_type");
var stg_kz=daten.getAttribute("stg_kz");
var sem=daten.getAttribute("sem");
var ver=daten.getAttribute("ver");
var grp=daten.getAttribute("grp");
var einheit=daten.getAttribute("einheit");
var ort=daten.getAttribute("ort");
var pers_uid=daten.getAttribute("pers_uid");
var kw=daten.getAttribute("kw");
var KWZiel=evt.target.getAttribute("kw");
var wochen=KWZiel-kw;
// neues Datum berechnen. Eine Woche sind 604800 Sekunden.
datum+=(604800*wochen)+1;
var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
if (url)
contentFrame.setAttribute('src', url);
}
function onLVAdoStpl(evt)
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var type=daten.getAttribute("stpl_type");
var stg_kz=daten.getAttribute("stg_kz");
var sem=daten.getAttribute("sem");
var ver=daten.getAttribute("ver");
var grp=daten.getAttribute("grp");
var einheit=daten.getAttribute("einheit");
var ort=daten.getAttribute("ort");
var pers_uid=daten.getAttribute("pers_uid");
var aktion=evt.target.getAttribute("aktion");
var doIt=true;
var oneDate=new Date();
if (aktion=='lva_stpl_del_single')
doIt=confirm('Es werden alle Lehrveranstaltungen aus dem Stundenplan dieser Woche geloescht!\nSind Sie sicher?')
else
if (aktion=='lva_stpl_del_multi')
doIt=confirm('Es werden alle Lehrveranstaltungen aus dem Stundenplan ab dieser Woche geloescht!\nSind Sie sicher?')
else
aktion+="_search";
var idList=evt.target.getAttribute("idList");
var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
attributes+=idList+"&aktion="+aktion+"&time="+oneDate.getTime();
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes+"&bla=";
//dump(url);
if (url && doIt)
contentFrame.setAttribute('src', url);
}
function onStplSearchRoom(event)
{
//alert ("clickCount="+event.clickCount+" button="+event.button);
if (event.button == 1)
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var daten=document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var type=daten.getAttribute("stpl_type");
var stg_kz=daten.getAttribute("stg_kz");
var sem=daten.getAttribute("sem");
var ver=daten.getAttribute("ver");
var grp=daten.getAttribute("grp");
var einheit=daten.getAttribute("einheit");
var ort=daten.getAttribute("ort");
var pers_uid=daten.getAttribute("pers_uid");
var aktion=event.target.getAttribute("aktion");
aktion+="_single_search";
var idList=event.target.getAttribute("idList");
var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&einheit="+einheit;
attributes+=idList+"&aktion="+aktion;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
//alert(url);
if (url)
location.href=url;
}
}
function onStplDelete(aktion)
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var daten=document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var type=daten.getAttribute("stpl_type");
var stg_kz=daten.getAttribute("stg_kz");
var sem=daten.getAttribute("sem");
var ver=daten.getAttribute("ver");
var grp=daten.getAttribute("grp");
var einheit=daten.getAttribute("einheit");
var ort=daten.getAttribute("ort");
var pers_uid=daten.getAttribute("pers_uid");
var idList=document.popupNode.getAttribute("idList");
var doIt=true;
doIt=confirm('Es werden die gewaehlten Eintraege aus dem Stundenplan geloescht!\nSind Sie sicher?')
var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&einheit="+einheit;
attributes+=idList+"&aktion="+aktion;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
//alert(url);
if (url && doIt)
location.href=url;
}
function onStplDetail(event)
{
var idList=event.target.getAttribute("idList");
var type=event.target.getAttribute("stpltype");
var stg_kz=event.target.getAttribute("stg_kz");
var sem=event.target.getAttribute("sem");
var ver=event.target.getAttribute("ver");
var grp=event.target.getAttribute("grp");
var einheit=event.target.getAttribute("einheit");
var datum=event.target.getAttribute("datum");
var stunde=event.target.getAttribute("stunde");
var pers_uid=event.target.getAttribute("pers_uid");
var ort_kurzbz=event.target.getAttribute("ort_kurzbz");
var attributes="?type="+type+"&datum="+datum+"&stunde="+stunde+"&ort_kurzbz="+ort_kurzbz+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit+"&ort_kurzbz="+ort_kurzbz;
attributes+=idList;
var url = "<?php echo APP_ROOT; ?>content/lehrstunde.rdf.php";
url+=attributes;
//alert(url);
var treeStplDetails=parent.document.getElementById('treeStplDetails');
treeStplDetails.setAttribute('datasources',url);
}
+191
View File
@@ -0,0 +1,191 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
include('../include/functions.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-details-overlay.xul.php"?>';
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
// Testumgebung
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Fehler: Es konnte keine Verbindung zum Server aufgebaut werden!';
//$error_msg.=loadVariables($conn,$REMOTE_USER);
// Stundentafel abfragen
$sql_query="SET datestyle TO ISO;SELECT * FROM tbl_stunde ORDER BY stunde";
if(!$result_stunde=pg_exec($conn, $sql_query))
die(pg_last_error($this->conn));
$num_rows_stunde=pg_numrows($result_stunde);
?>
<!DOCTYPE overlay [
<?php require("../locale/tempus.dtd"); ?>
]>
<overlay id="TempusOverlaySTPLWeek"
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="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/dragboard.js.php"/>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/stpl-week-overlay.js.php"/>
<hbox id="hboxTimeTableWeek">
<vbox id="vboxTimeTableWeek" flex="30">
<toolbox>
<toolbar id="toolbarTimeTableJumpWeek" tbautostretch="always" persist="collapsed">
<toolbarbutton id="toolbarbuttonJumpWeekMoreLeft"
tooltiptext="16 Wochen zur??ck"
image="../skin/images/moremoreleft.png"
oncommand="onJumpDate(-16);"
/>
<toolbarbutton id="toolbarbuttonJumpWeekMoreLeft"
tooltiptext="4 Wochen zur??ck"
image="../skin/images/moreleft.png"
oncommand="onJumpDate(-4);"
/>
<toolbarbutton id="toolbarbuttonJumpWeekLeft"
tooltiptext="1 Woche zur??ck"
image="../skin/images/left.png"
oncommand="onJumpDate(-1);"
/>
<toolbarbutton id="toolbarbuttonJumpWeekNow"
tooltiptext="zur aktuellen KW"
label="KW"
oncommand="onJumpNow();"
/>
<toolbarbutton id="toolbarbuttonJumpWeekRight"
tooltiptext="1 Woche vor"
image="../skin/images/right.png"
oncommand="onJumpDate(+1);"
/>
<toolbarbutton id="toolbarbuttonJumpWeekMoreRight"
tooltiptext="4 Wochen vor"
image="../skin/images/moreright.png"
oncommand="onJumpDate(+4);"
/>
<toolbarbutton id="toolbarbuttonJumpWeekMoreRight"
tooltiptext="16 Wochen vor"
image="../skin/images/moremoreright.png"
oncommand="onJumpDate(+16);"
/>
<separator orient="horizontal" class="thin" />
<toolbarbutton id="toolbarbuttonStplWeekRefresh"
tooltiptext="Neu laden"
image="../skin/images/refresh.png"
oncommand="onJumpDate(0);"
/>
</toolbar>
</toolbox>
<iframe id="iframeTimeTableWeek" name="TimeTableWeek" flex="5"
src="<?php echo APP_ROOT; ?>content/timetable-week.xul.php" />
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<vbox id="vboxSTPLDetailsListe" flex="2" />
</vbox>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<vbox style="margin:0px;" flex="1">
<toolbox>
<toolbar id="toolbarTimeTableLeftWeek" tbautostretch="always" persist="collapsed">
<toolbarbutton id="toolbarbuttonStplWeekRefresh"
image="../skin/images/refresh.png"
oncommand="onLVARefresh();"
tooltiptext="Neu laden"
/>
</toolbar>
</toolbox>
<vbox id="vboxLehrveranstalungPlanung" style="overflow:auto;margin:0px;" flex="1"
datasources="lehrveranstaltung.rdf.php"
ref="http://www.technikum-wien.at/tempus/lehrveranstaltung/alle">
<template>
<rule>
<grid uri="rdf:*" class="lvaStundenplan">
<columns>
<column style="background-color:lightblue; border:1px solid black" />
<column style="background-color:lightblue; border:1px solid black" />
</columns>
<rows>
<row style="background-color:lightgreen; border:1px solid black">
<hbox>
<toolbarbutton
image="../skin/images/lvaSingle.png"
ondraggesture="nsDragAndDrop.startDrag(event,lvaObserver);"
oncommand="onLVAdoStpl(event);"
idList="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lva_ids"
aktion="lva_single"
tooltiptext="Vorschlag/Setzen Block"
/>
<toolbarbutton
image="../skin/images/lvaMulti.png"
onclick="onLVAdoStpl(event);"
idList="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lva_ids"
aktion="lva_multi"
ondraggesture="nsDragAndDrop.startDrag(event,lvaObserver)"
tooltiptext="Vorschlag/Setzen MultiWeek"
/>
</hbox>
<hbox>
<toolbarbutton
image="../skin/images/lvaSingleDel.png"
onclick="onLVAdoStpl(event);"
idList="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lva_ids"
aktion="lva_stpl_del_single"
tooltiptext="Löschen SingleWeek"
/>
<toolbarbutton
image="../skin/images/lvaMultiDel.png"
onclick="onLVAdoStpl(event);"
idList="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lva_ids"
aktion="lva_stpl_del_multi"
tooltiptext="Löschen MultiWeek"
/>
</hbox>
</row>
<row style="background-color^: rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lehrfach_farbe^;">
<label value="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lehrfach rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lehrform"
tooltiptext="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lehrfach_bez" />
<label align="right" value="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#raumtyp"
tooltiptext="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#raumtypalternativ" />
</row>
<row>
<label value="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lehrverband"
tooltiptext="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#anmerkung" />
<toolbarbutton
label="KW: rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#start_kw "
tooltiptext="Zu KW rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#start_kw springen"
onclick="onJumpDateRel(event);"
kw="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#start_kw"
/>
</row>
<row>
<label value="rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#lektor" />
<label value="WR: rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#wochenrythmus"
tooltiptext="Wochenrythmus"/>
</row>
<row>
<label value="Offen: rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#offenestunden h"
tooltiptext="Stunden: rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#verplant / rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#semesterstunden" />
<label value="Block: rdf:http://www.technikum-wien.at/tempus/lehrveranstaltung/rdf#stundenblockung"
tooltiptext="Stundenblockung" />
</row>
</rows>
</grid>
</rule>
</template>
</vbox>
</vbox>
</hbox>
</overlay>
+200
View File
@@ -0,0 +1,200 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
include('../vilesci/config.inc.php');
include('../include/berechtigung.class.php');
$rdf_url='http://www.tempus-student-verbaende.at/';
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// Berechtigungen ermitteln
$berechtigung=new berechtigung($conn);
$berechtigung->getBerechtigungen($uid);
$berechtigt_studiengang=$berechtigung->getStgKz();
$stg_kz_query='';
if ($berechtigt_studiengang[0]!=0 && count($berechtigt_studiengang)>0)
{
foreach ($berechtigt_studiengang as $b_stg)
$stg_kz_query.=' OR studiengang_kz='.$b_stg;
$stg_kz_query='AND ('.substr($stg_kz_query,3).')';
}
$sql_query="SELECT studiengang_kz, bezeichnung, kurzbz FROM tbl_studiengang WHERE studiengang_kz>=0 $stg_kz_query ORDER BY bezeichnung";
//echo $sql_query;
if(!$result_stg=pg_query($conn, $sql_query))
$error_msg.=pg_errormessage($conn);
else
$num_rows_stg=@pg_numrows($result_stg);
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:VERBAND="<?php echo $rdf_url; ?>rdf#"
>
<?php
for ($i=0;$i<$num_rows_stg;$i++)
{
$row_stg=@pg_fetch_object($result_stg, $i);
?>
<RDF:Description RDF:about="<?php echo $rdf_url.$row_stg->kurzbz; ?>" >
<VERBAND:name><?php echo $row_stg->kurzbz.' - '.$row_stg->bezeichnung; ?></VERBAND:name>
<VERBAND:stg><?php echo $row_stg->kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row_stg->studiengang_kz; ?></VERBAND:stg_kz>
</RDF:Description>
<?php
$sql_query="SELECT DISTINCT semester FROM tbl_student WHERE studiengang_kz=$row_stg->studiengang_kz ORDER BY semester";
if(!($result_sem=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_sem=pg_numrows($result_sem);
for ($j=0; $j<$num_rows_sem; $j++)
{
$row_sem=pg_fetch_object($result_sem, $j);
?>
<RDF:Description RDF:about="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester; ?>">
<VERBAND:name><?php echo $row_stg->kurzbz.'-'.$row_sem->semester; ?></VERBAND:name>
<VERBAND:stg><?php echo $row_stg->kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row_stg->studiengang_kz; ?></VERBAND:stg_kz>
<VERBAND:sem><?php echo $row_sem->semester; ?></VERBAND:sem>
</RDF:Description>
<?php
$sql_query="SELECT DISTINCT verband FROM tbl_student WHERE verband!=' ' AND studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester ORDER BY verband";
if(!($result_ver=pg_exec($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_ver=pg_numrows($result_ver);
for ($k=0; $k<$num_rows_ver; $k++)
{
$row_ver=pg_fetch_object($result_ver, $k);
?>
<RDF:Description RDF:about="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_ver->verband; ?>">
<VERBAND:name><?php echo $row_stg->kurzbz.'-'.$row_sem->semester.$row_ver->verband; ?></VERBAND:name>
<VERBAND:stg><?php echo $row_stg->kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row_stg->studiengang_kz; ?></VERBAND:stg_kz>
<VERBAND:sem><?php echo $row_sem->semester; ?></VERBAND:sem>
<VERBAND:ver><?php echo $row_ver->verband; ?></VERBAND:ver>
</RDF:Description>
<?php
$sql_query="SELECT DISTINCT gruppe FROM tbl_student WHERE studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester AND verband='$row_ver->verband' ORDER BY gruppe";
if(!($result_grp=pg_exec($conn, $sql_query))) die(pg_errormessage($conn));
$num_rows_grp=pg_numrows($result_grp);
for ($l=0; $l<$num_rows_grp; $l++)
{
$row_grp=pg_fetch_object($result_grp, $l);
?>
<RDF:Description RDF:about="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_ver->verband.'/'.$row_grp->gruppe; ?>">
<VERBAND:name><?php echo $row_stg->kurzbz.'-'.$row_sem->semester.$row_ver->verband.$row_grp->gruppe; ?></VERBAND:name>
<VERBAND:stg><?php echo $row_stg->kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row_stg->studiengang_kz; ?></VERBAND:stg_kz>
<VERBAND:sem><?php echo $row_sem->semester; ?></VERBAND:sem>
<VERBAND:ver><?php echo $row_ver->verband; ?></VERBAND:ver>
<VERBAND:grp><?php echo $row_grp->gruppe; ?></VERBAND:grp>
</RDF:Description>
<?php
}
}
$sql_query="SELECT bezeichnung, einheit_kurzbz FROM tbl_einheit WHERE studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester ORDER BY bezeichnung";
//echo $sql_query;
if(!($result_einh=pg_exec($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_einh=pg_numrows($result_einh);
for ($m=0; $m<$num_rows_einh; $m++)
{
$row_einh=pg_fetch_object($result_einh, $m);
?>
<RDF:Description RDF:about="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_einh->einheit_kurzbz; ?>">
<VERBAND:name><?php echo $row_einh->einheit_kurzbz.'-'.$row_einh->bezeichnung; ?></VERBAND:name>
<VERBAND:stg><?php echo $row_stg->kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row_stg->studiengang_kz; ?></VERBAND:stg_kz>
<VERBAND:sem><?php echo $row_sem->semester; ?></VERBAND:sem>
<VERBAND:einheit><?php echo $row_einh->einheit_kurzbz; ?></VERBAND:einheit>
</RDF:Description>
<?php
}
}
}
?>
<RDF:Seq RDF:about="<?php echo $rdf_url.'alle-verbaende'; ?>">
<?php
for ($i=0;$i<$num_rows_stg;$i++)
{
$row_stg=@pg_fetch_object($result_stg, $i);
?>
<RDF:li RDF:resource="<?php echo $rdf_url.$row_stg->kurzbz; ?>" />
<RDF:li>
<RDF:Seq RDF:about="<?php echo $rdf_url.$row_stg->kurzbz; ?>">
<?php
$sql_query="SELECT DISTINCT semester FROM tbl_student WHERE studiengang_kz=$row_stg->studiengang_kz ORDER BY semester";
if(!($result_sem=pg_query($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_sem=pg_numrows($result_sem);
for ($j=0; $j<$num_rows_sem; $j++)
{
$row_sem=pg_fetch_object($result_sem, $j);
?>
<RDF:li RDF:resource="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester; ?>" />
<RDF:li>
<RDF:Seq RDF:about="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester; ?>">
<?php
$sql_query="SELECT DISTINCT verband FROM tbl_student WHERE verband!=' ' AND studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester ORDER BY verband";
if(!($result_ver=pg_exec($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_ver=pg_numrows($result_ver);
for ($k=0; $k<$num_rows_ver; $k++)
{
$row_ver=pg_fetch_object($result_ver, $k);
?>
<RDF:li RDF:resource="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_ver->verband; ?>" />
<RDF:li>
<RDF:Seq RDF:about="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_ver->verband; ?>">
<?php
$sql_query="SELECT DISTINCT gruppe FROM tbl_student WHERE studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester AND verband='$row_ver->verband' ORDER BY gruppe";
if(!($result_grp=pg_exec($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_grp=pg_numrows($result_grp);
for ($l=0; $l<$num_rows_grp; $l++)
{
$row_grp=pg_fetch_object($result_grp, $l);
?>
<RDF:li RDF:resource="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_ver->verband.'/'.$row_grp->gruppe; ?>" />
<?php
}
?>
</RDF:Seq>
</RDF:li>
<?php
}
$sql_query="SELECT bezeichnung, einheit_kurzbz FROM tbl_einheit WHERE studiengang_kz=$row_stg->studiengang_kz AND semester=$row_sem->semester ORDER BY bezeichnung";
//echo $sql_query;
if(!($result_einh=pg_exec($conn, $sql_query)))
die(pg_errormessage($conn));
$num_rows_einh=pg_numrows($result_einh);
for ($m=0; $m<$num_rows_einh; $m++)
{
$row_einh=pg_fetch_object($result_einh, $m);
?>
<RDF:li RDF:resource="<?php echo $rdf_url.$row_stg->kurzbz.'/'.$row_sem->semester.'/'.$row_einh->einheit_kurzbz; ?>" />
<?php
}
?>
</RDF:Seq>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+205
View File
@@ -0,0 +1,205 @@
// aktueller Student, der angezeigt wird
var currentStudent;
function studentAuswahl() {
var tree = document.getElementById('treeStudenten');
var items = tree.selectedItems;
//alert(tree.view.getCellText(tree.currentIndex,"uid"));
// Datasource holen
var dsource;
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
var sources=tree.database.GetDataSources();
if (sources.hasMoreElements()){
dsource=sources.getNext();
}
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/tempus/studenten/" + tree.view.getCellText(tree.currentIndex,"uid"));
// zum debuggen; zeigt predicates an, die in resource zu finden sind
/*
var targets = dsource.ArcLabelsOut(subject);
while (targets.hasMoreElements()){
var predicate = targets.getNext();
if (predicate instanceof Components.interfaces.nsIRDFResource){
var target = dsource.GetTarget(subject, predicate, true);
if (target instanceof Components.interfaces.nsIRDFResource){
alert("Resource is: " + target.Value);
}
else if (target instanceof Components.interfaces.nsIRDFLiteral){
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
}
}
}
*/
//
var predicateNS = "http://www.technikum-wien.at/tempus/studenten/rdf";
//var predicate = rdfService.GetResource( predicateNS + "#vornamen" );
//var target = dsource.GetTarget(subject, predicate, true);
var student = new Student();
student.uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
student.titel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titel" ));
student.vornamen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vornamen" ));
student.nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachname" ));
student.geburtsdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsdatum" ));
student.geburtsort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsort" ));
student.geburtszeit = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtszeit" ));
student.homepage = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homepage" ));
student.email = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#email" ));
student.matrikelnummer = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#matrikelnummer" ));
student.semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
student.verband = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verband" ));
student.gruppe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gruppe" ));
student.studiengang_kz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" ));
student.stg_bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stg_bezeichnung" ));
student.aktiv = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aktiv" ));
student.show();
currentStudent = student;
/*
if (dsource.hasArcOut(subject, predicate)) {
if (target instanceof Components.interfaces.nsIRDFLiteral) {
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
student.vornamen = target.Value;
student.show();
}
} */
document.getElementById('std-label-anzahl').value="Anzahl: "+tree.view.rowCount;
}
function getTargetHelper(dsource,subj,predi) {
if (dsource.hasArcOut(subj, predi)) {
var target = dsource.GetTarget(subj, predi, true);
if (target instanceof Components.interfaces.nsIRDFLiteral) {
return target.Value;
}
}
return "";
}
/**
* Student Value Object
*/
function Student() {
this.uid=null;
this.matrikelnummer=null;
this.titel=null;
this.vornamen=null;
this.nachname=null;
this.geburtsdatum=null;
this.geburtsort=null;
this.geburtszeit=null;
this.homepage=null;
this.email=null;
this.semester=null;
this.verband=null;
this.gruppe=null;
this.stg_bezeichnung=null;
this.studiengang_kz=null;
this.aktiv=null;
// flag, welches angibt, ob Daten verändert wurden
this.dataChanged=false;
}
/**
* Daten aus Formular holen und evt. speichern
*/
Student.prototype.updateData = function() {
if (document.getElementById('gridStudentenUID').value!=this.uid) {
this.uid = document.getElementById('gridStudentenUID').value;
this.dataChanged = true;
};
if (document.getElementById('gridStudentenTitel').value!=this.titel) {
this.titel = document.getElementById('gridStudentenTitel').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVornamen').value!=this.vornamen) {
this.vornamen = document.getElementById('gridStudentenVornamen').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenNachname').value!=this.nachname) {
this.nachname = document.getElementById('gridStudentenNachname').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenMatrikelnummer').value!=this.matrikelnummer) {
this.matrikelnummer = document.getElementById('gridStudentenMatrikelnummer').value;
this.dataChanged = true;
}
//alert(document.getElementById('gridStudentenMatrikelnummer').value);
if (document.getElementById('gridStudentenGeburtsdatum').value!=this.geburtsdatum) {
// todo validation
this.geburtsdatum = document.getElementById('gridStudentenGeburtsdatum').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtsort').value!=this.geburtsort) {
this.geburtsort = document.getElementById('gridStudentenGeburtsort').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGeburtszeit').value!=this.geburtszeit) {
// todo validation
this.geburtszeit = document.getElementById('gridStudentenGeburtszeit').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenHomepage').value!=this.homepage) {
this.homepage = document.getElementById('gridStudentenHomepage').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenEmail').value!=this.email) {
this.email = document.getElementById('gridStudentenEmail').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenSemester').value!=this.semester) {
this.semester = document.getElementById('gridStudentenSemester').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenVerband').value!=this.verband) {
this.verband = document.getElementById('gridStudentenVerband').value;
this.dataChanged = true;
}
if (document.getElementById('gridStudentenGruppe').value!=this.gruppe) {
this.gruppe = document.getElementById('gridStudentenGruppe').value;
this.dataChanged = true;
}
if (!((document.getElementById('gridStudentenAktiv').checked && this.aktiv=='True') ||
(!document.getElementById('gridStudentenAktiv').checked && this.aktiv=='False'))) {
this.aktiv = document.getElementById('gridStudentenAktiv').checked?'True':'False';
this.dataChanged = true;
}
alert(this.dataChanged?'dataChanged':'nix changed');
}
/**
* Student anzeigen
*/
Student.prototype.show = function() {
document.getElementById('gridStudentenUID').value = this.uid;
document.getElementById('gridStudentenTitel').value = this.titel;
document.getElementById('gridStudentenVornamen').value = this.vornamen;
document.getElementById('gridStudentenNachname').value = this.nachname;
document.getElementById('gridStudentenMatrikelnummer').value = this.matrikelnummer;
document.getElementById('gridStudentenGeburtsdatum').value = this.geburtsdatum;
document.getElementById('gridStudentenGeburtsort').value = this.geburtsort;
document.getElementById('gridStudentenGeburtszeit').value = this.geburtszeit;
document.getElementById('gridStudentenHomepage').value = this.homepage;
document.getElementById('gridStudentenEmail').value = this.email;
document.getElementById('gridStudentenSemester').value = this.semester;
document.getElementById('gridStudentenVerband').value = this.verband;
document.getElementById('gridStudentenGruppe').value = this.gruppe;
document.getElementById('gridStudentenStgBezeichnung').value = this.stg_bezeichnung;
document.getElementById('gridStudentenAktiv').checked = (this.aktiv=='True'?true:false);
}
+92
View File
@@ -0,0 +1,92 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/person.class.php');
include_once('../include/student.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// test
/*
$einheit_kurzbz='';
$grp='1';
$ver='A';
$sem=3;
$stg_kz=145;
*/
$einheit_kurzbz=$_GET['einheit'];
$grp=$_GET['grp'];
$ver=$_GET['ver'];
$sem=$_GET['sem'];
$stg_kz=$_GET['stg_kz'];
// Studenten holen
$studentenDAO=new student($conn);
$studenten=$studentenDAO->getStudents($einheit_kurzbz, $grp, $ver, $sem,$stg_kz);
$rdf_url='http://www.technikum-wien.at/tempus/studenten';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:STUDENT="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
foreach ($studenten as $student)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $student->uid; ?>" about="<?php echo $rdf_url.'/'.$student->uid; ?>" >
<STUDENT:uid><?php echo $student->uid ?></STUDENT:uid>
<STUDENT:titel><?php echo $student->titel ?></STUDENT:titel>
<STUDENT:vornamen><?php echo $student->vornamen ?></STUDENT:vornamen>
<STUDENT:nachname><?php echo $student->nachname ?></STUDENT:nachname>
<STUDENT:matrikelnummer><?php echo $student->matrikelnr ?></STUDENT:matrikelnummer>
<STUDENT:geburtsdatum><?php echo $student->gebdatum ?></STUDENT:geburtsdatum>
<STUDENT:email><?php echo $student->email ?></STUDENT:email>
<STUDENT:homepage><?php echo $student->homepage ?></STUDENT:homepage>
<STUDENT:aktiv><?php echo ($student->aktiv?'True':'False') ?></STUDENT:aktiv>
<STUDENT:gebort><?php echo $student->gebort ?></STUDENT:gebort>
<STUDENT:gebzeit><?php echo $student->gebzeit ?></STUDENT:gebzeit>
<STUDENT:foto><?php echo $student->foto ?></STUDENT:foto>
<STUDENT:anmerkungen><?php echo $student->anmerkungen ?></STUDENT:anmerkungen>
<STUDENT:updateamum><?php echo $student->updateamum ?></STUDENT:updateamum>
<STUDENT:updatevon><?php echo $student->updatevon ?></STUDENT:updatevon>
<STUDENT:gruppe><?php echo $student->gruppe ?></STUDENT:gruppe>
<STUDENT:verband><?php echo $student->verband ?></STUDENT:verband>
<STUDENT:semester><?php echo $student->semester ?></STUDENT:semester>
<STUDENT:studiengang_kz><?php echo $student->studiengang_kz ?></STUDENT:studiengang_kz>
<STUDENT:stg_bezeichnung><?php echo $student->stg_bezeichnung ?></STUDENT:stg_bezeichnung>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+166
View File
@@ -0,0 +1,166 @@
<?php
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?>";
?>
<!DOCTYPE overlay >
<overlay id="StudentenOverlay"
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/studenten.js" />
<!-- *************** -->
<!-- * Studenten * -->
<!-- *************** -->
<vbox id="studentenEditor">
<hbox>
<toolbox>
<toolbar id="studentenToolbar">
<toolbarbutton label="Neu"/>
<toolbarbutton label="Speichern"/>
<toolbarbutton label="Löschen"/>
</toolbar>
</toolbox>
<spacer flex="1"/>
<label id="std-label-anzahl" />
</hbox>
<!-- ************* -->
<!-- * Auswahl * -->
<!-- ************* -->
<tree id="treeStudenten" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/tempus/studenten/liste"
onselect="studentAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
>
<treecols>
<treecol id="uid" label="UID" flex="1" primary="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#uid" />
<splitter class="tree-splitter"/>
<treecol id="titel" label="Titel" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#titel" />
<splitter class="tree-splitter"/>
<treecol id="vornamen" label="Vornamen" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#vornamen" />
<splitter class="tree-splitter"/>
<treecol id="nachname" label="Nachname" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#nachname" />
<splitter class="tree-splitter"/>
<treecol id="geburtsdatum" label="Geburtsdatum" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#geburtsdatum" />
<splitter class="tree-splitter"/>
<treecol id="semester" label="Sem." flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#semester" />
<splitter class="tree-splitter"/>
<treecol id="verband" label="Verb." flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#verband" />
<splitter class="tree-splitter"/>
<treecol id="gruppe" label="Grp." flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#gruppe" />
<splitter class="tree-splitter"/>
<treecol id="stg_bezeichnung" label="Studiengang" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#stg_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="matrikelnummer" label="Matrikelnummer" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#matrikelnummer" />
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#titel" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#semester" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#verband" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#gruppe" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#stg_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/tempus/studenten/rdf#matrikelnummer" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
<!--
<template>
<rule>
<conditions>
<content uri="?uri" />
<member container="?uri" child="?student" />
</conditions>
<bindings>
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#uid" object="?uid" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#titel" object="?titel" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#vornamen" object="?vornamen" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#nachname" object="?nachname" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#geburtsdatum" object="?geburtsdatum" />
<binding subject="?student" predicate="http://www.technikum-wien.at/tempus/studenten/rdf#aktiv" object="?aktiv" />
</bindings>
<action>
<treechildren>
<treeitem uri="?student">
<treerow>
<treecell label="?uid" />
<treecell label="?titel" />
<treecell label="?vornamen" />
<treecell label="?nachname" />
<treecell label="?geburtsdatum" />
<treecell label="?aktiv" />
</treerow>
</treeitem>
</treechildren>
</action>
</rule>
</template>
-->
</tree>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * Detail * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;">
<label value="Details" style="font-size:12pt;font-weight:bold;background:#eeeeee;margin:0px;padding:5px;" />
<box class="studentDetail" style="margin-top:10px;" />
</vbox>
</vbox>
</overlay>
+66
View File
@@ -0,0 +1,66 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/studiengang.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// raumtypen holen
$studiengangDAO=new studiengang($conn);
$studiengaenge=$studiengangDAO->getAll();
$rdf_url='http://www.technikum-wien.at/tempus/studiengang';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:STUDIENGANG="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
if (is_array($studiengaenge)) {
foreach ($studiengaenge as $sg)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $sg->studiengang_kz; ?>" about="<?php echo $rdf_url.'/'.$sg->studiengang_kz; ?>" >
<STUDIENGANG:studiengang_kz><?php echo $sg->studiengang_kz ?></STUDIENGANG:studiengang_kz>
<STUDIENGANG:kurzbz><?php echo $sg->kurzbz ?></STUDIENGANG:kurzbz>
<STUDIENGANG:kurzbzlang><?php echo $sg->kurzbzlang ?></STUDIENGANG:kurzbzlang>
<STUDIENGANG:bezeichnung><?php echo $sg->bezeichnung ?></STUDIENGANG:bezeichnung>
<STUDIENGANG:max_semester><?php echo $sg->max_semester ?></STUDIENGANG:max_semester>
<STUDIENGANG:typ><?php echo $sg->typ ?></STUDIENGANG:typ>
<STUDIENGANG:farbe><?php echo $sg->farbe ?></STUDIENGANG:farbe>
<STUDIENGANG:email><?php echo $sg->email ?></STUDIENGANG:email>
</RDF:Description>
</RDF:li>
<?php
}
}
?>
</RDF:Seq>
</RDF:RDF>
+60
View File
@@ -0,0 +1,60 @@
<?php
/*
* Created on 02.12.2004
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
// 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/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
include_once('../include/studiensemester.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// studiensemester holen
$studiensemesterDAO=new studiensemester($conn);
$studiensemesterAll=$studiensemesterDAO->getAll();
$rdf_url='http://www.technikum-wien.at/tempus/studiensemester';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:STUDIENSEMESTER="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
foreach ($studiensemesterAll as $ss)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $ss->kurzbz; ?>" about="<?php echo $rdf_url.'/'.$ss->kurzbz; ?>" >
<STUDIENSEMESTER:kurzbz><?php echo $ss->kurzbz ?></STUDIENSEMESTER:kurzbz>
<STUDIENSEMESTER:start><![CDATA[ <?php echo $ss->start ?> ]]></STUDIENSEMESTER:start>
<STUDIENSEMESTER:ende><?php echo $ss->ende ?></STUDIENSEMESTER:ende>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+100
View File
@@ -0,0 +1,100 @@
<?php
include('../vilesci/config.inc.php');
?>
function closeWindow()
{
window.close();
}
function onLoad()
{
//window.close();
}
function loadRightFrame()
{
}
function loadURL(event)
{
var contentFrame = document.getElementById('contentFrame');
var url = event.target.getAttribute('value');
if (url) contentFrame.setAttribute('src', url);
}
function stpltableChange(db_stpl_table)
{
//alert(db_stpl_table);
}
function studiensemesterChange()
{
var items = document.getElementsByTagName('menuitem');
var stsem='';
for(i in items)
{
if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true')
stsem = items[i].label;
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var httpRequest = new XMLHttpRequest();
var url = "<?php echo APP_ROOT; ?>rdf/fas/db_dml.rdf.php";
httpRequest.open("POST", url, false, '','');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var param = "type=variablechange";
param = param + "&stsem="+stsem;
//Parameter schicken
httpRequest.send(param);
// Bei status 4 ist sendung Ok
switch(httpRequest.readyState)
{
case 1,2,3: alert('Bad Ready State: '+httpRequest.status);
return false;
break;
case 4: if(httpRequest.status !=200)
{
alert('The server respond with a bad status code: '+httpRequest.status);
return false;
}
else
{
var response = httpRequest.responseText;
}
break;
}
// Returnwerte aus RDF abfragen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/dbdml');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/dbdml/0");
var predicateNS = "http://www.technikum-wien.at/dbdml/rdf";
var dbdml_return = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#return" ));
var dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
if(dbdml_return=='true')
{
//Statusbar setzen
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geändert";
document.getElementById("statusbarpanel-semester").label = stsem;
//MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
}
else
{
alert("Fehler beim Speichern der Daten: "+dbdml_errormsg);
}
return true;
}
+158
View File
@@ -0,0 +1,158 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
include('../vilesci/config.inc.php');
include('../include/functions.inc.php');
include('../include/fas/benutzer.class.php');
// Testumgebung
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
$error_msg='';
//Variablen laden
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$error_msg.=loadVariables($conn,$REMOTE_USER);
$benutzer = new benutzer($conn);
if(!$benutzer->loadVariables($uid))
$error_msg = $benutzer->errormsg;
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/tempusoverlay.xul.php"?>';
?>
<!DOCTYPE window [
<?php require("../locale/de-AT/tempus.dtd"); ?>
]>
<window
id="tempus"
title="&window.title; &window.version;"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
orient="vertical"
width="800"
height="600"
persist="screenX screenY width height sizemode"
onload="onLoad()"
>
<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/dragboard.js"/>
<commandset id="maincommands">
<command id="menu-file-close:command" oncommand="closeWindow();"/>
<command id="menu-properties-studiensemester:command" oncommand="studiensemesterChange();"/>
<command id="menu-prefs-stpltable-stundenplan:command" oncommand="stpltableChange('stundenplan');"/>
<command id="menu-prefs-stpltable-stundenplandev:command" oncommand="stpltableChange('stundenplandev');"/>
</commandset>
<keyset id="mainkeys">
<key
id = "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;">
<menupopup id="menu-file-popup">
<menuitem
id = "menu-file-close"
key = "menu-file-close:key"
label = "&menu-file-close:label;"
command = "menu-file-close:command"
accesskey = "&menu-file-close:accesskey;"/>
</menupopup>
</menu>
<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;">
<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;"
command ="menu-prefs-stpltable-stundenplan:command"
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;"
command ="menu-prefs-stpltable-stundenplandev:command"
accesskey ="&menu-prefs-stpltable-stundenplandev:accesskey;"/>
</menupopup>
</menu>
<menu
id = "menu-properies-studiensemester"
label = "Studiensemester">
<menupopup id="menu-properties-popup">
<?php
$stsem_arr = $benutzer->getpossibilities('semester_aktuell');
foreach ($stsem_arr as $stsem)
{
echo "
<menuitem
id = 'menu-properies-studiensemester-name'
label = '$stsem'
type = 'radio'
command = 'menu-properties-studiensemester:command'
checked = ".($benutzer->variable->semester_aktuell==$stsem?"'true' ":"'false'")." />";
}
?>
</menupopup>
</menu>
</menupopup>
</menu>
<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;"
command = "menu-help-close:command"
accesskey = "&menu-help-close:accesskey;"/>
</menupopup>
</menu>
</menubar>
</toolbox>
<hbox flex="1">
<tabbox id="tabbox-left" orient="vertical" flex="1">
<tabs orient="horizontal">
<tab id="tab-verband" label="Verband" />
<tab id="tab-ort" label="Ort" />
<tab id="tab-lektor" label="Lektor" />
</tabs>
<tabpanels id="tabpanels-left" flex="1">
<tree id="tree-verband" />
<tree id="tree-ort" />
<tree id="tree-lektor" />
</tabpanels>
</tabbox>
<splitter collapse="before" persist="state">
<grippy />
</splitter>
<vbox id="vbox-main" flex="15" />
</hbox>
<statusbar id="status-bar" persist="collapsed">
<statusbarpanel class="statusbarpanel-iconic" id="logo-icon" />
<statusbarpanel id="statusbarpanel-semester" label="<?php echo $semester_aktuell; ?>"/>
<statusbarpanel id="statusbarpanel-db_table" label="<?php echo $db_stpl_table; ?>"/>
<statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" />
<statusbarpanel class="statusbarpanel-iconic" id="example-status" flex="1" />
</statusbar>
</window>
+207
View File
@@ -0,0 +1,207 @@
<?php
include('../vilesci/config.inc.php');
?>
var currentAuswahl=new auswahlValues();
function auswahlValues()
{
this.stg_kz=null;
this.sem=null;
this.ver=null;
this.grp=null;
this.einheit=null;
this.lektor_uid=null;
}
function onVerbandSelect()
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var tree=document.getElementById('tree-verband');
var stg_kz=tree.view.getCellText(tree.currentIndex,"stg_kz");
var sem=tree.view.getCellText(tree.currentIndex,"sem");
var ver=tree.view.getCellText(tree.currentIndex,"ver");
var grp=tree.view.getCellText(tree.currentIndex,"grp");
var einheit=tree.view.getCellText(tree.currentIndex,"einheit");
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var attributes="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
if (einheit!=null && einheit!=0 &einheit!='')
var type="?type=einheit";
else
var type="?type=verband";
url+=type+attributes+"&datum="+datum;
if (url)
contentFrame.setAttribute('src', url);
currentAuswahl.stg_kz=stg_kz;
currentAuswahl.sem=sem;
currentAuswahl.ver=ver;
currentAuswahl.grp=grp;
currentAuswahl.einheit=einheit;
// Semesterplan
var semesterplan=document.getElementById('tabpanels-main');
var panelIndex=semesterplan.getAttribute("selectedIndex");
if (panelIndex==1)
{
var contentFrame=document.getElementById('iframeTimeTableSemester');
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
if (einheit!=null && einheit!=0 &einheit!='')
var type="?type=einheit";
else
var type="?type=verband";
url+=type+attributes+"&semesterplan=true";
if (url)
contentFrame.setAttribute('src', url);
}
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
var attribute='lehrveranstaltung.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
vboxLehrveranstalungPlanung.setAttribute('datasources',attribute);
// Studenten
var treeStudenten=document.getElementById('treeStudenten');
attribute="<?php echo APP_ROOT; ?>rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit;
treeStudenten.setAttribute('datasources',attribute);
// LFVT
var req = new phpRequest('lfvt.rdf.php','pam','pam');
req.add('stg_kz',stg_kz);
req.add('sem',sem);
req.add('ver',ver);
req.add('grp',grp);
req.add('einheit',einheit);
var response = req.execute();
// http error handling ist in phpRequest
// SQL-Error werden derzeit noch nicht behandelt!
//if (response!='ok') alert(response);
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/tempus/lva/liste');
var treeLFVT=document.getElementById('treeLFVT');
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
// alte datenquellen entfernen
var sources=treeLFVT.database.GetDataSources();
while (sources.hasMoreElements()){
treeLFVT.database.RemoveDataSource(sources.getNext());
}
// neue Datenquelle setzen
treeLFVT.database.AddDataSource(dsource);
treeLFVT.builder.rebuild();
//treeLFVT.setAttribute('datasources','lfvt.rdf.php?'+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit);
//alert('lfvt.rdf.php?'+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit);
}
function onOrtSelect()
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var treeOrt=document.getElementById('tree-ort');
var ort=treeOrt.view.getCellText(treeOrt.currentIndex,"ort_kurzbz");
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var attributes="?type=ort&ort="+ort+"&datum="+datum;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
if (url)
contentFrame.setAttribute('src', url);
}
function onLektorSelect()
{
var contentFrame=document.getElementById('iframeTimeTableWeek');
var treeLektor=document.getElementById('tree-lektor');
var uid=treeLektor.view.getCellText(treeLektor.currentIndex,"uid");
//var treeVerband=document.getElementById('tree-verband');
//var stg_kz=treeVerband.view.getCellText(treeVerband.currentIndex,"stg_kz");
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
var datum=parseInt(daten.getAttribute("datum"));
var attributes="?type=lektor&pers_uid="+uid+"&datum="+datum;
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
url+=attributes;
if (url)
contentFrame.setAttribute('src', url);
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
vboxLehrveranstalungPlanung.setAttribute('datasources','lehrveranstaltung.rdf.php?'+"type=lektor&lektor="+uid);
// LFVT
var req = new phpRequest('lfvt.rdf.php','pam','pam');
req.add('lektor',uid);
var response = req.execute();
// http error handling ist in phpRequest
// SQL-Error werden derzeit noch nicht behandelt!
//if (response!='ok') alert(response);
// XML in Datasource parsen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/tempus/lva/liste');
var treeLFVT=document.getElementById('treeLFVT');
// Trick 17 (sonst gibt's ein Permission denied)
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
// alte datenquellen entfernen
var sources=treeLFVT.database.GetDataSources();
while (sources.hasMoreElements()){
treeLFVT.database.RemoveDataSource(sources.getNext());
}
// neue Datenquelle setzen
treeLFVT.database.AddDataSource(dsource);
treeLFVT.builder.rebuild();
}
function loadURL(event)
{
var contentFrame = document.getElementById('contentFrame');
var url = event.target.getAttribute('value');
if (url) contentFrame.setAttribute('src', url);
};
function parseRDFString(str, url)
{
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert(e);
return;
}
var memoryDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
var ios=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
baseUri=ios.newURI(url,null,null);
var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser);
parser.parseString(memoryDS,baseUri,str);
return memoryDS;
}
+153
View File
@@ -0,0 +1,153 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
include('../vilesci/config.inc.php');
echo '<?xul-overlay href="'.APP_ROOT.'content/studentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lfvtoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-week-overlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-semester-overlay.xul.php"?>';
/*echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
?>
<!DOCTYPE overlay [
<?php require("../locale/tempus.dtd"); ?>
]>
<overlay id="TempusOverlay"
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/tempusoverlay.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/dragboard.js"/>
<tree id="tree-verband" onselect="onVerbandSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="student-verbaende.rdf.php" ref="http://www.tempus-student-verbaende.at/alle-verbaende"
>
<treecols>
<treecol id="bez" label="Bezeichnung" flex="15" primary="true" />
<splitter class="tree-splitter"/>
<treecol id="stg" label="STG" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="stg_kz" label="KZ" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="sem" label="Sem" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="ver" label="Ver" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="grp" label="Grp" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="einheit" label="Einheit" flex="1" hidden="true"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#name"/>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#stg"/>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#stg_kz"/>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#sem"/>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#ver"/>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#grp"/>
<treecell label="rdf:http://www.tempus-student-verbaende.at/rdf#einheit"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<tree id="tree-ort" onselect="onOrtSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="../rdf/ort.rdf.php" ref="http://www.technikum-wien.at/tempus/ort/alle-orte">
<treecols>
<treecol id="raumtyp" label="Raumtyp" flex="2" primary="true" />
<splitter class="tree-splitter"/>
<treecol id="ort_kurzbz" label="Raum" flex="4" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="hierarchie" label="HI" flex="1" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="ort_bezeichnung" label="Bezeichnung" flex="3" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="max_person" label="MaxP" flex="1" hidden="true"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#raumtyp"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#ort_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#hierarchie"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#ort_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/ort/rdf#max_person"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<tree id="tree-lektor" onselect="onLektorSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="mitarbeiter.rdf.php" ref="http://www.technikum-wien.at/tempus/mitarbeiter/alle">
<treecols>
<treecol id="kurzbz" 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="vornamen" label="Vornamen" flex="2" hidden="true"/>
<splitter class="tree-splitter"/>
<treecol id="titel" label="Titel" flex="1" 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/tempus/mitarbeiter/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#nachname"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#vornamen"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#titel"/>
<treecell label="rdf:http://www.technikum-wien.at/tempus/mitarbeiter/rdf#uid"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox id="vbox-main">
<tabbox id="tabbox-main" flex="3" orient="vertical">
<tabs orient="horizontal">
<tab id="tab-week" label="Wochenplan" />
<tab id="tab-semester" label="Semesterplan" />
<tab id="tab-studenten" label="Studenten" />
<tab id="tab-lfvt" label="Lehrveranstaltung" />
</tabs>
<tabpanels id="tabpanels-main" flex="1">
<!-- Wochenplan -->
<hbox id="hboxTimeTableWeek" />
<!-- Semesterplan -->
<vbox id="vboxTimeTableSemester" />
<!-- Studenten -->
<vbox id="studentenEditor" />
<!-- Lehrfachverteilung -->
<vbox id="lfvtEditor" />
</tabpanels>
</tabbox>
</vbox>
</overlay>
+462
View File
@@ -0,0 +1,462 @@
<?php
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
include('../vilesci/config.inc.php');
include('../include/globals.inc.php');
include('../include/functions.inc.php');
include('../include/berechtigung.class.php');
include('../include/lehrveranstaltung.class.php');
include('../include/zeitwunsch.class.php');
include('../include/stundenplan.class.php');
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
//echo $_SERVER[REQUEST_URI];
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
$error_msg='';
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg.='Es konnte keine Verbindung zum Server aufgebaut werden!';
// Benutzerdefinierte Variablen laden
$error_msg.=loadVariables($conn,$uid);
if (!isset($ignore_kollision))
$ignore_kollision=(boolean)false;
elseif ($ignore_kollision=='false')
$ignore_kollision=(boolean)false;
else
$ignore_kollision=(boolean)true;
//var_dump($ignore_kollision);
// Bezeichnungen fuer Tabellen und Views
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
// Variablen uebernehmen
if (isset($_GET[aktion]))
$aktion=$_GET[aktion];
if (isset($_GET[semesterplan]))
$semesterplan=$_GET[semesterplan];
else
$semesterplan=false;
if (isset($_GET[new_stunde]))
$new_stunde=$_GET[new_stunde];
if (isset($_GET[new_datum]))
$new_datum=$_GET[new_datum];
if (isset($_GET[old_ort]))
$old_ort=$_GET[old_ort];
if (isset($_GET[new_ort]))
$new_ort=$_GET[new_ort];
if (isset($_GET[ort]))
$ort=$_GET[ort];
if (isset($_GET[datum]))
$datum=$_GET[datum];
if (isset($_GET[type]))
$type=$_GET[type];
if (isset($_GET[stg_kz]))
$stg_kz=$_GET[stg_kz];
if (isset($_GET[sem]))
$sem=$_GET[sem];
if (isset($_GET[ver]))
$ver=$_GET[ver];
if (isset($_GET[grp]))
$grp=$_GET[grp];
if (isset($_GET[pers_uid]))
$pers_uid=$_GET[pers_uid];
if (isset($_GET[einheit]))
$einheit_kurzbz=$_GET[einheit];
if (isset($_GET[semester_aktuell]))
$semester_aktuell=$_GET[semester_aktuell];
if (!isset($semester_aktuell) && $semesterplan)
$error_msg.='Studien-Semester ist nicht gesetzt!';
?>
<!DOCTYPE page SYSTEM "chrome://tempus/locale/tempus.dtd">
<window id="windowTimeTableWeek"
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="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/dragboard.js.php"/>
<?php
if (isset($semesterplan) && $semesterplan)
echo '<script type="application/x-javascript" src="'.APP_ROOT.'content/stpl-semester-overlay.js.php"/>';
else
echo '<script type="application/x-javascript" src="'.APP_ROOT.'content/stpl-week-overlay.js.php"/>';
?>
<vbox id="boxTimeTableWeek" flex="5" style="overflow:auto;">
<?php
// Authentifizierung
/*if ($uid=check_student($REMOTE_USER, $conn))
$user='student';
elseif ($uid=check_lektor($REMOTE_USER, $conn))
$user='lektor';
else
die("Cannot set usertype!");*/
// User bestimmen
if (!isset($type))
$type='lektor';
if (!isset($pers_uid))
$pers_uid=$uid;
// Datums Format
if(!$result=pg_query($conn, "SET datestyle TO ISO;"))
$error_msg=pg_last_error($conn);
// ****************************************************************************
// Variablen fuer Aktionen setzen
if ($aktion=='lva_single_search' || $aktion=='lva_single_set'
|| $aktion=='lva_multi_search' || $aktion=='lva_multi_set'
|| $aktion=='lva_stpl_del_multi' || $aktion=='lva_stpl_del_single')
{
$i=0;
$name_lva_id='lva_id'.$i;
while ($i<100 && isset($_GET[$name_lva_id]))
{
$lva_id[$i]=$_GET[$name_lva_id];
//$error_msg.=$lva_id[$i];
$name_lva_id='lva_id'.++$i;
}
}
if ($aktion=='stpl_move' || $aktion=='stpl_single_search' || $aktion=='stpl_set' || $aktion=='stpl_delete_single')
{
$i=0;
$name_stpl_id='stundenplan_id'.$i;
while ($i<100 && isset($_GET[$name_stpl_id]))
{
$stpl_id[]=$_GET[$name_stpl_id];
//echo $stpl_id[$i];
$name_stpl_id='stundenplan_id'.++$i;
}
// Mehrfachauswahl uebernehmen
$j=0;
$name_stpl_idx='x'.$j.'stundenplan_id0';
while ($j<100 && isset($_GET[$name_stpl_idx]))
{
$i=0;
$name_stpl_id='x'.$j.'stundenplan_id'.$i;
while ($i<100 && isset($_GET[$name_stpl_id]))
{
$stpl_idx[]=$_GET[$name_stpl_id];
$name_stpl_id='x'.$j.'stundenplan_id'.++$i;
}
$name_stpl_idx='x'.++$j.'stundenplan_id0';
}
}
// ****************************************************************************
// Aktionen durchfuehren
$error_msg.=db_query($conn,'BEGIN;');
// *************** Stunden verschieben ****************************************
if ($aktion=='stpl_move' || $aktion=='stpl_set')
{
foreach ($stpl_id as $stundenplan_id)
{
$lehrstunde=new lehrstunde($conn);
$lehrstunde->load($stundenplan_id,$db_stpl_table);
$diffStunde=$new_stunde-$lehrstunde->stunde;
$lehrstunde->datum=$new_datum;
$lehrstunde->stunde=$new_stunde;
if ($ort!=$old_ort)
$lehrstunde->ort_kurzbz=$ort;
if ($aktion=='stpl_set')
$lehrstunde->ort_kurzbz=$new_ort;
$kollision=$lehrstunde->kollision($db_stpl_table);
if ($kollision)
$error_msg.=$lehrstunde->errormsg;
if (!$kollision || $ignore_kollision)
{
$lehrstunde->save($uid,$db_stpl_table);
$error_msg.=$lehrstunde->errormsg;
}
}
// Mehrfachauswahl
if (isset($stpl_idx))
foreach ($stpl_idx as $stundenplan_id)
{
$lehrstunde=new lehrstunde($conn);
$lehrstunde->load($stundenplan_id,$db_stpl_table);
$lehrstunde->datum=$new_datum;
$lehrstunde->stunde+=$diffStunde;
if ($ort!=$old_ort)
$lehrstunde->ort_kurzbz=$ort;
if ($aktion=='stpl_set')
$lehrstunde->ort_kurzbz=$new_ort;
$kollision=$lehrstunde->kollision($db_stpl_table);
if ($kollision)
$error_msg.=$lehrstunde->errormsg;
if (!$kollision || $ignore_kollision)
{
$lehrstunde->save($uid,$db_stpl_table);
$error_msg.=$lehrstunde->errormsg;
}
}
}
// ****************** STPL Delete *******************************
elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block')
{
$lehrstunde=new lehrstunde($conn);
foreach ($stpl_id as $stundenplan_id)
{
$lehrstunde->delete($stundenplan_id,$db_stpl_table);
$error_msg.=$lehrstunde->errormsg;
}
}
// ******************** Lehrveranstaltung setzen ******************************
elseif ($aktion=='lva_single_set')
{
$anz_lvas=count($lva_id);
for ($i=0;$i<$anz_lvas;$i++)
{
$lva[$i]=new lehrveranstaltung($conn,$lva_id[$i]);
//$error_msg.='test'.$lva_id[$i].($lva[$i]->errormsg).($lva[$i]->stundenblockung);
for ($j=0;$j<$lva[$i]->stundenblockung && $error_msg=='';$j++)
if (!$lva[$i]->check_lva($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table) && !$ignore_kollision)
$error_msg.=$lva[$i]->errormsg;
}
for ($i=0;$i<$anz_lvas && $error_msg=='';$i++)
{
//$lva[$i]=new lehrveranstaltung($lva_id[$i]);
//$error_msg.='Blockung'.$lva[$i]->stundenblockung.var_dump($lva);
//$error_msg.='Datum:'.$new_datum.' Std:'.($new_stunde+$j).$new_ort.$db_stpl_table.$uid;
for ($j=0;$j<$lva[$i]->stundenblockung;$j++)
if (!$lva[$i]->save_stpl($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table,$uid))
$error_msg.='fehler'.$lva[$i]->errormsg;
//else
// $error_msg.='test'.$anz_lvas;
}
//$error_msg.='test';
}
//******************* Multi Verplanung ***************
elseif ($aktion=='lva_multi_set')
{
// Ferien holen
$ferien=new ferien($conn);
if ($type=='verband')
$ferien->getAll($stg_kz);
else
$ferien->getAll(0);
// Ende holen
$result_semester=@pg_query($conn,"SELECT start,ende FROM tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';");
if (pg_numrows($result_semester)>0)
$ende=pg_result($result_semester,0,'ende');
else
$error_msg.='Fatal Error: Ende Datum ist nicht gesetzt!';
//echo '<label>'.$ende.'</label>';
$ende=mktime(0,0,1,substr($ende,5,2),substr($ende,8,2),substr($ende,0,4));
$anz_lvas=count($lva_id);
// Arrays intitialisieren
$wochenrythmus=array();
$verplant=array();
$block=array();
$wochenrythmus=array();
$semesterstunden=array();
$offenestunden=array();
// LVAs holen
$sql_query='SELECT * FROM '.$lva_stpl_view.' WHERE';
$lvas='';
foreach ($lva_id as $id)
$lvas.=' OR lehrveranstaltung_id='.$id;
$lvas=substr($lvas,3);
$sql_query.=$lvas;
if(!$result_lva=pg_exec($conn, $sql_query))
$error_msg.=pg_last_error($conn);
$num_rows_lva=pg_numrows($result_lva);
// Daten aufbereiten
for ($i=0;$i<$num_rows_lva;$i++)
{
$row=pg_fetch_object($result_lva,$i);
$verplant[]=$row->verplant;
$block[]=$row->stundenblockung;
$wochenrythmus[]=$row->wochenrythmus;
$semesterstunden[]=$row->semesterstunden;
$offenestunden[]=$row->semesterstunden-$row->verplant;
}
// Variablen eindeutig?
// Offene Stunden
$os=$offenestunden[0];
$offenestunden=array_unique($offenestunden);
if (count($offenestunden)==1)
$offenestunden=$os;
else
$error_msg.='Offene Stunden sind nicht eindeutig!';
//$error_msg.='Offene Stunden='.$offenestunden;
/*// Verplante Stunden
$verplant=array_unique($verplant);
if (count($verplant)==1)
$verplant=$verplant[0];
else
$error_msg.='Verplante Stunden sind nicht eindeutig!';
//Semesterstunden
$semesterstunden=array_unique($semesterstunden);
if (count($semesterstunden)==1)
$semesterstunden=$semesterstunden[0];
else
$error_msg.='Semesterstunden sind nicht eindeutig!';*/
//Blockung
$blk=$block[0];
$block=array_unique($block);
if (count($block)==1)
$block=$blk;
else
$error_msg.='Blockung ist nicht eindeutig!';
//Wochenrythmus
$wr=$wochenrythmus[0];
$wochenrythmus=array_unique($wochenrythmus);
if (count($wochenrythmus)==1)
$wochenrythmus=$wr;
else
$error_msg.='Wochenrythmus ist nicht eindeutig!';
$count=0;
$rest=$offenestunden;
if ($rest<=0)
$error_msg.='Es sind bereits alle Stunden verplant!'.$rest;
if ($error_msg=='')
{
$d=mktime(0,0,1,substr($new_datum,5,2),substr($new_datum,8),substr($new_datum,0,4));
while ($rest>0 && $d<$ende)
{
if ($rest<$block && $rest>0)
$block=$rest;
//LVAs holen und pruefen ob moeglich
for ($i=0;$i<$anz_lvas;$i++)
{
$lva[$i]=new lehrveranstaltung($conn,$lva_id[$i]);
for ($j=0;$j<$block;$j++)
if (!$lva[$i]->check_lva($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table) && !$ignore_kollision)
$error_msg.=$lva[$i]->errormsg;
}
// LVAs setzen
for ($i=0;$i<$anz_lvas && $error_msg=='';$i++)
for ($j=0;$j<$block;$j++)
if (!$lva[$i]->save_stpl($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table,$uid))
$error_msg.=$lva[$i]->errormsg;
$d=jump_week($d,$wochenrythmus);
while ($ferien->isferien($d))
$d=jump_week($d,$wochenrythmus);
// Es kann sein, dass die Zeitumstellung (1 Stunde) Probleme macht
// Falls 23 Uhr eine Stunde nach vor
$new_datum=date('Y-m-d',$d);
$rest-=$block;
}
}
}
// Lehrveranstaltungen aus dem Stundenplan loeschen
elseif ($aktion=='lva_stpl_del_multi' || $aktion=='lva_stpl_del_single')
{
$result_semester=@pg_query($conn,"SELECT start,ende FROM tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';");
if (pg_numrows($result_semester)>0)
{
$start=date('Y-m-d',$datum);
if ($aktion=='lva_stpl_del_multi')
$ende=pg_result($result_semester,0,'ende');
else
$ende=date('Y-m-d',jump_week($datum,1));
$anz_lvas=count($lva_id);
$sql_query_lvaid='';
$sql_query='DELETE FROM '.TABLE_BEGIN.$db_stpl_table.' WHERE (';
for ($i=0;$i<$anz_lvas;$i++)
$sql_query_lvaid.=' OR lehrveranstaltung_id='.$lva_id[$i];
$sql_query_lvaid=substr($sql_query_lvaid,3);
$sql_query.=$sql_query_lvaid;
$sql_query.=") AND datum>='$start' AND datum<'$ende'";
if(!$result_lva_del=pg_query($conn, $sql_query))
$error_msg.=pg_last_error($conn);
}
else
$error_msg.='Studiensemester '.$semester_aktuell.' konnte nicht gefunden werden!';
}
if ($error_msg=='')
$error_msg.=@db_query($conn,'COMMIT;');
else
$error_msg.=@db_query($conn,'ROLLBACK;');
// Stundenplan erstellen
$stdplan=new stundenplan($type,$conn);
if (!isset($datum))
$datum=mktime();
if (!isset($semesterplan) || !$semesterplan)
$begin=$ende=$datum;
else
{
$result_semester=@pg_query($conn,"SELECT start,ende FROM tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';");
if (pg_numrows($result_semester)>0)
{
$begin=strtotime(pg_result($result_semester,0,'start'));
$ende=strtotime(pg_result($result_semester,0,'ende'));
}
else
$error_msg.='Studiensemester '.$semester_aktuell.' konnte nicht gefunden werden!';
}
// Benutzergruppe
$stdplan->user=$user;
// aktueller Benutzer
$stdplan->user_uid=$uid;
// Zeitwuensche laden falls benoetigt
$zeitwunsch=null;
if ($type=='lektor' || $aktion=='lva_single_search' || $aktion=='lva_multi_search')
{
$wunsch=new zeitwunsch($conn);
if ($type=='lektor')
if ($wunsch->loadPerson($pers_uid))
$zeitwunsch=$wunsch->zeitwunsch;
if ($aktion=='lva_single_search' || $aktion=='lva_multi_search')
if ($wunsch->loadLVA($lva_id))
$zeitwunsch=$wunsch->zeitwunsch;
}
// Zusaetzliche Daten laden
if (! $stdplan->load_data($type,$pers_uid,$ort,$stg_kz,$sem,$ver,$grp,$einheit_kurzbz) && $error_msg!='')
$error_msg.=$stdplan->errormsg;
//echo 'load_data'.$error_msg;
// Stundenplan einer Woche laden
if (! $stdplan->load_week($datum,$db_stpl_table))
$error_msg.=$stdplan->errormsg;
while ($begin<=$ende)
{
$stdplan->init_stdplan();
$datum=$begin;
$begin+=604800; // eine Woche
//echo '<label>'.date("Y-m-d - D",$datum).$datum.'</label>';
// Stundenplan einer Woche laden
if (! $stdplan->load_week($datum,$db_stpl_table))
$error_msg.=$stdplan->errormsg;
//echo 'load_week'.$error_msg;
if ($aktion=='lva_single_search' || $aktion=='lva_multi_search')
if (! $stdplan->load_lva_search($datum,$lva_id,$db_stpl_table, $aktion))
$error_msg.=$stdplan->errormsg;
else
$error_msg.=$stdplan->errormsg;
//echo 'load_lva_search'.$error_msg;
if ($aktion=='stpl_single_search')
if (! $stdplan->load_stpl_search($datum,$stpl_id,$db_stpl_table))
$error_msg.=$stdplan->errormsg;
//echo 'load_stpl_search'.$error_msg;
// Stundenplan der Woche drucken
$stdplan->draw_week_xul($semesterplan,$uid,$zeitwunsch);
}
//echo $error_msg;.$_SERVER["REQUEST_URI"]
?>
</vbox>
<label id="TimeTableWeekErrors"><?php echo htmlspecialchars($error_msg); ?></label>
<script type="application/x-javascript">
<?php
if ($error_msg!='')
echo "alert('$error_msg');";
?>
top.document.getElementById("statusbarpanel-text").setAttribute("label","<?php echo htmlspecialchars($PHP_SELF.$error_msg); ?>");
</script>
</window>
+101
View File
@@ -0,0 +1,101 @@
<?php
// 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");
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
//echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
include('../vilesci/config.inc.php');
include('../include/functions.inc.php');
include('../include/lehrstunde.class.php');
include('../include/stundenplan.class.php');
// Testumgebung
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
// Variablen uebernehmen
if (isset($_GET[aktion]))
$aktion=$_GET[aktion];
if (isset($_GET[new_stunde]))
$new_stunde=$_GET[new_stunde];
if (isset($_GET[new_datum]))
$new_datum=$_GET[new_datum];
if (isset($_GET[type]))
$type=$_GET[type];
if (isset($_GET[ort_kurzbz]))
$ort_kurzbz=$_GET[ort_kurzbz];
else
$ort_kurzbz='EDV6.08';
$i=0;
$name_stpl_id='stundenplan_id'.$i;
while ($i<100 && isset($_GET[$name_stpl_id]))
{
$stpl_id[]=$_GET[$name_stpl_id];
//echo $stpl_id[$i];
$name_stpl_id='stundenplan_id'.++$i;
}
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$error_msg.=loadVariables($conn,$REMOTE_USER);
// Authentifizierung
if ($uid=check_student($REMOTE_USER, $conn))
$user='student';
elseif ($uid=check_lektor($REMOTE_USER, $conn))
$user='lektor';
else
die("Cannot set usertype!");
// User bestimmen
if (!isset($type))
$type=$user;
if (!isset($pers_uid))
$pers_uid=$uid;
// Datums Format
$erg_std=pg_query($conn, "SET datestyle TO ISO;")
or die(pg_last_error($conn));
// Aktionen durchfuehren
if ($aktion=='stplverschieben')
{
foreach ($stpl_id as $stundenplan_id)
{
$lehrstunde=new lehrstunde($conn);
$lehrstunde->load($stundenplan_id,$db_stpl_table);
$lehrstunde->datum=$new_datum;
$lehrstunde->stunde=$new_stunde;
$lehrstunde->save($db_stpl_table);
}
}
// Stundenplan abfragen
$stdplan=new stundenplan($type,$conn);
if (!isset($datum))
$datum=mktime();
// Benutzergruppe
$stdplan->user=$user;
// aktueller Benutzer
$stdplan->user_uid=$uid;
// Zusaetzliche Daten laden
if (! $stdplan->load_data($type,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$einheit_kurzbz,$db_table) )
die($stdplan->errormsg);
// Stundenplan einer Woche laden
if (! $stdplan->load_week($datum,$db_stpl_table))
die($stdplan->errormsg);
// Kopfbereich drucken
// Stundenplan der Woche in RDF drucken
$stdplan->draw_week_rdf();
?>