From 728e2f9b3a872edb5f5f71189bc8e1b249d364bb Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Mon, 21 Oct 2024 13:48:32 +0200 Subject: [PATCH] fix getStundenplanQuery query building if benutzer gruppen are empty; --- application/models/ressource/Stundenplan_model.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/application/models/ressource/Stundenplan_model.php b/application/models/ressource/Stundenplan_model.php index e29030279..77b1619dc 100644 --- a/application/models/ressource/Stundenplan_model.php +++ b/application/models/ressource/Stundenplan_model.php @@ -203,7 +203,7 @@ class Stundenplan_model extends DB_Model if(count($gruppen) != 0 || count($studentlehrverbaende) != 0) { - $query .= "AND ( "; + $query .= " AND ( "; } if(count($gruppen) != 0) @@ -211,8 +211,13 @@ class Stundenplan_model extends DB_Model $query .="sp.gruppe_kurzbz IN (".implode(',',$gruppen).")"; } - foreach($studentlehrverbaende as $lehrverband){ - $query .= "OR (sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe).")"; + foreach($studentlehrverbaende as $key=>$lehrverband){ + // only append OR if not first entry or previous condition was added + if(($key == 0 && count($gruppen) != 0) || ($key > 0)) + { + $query .= " OR "; + } + $query .= "(sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe).")"; } if(count($gruppen) != 0 || count($studentlehrverbaende) != 0) @@ -262,4 +267,4 @@ class Stundenplan_model extends DB_Model return $this->execQuery($query, [$uid, $uid]); } -} +} \ No newline at end of file