From 5fa70908d823607ebb870c5c1fb8ed48716ffac1 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 17 Mar 2016 17:05:05 +0100 Subject: [PATCH] =?UTF-8?q?Fehler=20behoben=20wodurch=20die=20Lehrveransta?= =?UTF-8?q?ltungen=20nicht=20korrekt=20angezeigt=20wurden=20wenn=20der=20g?= =?UTF-8?q?anze=20Studiengang=20gew=C3=A4hlt=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rdf/lehrveranstaltung_einheiten.rdf.php | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/rdf/lehrveranstaltung_einheiten.rdf.php b/rdf/lehrveranstaltung_einheiten.rdf.php index 7b9e0fdc3..4d296c2d2 100644 --- a/rdf/lehrveranstaltung_einheiten.rdf.php +++ b/rdf/lehrveranstaltung_einheiten.rdf.php @@ -176,15 +176,18 @@ else $stp_ids=array(); $stpl_main = new studienplan(); - if($stpl_main->getStudienplaeneFromSem($stg_kz, $semester_aktuell, $sem)) + $sto_obj = new studienordnung(); + if($sto_obj->loadStudienordnungSTG($stg_kz, $semester_aktuell, $sem)) { - foreach($stpl_main->result as $row_sto) + foreach($sto_obj->result as $row_sto) { + //echo "$row_sto->studienordnung_id $row_sto->semester\n"; $stp_obj = new studienplan(); if($stp_obj->loadStudienplanSTO($row_sto->studienordnung_id, $orgform)) { foreach($stp_obj->result as $row_stp) { + $stp_ids_arr[]=array('stpid'=>$row_stp->studienplan_id,'semester'=>$row_sto->semester); $stp_ids[]=$row_stp->studienplan_id; } } @@ -193,6 +196,7 @@ else else echo "FAILED:".$stpl_main->errormsg; $qry=''; + if(count($stp_ids)>0) { // Alle Lehrveranstaltungen die lt Studienplan zugeordnet sind @@ -207,10 +211,15 @@ else lehre.tbl_lehrveranstaltung JOIN lehre.tbl_studienplan_lehrveranstaltung USING(lehrveranstaltung_id) JOIN lehre.tbl_studienplan USING(studienplan_id) - WHERE studienplan_id in (".$db->db_implode4SQL($stp_ids).") - AND tbl_lehrveranstaltung.aktiv"; - if($sem!='') - $qry.=" AND tbl_studienplan_lehrveranstaltung.semester=".$db->db_add_param($sem); + WHERE (1!=1 "; + + foreach($stp_ids_arr as $elem) + { + $qry.= "OR ( + studienplan_id=".$db->db_add_param($elem['stpid'])." + AND tbl_studienplan_lehrveranstaltung.semester=".$db->db_add_param($elem['semester'])." )"; + } + $qry.=") AND tbl_lehrveranstaltung.aktiv"; $qry.=" UNION "; } @@ -240,7 +249,7 @@ else } //$qry = 'SELECT distinct on(lehrveranstaltung_id) * FROM ('.$qry.' ORDER BY studienplan_id DESC) a'; } -// die($qry); + //die($qry); if(!$result = $db->db_query($qry)) die($db->db_last_error().'
'.$qry);