diff --git a/include/berechtigung.class.php b/include/berechtigung.class.php index b17677999..bbf634e32 100644 --- a/include/berechtigung.class.php +++ b/include/berechtigung.class.php @@ -184,140 +184,5 @@ class berechtigung return false; } } - - /** - * Rueckgabewert ist ein Array mit den Ergebnissen. Bei Fehler false und die - * Fehlermeldung liegt in errormsg. - * Wenn der Parameter stg_kz NULL ist tritt einheit_kurzbzb in Kraft. - * @param string $uid UserID - * @return variabel Array mit LVA; false bei Fehler - */ - function getBerechtigungen($uid) - { - // Berechtigungen holen - $sql_query="SELECT * FROM tbl_userberechtigung WHERE uid='$uid' AND (startnow() OR ende IS NULL)"; - //echo $sql_query; - if(!$erg=@pg_query($this->conn, $sql_query)) - { - $this->errormsg=pg_errormessage($this->conn); - return false; - } - //$num_rows=pg_numrows($erg); - while($row=pg_fetch_object($erg)) - { - $b=new berechtigung($this->conn); - $b->userberechtigung_id=$row->userberechtigung_id; - $b->studiengang_kz=$row->studiengang_kz; - $b->fachbereich_id=$row->fachbereich_id; - $b->berechtigung_kurzbz=$row->berechtigung_kurzbz; - $b->uid=$row->uid; - $b->studiensemester_kurzbz=$row->studiensemester_kurzbz; - $b->start=$row->start; - if ($row->start!=null) - $b->starttimestamp=mktime(0,0,0,substr($row->start,5,2),substr($row->start,8),substr($row->start,0,4)); - else - $b->starttimestamp=null; - $b->ende=$row->ende; - if ($row->ende!=null) - $b->endetimestamp=mktime(23,59,59,substr($row->ende,5,2),substr($row->ende,8),substr($row->ende,0,4)); - else - $b->endetimestamp=null; - $b->art=$row->art; - $this->berechtigungen[]=$b; - } - return true; - } - - function isBerechtigt($berechtigung,$studiengang_kz=null,$art=null, $fachbereich_id=null) - { - $timestamp=time(); - foreach ($this->berechtigungen as $b) - { - //Fachbereichsberechtigung - if($fachbereich_id!=null) - { - //Wenn Fachbereichs oder Adminberechtigung - if(($berechtigung == $b->berechtigung_kurzbz || $b->berechtigung_kurzbz == 'admin') && ($b->fachbereich_id==$fachbereich_id || $b->fachbereich_id=='0')) - { - if ($b->starttimestamp!=null && $b->endetimestamp!=null) - { - if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) - return true; - } - else - return true; - } - } - - //Wenn Berechtigung fuer Bestimmte Klasse vorhanden ist - if($berechtigung == $b->berechtigung_kurzbz && $studiengang_kz==null && $art==null && $fachbereich_id==null) - if ($b->starttimestamp!=null && $b->endetimestamp!=null) - { - if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) - return true; - } - else - return true; - //Wenn Berechtigung fuer Bestimmten Studiengang vorhanden ist - if ($berechtigung==$b->berechtigung_kurzbz - && ($studiengang_kz==$b->studiengang_kz || $b->studiengang_kz==0) && $art==null && $b->fachbereich_id==null) - if ($b->starttimestamp!=null && $b->endetimestamp!=null) - { - if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) - return true; - } - 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) - && strstr($b->art,$art)) - if ($b->starttimestamp!=null && $b->endetimestamp!=null) - { - if ($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) - return true; - } - else - return true; - } - return false; - } - - /** - * Gibt Array mit Kennzahlen der Studiengaenge sortiert zurueck. - * Optional wird auf Berechtigung eingeschraenkt. - * Wenn Berechtigung ueber alle Studiengaenge steht im ersten Feld 0. - */ - function getStgKz($berechtigung=null) - { - $studiengang_kz=array(); - $timestamp=time(); - - foreach ($this->berechtigungen as $b) - if ($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null) - if($b->fachbereich_id==null) - $studiengang_kz[]=$b->studiengang_kz; - $studiengang_kz=array_unique($studiengang_kz); - sort($studiengang_kz); - return $studiengang_kz; - } - - function getFbKz($berechtigung=null) - { - $fachbereichs_kz=array(); - $timestamp=time(); - - foreach($this->berechtigungen as $b) - { - if(($berechtigung==$b->berechtigung_kurzbz || $berechtigung==null) - && (($timestamp>$b->starttimestamp && $timestamp<$b->endetimestamp) || ($b->starttimestamp==null && $b->endetimestamp==null))) - { - if($b->fachbereich_id!='' && !in_array($b->fachbereich_id,$fachbereichs_kz)) - $fachbereichs_kz[] = $b->fachbereich_id; - } - } - sort($fachbereichs_kz); - return $fachbereichs_kz; - } } ?> \ No newline at end of file