diff --git a/vilesci/lehre/lehrveranstaltung.php b/vilesci/lehre/lehrveranstaltung.php index 7d66ec807..ea5e849b2 100644 --- a/vilesci/lehre/lehrveranstaltung.php +++ b/vilesci/lehre/lehrveranstaltung.php @@ -24,6 +24,7 @@ require_once('../config.inc.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/fachbereich.class.php'); if(!$conn=pg_pconnect(CONN_STRING)) die("Konnte Verbindung zur Datenbank nicht herstellen"); @@ -37,22 +38,29 @@ $user = get_uid(); if (isset($_GET['stg_kz']) || isset($_POST['stg_kz'])) $stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']); else - $stg_kz=0; + $stg_kz=''; if (isset($_GET['semester']) || isset($_POST['semester'])) $semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']); else $semester=0; -if(!is_numeric($stg_kz)) - $stg_kz=0; +if(!is_numeric($stg_kz) && $stg_kz!='') + $stg_kz=''; if(!is_numeric($semester)) $semester=0; +$fachbereich_kurzbz = (isset($_REQUEST['fachbereich_kurzbz'])?$_REQUEST['fachbereich_kurzbz']:''); + +//Wenn kein Fachbereich und kein Studiengang gewaehlt wurde +//dann wird der Studiengang auf 0 gesetzt da sonst die zu ladende liste zu lang wird +if($fachbereich_kurzbz=='' && $stg_kz=='') + $stg_kz=0; + $rechte = new benutzerberechtigung($conn); $rechte->getBerechtigungen($user); -if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid')) +if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', null, 'suid', $fachbereich_kurzbz)) die('Sie haben keine Berechtigung für diesen Studiengang'); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) @@ -149,10 +157,20 @@ if($result = pg_query($conn, $qry)) //Wenn nicht admin, dann nur die aktiven anzeigen $aktiv=''; if(!$rechte->isBerechtigt('admin')) - $aktiv = ' AND aktiv=true'; + $aktiv = ' AND tbl_lehrveranstaltung.aktiv=true'; -$sql_query="SELECT * FROM lehre.tbl_lehrveranstaltung - WHERE studiengang_kz='$stg_kz' AND semester='$semester' $aktiv ORDER BY bezeichnung"; +if($fachbereich_kurzbz !='') + $sql_query="SELECT distinct tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach WHERE + tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND + tbl_lehrfach.fachbereich_kurzbz='".addslashes($fachbereich_kurzbz)."'"; +else + $sql_query="SELECT * FROM lehre.tbl_lehrveranstaltung WHERE true"; + +if($stg_kz!='') + $sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz='$stg_kz'"; + +$sql_query.=" AND tbl_lehrveranstaltung.semester='$semester' $aktiv ORDER BY tbl_lehrveranstaltung.bezeichnung"; if(!$result_lv = pg_query($conn, $sql_query)) die("Lehrveranstaltung not found!"); @@ -160,23 +178,51 @@ if(!$result_lv = pg_query($conn, $sql_query)) //Studiengang DropDown $outp=''; $s=array(); -$outp.=""; +$outp.=""; foreach ($studiengang as $stg) { if($rechte->isBerechtigt('admin', $stg->studiengang_kz, 'suid') || $rechte->isBerechtigt('assistenz', $stg->studiengang_kz, 'suid')) { - $outp.=""; - $s[$stg->studiengang_kz]->max_sem=$stg->max_semester; - $s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang; + $outp.=""; } + $s[$stg->studiengang_kz]->max_sem=8; // $stg->max_semester; + $s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang; } +$s['']->max_sem=8; $outp.=''; -//Semester -$outp.= '
Semester: -- '; +//Semester DropDown +$outp.= 'Semester '; + +//Fachbereich DropDown +$outp.= 'Fachbereich '; +$outp.= ''; +$outp .=""; + +echo "

Lehrveranstaltung Verwaltung (".(isset($s[$stg_kz]->kurzbz)?$s[$stg_kz]->kurzbz:$fachbereich_kurzbz)." - ".$semester.")

"; + echo ' @@ -185,12 +231,26 @@ echo ' + '; -echo "

Lehrveranstaltung Verwaltung (".$s[$stg_kz]->kurzbz." - ".$semester.")

"; - echo '
'; echo $outp; echo ''; @@ -199,17 +259,17 @@ if($rechte->isBerechtigt('admin')) echo ""; echo '
'; -echo "

Übersicht

- - - "; - if ($result_lv!=0) { $num_rows=pg_num_rows($result_lv); + echo "

Übersicht - $num_rows LVAs

+
+ + "; echo " + @@ -235,6 +295,7 @@ if ($result_lv!=0) else echo $row->bezeichnung; echo ""; + echo ""; //Semesterstunden echo ""; //ECTS
ID Kurzbz BezeichnungStg SS ECTS Lehre".$s[$row->studiengang_kz]->kurzbz."$row->semesterstunden