diff --git a/cis/testtool/admin/auswertung.php b/cis/testtool/admin/auswertung.php
index dbc7d6fdb..1f6e9f26a 100644
--- a/cis/testtool/admin/auswertung.php
+++ b/cis/testtool/admin/auswertung.php
@@ -22,13 +22,12 @@
*/
require_once('../../../config/cis.config.inc.php');
- require_once('../../../include/basis_db.class.php');
- if (!$db = new basis_db())
- die('Fehler beim Oeffnen der Datenbankverbindung');
-
require_once('../../../include/functions.inc.php');
require_once('../../../include/studiengang.class.php');
+if (!$db = new basis_db())
+ die('Fehler beim Oeffnen der Datenbankverbindung');
+
function sortByField($multArray,$sortField,$desc=true)
{
$tmpKey='';
diff --git a/cis/testtool/admin/edit_gebiet.php b/cis/testtool/admin/edit_gebiet.php
index 051c8c5ce..95a53ed69 100644
--- a/cis/testtool/admin/edit_gebiet.php
+++ b/cis/testtool/admin/edit_gebiet.php
@@ -30,7 +30,7 @@ require_once('../../../include/gebiet.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
if (!$user=get_uid())
- die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück');
+ die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück');
$rechte = new benutzerberechtigung();
@@ -54,7 +54,7 @@ else
echo '
Gebiet bearbeiten
';
-if(!$rechte->isBerechtigt('admin'))
+if(!$rechte->isBerechtigt('basis/testtool'))
die('Sie haben keine Berechtigung fuer diese Seite');
$gebiet = new gebiet();
@@ -87,6 +87,9 @@ echo '
';
//Speichern der Daten
if(isset($_POST['speichern']))
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$gebiet = new gebiet();
if($gebiet->load($gebiet_id))
{
diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php
index cc831ec2d..9d7dfd7c0 100644
--- a/cis/testtool/admin/index.php
+++ b/cis/testtool/admin/index.php
@@ -44,10 +44,10 @@ session_start();
$user=get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
-if(!$rechte->isBerechtigt('admin'))
-{
+
+if(!$rechte->isBerechtigt('basis/testtool', null, 's'))
die('Sie haben keine Berechtigung fuer diese Seite');
-}
+
if(isset($_GET['gebiet_id']))
{
@@ -133,6 +133,9 @@ $sprache = $_SESSION['sprache'];
//Bei Upload des Bildes
if(isset($_POST['submitbild']))
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
if(isset($_FILES['bild']['tmp_name']))
{
//Extension herausfiltern
@@ -172,6 +175,9 @@ if(isset($_POST['submitbild']))
//Bei Upload eines Audiofiles
if(isset($_POST['submitaudio']))
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
if(isset($_FILES['audio']['tmp_name']))
{
//Extension herausfiltern
@@ -212,6 +218,9 @@ if(isset($_POST['submitaudio']))
//Speichern der Frage-Daten
if(isset($_POST['submitdata']))
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$frage = new frage();
if($frage->load($_GET['frage_id']))
{
@@ -263,6 +272,9 @@ if(isset($_POST['submitdata']))
//Speichern eines Vorschlages
if(isset($_POST['submitvorschlag']))
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$bildcontent='';
if(isset($_FILES['bild']['tmp_name']) && is_uploaded_file($_FILES['bild']['tmp_name']))
{
@@ -387,6 +399,9 @@ if(isset($_POST['submitvorschlag']))
//Vorschlag loeschen
if(isset($_GET['type']) && $_GET['type']=='delete' && isset($_GET['vorschlag_id']))
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$vs = new vorschlag();
if(!$vs->delete($_GET['vorschlag_id']))
echo ''.$vs->errormsg.'
';
@@ -396,6 +411,9 @@ if(isset($_GET['type']) && $_GET['type']=='delete' && isset($_GET['vorschlag_id'
// anlegen einer neuen Frage
if(isset($_GET['type']) && $_GET['type']=='neuefrage')
{
+ if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$frage_obj = new frage();
$frage_obj->gebiet_id = $_GET['gebiet_id'];
diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php
index 2fe68d262..2bb19040a 100644
--- a/include/benutzerberechtigung.class.php
+++ b/include/benutzerberechtigung.class.php
@@ -464,26 +464,22 @@ class benutzerberechtigung extends basis_db
//Pruefen ob eine negativ-Berechtigung vorhanden ist
if($b->berechtigung_kurzbz==$berechtigung_kurzbz && $b->negativ && $oe_kurzbz==$b->oe_kurzbz)
{
- if (!is_null($b->starttimestamp) && !is_null($b->endetimestamp))
+ if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
+ && ($timestamp<$b->endetimestamp || $b->endetimestamp==null))
{
- if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
- return false;
- }
- else
return false;
+ }
}
if($b->berechtigung_kurzbz==$berechtigung_kurzbz
&& (is_null($art) || mb_strstr($b->art, $art))
&& (is_null($oe_kurzbz) || $oe_kurzbz==$b->oe_kurzbz))
{
- if (!is_null($b->starttimestamp) && !is_null($b->endetimestamp))
+ if (($timestamp>$b->starttimestamp || $b->starttimestamp==null)
+ && ($timestamp<$b->endetimestamp || $b->endetimestamp==null))
{
- if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
- else
- return true;
}
}
@@ -526,7 +522,7 @@ class benutzerberechtigung extends basis_db
foreach ($this->berechtigungen as $b)
{
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null)
- && (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null)))
+ && (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
{
if($b->negativ)
{
@@ -594,7 +590,7 @@ class benutzerberechtigung extends basis_db
foreach ($this->berechtigungen as $b)
{
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null)
- && (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null)))
+ && (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
{
if($b->negativ)
{
diff --git a/vilesci/personen/personen_details.php b/vilesci/personen/personen_details.php
index 6276e24a3..2653417ef 100644
--- a/vilesci/personen/personen_details.php
+++ b/vilesci/personen/personen_details.php
@@ -20,12 +20,7 @@
* 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');
- if (!$db = new basis_db())
- die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
+require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
@@ -34,8 +29,13 @@ require_once('../../include/mitarbeiter.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/nation.class.php');
require_once('../../include/ort.class.php');
+require_once('../../include/akte.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/fckeditor/fckeditor.php');
+if (!$db = new basis_db())
+ die('Es konnte keine Verbindung zum Server aufgebaut werden.');
+
echo '
@@ -71,6 +71,12 @@ function RefreshImage()
$user = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+if(!$rechte->isBerechtigt('student/stammdaten', null, 's') && !$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 's'))
+ die('Sie haben keine Berechtigung fuer diese Seite');
+
$error_person_save = false;
$error_benutzer_save = false;
$error_mitarbeiter_save = false;
@@ -114,6 +120,10 @@ $standort_kurzbz = (isset($_POST['standort_kurzbz'])?$_POST['standort_kurzbz']:'
$anmerkung = (isset($_POST['anmerkung'])?$_POST['anmerkung']:'');
$bismelden = (isset($_POST['bismelden'])?$_POST['bismelden']:'');
$kurzbeschreibung = (isset($_POST['kurzbeschreibung'])?$_POST['kurzbeschreibung']:'');
+$matrikelnummer = (isset($_POST['matrikelnummer'])?$_POST['matrikelnummer']:'');
+$semester = (isset($_POST['semester'])?$_POST['semester']:'');
+$verband = (isset($_POST['verband'])?$_POST['verband']:'');
+$gruppe = (isset($_POST['gruppe'])?$_POST['gruppe']:'');
if($uid!='')
{
@@ -137,6 +147,9 @@ if($uid!='')
if(isset($_POST['saveperson']))
{
+ if(!$rechte->isBerechtigt('student/stammdaten', null, 'su') && !$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$person = new person();
if(!$person->load($person_id))
die('Person konnte nicht geladen werden');
@@ -177,8 +190,41 @@ if(isset($_POST['saveperson']))
}
+if(isset($_GET['deleteimage']))
+{
+ if(!$rechte->isBerechtigt('student/stammdaten', null, 'su') && !$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
+ $person = new person();
+ if(!$person->load($person_id))
+ die('Person konnte nicht geladen werden');
+
+ $person->foto='';
+ if(!$person->save())
+ die('Fehler beim Speichern:'.$person->errormsg);
+
+ $akte = new akte();
+ if($akte->getAkten($person_id, 'Lichtbil'))
+ {
+ foreach ($akte->result as $row)
+ {
+ $hlp = new akte();
+ if(!$hlp->delete($row->akte_id))
+ echo 'Fehler beim Löschen des Bildes: '.$hlp->errormsg;
+ }
+ }
+ else
+ {
+ die('Fehler beim Laden der Akten:'.$akte->errormsg);
+ }
+
+ $msg = 'Bild wurde erfolgreich entfernt
';
+}
if(isset($_POST['savebenutzer']))
{
+ if(!$rechte->isBerechtigt('student/stammdaten', null, 'su') && !$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$benutzer = new benutzer();
$benutzer->load($uid);
@@ -208,6 +254,9 @@ if(isset($_POST['savebenutzer']))
if(isset($_POST['savemitarbeiter']))
{
+ if(!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$mitarbeiter = new mitarbeiter();
if(!$mitarbeiter->load($uid))
die('Mitarbeiter konnte nicht geladen werden');
@@ -241,7 +290,14 @@ if(isset($_POST['savestudent']))
$student = new student();
if(!$student->load($uid))
die('Student konnte nicht geladen werden');
+
+ $studiengang = new studiengang();
+ if(!$studiengang->load($student->studiengang_kz))
+ die('Fehler beim Laden des Studienganges');
+ if(!$rechte->isBerechtigt('student/stammdaten', $studiengang->oe_kurzbz, 'su'))
+ die('Sie haben keine Berechtigung fuer diese Aktion');
+
$student->matrikelnr = $matrikelnummer;
$student->semester = $semester;
$student->verband = $verband;
@@ -413,6 +469,8 @@ echo "
Bild hochladen
Bild aktualisieren
+
+ Bild entfernen