diff --git a/cis/private/lehre/upload.php b/cis/private/lehre/upload.php index 7e4aca491..285f8331d 100644 --- a/cis/private/lehre/upload.php +++ b/cis/private/lehre/upload.php @@ -217,13 +217,18 @@ A:hover { { $ids='-1'; foreach ($arr as $elem) - $ids.=",'$elem'"; + { + if($elem!='') + $ids.=",'$elem'"; + } $sql_query = "SELECT studiengang_kz, kurzbzlang, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM public.tbl_studiengang WHERE studiengang_kz IN(".$ids.")"; - $result_stg_kurzbzlang=pg_exec($sql_conn, $sql_query); - while($row = pg_fetch_object($result_stg_kurzbzlang)) - if(!array_key_exists($row->studiengang_kz,$stg_arr)) - $stg_arr[$row->studiengang_kz]=$row->kurzbz; + if($result_stg_kurzbzlang=pg_query($sql_conn, $sql_query)) + { + while($row = pg_fetch_object($result_stg_kurzbzlang)) + if(!array_key_exists($row->studiengang_kz,$stg_arr)) + $stg_arr[$row->studiengang_kz]=$row->kurzbz; + } } } diff --git a/cis/private/profile/urlaubsfreigabe.php b/cis/private/profile/urlaubsfreigabe.php index 992fa1f8d..b44299e54 100644 --- a/cis/private/profile/urlaubsfreigabe.php +++ b/cis/private/profile/urlaubsfreigabe.php @@ -28,12 +28,16 @@ require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/resturlaub.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); if(!$conn = pg_pconnect(CONN_STRING)) die('Fehler beim Connecten zur Datenbank'); $user = get_uid(); +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + if(isset($_GET['year']) && is_numeric($_GET['year'])) $year = $_GET['year']; else @@ -76,7 +80,7 @@ echo ' $mitarbeiter = new mitarbeiter($conn); $mitarbeiter->getUntergebene($user); -if(count($mitarbeiter->untergebene)==0) +if(count($mitarbeiter->untergebene)==0 && !$rechte->isBerechtigt('admin')) die('Es sind Ihnen keine Mitarbeiter zugeteilt für die sie den Urlaub freigeben dürfen'); $untergebene = ''; foreach ($mitarbeiter->untergebene as $row) @@ -85,6 +89,13 @@ foreach ($mitarbeiter->untergebene as $row) $untergebene.=','; $untergebene .= "'".$row."'"; } + +if($rechte->isBerechtigt('admin')) +{ + if($untergebene!='') + $untergebene.=','; + $untergebene .= "'".$uid."'"; +} $qry = "SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid in($untergebene)"; $mitarbeiter = array(); @@ -98,7 +109,7 @@ if($result = pg_query($conn, $qry)) $mitarbeiter[$row->uid]['titelpost']=$row->titelpost; } } -if($uid!='' && !isset($mitarbeiter[$uid]) && $uid!=$user) +if($uid!='' && !isset($mitarbeiter[$uid]) && $uid!=$user && !$rechte->isBerechtigt('admin')) die('Sie haben keine Berechtigung fuer diesen Mitarbeiter'); //Freigeben eines Urlaubes diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php index 9aee051ac..f64ff1892 100644 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -32,9 +32,10 @@ require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/mail.class.php'); + require_once('../../../include/benutzerberechtigung.class.php'); $uid = get_uid(); - + $PHP_SELF = $_SERVER['PHP_SELF']; if(isset($_GET['type'])) @@ -43,6 +44,21 @@ if (!$conn = @pg_pconnect(CONN_STRING)) die("Es konnte keine Verbindung zum Server aufgebaut werden."); + //Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitsperren + //des uebergebenen Users anzeigen + if(isset($_GET['uid'])) + { + $rechte = new benutzerberechtigung($conn); + $rechte->getBerechtigungen($uid); + if($rechte->isBerechtigt('admin')) + { + $uid = $_GET['uid']; + } + else + { + die('Fuer diese Aktion benoetigen Sie Administratorenrechte'); + } + } $datum_obj = new datum(); $ma= new mitarbeiter($conn); @@ -56,7 +72,7 @@ "http://www.w3.org/TR/html4/loose.dtd"> Zeitsperre - +