From e316feb06189e2715e8fde8ec37c7ced80e52923 Mon Sep 17 00:00:00 2001
From: oesi
Date: Wed, 24 Feb 2016 09:18:53 +0100
Subject: [PATCH] =?UTF-8?q?Berechtigungen=20f=C3=BCr=20die=20anzeige=20von?=
=?UTF-8?q?=20Men=C3=BCpunkten=20im=20Vilesci=20korrigiert?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
include/tw/vilesci_menu_main.inc.php | 69 ++---
.../personen/anwesenheitslisten_barcode.php | 36 ++-
vilesci/personen/funktion_det.php | 98 +++---
vilesci/personen/lektor_uebersicht.php | 68 ++--
vilesci/personen/suche.php | 61 ++--
vilesci/personen/zeitwunsch.php | 29 +-
vilesci/stammdaten/lv_wartung.php | 291 ------------------
7 files changed, 178 insertions(+), 474 deletions(-)
delete mode 100644 vilesci/stammdaten/lv_wartung.php
diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php
index ca30dd336..d62eb22e6 100644
--- a/include/tw/vilesci_menu_main.inc.php
+++ b/include/tw/vilesci_menu_main.inc.php
@@ -48,21 +48,21 @@ $menu=array
'Incoming loeschen'=>array('name'=>'Incoming löschen', 'link'=>'lehre/incoming_delete.php', 'target'=>'main'),
),
'Raummitteilung'=>array('name'=>'Raummitteilung', 'link'=>'lehre/raummitteilung.php', 'target'=>'main'),
-
+
'Mitarbeiter'=>array
(
'name'=>'Mitarbeiter','permissions'=>array('admin','lv-plan','support'),
- 'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
- 'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
+ 'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main','permissions'=>array('mitarbeiter')),
+ 'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
),
-
+
'Vorrueckung'=> array
(
- 'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'),
- 'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
- 'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
+ 'name'=>'Vorrueckung', 'permissions'=>array('lehre/vorrueckung','student/vorrueckung'),
+ 'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main', 'permissions'=>array('lehre/vorrueckung'),),
+ 'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),)
),
-
+
),
'Lehre'=> array
(
@@ -71,10 +71,10 @@ $menu=array
'Gruppenverwaltung'=>array('name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'),
'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
'Studienordnung'=>array('name'=>'Studienordnung', 'link'=>'lehre/studienordnung.php', 'target'=>'_blank','permissions'=>array('lehre/studienordnung')),
-
+
'Moodle'=>array
(
- 'name'=>'Moodle', 'permissions'=>array('admin','lv-plan','support','basis/moodle'),
+ 'name'=>'Moodle', 'permissions'=>array('basis/moodle'),
'Account'=>array('name'=>'Accountverwaltung', 'link'=>'moodle/account_verwaltung24.php', 'target'=>'main'),
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
@@ -106,13 +106,13 @@ $menu=array
'name'=>'Personen', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_personen.png', 'permissions'=>array('admin','lv-plan','support','mitarbeiter','basis/person'),
'link'=>'left.php?categorie=Personen', 'target'=>'nav',
'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/person')),
- 'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('admin','lv-plan','support')),
+ 'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('basis/person')),
'Wiederholer'=>array('name'=>'Stg-Wiederholer', 'link'=>'personen/wiederholer.php', 'target'=>'main', 'permissions'=>array('basis/person')),
'Gruppen'=>array
(
- 'name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'),
- 'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main'),
- 'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main')
+ 'name'=>'Gruppen', 'permissions'=>array('lehre/gruppe'),
+ 'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main','permissions'=>array('lehre/gruppe')),
+ 'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main','permissions'=>array('lehre/gruppe'))
),
'Benutzer'=>array
(
@@ -126,12 +126,12 @@ $menu=array
(
'name'=>'Mitarbeiter','permissions'=>array('admin','mitarbeiter','support'),
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
- 'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
- 'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main')
+ 'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
+ 'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre'))
),
- 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/betriebsmittel')),
- 'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','preinteressent')),
- 'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent')),
+ 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
+ 'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
+ 'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','preinteressent')),
'Incoming'=>array('name'=>'Incoming', 'link'=>'personen/incoming_frameset.php', 'target'=>'_blank','permissions'=>array('inout/incoming')),
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
),
@@ -141,7 +141,7 @@ $menu=array
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
-
+
'User'=>array
(
'name'=>'User', 'permissions'=>array('basis/variable','basis/berechtigung'),
@@ -154,7 +154,7 @@ $menu=array
'name'=>'Personal', 'permissions'=>array('buchung/typen','vertrag/typen'),
'Buchungstypen'=>array('name'=>'Buchungstypen', 'link'=>'stammdaten/buchung_typ.php', 'target'=>'main','permissions'=>array('buchung/typen')),
'Vertragstypen'=>array('name'=>'Vertragstypen', 'link'=>'stammdaten/vertrag_typ.php', 'target'=>'main','permissions'=>array('vertrag/typen'))
- ),
+ ),
'Studiengang'=>array('name'=>'Studiengang', 'link'=>'stammdaten/studiengang_frameset.html', 'target'=>'main','permissions'=>array('basis/studiengang')),
'Ort'=>array('name'=>'Ort (Raum)', 'link'=>'stammdaten/raum_frameset.html', 'target'=>'main','permissions'=>array('basis/ort')),
'Firmen'=>array('name'=>'Firmen', 'link'=>'stammdaten/firma_frameset.html', 'target'=>'main','permissions'=>array('basis/firma')),
@@ -180,20 +180,19 @@ $menu=array
),
'Wartung'=> array
(
- 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
+ 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
- 'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
+ 'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
'Vorrueckung'=> array
(
- 'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'),
- 'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
- 'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
+ 'name'=>'Vorrueckung', 'permissions'=>array('lehre/vorrueckung','student/vorrueckung'),
+ 'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main','permissions'=>array('lehre/vorrueckung'),),
+ 'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),)
),
- 'LVWartung'=>array('name'=>'LVwartung', 'link'=>'stammdaten/lv_wartung.php', 'target'=>'main'),
- 'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank'),
- 'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main'),
+ 'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')),
+ 'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')),
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'),
- 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main'),
+ 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
),
'Auswertung'=> array
(
@@ -212,17 +211,17 @@ $menu=array
'link'=>'left.php?categorie=Inventar', 'target'=>'nav',
'Inventar'=> array
(
- 'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
+ 'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
'Neu'=>array('name'=>'Neu', 'link'=>'inventar/inventar_pflege.php?vorlage=false', 'target'=>'main'),
'Suche'=>array('name'=>'Suche', 'link'=>'inventar/inventar.php', 'target'=>'main'),
'AfA'=>array('name'=>'AfA', 'link'=>'inventar/inventar_afa.php', 'target'=>'main'),
'Inventur'=>array('name'=>'Inventur', 'link'=>'inventar/inventar_inventur.php', 'target'=>'main'),
'Etiketten'=>array('name'=>'Etiketten', 'link'=>'inventar/etiketten.php', 'target'=>'main'),
)
- ),
+ ),
'Admin'=> array
(
- 'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'vilesci_admin.png',
+ 'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/cronjob'), 'image'=>'vilesci_admin.png',
'link'=>'left.php?categorie=Admin', 'target'=>'nav',
'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')),
),
@@ -231,7 +230,7 @@ $menu=array
'name'=>'SD-Tools', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('sdTools'), 'image'=>'vilesci_sdtools.png',
'link'=>'https://sdtools.technikum-wien.at', 'target'=>'_blank',
)
-
+
);
require_once(dirname(__FILE__).'/../statistik.class.php');
@@ -253,7 +252,7 @@ if($addon_obj->loadAddons())
);
foreach($addon_obj->result as $row)
- {
+ {
$menu['Addons'][$row->kurzbz]=array('name'=>$row->addon_name, 'link'=>'../addons/'.$row->kurzbz.'/vilesci/index.php', 'target'=>'main');
}
}
diff --git a/vilesci/personen/anwesenheitslisten_barcode.php b/vilesci/personen/anwesenheitslisten_barcode.php
index 34eb0d5b6..0d51ce051 100644
--- a/vilesci/personen/anwesenheitslisten_barcode.php
+++ b/vilesci/personen/anwesenheitslisten_barcode.php
@@ -17,13 +17,19 @@
*
* Authors: Nikolaus Krondraf
*/
-
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/stunde.class.php');
require_once('../../include/standort.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
+$uid = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($uid);
+if(!$rechte->isBerechtigt('basis/person'))
+ die($rechte->errormsg);
+
$studiengang = new studiengang;
$studiengang->getAll("typ, kurzbz");
$standort = new standort;
@@ -38,25 +44,25 @@ $standort->getAllStandorteWithOrt();
-
-
+
+
@@ -111,7 +117,7 @@ $standort->getAllStandorteWithOrt();
-
+
@@ -170,7 +176,7 @@ $standort->getAllStandorteWithOrt();
|
|
diff --git a/vilesci/personen/funktion_det.php b/vilesci/personen/funktion_det.php
index 11eba248b..d1c66d186 100644
--- a/vilesci/personen/funktion_det.php
+++ b/vilesci/personen/funktion_det.php
@@ -21,7 +21,7 @@
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
-
+
/*******************************************************************************
File: funktion_det.php
Descr: Hier werden Personen aufgelistet, die zur in funktion.php ausgewählten
@@ -35,6 +35,7 @@ require_once('../../include/person.class.php');
require_once('../../include/funktion.class.php');
require_once('../../include/benutzerfunktion.class.php');
require_once('../../include/fachbereich.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -42,51 +43,58 @@ if (!$db = new basis_db())
// Datenbankverbindung herstellen
$user=get_uid();
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+if(!$rechte->isBerechtigt('mitarbeiter',null,'suid'))
+ die($rechte->errormsg);
+
$type='';
if (isset($_POST['type']))
$type=$_POST['type'];
if (isset($_GET['type']))
$type=$_GET['type'];
-
+
if(isset($_GET['kurzbz']))
$funktion_kurzbz=$_GET['kurzbz'];
if(isset($_GET['datumvon']))
$datumvon=$_GET['datumvon'];
-else
+else
$datumvon='';
if(isset($_GET['datumbis']))
$datumbis=$_GET['datumbis'];
-else
+else
$datumbis='';
// Neue Funktionszuweisung speichern
if ($type=='new' || $type=='editsave')
{
//Einfügen in die Datenbank
-
+
$funktion=new benutzerfunktion();
$funktion->uid=$_POST['uid'];
$funktion->funktion_kurzbz=$_POST['kurzbz'];
if (isset($_POST['oe_kurzbz']) && $_POST['oe_kurzbz']!=-1)
{
$funktion->oe_kurzbz=$_POST['oe_kurzbz'];
-
+
if (isset($_POST['fb_kurzbz']) && $_POST['fb_kurzbz']!=-1)
{
$funktion->fachbereich_kurzbz=$_POST['fb_kurzbz'];
- }
+ }
else
{
$funktion->fachbereich_kurzbz=null;
}
-
+
$funktion->semester = (isset($_POST['semester'])?$_POST['semester']:'');
$funktion->datum_von = $_POST['datumvon'];
$funktion->datum_bis = $_POST['datumbis'];
-
+
if($type=='editsave')
{
$funktion->new=false;
@@ -94,21 +102,21 @@ if ($type=='new' || $type=='editsave')
$funktion->updateamum=date('Y-m-d H:i:s');
$funktion->updatevon=$user;
}
- else
+ else
{
$funktion->new=true;
$funktion->updateamum=date('Y-m-d H:i:s');
$funktion->updatevon=$user;
$funktion->insertamum=date('Y-m-d H:i:s');
$funktion->insertvon=$user;
- }
-
+ }
+
if (!$funktion->save())
{
echo "Fehler: ".$funktion->errormsg;
}
}
- else
+ else
echo "Studiengang muss angegeben werden";
}
@@ -122,7 +130,7 @@ if ($type=='delete')
{
echo "Benutzer_funktion_id ist keine Zahl";
}
- else
+ else
{
if (!$funktion->delete($bn_funktion_id))
{
@@ -171,23 +179,23 @@ if (!$funktion->load($kurzbz))
if ($type!='edit')
{
// Personen holen
- $qry = "SELECT
+ $qry = "SELECT
tbl_organisationseinheit.bezeichnung as oebezeichnung,
- tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp,
- tbl_benutzer.uid as uid, *
- FROM
- public.tbl_benutzerfunktion,
- public.tbl_person,
- public.tbl_benutzer,
+ tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp,
+ tbl_benutzer.uid as uid, *
+ FROM
+ public.tbl_benutzerfunktion,
+ public.tbl_person,
+ public.tbl_benutzer,
public.tbl_organisationseinheit
- WHERE
+ WHERE
funktion_kurzbz=".$db->db_add_param($kurzbz)." AND
tbl_benutzerfunktion.uid=tbl_benutzer.uid AND
tbl_benutzer.person_id=tbl_person.person_id AND
tbl_benutzerfunktion.oe_kurzbz=tbl_organisationseinheit.oe_kurzbz";
if($result = $db->db_query($qry))
- {
+ {
echo "
| Name |
@@ -200,10 +208,10 @@ if (!$funktion->load($kurzbz))
Aktion |
";
- $j=0;
+ $j=0;
echo '';
while($row = $db->db_fetch_object($result))
- {
+ {
$j++;
echo "";
echo "| ".$row->nachname.", ".$row->vorname." | ";
@@ -219,21 +227,21 @@ if (!$funktion->load($kurzbz))
}
echo '
';
- }
+ }
else
{
echo "Fehler: ". $db->db_last_error();
}
}
-
+
echo '
-
+
';
?>
Mitarbeiter Übersicht
- Bitte Suchbegriff eingeben:
-
+ Bitte Suchbegriff eingeben:
+
- ';
-if(!isset($_GET['searchstr']))
+ ';
+if(!isset($_GET['searchstr']))
exit;
$qry = "SELECT vw_mitarbeiter.*, tbl_standort.kurzbz as standort_kurzbz FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_standort USING(standort_id)";
if(!empty($searchstr))
- $qry.=" where nachname||' '||vorname ~* '".addslashes($searchstr)."' OR vorname||' '||nachname ~* '".addslashes($searchstr)."' OR uid ~* '".addslashes($searchstr)."' ";
- if(isset($order))
- $qry .= " ORDER BY $order";
- else
- $qry .= " ORDER BY nachname, vorname";
+ $qry.=" where nachname||' '||vorname ~* '".$db->db_escape($searchstr)."' OR vorname||' '||nachname ~* '".$db->db_escape($searchstr)."' OR uid ~* '".$db->db_escape($searchstr)."' ";
+ $qry .= " ORDER BY nachname, vorname";
if($result = $db->db_query($qry))
{
@@ -120,13 +98,12 @@ if(!isset($_GET['searchstr']))
echo "".$row->titelpre." | ";
echo "".$row->vorname." | ";
echo "".$row->nachname." | ";
- echo " | ";
- echo " | ";
-
+ echo "".($row->fixangestellt=='t'?'Ja':'Nein')." | ";
+ echo "".($row->lektor=='t'?'Ja':'Nein')." | ";
echo "".$row->ort_kurzbz." | ";
echo "".$row->standort_kurzbz." | ";
echo "".$row->telefonklappe." | ";
-
+
$email=$row->uid.'@'.DOMAIN;
echo "$email | ";
echo "Edit | ";
@@ -142,11 +119,6 @@ if(!isset($_GET['searchstr']))
}
else
echo "Fehler beim Laden der Mitarbeiter: ".$db->db_last_error();
-
- if(isset($_GET['fix']) || isset($_GET['lek'])) //Zum Anker hüpfen
- {
- echo "";
- }
?>
Personensuche
';
-
+
$stg = new studiengang();
$stg->getAll('typ, kurzbz', false);
@@ -61,7 +68,7 @@ foreach ($stg->result as $row)
$stg_arr[$row->studiengang_kz]=$row->kuerzel;
echo '
';
@@ -70,18 +77,18 @@ if($searchstr!='')
{
$qry = "SELECT person_id FROM public.tbl_person WHERE person_id in(
SELECT distinct person_id FROM public.tbl_person LEFT JOIN public.tbl_benutzer USING(person_id) WHERE
- nachname ~* '".$db->db_escape($searchstr)."' OR
+ nachname ~* '".$db->db_escape($searchstr)."' OR
vorname ~* '".$db->db_escape($searchstr)."' OR
alias ~* '".$db->db_escape($searchstr)."' OR
- COALESCE(nachname,'') || ' ' || COALESCE(vorname,'') = '".$db->db_escape($searchstr)."' OR
- COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') = '".$db->db_escape($searchstr)."' OR
+ COALESCE(nachname,'') || ' ' || COALESCE(vorname,'') = '".$db->db_escape($searchstr)."' OR
+ COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') = '".$db->db_escape($searchstr)."' OR
uid ~* '".$db->db_escape($searchstr)."'
) ORDER BY nachname, vorname;";
-
+
if($result = $db->db_query($qry))
- {
+ {
$auth = new authentication();
-
+
echo $db->db_num_rows($result).' Person(en) gefunden
';
echo '';
echo '';
@@ -109,7 +116,7 @@ if($searchstr!='')
echo "| updateAmUm | ";
echo "updateVon | ";
echo '
';
-
+
while($row = $db->db_fetch_object($result))
{
$qry = "SELECT * FROM public.tbl_person WHERE person_id='$row->person_id'";
@@ -136,18 +143,18 @@ if($searchstr!='')
echo " | ";
echo " | ";
echo '';
-
+
$content = '';
- $qry = "SELECT
+ $qry = "SELECT
*, tbl_benutzer.updateamum as bnupdateamum, tbl_benutzer.updatevon as bnupdatevon,
tbl_mitarbeiter.updateamum as mupdateamum, tbl_mitarbeiter.updatevon as mupdatevon
- FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer on(uid=mitarbeiter_uid)
+ FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer on(uid=mitarbeiter_uid)
WHERE person_id=".$db->db_add_param($row->person_id, FHC_INTEGER);
if($result_mitarbeiter = $db->db_query($qry))
{
if($db->db_num_rows($result_mitarbeiter)>0)
{
-
+
while($row_mitarbeiter = $db->db_fetch_object($result_mitarbeiter))
{
$content.= '';
@@ -159,8 +166,8 @@ if($searchstr!='')
$content.= "| Mitarbeiter | ";
$content.= "$row_mitarbeiter->uid | ";
$content.= "".($row_mitarbeiter->aktiv=='t'?'Ja':'Nein')." | ";
-
- $content.= "";
+
+ $content.= " | ";
if($auth->UserExternalExists($row_mitarbeiter->uid))
$content.="Ja";
else
@@ -168,7 +175,7 @@ if($searchstr!='')
$content.= " | ";
//$content.= "".($row_mitarbeiter->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_mitarbeiter->bnupdateamum)):'')." | ";
//$content.= "$row_mitarbeiter->bnupdatevon | ";
-
+
$content.= "$row_mitarbeiter->telefonklappe | ";
$content.= "$row_mitarbeiter->ort_kurzbz | ";
$content.= "".($row_mitarbeiter->mupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_mitarbeiter->mupdateamum)):'')." | ";
@@ -179,21 +186,21 @@ if($searchstr!='')
}
}
}
-
+
$qry = "SELECT *, tbl_benutzer.updateamum as bnupdateamum, tbl_benutzer.updatevon as bnupdatevon,
tbl_student.updateamum as supdateamum, tbl_student.updatevon as supdatevon
- FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid)
+ FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid)
WHERE person_id=".$db->db_add_param($row->person_id, FHC_INTEGER);
if($result_student = $db->db_query($qry))
{
if($db->db_num_rows($result_student))
{
-
+
while($row_student = $db->db_fetch_object($result_student))
{
$student = new prestudent();
$student->getLastStatus($row_student->prestudent_id);
-
+
$content.= '
';
$content.= ' | ';
$content.= ' | ';
@@ -203,7 +210,7 @@ if($searchstr!='')
$content.= "$student->status_kurzbz | ";
$content.= "$row_student->uid | ";
$content.= "".($row_student->aktiv=='t'?'Ja':'Nein')." | ";
-
+
$content.= "";
if($auth->UserExternalExists($row_student->uid))
$content.="Ja";
@@ -212,7 +219,7 @@ if($searchstr!='')
$content.= " | ";
//$content.= "".($row_student->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_student->bnupdateamum)):'')." | ";
//$content.= "$row_student->bnupdatevon | ";
-
+
$content.= " | ";
$content.= " | ";
$content.= " | ";
@@ -225,14 +232,14 @@ if($searchstr!='')
}
}
}
-
+
echo $content;
}
}
}
echo '
';
}
-
+
}
?>
diff --git a/vilesci/personen/lektor_uebersicht.php b/vilesci/personen/lektor_uebersicht.php
index 305f9cee0..0a1f9b1cc 100644
--- a/vilesci/personen/lektor_uebersicht.php
+++ b/vilesci/personen/lektor_uebersicht.php
@@ -20,30 +20,21 @@
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
-
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/basis_db.class.php');
-include('../../include/functions.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/benutzerberechtigung.class.php');
+
+$user = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+if(!$rechte->isBerechtigt('mitarbeiter'))
+ die($rechte->errormsg);
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
-if(isset($_GET['fix']) && isset($_GET['uid']))
-{
- $sql_query = "UPDATE public.tbl_mitarbeiter SET fixangestellt=". ($_GET['fix']=='t'?'false':'true') ." WHERE mitarbeiter_uid='".addslashes($_GET['uid'])."'";
- //echo $sql_query;
- if(!($erg=$db->db_query($sql_query)))
- die($db->db_last_error());
-}
-if(isset($_GET['lek']) && isset($_GET['uid']))
-{
- $sql_query = "UPDATE public.tbl_mitarbeiter SET lektor=". ($_GET['lek']=='t'?'false':'true') ." WHERE mitarbeiter_uid='".addslashes($_GET['uid'])."'";
- //echo $sql_query;
- if(!($erg=$db->db_query($sql_query)))
- die($db->db_last_error());
-
-}
?>
diff --git a/vilesci/personen/suche.php b/vilesci/personen/suche.php
index 38108c24e..6c1ad5b35 100644
--- a/vilesci/personen/suche.php
+++ b/vilesci/personen/suche.php
@@ -22,7 +22,7 @@
*/
require_once('../../config/vilesci.config.inc.php');
-require_once('../../include/basis_db.class.php');
+require_once('../../include/basis_db.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/person.class.php');
@@ -31,15 +31,22 @@ require_once('../../include/student.class.php');
require_once('../../include/prestudent.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/authentication.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
+$user=get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+if(!$rechte->isBerechtigt('basis/person') && !$rechte->isBerechtigt('student/stammdaten') && !$rechte->isBerechtigt('mitarbeiter/stammdaten'))
+ die($rechte->errormsg);
+
if(isset($_GET['searchstr']))
$searchstr = $_GET['searchstr'];
-else
+else
$searchstr = '';
-
+
$datum_obj = new datum();
echo '
@@ -52,7 +59,7 @@ echo '
diff --git a/vilesci/personen/zeitwunsch.php b/vilesci/personen/zeitwunsch.php
index d67a62f67..4df8063f1 100644
--- a/vilesci/personen/zeitwunsch.php
+++ b/vilesci/personen/zeitwunsch.php
@@ -26,21 +26,20 @@
* POST statt GET - ist aber Geschmacksache
*
*/
-
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/basis_db.class.php');
-include('../../include/functions.inc.php');
-include('../../include/globals.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/globals.inc.php');
require_once('../../include/datum.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
if (isset($_GET['uid']))
{
$uid=$_GET['uid'];
-}
+}
else if (isset($_POST['uid']))
{
$uid=$_POST['uid'];
@@ -50,6 +49,12 @@ if (!isset($uid))
die( "uid nicht gesetzt");
}
$uid_benutzer = get_uid();
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($uid_benutzer);
+if(!$rechte->isBerechtigt('mitarbeiter'))
+ die($rechte->errormsg);
+
$datum_obj = new datum();
$updatevon = 0;
@@ -68,20 +73,19 @@ $updatevon = 0;
//echo $$var;
$gewicht=$_POST[$var];
$stunde=$i+1;
- $query="SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='".addslashes($uid)."' AND stunde='$stunde' AND tag='$t'";
+ $query="SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND stunde=".$db->db_add_param($stunde, FHC_INTEGER)." AND tag=".$db->db_add_param($t, FHC_INTEGER);
if(! $erg_wunsch=$db->db_query($query))
die($db->db_last_error());
$num_rows_wunsch=$db->db_num_rows($erg_wunsch);
if ($num_rows_wunsch==0)
{
- $query="INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon) VALUES ('$uid', '$stunde', '$t', '$gewicht', now(), '$uid_benutzer')";
+ $query="INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon) VALUES (".$db->db_add_param($uid).", ".$db->db_add_param($stunde).", ".$db->db_add_param($t).", ".$db->db_add_param($gewicht).", now(), ".$db->db_add_param($uid_benutzer).")";
if(!($erg=$db->db_query($query)))
die($db->db_last_error());
}
elseif ($num_rows_wunsch==1)
{
- $query="UPDATE campus.tbl_zeitwunsch SET gewicht=$gewicht, updateamum=now(), updatevon='$uid_benutzer' WHERE mitarbeiter_uid='$uid' AND stunde='$stunde' AND tag='$t'";
- //echo $query;
+ $query="UPDATE campus.tbl_zeitwunsch SET gewicht=".$db->db_add_param($gewicht).", updateamum=now(), updatevon=".$db->db_add_param($uid_benutzer)." WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND stunde=".$db->db_add_param($stunde)." AND tag=".$db->db_add_param($t);
if(!($erg=$db->db_query($query)))
die($db->db_last_error());
}
@@ -90,7 +94,7 @@ $updatevon = 0;
}
}
- if(!($erg=$db->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'")))
+ if(!($erg=$db->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$db->db_add_param($uid))))
die($db->db_last_error());
$num_rows=$db->db_num_rows($erg);
for ($i=0;$i<$num_rows;$i++)
@@ -116,7 +120,7 @@ $updatevon = 0;
// Personendaten
- if(! $result=$db->db_query("SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid='$uid'"))
+ if(! $result=$db->db_query("SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=".$db->db_add_param($uid)))
die($db->db_last_error());
if ($db->db_num_rows($result)==1)
$person=$db->db_fetch_object($result);
@@ -166,7 +170,7 @@ $updatevon = 0;
?>
- Es sollten für jede Stunde die tatsächlich unterrichtet wird, mindestens das 3-fache an positiven Zeitwünschen angegeben werden.
Beispiel: Sie unterrichten 4 Stunden/Woche, dann sollten Sie mindestens 12 Stunden im Raster mit positiven Werten ausfüllen.
-