From 4162305ac6ea83c56fa3397db7cd410f5b49be16 Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 29 Jun 2026 13:28:57 +0200 Subject: [PATCH] Improved the permissions check in the cis/private/lehre/notenliste.xls.php --- cis/private/lehre/notenliste.xls.php | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index 170d35bba..52b18b056 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -36,6 +36,7 @@ require_once('../../../include/notenschluessel.class.php'); require_once('../../../include/Excel/excel.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/pruefung.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); $uid = get_uid(); @@ -90,18 +91,19 @@ if(isset($_GET['lehreinheit_id'])) else $lehreinheit_id = ''; -// Checks if the logged lector belongs to this teaching unit -$qry = "SELECT DISTINCT 1 - FROM campus.vw_lehreinheit vwl - WHERE lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)." - AND studiensemester_kurzbz = ".$db->db_add_param($stsem)." - AND vwl.mitarbeiter_uid = ".$db->db_add_param($uid); -if ($lehreinheit_id != '') - $qry .= " AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); +// Permissions +$berechtigung = new benutzerberechtigung(); +$berechtigung->getBerechtigungen($uid); -if (!$result = $db->db_query($qry)) - die($p->t('tools/fehlerBeimAuslesenDerNoten')); -if (!$db->db_fetch_object($result)) +// LV load +$lvobj = new lehrveranstaltung($lvid); + +// Check permissions +if (!$berechtigung->isBerechtigt('admin') + && !$berechtigung->isBerechtigt('assistenz') + && !$berechtigung->isBerechtigt('lehre', $lvobj->oe_kurzbz, 's') + && !check_lektor_lehrveranstaltung($uid, $lvid, $stsem) +) die('Sie haben keine Berechtigung fuer diese Seite'); /* @@ -157,8 +159,6 @@ if (!$db->db_fetch_object($result)) // let's merge $format_title->setAlign('merge'); - $lvobj = new lehrveranstaltung($lvid); - $worksheet->write(0,0,$p->t('anwesenheitsliste/notenliste')." ".($sprache=='English'?$lvobj->bezeichnung_english:$lvobj->bezeichnung),$format_bold); $stg_obj = new studiengang($stg);