- MitarbeiterModul FASo

- Jahresplan aktualisiert
This commit is contained in:
Andreas Österreicher
2007-06-27 15:22:57 +00:00
parent 51a853bd30
commit 452e6fa460
20 changed files with 1796 additions and 123 deletions
+5 -4
View File
@@ -1,6 +1,8 @@
AuthName "Technikum-Wien"
AuthType Basic
AuthLDAPURL ldap://pdc1.technikum-wien.at/ou=People,dc=technikum-wien,dc=at?uid?one?objectClass=posixAccount
AuthType Basic
AuthLDAPURL ldap://ldap.technikum-wien.at/ou=People,dc=technikum-wien,dc=at?uid?one?objectclass=posixAccount
AuthLDAPGroupAttributeIsDN Off
AuthLDAPGroupAttribute memberuid
require group cn=fhadmin,ou=Group,dc=technikum-wien,dc=at
require user trob
require user wahl
@@ -33,5 +35,4 @@ require user kubicka
require user lehner
require user schwarzl
require user horauer
require user nestlang
require user ruhan
require user me
-1
View File
@@ -19,7 +19,6 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
echo 'test';
require_once('../config.inc.php');
require_once('../../include/globals.inc.php');
require_once('../../include/functions.inc.php');
+1
View File
@@ -26,6 +26,7 @@ require_once('../include/functions.inc.php');
require_once('../include/person.class.php');
require_once('../include/benutzerberechtigung.class.php');
$PHP_SELF = $_SERVER['PHP_SELF'];
echo "<html><body>";
//wandelt einen String in HEX-Werte um
function strhex($string)
+30 -7
View File
@@ -24,6 +24,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/fas/benutzer.class.php');
require_once('../include/benutzerberechtigung.class.php');
// Testumgebung
$user=get_uid();
@@ -38,6 +39,10 @@ $error_msg.=loadVariables($conn,$user);
$benutzer = new benutzer($conn);
if(!$benutzer->loadVariables($user))
$error_msg = $benutzer->errormsg;
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';*/
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css" ?>';
@@ -211,14 +216,32 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<hbox flex="1">
<tabbox id="tabbox-left" orient="vertical" flex="1">
<tabs orient="horizontal">
<tab id="tab-verband" label="Verband" />
<tab id="tab-fachbereich" label="Fachbereich" />
<tab id="tab-lektor" label="Lektor" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '<tab id="tab-verband" label="Verband" />';
echo '<tab id="tab-fachbereich" label="Fachbereich" />';
echo '<tab id="tab-lektor" label="Lektor" />';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tab id="tab-menu-mitarbeiter" label="Mitarbeiter" />';
}
?>
</tabs>
<tabpanels id="tabpanels-left" flex="1">
<tree id="tree-verband" />
<tree id="tree-fachbereich" />
<tree id="tree-lektor" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '<tree id="tree-verband" />';
echo '<tree id="tree-fachbereich" />';
echo '<tree id="tree-lektor" />';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tree id="tree-menu-mitarbeiter"/>';
}
?>
</tabpanels>
</tabbox>
<splitter collapse="before" persist="state">
@@ -229,7 +252,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<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-db_table" label="<?php echo substr(CONN_STRING,strpos(CONN_STRING,'dbname=')+7,strpos(CONN_STRING,'user=')-strpos(CONN_STRING,'dbname=')-7); ?>"/>
<statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" />
<statusbarpanel id="progress-panel" class="statusbarpanel-progress">
<progressmeter id="statusbar-progressmeter" class="progressmeter-statusbar" mode="determined" value="0%"/>
+1 -1
View File
@@ -53,7 +53,7 @@ $error = false;
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin'))
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter'))
{
$return = false;
$errormsg = 'Keine Berechtigung';
+126 -11
View File
@@ -22,11 +22,22 @@
header("Content-type: application/vnd.mozilla.xul+xml");
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
include('../vilesci/config.inc.php');
require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Herstellen der DB Verbindung');
$user = get_uid();
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul.php"?>';
/*echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-week-overlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.xul.php"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
@@ -36,7 +47,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<!DOCTYPE overlay >
<!-- [<?php require_once("../locale/de-AT/tempus.dtd"); ?>] -->
<overlay id="TempusOverlay"
<overlay id="FasOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
@@ -169,6 +180,90 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
</template>
</tree>
<tree id="tree-menu-mitarbeiter" onselect="onMitarbeiterSelect();"
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>
<vbox id="vbox-main">
<popupset>
<popup id="fasoverlay-lektor-tree-popup">
@@ -177,17 +272,37 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
</popupset>
<tabbox id="tabbox-main" flex="3" orient="vertical">
<tabs orient="horizontal">
<tab id="tab-interessenten" label="Interessenten"/>
<tab id="tab-studenten" label="Studenten"/>
<tab id="tab-lfvt" label="Lehrveranstaltungen" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '<tab id="tab-interessenten" label="Interessenten"/>';
echo '<tab id="tab-studenten" label="Studenten"/>';
echo '<tab id="tab-lfvt" label="Lehrveranstaltungen" />';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tab id="tab-mitarbeiter" label="Mitarbeiter" oncommand="MitarbeiterTabSelect()" />';
}
?>
</tabs>
<tabpanels id="tabpanels-main" flex="1">
<!-- Interessenten -->
<vbox id="InteressentenEditor" />
<!-- Studenten -->
<vbox id="studentenEditor" />
<!-- Lehrfachverteilung -->
<vbox id="LehrveranstaltungEditor" />
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung'))
{
echo '
<!-- Interessenten -->
<vbox id="InteressentenEditor" />
<!-- Studenten -->
<vbox id="studentenEditor" />
<!-- Lehrfachverteilung -->
<vbox id="LehrveranstaltungEditor" />
';
}
if($rechte->isBerechtigt('admin','0') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<vbox id="MitarbeiterEditor" />';
}
?>
</tabpanels>
</tabbox>
</vbox>
+146
View File
@@ -0,0 +1,146 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// ****************************************
// * Script sorgt fuer den Datenbanzugriff
// * der folgender FASonline Daten:
// *
// * - Adressen
// * - Kontakte
// * - Bankverbindungen
// ****************************************
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/log.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
$user = get_uid();
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$return = false;
$errormsg = 'unknown';
$data = '';
$error = false;
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin','0') && !$rechte->isBerechtigt('mitarbeiter'))
{
$return = false;
$errormsg = 'Keine Berechtigung';
$data = '';
$error = true;
}
if(!$error)
{
//in der Variable type wird die auszufuehrende Aktion mituebergeben
if(isset($_POST['type']) && $_POST['type']=='mitarbeitersave')
{
//Speichert die Mitarbeiterdaten
$mitarbeiter = new mitarbeiter($conn, null, true);
if($mitarbeiter->load($_POST['uid']))
{
//Werte zuweisen
$mitarbeiter->anrede = $_POST['anrede'];
$mitarbeiter->titelpre = $_POST['titelpre'];
$mitarbeiter->titelpost = $_POST['titelpost'];
$mitarbeiter->vorname = $_POST['vorname'];
$mitarbeiter->vornamen = $_POST['vornamen'];
$mitarbeiter->nachname = $_POST['nachname'];
$mitarbeiter->gebdatum = $_POST['geburtsdatum'];
$mitarbeiter->gebort = $_POST['geburtsort'];
$mitarbeiter->gebzeit = $_POST['geburtszeit'];
$mitarbeiter->anmerkungen = $_POST['anmerkungen'];
$mitarbeiter->homepage = $_POST['homepage'];
$mitarbeiter->svnr = $_POST['svnr'];
$mitarbeiter->ersatzkennzeichen = $_POST['ersatzkennzeichen'];
$mitarbeiter->familienstand = $_POST['familienstand'];
$mitarbeiter->geschlecht = $_POST['geschlecht'];
$mitarbeiter->aktiv = ($_POST['aktiv']=='true'?true:false);
$mitarbeiter->anzahlkinder = $_POST['anzahlderkinder'];
$mitarbeiter->staatsbuergerschaft = $_POST['staatsbuergerschaft'];
$mitarbeiter->geburtsnation = $_POST['geburtsnation'];
$mitarbeiter->sprache = $_POST['sprache'];
$mitarbeiter->kurzbz = $_POST['kurzbezeichnung'];
$mitarbeiter->stundensatz = $_POST['stundensatz'];
$mitarbeiter->telefonklappe = $_POST['telefonklappe'];
$mitarbeiter->lektor = ($_POST['lektor']=='true'?true:false);
$mitarbeiter->fixangestellt = ($_POST['fixangestellt']=='true'?true:false);
$mitarbeiter->ausbildungcode = $_POST['ausbildung'];
$mitarbeiter->anmerkung = $_POST['anmerkung'];
$mitarbeiter->ort_kurzbz = $_POST['ort_kurzbz'];
$mitarbeiter->standort_kurzbz = $_POST['standort_kurzbz'];
$mitarbeiter->alias = $_POST['alias'];
if($mitarbeiter->save())
{
$return = true;
}
else
{
$errormsg = $mitarbeiter->errormsg;
$return = false;
}
}
else
{
$errormsg = $mitarbeiter->errormsg;
$return = false;
}
}
else
{
$return = false;
$errormsg = 'Unkown type';
$data = '';
}
}
//RDF mit den Returnwerden ausgeben
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:DBDML="http://www.technikum-wien.at/dbdml/rdf#"
>
<RDF:Seq RDF:about="http://www.technikum-wien.at/dbdml/msg">
<RDF:li>
<RDF:Description RDF:about="http://www.technikum-wien.at/dbdml/0" >
<DBDML:return>'.($return?'true':'false').'</DBDML:return>
<DBDML:errormsg><![CDATA['.$errormsg.']]></DBDML:errormsg>
<DBDML:data><![CDATA['.$data.']]></DBDML:data>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</RDF:RDF>
';
?>
@@ -0,0 +1,267 @@
<?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");
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<!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="mitarbeiter-detail-stammdaten" flex="1" style="overflow:auto">
<textbox id="mitarbeiter-detail-textbox-person_id" hidden="true" />
<groupbox id='groupbox-personendaten'>
<!--PersonenDaten-->
<caption label="Personendaten" />
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="16" size="16"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128"/>
</row>
<row>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum"/>
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true"/>
<!--<textbox id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" maxlength="10" size="10" tooltiptext="Format: JJJJ-MM-DD Beispiel: 1970-01-31"/>-->
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30"/></hbox>
</row>
<row>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="10" size="10"/></hbox>
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft"/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation"/>
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand"/>
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true">
<menupopup>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwittwet"/>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<spacer flex="1" />
</hbox>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" width="60" height="60" style="margin-left:5px;"/>
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256"/></vbox>
</row>
</rows>
</grid>
</groupbox>
<!-- MITARBEITER DATEN -->
<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="mitarbeiter-detail-textbox-personalnummer" value="Personalnummer:"/>
<textbox id="mitarbeiter-detail-textbox-personalnummer" size="10" maxlength="10" disabled="true"/>
<label align="end" control="mitarbeiter-detail-textbox-kurzbezeichnung" value="Kurzbezeichnung:"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-kurzbezeichnung" class="pflichtfeld" size="10" maxlength="10" disabled="true"/>
<spacer />
</hbox>
<spacer />
<checkbox label="Lektor" id="mitarbeiter-detail-checkbox-lektor" checked="false" disabled="true"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz:"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe:"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true"/>
<spacer />
</hbox>
<spacer />
<checkbox label="Fixangestellt" id="mitarbeiter-detail-checkbox-fixangestellt" checked="false" disabled="true"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-menulist-ort_kurzbz" value="Buero"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-ort_kurzbz" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/orte.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ort/liste">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"
value="rdf:http://www.technikum-wien.at/ort/rdf#ort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true"
ref="http://www.technikum-wien.at/standort/liste">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_kurzbz"/>
</menupopup>
</template>
</menulist>
<spacer flex="1"/>
</vbox>
<label align="end" control="mitarbeiter-detail-menulist-ausbildung" value="Ausbildung:"/>
<menulist id="mitarbeiter-detail-menulist-ausbildung" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/ausbildung.rdf.php?optional=true"
ref="http://www.technikum-wien.at/ausbildung/alle" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/ausbildung/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/ausbildung/rdf#code"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-mitarbeiteranmerkung"/>
<textbox id="mitarbeiter-detail-textbox-mitarbeiteranmerkung" disabled="true" multiline="true"/>
<label value="Alias" control="mitarbeiter-detail-textbox-alias"/>
<vbox>
<textbox id="mitarbeiter-detail-textbox-alias" disabled="true"/>
<spacer />
</vbox>
</row>
</rows>
</grid>
<hbox class="style-groupbox">
</hbox>
</groupbox>
</hbox>
<hbox>
<spacer flex="1"/>
<button id="mitarbeiter-detail-button-speichern" disabled="true" label="Speichern" oncommand="MitarbeiterSave();"/>
</hbox>
</vbox>
</overlay>
@@ -0,0 +1,521 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// *********** Globale Variablen *****************//
var MitarbeiterSelectUid=null; //UID des zu selektierenden Mitarbeiters
var MitarbeiterTreeLoadDataOnSelect=true; // Gibt an ob die Details beim markieren eines Mitarbeiters geladen werden sollen
// ********** Observer und Listener ************* //
// ****
// * Observer fuer Mitarbeiter Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var MitarbeiterTreeSinkObserver =
{
onBeginLoad : function(pSink)
{
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('mitarbeiter-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Mitarbeiter wieder
// * markiert
// ****
var MitarbeiterTreeListener =
{
willRebuild : function(builder)
{
},
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10);
}
};
// ****************** FUNKTIONEN ************************** //
// ****
// * Wenn der Mitarbeiter Tab markiert wird, dann wird
// * automatisch der Mitarbeiter Reiter im linken Tree
// * markiert.
// ****
function MitarbeiterTabSelect()
{
//Index des Mitarbeiter Tabs ermitteln
//Tab markieren
}
// ****
// * Beim Auswaehlen eines Mitarbeiter-Filters werden die Mitarbeiter
// * die diesem Filter entsprechen geladen
// ****
function onMitarbeiterSelect()
{
var tree=document.getElementById('tree-menu-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/personal.rdf.php";
var attributes="?type=unknown";
if(filter=="")
filter="Studiengangsleiter";
if (filter=="Studiengangsleiter")
{
attributes+="&stgl=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Fachbereichsleiter")
{
attributes+="&fbl=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Alle")
{
attributes+="&alle=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="Aktive")
{
attributes+="&aktiv=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="FixAngestellte")
{
attributes+="&fix=true&aktiv=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="FixAngestellteAlle")
{
attributes+="&fix=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="Inaktive")
{
attributes+="&aktiv=false";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Karenziert")
{
attributes+="&karenziert=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="Ausgeschieden")
{
attributes+="&ausgeschieden=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=true;
}
if (filter=="FreiAngestellte")
{
attributes+="&fix=false&aktiv=true";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
if (filter=="FreiAngestellteAlle")
{
attributes+="&fix=false";
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
}
//Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein
//Observer Event ausgeloest wird.
url+=attributes+'&'+gettimestamp();
//Mitarbeiter Detail Felder deaktivieren
MitarbeiterDetailDisableFields(true);
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('mitarbeiter-tree');
///Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
try
{
MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
tree.builder.removeListener(MitarbeiterTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(MitarbeiterTreeDatasource);
MitarbeiterTreeDatasource.addXMLSinkObserver(MitarbeiterTreeSinkObserver);
tree.builder.addListener(MitarbeiterTreeListener);
}
// ****
// * Selectiert den Mitarbeiter nachdem der Tree
// * rebuildet wurde.
// ****
function MitarbeiterTreeSelectMitarbeiter()
{
var tree=document.getElementById('mitarbeiter-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist der zu selektierende Mitarbeiter gespeichert
if(MitarbeiterSelectUid!=null)
{
for(var i=0;i<items;i++)
{
//Uid der row holen
col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
uid=tree.view.getCellText(i,col);
if(uid == MitarbeiterSelectUid)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
}
document.getElementById('mitarbeiter-toolbar-label-anzahl').value='Anzahl: '+items;
}
// ****
// * De-/Aktiviert die Mitarbeiter Detail Felder
// ****
function MitarbeiterDetailDisableFields(val)
{
//document.getElementById('mitarbeiter-detail-textbox-uid').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-aktiv').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anrede').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-titelpre').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-titelpost').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-nachname').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-vorname').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-vornamen').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-geburtsort').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-geburtszeit').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-svnr').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-geburtsnation').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-sprache').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-geschlecht').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-familienstand').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').disabled=val;
document.getElementById('mitarbeiter-detail-button-image-upload').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anmerkung').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-homepage').disabled=val;
//document.getElementById('mitarbeiter-detail-textbox-personalnummer').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-lektor').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-stundensatz').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-telefonklappe').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-standort').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').disabled=val;
document.getElementById('mitarbeiter-detail-menulist-ausbildung').disabled=val;
document.getElementById('mitarbeiter-detail-button-speichern').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-alias').disabled=val;
}
function MitarbeiterAuswahl()
{
if(!MitarbeiterTreeLoadDataOnSelect)
{
MitarbeiterTreeLoadDataOnSelect=true;
return true;
}
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('mitarbeiter-tree');
if (tree.currentIndex==-1) return;
try
{
//Ausgewaehlte UID holen
var col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
var uid=tree.view.getCellText(tree.currentIndex,col);
if(uid!='')
{
//Aktivieren der Felder
MitarbeiterDetailDisableFields(false);
}
else
{
return false;
}
}
catch(e)
{
alert(e);
return false;
}
var url = '<?php echo APP_ROOT ?>rdf/personal.rdf.php?uid='+uid+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/mitarbeiter/" + uid);
var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
//Daten holen
anrede = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anrede" ));
titelpre=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpre" ));
titelpost=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titelpost" ));
vorname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vorname" ));
vornamen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vornamen" ));
nachname=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachname" ));
geburtsdatum=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsdatum" ));
geburtsort=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsort" ));
geburtszeit=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtszeit" ));
anmerkungen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkungen" ));
homepage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homepage" ));
svnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#svnr" ));
ersatzkennzeichen=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ersatzkennzeichen" ));
familienstand=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#familienstand" ));
geschlecht=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geschlecht" ));
aktiv=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aktiv" ));
anzahlderkinder=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahlkinder" ));
staatsbuergerschaft=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#staatsbuergerschaft" ));
geburtsnation=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsnation" ));
sprache=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sprache" ));
person_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
personalnummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personalnummer" ));
kurzbezeichnung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kurzbz" ));
stundensatz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
telefonklappe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#telefonklappe" ));
lektor=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lektor" ));
fixangestellt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
ausbildung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausbildung" ));
anmerkung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
ort_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ort_kurzbz" ));
standort_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_kurzbz" ));
alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" ));
//Daten den Feldern zuweisen
//Personendaten
document.getElementById('mitarbeiter-detail-textbox-uid').value=uid;
document.getElementById('mitarbeiter-detail-textbox-anrede').value=anrede;
document.getElementById('mitarbeiter-detail-textbox-titelpre').value=titelpre;
document.getElementById('mitarbeiter-detail-textbox-titelpost').value=titelpost;
document.getElementById('mitarbeiter-detail-textbox-vorname').value=vorname;
document.getElementById('mitarbeiter-detail-textbox-vornamen').value=vornamen;
document.getElementById('mitarbeiter-detail-textbox-nachname').value=nachname;
document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value=geburtsdatum;
document.getElementById('mitarbeiter-detail-textbox-geburtsort').value=geburtsort;
document.getElementById('mitarbeiter-detail-textbox-geburtszeit').value=geburtszeit;
document.getElementById('mitarbeiter-detail-textbox-anmerkung').value=anmerkungen;
document.getElementById('mitarbeiter-detail-textbox-homepage').value=homepage;
document.getElementById('mitarbeiter-detail-textbox-svnr').value=svnr;
document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen;
document.getElementById('mitarbeiter-detail-menulist-familienstand').value=familienstand;
document.getElementById('mitarbeiter-detail-menulist-geschlecht').value=geschlecht;
if(aktiv=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=false;
document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').value=anzahlderkinder;
document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').value=staatsbuergerschaft;
document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value=geburtsnation;
document.getElementById('mitarbeiter-detail-menulist-sprache').value=sprache;
document.getElementById('mitarbeiter-detail-image').src='<?php echo APP_ROOT?>content/bild.php?src=person&person_id='+person_id+'&'+gettimestamp();
document.getElementById('mitarbeiter-detail-textbox-person_id').value=person_id;
//Mitarbeiterdaten
document.getElementById('mitarbeiter-detail-textbox-personalnummer').value=personalnummer;
document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value=kurzbezeichnung;
document.getElementById('mitarbeiter-detail-textbox-stundensatz').value=stundensatz;
document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value=telefonklappe;
if(lektor=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=false;
if(fixangestellt=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=false;
document.getElementById('mitarbeiter-detail-menulist-ausbildung').value=ausbildung;
document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value=anmerkung;
document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value=ort_kurzbz;
document.getElementById('mitarbeiter-detail-menulist-standort').value=standort_kurzbz;
document.getElementById('mitarbeiter-detail-textbox-alias').value=alias;
// ***** KONTAKTE *****
document.getElementById('mitarbeiter-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
}
// ****
// * Laedt ein Bild zu einer Person in die Datenbank
// ****
function MitarbeiterImageUpload()
{
person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
if(person_id!='')
{
window.open('<?php echo APP_ROOT; ?>content/bildupload.php?person_id='+person_id,'Bild Upload', 'height=10,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
alert('Es wurde keine Person ausgewaehlt');
}
// ****
// * Speichert die Mitarbeiterdaten
// ****
function MitarbeiterSave()
{
//Daten holen
uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
anrede = document.getElementById('mitarbeiter-detail-textbox-anrede').value;
titelpre = document.getElementById('mitarbeiter-detail-textbox-titelpre').value;
titelpost = document.getElementById('mitarbeiter-detail-textbox-titelpost').value;
vorname = document.getElementById('mitarbeiter-detail-textbox-vorname').value;
vornamen = document.getElementById('mitarbeiter-detail-textbox-vornamen').value;
nachname = document.getElementById('mitarbeiter-detail-textbox-nachname').value;
geburtsdatum = document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value;
geburtsort = document.getElementById('mitarbeiter-detail-textbox-geburtsort').value;
geburtszeit = document.getElementById('mitarbeiter-detail-textbox-geburtszeit').value;
anmerkungen = document.getElementById('mitarbeiter-detail-textbox-anmerkung').value;
homepage = document.getElementById('mitarbeiter-detail-textbox-homepage').value;
svnr = document.getElementById('mitarbeiter-detail-textbox-svnr').value;
ersatzkennzeichen = document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value;
familienstand = document.getElementById('mitarbeiter-detail-menulist-familienstand').value;
geschlecht = document.getElementById('mitarbeiter-detail-menulist-geschlecht').value;
aktiv = document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked;
anzahlderkinder = document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').value;
staatsbuergerschaft = document.getElementById('mitarbeiter-detail-menulist-staatsbuergerschaft').value;
geburtsnation = document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value;
sprache = document.getElementById('mitarbeiter-detail-menulist-sprache').value;
person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
//Mitarbeiterdaten
kurzbezeichnung = document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value;
stundensatz = document.getElementById('mitarbeiter-detail-textbox-stundensatz').value;
telefonklappe = document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value;
lektor = document.getElementById('mitarbeiter-detail-checkbox-lektor').checked;
fixangestellt = document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked;
ausbildung = document.getElementById('mitarbeiter-detail-menulist-ausbildung').value;
anmerkung = document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value;
ort_kurzbz = document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value;
standort_kurzbz = document.getElementById('mitarbeiter-detail-menulist-standort').value;
alias = document.getElementById('mitarbeiter-detail-textbox-alias').value;
if(geburtsdatum!='' && !CheckDatum(geburtsdatum))
{
alert('Geburtsdatum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'mitarbeitersave');
req.add('uid', uid);
req.add('anrede', anrede);
req.add('titelpre', titelpre);
req.add('titelpost', titelpost);
req.add('vorname', vorname);
req.add('vornamen', vornamen);
req.add('nachname', nachname);
req.add('geburtsdatum', geburtsdatum);
req.add('geburtsort', geburtsort);
req.add('geburtszeit', geburtszeit);
req.add('anmerkungen', anmerkungen);
req.add('homepage', homepage);
req.add('svnr', svnr);
req.add('ersatzkennzeichen', ersatzkennzeichen);
req.add('familienstand', familienstand);
req.add('geschlecht', geschlecht);
req.add('aktiv', aktiv);
req.add('anzahlderkinder', anzahlderkinder);
req.add('staatsbuergerschaft', staatsbuergerschaft);
req.add('geburtsnation', geburtsnation);
req.add('sprache', sprache);
req.add('kurzbezeichnung', kurzbezeichnung);
req.add('stundensatz', stundensatz);
req.add('telefonklappe', telefonklappe);
req.add('lektor', lektor);
req.add('fixangestellt', fixangestellt);
req.add('ausbildung', ausbildung);
req.add('anmerkung', anmerkung);
req.add('ort_kurzbz', ort_kurzbz);
req.add('standort_kurzbz', standort_kurzbz);
req.add('alias', alias);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
MitarbeiterSelectUid=uid;
MitarbeiterTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
}
@@ -0,0 +1,199 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
?>
<!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/mitarbeiter/mitarbeiteroverlay.js.php" />
<!-- **************** -->
<!-- * MITARBEITER * -->
<!-- **************** -->
<vbox id="MitarbeiterEditor" persist="height">
<hbox>
<toolbox flex="1">
<toolbar id="mitarbeiter-nav-toolbar">
<toolbarbutton id="mitarbeiter-toolbar-neu" label="Neu" oncommand="MitarbeiterNeu()" disabled="false" image="../skin/images/new.png" tooltiptext="Neuen Mitarbeiter anlegen"/>
<toolbarbutton id="mitarbeiter-toolbar-refresh" label="Aktualisieren" oncommand="MitarbeiterTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<spacer flex="1"/>
<label id="mitarbeiter-toolbar-label-anzahl"/>
</toolbar>
</toolbox>
</hbox>
<!-- ************ -->
<!-- * TREE * -->
<!-- ************ -->
<tree id="mitarbeiter-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="MitarbeiterAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
>
<treecols>
<treecol id="mitarbeiter-treecol-uid" label="UID" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-anrede" label="Anrede" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpre" label="TitelPre" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-nachname" label="Nachname" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vorname" label="Vorname" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vornamen" label="Vornamen" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpost" label="TitelPost" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-geburtsdatum" label="Geburtsdatum" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-svnr" label="SVNR" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-aktiv" label="Aktiv" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-personalnummer" label="PNr" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-kurzbz" label="Kurzbz" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-lektor" label="Lektor" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-fixangestellt" label="Fix" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-telefonklappe" label="Klappe" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ort_kurzbz" label="Buero" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-person_id" label="Person_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<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#nachname" />
<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#titelpost" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<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#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * TABS * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;" persist="height">
<tabbox id="mitarbeiter-tabbox" flex="3" orient="vertical">
<tabs orient="horizontal" id="mitarbeiter-tabs">
<tab id="mitarbeiter-tab-detail" label="Stammdaten" />
<tab id="mitarbeiter-tab-kontakt" label="Kontaktdaten" />
<tab id="mitarbeiter-tab-funktionen" label="Funktionen" />
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
<iframe id="mitarbeiter-kontakt" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-detail-funktionen" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
@@ -385,7 +385,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</grid>
</groupbox>
<groupbox id="interessent-detail-groupbox-rollen">
<caption label="Rollen" />
<caption label="Status" />
<tree id="interessent-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudentrolle/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px" enableColumnDrag="true"
+1 -1
View File
@@ -432,7 +432,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</grid>
</groupbox>
<groupbox id="student-detail-groupbox-rollen">
<caption label="Rollen" />
<caption label="Status" />
<tree id="student-prestudent-tree-rolle" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudentrolle/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px" enableColumnDrag="true"
+37 -1
View File
@@ -1,4 +1,25 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
function db_query($conn, $sql_query)
{
if (!$result=pg_query($conn, $sql_query))
@@ -109,7 +130,7 @@ function jump_week($datum, $wochen)
}
function jahreskalenderjump($link)
{
{
$crlf=crlf();
$datum=mktime();
$woche=kalenderwoche($datum);
@@ -201,4 +222,19 @@ function getStudiensemesterFromDatum($conn, $datum, $naechstes=true)
else
return false;
}
// ***************************************************************
// * Diese Funktion liefert sowohl bei UTF-8 als auch
// * bei Latin9 die richtige Anzahl der Zeichen
// * (das normale strlen liefert bei UTF-8 Zeichen falsche Werte.)
// ***************************************************************
function utf8_strlen($str)
{
$count = 0;
for ($i = 0; $i < strlen($str); ++$i)
if ((ord($str[$i]) & 0xC0) != 0x80)
++$count;
return $count;
}
?>
+94 -9
View File
@@ -19,7 +19,11 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* Benoetigt: person.class.php
* benutzer.class.php
* functions.inc.php
*/
class mitarbeiter extends benutzer
{
var $new;
@@ -36,6 +40,8 @@ class mitarbeiter extends benutzer
var $telefonklappe; //varchar(25)
var $ort_kurzbz; //varchar(8)
var $ext_id_mitarbeiter; //bigint
var $stundensatz;
var $anmerkung;
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional einen Mitarbeiter
@@ -80,11 +86,13 @@ class mitarbeiter extends benutzer
$this->ausbildungcode = $row->ausbildungcode;
$this->personalnummer = $row->personalnummer;
$this->kurzbz = $row->kurzbz;
$this->lektor = $row->lektor;
$this->fixangestellt = $row->fixangestellt;
$this->lektor = ($row->lektor=='t'?true:false);
$this->fixangestellt = ($row->fixangestellt=='t'?true:false);
$this->standort_kurzbz = $row->standort_kurzbz;
$this->telefonklappe = $row->telefonklappe;
$this->ort_kurzbz = $row->ort_kurzbz;
$this->stundensatz = $row->stundensatz;
$this->anmerkung = $row->anmerkung;
$this->ext_id_mitarbeiter = $row->ext_id;
return true;
}
@@ -107,7 +115,7 @@ class mitarbeiter extends benutzer
// ************************************************
function validate()
{
if(strlen($this->uid)>16)
if(utf8_strlen($this->uid)>16)
{
$this->errormsg = "ID darf nicht laenger als 16 Zeichen sein\n";
return false;
@@ -127,12 +135,12 @@ class mitarbeiter extends benutzer
$this->errormsg = "Personalnummer muss eine gueltige Zahl sein\n";
return false;
}
if(strlen($this->kurzbz)>8)
if(utf8_strlen($this->kurzbz)>8)
{
$this->errormsg = "kurzbz darf nicht laenger als 8 Zeichen sein\n";
return false;
}
if(strlen($this->ort_kurzbz)>8)
if(utf8_strlen($this->ort_kurzbz)>8)
{
$this->errormsg = "Ort_kurzbz darf nicht laenger als 8 Zeichen sein\n";
return false;
@@ -147,12 +155,12 @@ class mitarbeiter extends benutzer
$this->errormsg = "fixangestellt muss boolean sein\n";
return false;
}
if(strlen($this->telefonklappe)>25)
if(utf8_strlen($this->telefonklappe)>25)
{
$this->errormsg = "telefonklappe darf nicht laenger als 25 Zeichen sein\n";
return false;
}
if(strlen($this->updatevon)>32)
if(utf8_strlen($this->updatevon)>32)
{
$this->errormsg = "updatevon darf nicht laenger als 32 Zeichen sein\n";
return false;
@@ -185,7 +193,7 @@ class mitarbeiter extends benutzer
//Neuen Datensatz anlegen
$qry = "INSERT INTO public.tbl_mitarbeiter(mitarbeiter_uid, ausbildungcode, personalnummer, kurzbz, lektor, ort_kurzbz,
fixangestellt, standort_kurzbz, telefonklappe, updateamum, updatevon, ext_id)
fixangestellt, standort_kurzbz, telefonklappe, anmerkung, stundensatz updateamum, updatevon, ext_id)
VALUES('".addslashes($this->uid)."',".
$this->addslashes($this->ausbildungcode).",".
@@ -196,6 +204,8 @@ class mitarbeiter extends benutzer
($this->fixangestellt?'true':'false').','.
$this->addslashes($this->standort_kurzbz).','.
$this->addslashes($this->telefonklappe).','.
$this->addslashes($this->anmerkung).','.
$this->addslashes($this->stundensatz).','.
$this->addslashes($this->updateamum).','.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->ext_id_mitarbeiter).');';
@@ -212,6 +222,8 @@ class mitarbeiter extends benutzer
' standort_kurzbz='.$this->addslashes($this->standort_kurzbz).','.
' telefonklappe='.$this->addslashes($this->telefonklappe).','.
' ort_kurzbz='.$this->addslashes($this->ort_kurzbz).','.
' anmerkung='.$this->addslashes($this->anmerkung).','.
' stundensatz='.$this->addslashes($this->stundensatz).','.
' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).','.
' ext_id='.$this->addslashes($this->ext_id_mitarbeiter).
@@ -510,5 +522,78 @@ class mitarbeiter extends benutzer
return false;
}
}
function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $studiensemester_kurzbz)
{
$qry = "SELECT *, tbl_benutzer.aktiv as aktiv FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) WHERE true";
if($fix)
$qry .= " AND fixangestellt=true";
if($stgl)
$qry .= " AND funktion_kurzbz='stgl'";
if($fbl)
$qry .= " AND funktion_kurzbz='fbl'";
if($aktiv=='true')
$qry .= " AND tbl_benutzer.aktiv=true";
if($aktiv=='false')
$qry .= " AND tbl_benutzer.aktiv=false";
if($karenziert)
$qry .= " AND uid IN (SELECT mitarbeiter_uid FROM bis.tbl_bisverwendung WHERE beginn<(SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz') AND ende<(SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz'))";
if($ausgeschieden)
{
//ToDo:
}
//echo $qry;
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new mitarbeiter($this->conn, null, null);
$obj->person_id = $row->person_id;
$obj->staatsbuergerschaft = $row->staatsbuergerschaft;
$obj->geburtsnation = $row->geburtsnation;
$obj->sprache = $row->sprache;
$obj->anrede = $row->anrede;
$obj->titelpost = $row->titelpost;
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
$obj->gebzeit = $row->gebzeit;
$obj->anmerkungen = $row->anmerkungen;
$obj->homepage = $row->anmerkungen;
$obj->svnr = $row->svnr;
$obj->ersatzkennzeichen = $row->ersatzkennzeichen;
$obj->familienstand = $row->familienstand;
$obj->geschlecht = $row->geschlecht;
$obj->anzahlkinder = $row->anzahlkinder;
$obj->aktiv = ($row->aktiv=='t'?true:false);
$obj->uid = $row->uid;
$obj->personalnummer = $row->personalnummer;
$obj->telefonklappe = $row->telefonklappe;
$obj->kurzbz = $row->kurzbz;
$obj->lektor = ($row->lektor=='t'?true:false);
$obj->fixangestellt = ($row->fixangestellt=='t'?true:false);
$obj->stundensatz = $row->stundensatz;
$obj->ausbildungcode = $row->ausbildungcode;
$obj->ort_kurzbz = $row->ort_kurzbz;
$obj->standort_kurzbz = $row->standort_kurzbz;
$obj->anmerkung = $row->anmerkung;
$obj->alias = $row->alias;
$this->result[] = $obj;
}
return false;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+29 -8
View File
@@ -41,16 +41,33 @@ class ort
var $lageplan; // @var oid
var $dislozierung; // @var smallint
var $kosten; // @var numeric(8,2)
var $reservieren;
var $ausstattung;
/**
* Konstruktor
* @param $conn Connection zur DB
* $fachb_id ID des zu ladenden Ortes
* $ort_kurzbz Kurzbz des zu ladenden Ortes
*/
function ort($conn, $ort_kurzbz=null)
function ort($conn, $ort_kurzbz=null, $unicode=false)
{
$this->conn = $conn;
if($unicode!=null)
{
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE'";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9'";
if(!pg_query($this->conn, $qry))
{
$this->errormsg ='Fehler beim Setzen des Encodings';
return false;
}
}
if($ort_kurzbz != null)
$this->load($ort_kurzbz);
}
@@ -77,11 +94,13 @@ class ort
$ort_obj->bezeichnung = $row->bezeichnung;
$ort_obj->planbezeichnung = $row->planbezeichnung;
$ort_obj->max_person = $row->max_person;
$ort_obj->aktiv = $row->aktiv;
$ort_obj->lehre = $row->lehre;
$ort_obj->aktiv = ($row->aktiv=='t'?true:false);
$ort_obj->lehre = ($row->lehre=='t'?true:false);
$ort_obj->lageplan = $row->lageplan;
$ort_obj->dislozierung = $row->dislozierung;
$ort_obj->kosten = $row->kosten;
$ort_obj->reservieren = ($row->reservieren=='t'?true:false);
$ort_obj->ausstattung = $row->ausstattung;
$this->result[] = $ort_obj;
}
@@ -115,11 +134,13 @@ class ort
$this->bezeichnung = $row->bezeichnung;
$this->planbezeichnung = $row->planbezeichnung;
$this->max_person = $row->max_person;
$this->aktiv = $row->aktiv;
$ort_obj->lehre = $row->lehre;
$this->aktiv = ($row->aktiv=='t'?true:false);
$ort_obj->lehre = ($row->lehre=='t'?true:false);
$this->lageplan = $row->lageplan;
$this->dislozierung = $row->dislozierung;
$this->kosten = $row->kosten;
$this->dislozierung = $row->dislozierung;
$this->kosten = $row->kosten;
$this->reservieren = ($row->reservieren=='t'?true:false);
$this->ausstattung = $row->ausstattung;
}
else
{
+20 -17
View File
@@ -19,6 +19,9 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* Benoetigt functions.inc.php
*/
class person
{
@@ -156,27 +159,27 @@ class person
// *******************************************
function validate()
{
if(strlen($this->sprache)>16)
if(utf8_strlen($this->sprache)>16)
{
$this->errormsg = "*****\nSprache darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->anrede)>16)
if(utf8_strlen($this->anrede)>16)
{
$this->errormsg = "*****\nAnrede darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->titelpost)>32)
if(utf8_strlen($this->titelpost)>32)
{
$this->errormsg = "*****\nTitelpost darf nicht laenger als 32 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->titelpre)>64)
if(utf8_strlen($this->titelpre)>64)
{
$this->errormsg = "*****\nTitelpre darf nicht laenger als 64 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->nachname)>64)
if(utf8_strlen($this->nachname)>64)
{
$this->errormsg = "*****\nNachname darf nicht laenger als 64 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
@@ -187,12 +190,12 @@ class person
return false;
}
if(strlen($this->vorname)>32)
if(utf8_strlen($this->vorname)>32)
{
$this->errormsg = "*****\nVorname darf nicht laenger als 32 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->vornamen)>128)
if(utf8_strlen($this->vornamen)>128)
{
$this->errormsg = "*****\nVornamen darf nicht laenger als 128 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
@@ -203,28 +206,28 @@ class person
$this->errormsg = "Geburtsdatum muss eingegeben werden\n";
return false;
}*/
if(strlen($this->gebort)>128)
if(utf8_strlen($this->gebort)>128)
{
$this->errormsg = "*****\nGeburtsort darf nicht laenger als 128 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->homepage)>256)
if(utf8_strlen($this->homepage)>256)
{
$this->errormsg = "*****\nHomepage darf nicht laenger als 256 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->svnr)>10)
if(utf8_strlen($this->svnr)>10)
{
$this->errormsg = "*****\nSVNR darf nicht laenger als 10 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->ersatzkennzeichen)>10)
if(utf8_strlen($this->ersatzkennzeichen)>10)
{
$this->errormsg = "*****\nErsatzkennzeichen darf nicht laenger als 10 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->familienstand)>1)
if(utf8_strlen($this->familienstand)>1)
{
$this->errormsg = "*****\nFamilienstand ist ungueltig: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
@@ -239,12 +242,12 @@ class person
$this->errormsg = "*****\nAktiv ist ungueltig: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->insertvon)>16)
if(utf8_strlen($this->insertvon)>16)
{
$this->errormsg = "*****\nInsertvon darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->updatevon)>16)
if(utf8_strlen($this->updatevon)>16)
{
$this->errormsg = "*****\nUpdatevon darf nicht laenger als 16 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
@@ -254,17 +257,17 @@ class person
$this->errormsg = "*****\nExt_ID ist keine gueltige Zahl: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->geschlecht)>1)
if(utf8_strlen($this->geschlecht)>1)
{
$this->errormsg = "*****\ngeschlecht darf nicht laenger als 1 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->geburtsnation)>3)
if(utf8_strlen($this->geburtsnation)>3)
{
$this->errormsg = "*****\nGeburtsnation darf nicht laenger als 3 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
}
if(strlen($this->staatsbuergerschaft)>3)
if(utf8_strlen($this->staatsbuergerschaft)>3)
{
$this->errormsg = "*****\nStaatsbuergerschaft darf nicht laenger als 3 Zeichen sein: ".$this->nachname.", ".$this->vorname."\n*****\n";
return false;
+1 -1
View File
@@ -466,7 +466,7 @@ class prestudent extends person
if($semester!=null)
$qry.=" AND tbl_prestudentrolle.ausbildungssemester='$semester'";
//echo $qry;
echo $qry;
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
+79 -61
View File
@@ -1,80 +1,98 @@
<?php
/*
* Created on 02.12.2004
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
// DAO
include('../vilesci/config.inc.php');
header("Content-type: application/xhtml+xml");
require_once('../vilesci/config.inc.php');
require_once('../include/ort.class.php');
if (!$conn = @pg_pconnect(CONN_STRING))
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
// 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_url='http://www.technikum-wien.at/ort';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ORT="<?php echo $rdf_url; ?>/rdf#"
xmlns:ORT="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
<?php
$descr='';
$sequenz='';
for ($i=0;$i<$num_rows;$i++)
if(isset($_GET['optional']) && $_GET['optional']=='true')
{
$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";
echo '
<RDF:li>
<RDF:Description id="" about="" >
<ORT:ort_kurzbz><![CDATA[-- keine Auswahl --]]></ORT:ort_kurzbz>
<ORT:bezeichnung><![CDATA[]]></ORT:bezeichnung>
<ORT:planbezeichnung><![CDATA[]]></ORT:planbezeichnung>
<ORT:max_person><![CDATA[]]></ORT:max_person>
<ORT:lehre><![CDATA[]]></ORT:lehre>
<ORT:reservieren><![CDATA[]]></ORT:reservieren>
<ORT:aktiv><![CDATA[]]></ORT:aktiv>
<ORT:lageplan><![CDATA[]]></ORT:lageplan>
<ORT:dislozierung><![CDATA[]]></ORT:dislozierung>
<ORT:kosten><![CDATA[]]></ORT:kosten>
<ORT:ausstattung><![CDATA[]]></ORT:ausstattung>
</RDF:Description>
</RDF:li>';
}
//Daten holen
$ortobj = new ort($conn);
$ortobj->getAll();
foreach ($ortobj->result as $row)
draw_content($row);
function draw_content($row)
{
global $rdf_url, $datum;
echo '
<RDF:li>
<RDF:Description id="'.$row->ort_kurzbz.'" about="'.$rdf_url.'/'.$row->ort_kurzbz.'" >
<ORT:ort_kurzbz><![CDATA['.$row->ort_kurzbz.']]></ORT:ort_kurzbz>
<ORT:bezeichnung><![CDATA['.$row->bezeichnung.']]></ORT:bezeichnung>
<ORT:planbezeichnung><![CDATA['.$row->planbezeichnung.']]></ORT:planbezeichnung>
<ORT:max_person><![CDATA['.$row->max_person.']]></ORT:max_person>
<ORT:lehre><![CDATA['.($row->lehre?'Ja':'Nein').']]></ORT:lehre>
<ORT:reservieren><![CDATA['.($row->reservieren?'Ja':'Nein').']]></ORT:reservieren>
<ORT:aktiv><![CDATA['.($row->aktiv?'Ja':'Nein').']]></ORT:aktiv>
<ORT:lageplan><![CDATA['.$row->lageplan.']]></ORT:lageplan>
<ORT:dislozierung><![CDATA['.$row->dislozierung.']]></ORT:dislozierung>
<ORT:kosten><![CDATA['.$row->kosten.']]></ORT:kosten>
<ORT:ausstattung><![CDATA['.$row->ausstattung.']]></ORT:ausstattung>
</RDF:Description>
</RDF:li>';
}
$sequenz='<RDF:Seq about="'.$rdf_url.'/alle-orte">'."\n".$sequenz.'
</RDF:Seq>';
echo $descr;
echo $sequenz;
?>
</RDF:Seq>
</RDF:RDF>
+158
View File
@@ -0,0 +1,158 @@
<?php
/* Copyright (C) 2004 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header for no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
// DAO
include('../vilesci/config.inc.php');
require_once('../include/person.class.php');
require_once('../include/benutzer.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/functions.inc.php');
require_once('../include/datum.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$user = get_uid();
$datum = new datum();
loadVariables($conn, $user);
if(isset($_GET['uid']))
$uid = $_GET['uid'];
else
$uid=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;
$rdf_url='http://www.technikum-wien.at/mitarbeiter';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:MITARBEITER="'.$rdf_url.'/rdf#"
>
<RDF:Seq RDF:about="'.$rdf_url.'/alle">
';
// Mitarbeiter holen
$mitarbeiterDAO=new mitarbeiter($conn, null, true);
if($uid==null)
{
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $semester_aktuell);
foreach ($mitarbeiterDAO->result as $mitarbeiter)
draw_row($mitarbeiter);
}
else
{
$mitarbeiterDAO->load($uid);
draw_row($mitarbeiterDAO);
}
function draw_row($mitarbeiter)
{
global $rdf_url, $datum;
echo '
<RDF:li>
<RDF:Description RDF:about="'.$rdf_url.'/'.$mitarbeiter->uid.'" >
<MITARBEITER:person_id NC:parseType="Integer"><![CDATA['.$mitarbeiter->person_id.']]></MITARBEITER:person_id>
<MITARBEITER:nachname><![CDATA['.$mitarbeiter->nachname.']]></MITARBEITER:nachname>
<MITARBEITER:vorname><![CDATA['.$mitarbeiter->vorname.']]></MITARBEITER:vorname>
<MITARBEITER:vornamen><![CDATA['.$mitarbeiter->vornamen.']]></MITARBEITER:vornamen>
<MITARBEITER:anrede><![CDATA['.$mitarbeiter->anrede.']]></MITARBEITER:anrede>
<MITARBEITER:geschlecht><![CDATA['.$mitarbeiter->geschlecht.']]></MITARBEITER:geschlecht>
<MITARBEITER:geburtsdatum><![CDATA['.$datum->convertISODate($mitarbeiter->gebdatum).']]></MITARBEITER:geburtsdatum>
<MITARBEITER:geburtsdatum_iso><![CDATA['.$mitarbeiter->gebdatum.']]></MITARBEITER:geburtsdatum_iso>
<MITARBEITER:geburtsort><![CDATA['.$mitarbeiter->gebort.']]></MITARBEITER:geburtsort>
<MITARBEITER:geburtszeit><![CDATA['.$mitarbeiter->gebzeit.']]></MITARBEITER:geburtszeit>
<MITARBEITER:staatsbuergerschaft><![CDATA['.$mitarbeiter->staatsbuergerschaft.']]></MITARBEITER:staatsbuergerschaft>
<MITARBEITER:familienstand><![CDATA['.$mitarbeiter->familienstand.']]></MITARBEITER:familienstand>
<MITARBEITER:familienstand_bezeichnung><![CDATA['.$mitarbeiter->familienstand.']]></MITARBEITER:familienstand_bezeichnung>
<MITARBEITER:svnr><![CDATA['.$mitarbeiter->svnr.']]></MITARBEITER:svnr>
<MITARBEITER:anzahlkinder NC:parseType="Integer"><![CDATA['.$mitarbeiter->anzahlkinder.']]></MITARBEITER:anzahlkinder>
<MITARBEITER:ersatzkennzeichen><![CDATA['.$mitarbeiter->ersatzkennzeichen.']]></MITARBEITER:ersatzkennzeichen>
<MITARBEITER:anmerkungen><![CDATA['.$mitarbeiter->anmerkungen.']]></MITARBEITER:anmerkungen>
<MITARBEITER:homepage><![CDATA['.$mitarbeiter->homepage.']]></MITARBEITER:homepage>
<MITARBEITER:sprache><![CDATA['.$mitarbeiter->sprache.']]></MITARBEITER:sprache>
<MITARBEITER:titelpre><![CDATA['.$mitarbeiter->titelpre.']]></MITARBEITER:titelpre>
<MITARBEITER:titelpost><![CDATA['.$mitarbeiter->titelpost.']]></MITARBEITER:titelpost>
<MITARBEITER:uid><![CDATA['.$mitarbeiter->uid.']]></MITARBEITER:uid>
<MITARBEITER:geburtsnation><![CDATA['.$mitarbeiter->geburtsnation.']]></MITARBEITER:geburtsnation>
<MITARBEITER:personalnummer NC:parseType="Integer"><![CDATA['.$mitarbeiter->personalnummer.']]></MITARBEITER:personalnummer>
<MITARBEITER:kurzbz><![CDATA['.$mitarbeiter->kurzbz.']]></MITARBEITER:kurzbz>
<MITARBEITER:stundensatz NC:parseType="Integer"><![CDATA['.$mitarbeiter->stundensatz.']]></MITARBEITER:stundensatz>
<MITARBEITER:ausbildung><![CDATA['.$mitarbeiter->ausbildungcode.']]></MITARBEITER:ausbildung>
<MITARBEITER:aktiv><![CDATA['.($mitarbeiter->aktiv?'Ja':'Nein').']]></MITARBEITER:aktiv>
<MITARBEITER:lektor><![CDATA['.($mitarbeiter->lektor?'Ja':'Nein').']]></MITARBEITER:lektor>
<MITARBEITER:fixangestellt><![CDATA['.($mitarbeiter->fixangestellt?'Ja':'Nein').']]></MITARBEITER:fixangestellt>
<MITARBEITER:ort_kurzbz><![CDATA['.$mitarbeiter->ort_kurzbz.']]></MITARBEITER:ort_kurzbz>
<MITARBEITER:telefonklappe><![CDATA['.$mitarbeiter->telefonklappe.']]></MITARBEITER:telefonklappe>
<MITARBEITER:anmerkung><![CDATA['.$mitarbeiter->anmerkung.']]></MITARBEITER:anmerkung>
<MITARBEITER:standort_kurzbz><![CDATA['.$mitarbeiter->standort_kurzbz.']]></MITARBEITER:standort_kurzbz>
<MITARBEITER:alias><![CDATA['.$mitarbeiter->alias.']]></MITARBEITER:alias>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>
+80
View File
@@ -0,0 +1,80 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
require_once('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$rdf_url='http://www.technikum-wien.at/standort';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:STANDORT="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if(isset($_GET['optional']) && $_GET['optional']=='true')
{
echo '
<RDF:li>
<RDF:Description id="" about="" >
<STANDORT:standort_kurzbz><![CDATA[]]></STANDORT:standort_kurzbz>
<STANDORT:adresse_id><![CDATA[]]></STANDORT:adresse_id>
<STANDORT:bezeichnung><![CDATA[-- keine Auswahl --]]></STANDORT:bezeichnung>
</RDF:Description>
</RDF:li>';
}
$qry = "SELECT * FROM public.tbl_standort ORDER BY standort_kurzbz";
if($result = pg_query($conn, $qry))
while($row = pg_fetch_object($result))
draw_content($row);
function draw_content($row)
{
global $rdf_url, $datum;
echo '
<RDF:li>
<RDF:Description id="'.$row->standort_kurzbz.'" about="'.$rdf_url.'/'.$row->standort_kurzbz.'" >
<STANDORT:standort_kurzbz><![CDATA['.$row->standort_kurzbz.']]></STANDORT:standort_kurzbz>
<STANDORT:adresse_id><![CDATA['.$row->adresse_id.']]></STANDORT:adresse_id>
<STANDORT:bezeichnung><![CDATA['.$row->standort_kurzbz.']]></STANDORT:bezeichnung>
</RDF:Description>
</RDF:li>';
}
?>
</RDF:Seq>
</RDF:RDF>