From 0095595dd28ad985c6989d877bf5390bebe27cdb Mon Sep 17 00:00:00 2001 From: ma0048 Date: Tue, 2 Sep 2025 14:11:48 +0200 Subject: [PATCH] falsche kompatible lvs ueberpruefung rausgenommen --- cis/private/profile/studienplan.php | 60 ++++------------------------- include/lehrveranstaltung.class.php | 30 --------------- 2 files changed, 8 insertions(+), 82 deletions(-) diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index 1bc8f3184..92728df42 100644 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -359,7 +359,7 @@ drawTree($tree,0); function drawTree($tree, $depth) { - global $uid, $stsem_arr, $noten_arr, $lvangebot_arr, $aktornext, $studienplan_id; + global $uid, $stsem_arr, $noten_arr, $lvangebot_arr, $aktornext; global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student; global $anrechnung; @@ -401,10 +401,7 @@ function drawTree($tree, $depth) echo '    '; $lvkompatibel = new lehrveranstaltung(); - - $studienplaene_kompatibel = $lvkompatibel->loadLVkompatibelWithStudienplan($row_tree->lehrveranstaltung_id, $studienplan_id); - - $lvkompatibel_arr = array_unique(array_column($studienplaene_kompatibel, 'lehrveranstaltung_id_kompatibel')); + $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; $abgeschlossen=false; @@ -417,24 +414,6 @@ function drawTree($tree, $depth) else $abgeschlossen=false; } - else if (!empty($studienplaene_kompatibel)) - { - foreach ($studienplaene_kompatibel as $kompatibel) - { - $lvregelExists = $lvregel->exists($kompatibel['studienplan_lehrveranstaltung_id']); - - if ($lvregelExists) - { - if ($lvregel->isAbgeschlossen($uid, $kompatibel['studienplan_lehrveranstaltung_id'])) - $abgeschlossen=true; - else - $abgeschlossen=false; - - break; - } - } - } - $lvinfo = new lvinfo(); switch(getSprache()) { @@ -604,38 +583,15 @@ function drawTree($tree, $depth) { $semesterlock=true; } - - if (!$semesterlock && !empty($studienplaene_kompatibel)) + else { - foreach ($studienplaene_kompatibel as $kompatibel) + //check if rules are fulfilled just for actual or next studiensemester + if($stsem === $aktornext) { - if (!$lvregel->checkSemester($kompatibel['studienplan_lehrveranstaltung_id'], $semester)) + $result = $lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem); + if((is_array($result)) && ($result[0] !== true)) { - $semesterlock = true; - break; - } - } - } - - //check if rules are fulfilled just for actual or next studiensemester - if($stsem === $aktornext && !$semesterlock) - { - $result = $lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem); - if((is_array($result)) && ($result[0] !== true)) - { - $regelerfuellt = false; - } - - if ($regelerfuellt && !empty($studienplaene_kompatibel)) - { - foreach ($studienplaene_kompatibel as $kompatibel) - { - $result = $lvregel->isZugangsberechtigt($uid, $kompatibel['studienplan_lehrveranstaltung_id'], $stsem); - if (is_array($result) && $result[0] !== true) - { - $regelerfuellt = false; - break; - } + $regelerfuellt=false; } } } diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index e288f88e6..48edd9d0a 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1554,36 +1554,6 @@ class lehrveranstaltung extends basis_db } } - public function loadLVkompatibelWithStudienplan($lehrveranstaltung_id, $studienplan_id) - { - if (!is_numeric($lehrveranstaltung_id)) - { - $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; - return false; - } - if (!is_numeric($studienplan_id)) - { - $this->errormsg = 'Studienplan_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT studienplan_lehrveranstaltung_id, lehrveranstaltung_id_kompatibel - FROM lehre.tbl_lehrveranstaltung_kompatibel - JOIN lehre.tbl_studienplan_lehrveranstaltung ON lehrveranstaltung_id_kompatibel = tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id - WHERE tbl_lehrveranstaltung_kompatibel.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." - ;"; - - if($this->db_query($qry)) - { - $data = array(); - while($row = $this->db_fetch_object()) - { - $data[] = ['lehrveranstaltung_id_kompatibel' => $row->lehrveranstaltung_id_kompatibel, 'studienplan_lehrveranstaltung_id' => $row->studienplan_lehrveranstaltung_id]; - } - return $data; - } - } - /** * Lädt alle kompatiblen LVs zu einer Lehrveranstaltung * @param $lehrveranstaltung_id ID der Lehrveranstaltung