diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php
index 35d27fdbc..a8ddad1c3 100644
--- a/include/benutzerberechtigung.class.php
+++ b/include/benutzerberechtigung.class.php
@@ -285,22 +285,24 @@ class benutzerberechtigung
$timestamp=time();
foreach ($this->berechtigungen as $b)
{
+ //echo 'Admin
';
//Admin auf alles ist immer TRUE
if ($b->berechtigung_kurzbz=='admin' && is_null($b->fachbereich_kurzbz) && is_null($b->studiengang_kz) )
- if ($b->starttimestamp!=null && $b->endetimestamp!=null)
+ //if ($b->berechtigung_kurzbz=='admin' && $b->fachbereich_kurzbz===NULL && $b->studiengang_kz===NULL )
+ if (!is_null($b->starttimestamp) && !is_null($b->endetimestamp))
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
}
else
return true;
- return true;
+ //echo 'Fachbereich
';
//Fachbereichsberechtigung
if($fachbereich_kurzbz!=null)
{
//Wenn Fachbereichs oder Adminberechtigung
- if(($berechtigung == $b->berechtigung_kurzbz || $b->berechtigung_kurzbz == 'admin') && ($b->fachbereich_kurzbz==$fachbereich_kurzbz || $b->fachbereich_kurzbz=='0'))
+ if(($berechtigung == $b->berechtigung_kurzbz || $b->berechtigung_kurzbz == 'admin') && ($b->fachbereich_kurzbz==$fachbereich_kurzbz || is_null($b->fachbereich_kurzbz)))
{
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
@@ -312,9 +314,16 @@ class benutzerberechtigung
}
}
+ //echo 'Klasse
';
//Wenn Berechtigung fuer Bestimmte Klasse vorhanden ist
- if(($berechtigung==$b->berechtigung_kurzbz || $b->berechtigung_kurzbz=='admin') && is_null($studiengang_kz) && is_null($art) && is_null($fachbereich_kurzbz))
- if ($b->starttimestamp!=null && $b->endetimestamp!=null)
+ if ( ($berechtigung==$b->berechtigung_kurzbz && is_null($studiengang_kz) && is_null($art) && is_null($fachbereich_kurzbz))
+ ||
+ ($b->berechtigung_kurzbz=='admin'
+ && (is_null($studiengang_kz) && (is_null($b->studiengang_kz) || $b->studiengang_kz==$studiengang_kz) )
+ && (is_null($fachbereich_kurzbz) && (is_null($b->fachbereich_kurzbz) || $b->fachbereich_kurzbz==$fachbereich_kurzbz) )
+ )
+ )
+ if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{
if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp)
return true;
@@ -322,6 +331,7 @@ class benutzerberechtigung
else
return true;
+ //echo 'Studiengang
';
//Wenn Berechtigung fuer Bestimmten Studiengang vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz && ($studiengang_kz==$b->studiengang_kz || is_null($b->studiengang_kz)) && $art==null && $b->fachbereich_kurzbz==null)
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
@@ -331,9 +341,10 @@ class benutzerberechtigung
}
else
return true;
+
//Wenn Berechtigung mit Studiengang und der richtigen BerechtigungsArt (suid) vorhanden ist
if ($berechtigung==$b->berechtigung_kurzbz
- && ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0)
+ && ($studiengang_kz==$b->studiengang_kz || is_null($b->studiengang_kz))
&& strstr($b->art,$art))
if ($b->starttimestamp!=null && $b->endetimestamp!=null)
{