aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/StudipTreeNodeCourseTrait.php
diff options
context:
space:
mode:
authorThomas Hackl <hackl@data-quest.de>2025-03-18 13:02:30 +0000
committerThomas Hackl <hackl@data-quest.de>2025-03-18 13:02:30 +0000
commitca3286025e776c803d863927fdee026340f42ae4 (patch)
treeea341f3cce9276b36ffe003b7f90a74c176c0c8f /lib/classes/StudipTreeNodeCourseTrait.php
parent51bd332813aafa3ebeb37db69950e5a3ab657cc8 (diff)
Resolve "Vorlesungsverzeichnis: Der Filter nach einer Veranstaltungskategorie liefert keine Ergebnisse"
Closes #5243 Merge request studip/studip!4052
Diffstat (limited to 'lib/classes/StudipTreeNodeCourseTrait.php')
-rw-r--r--lib/classes/StudipTreeNodeCourseTrait.php17
1 files changed, 4 insertions, 13 deletions
diff --git a/lib/classes/StudipTreeNodeCourseTrait.php b/lib/classes/StudipTreeNodeCourseTrait.php
index 23ea992..0d3b360 100644
--- a/lib/classes/StudipTreeNodeCourseTrait.php
+++ b/lib/classes/StudipTreeNodeCourseTrait.php
@@ -17,7 +17,7 @@ trait StudipTreeNodeCourseTrait
$condition .= " LEFT JOIN `semester_courses` sc ON ({$alias}.`seminar_id` = sc.`course_id`)
LEFT JOIN `semester_data` sd USING (`semester_id`)
WHERE (sc.`semester_id` = :semester OR sc.`semester_id` IS NULL)";
- $parameters[':semester'] = $semester_id;
+ $parameters['semester'] = $semester_id;
$order_by[] = 'sd.`beginn`';
} else {
$condition .= " WHERE 1";
@@ -27,19 +27,10 @@ trait StudipTreeNodeCourseTrait
$condition .= " AND s.`visible` = 1";
}
- if ($sem_class) {
+ if ($sem_class !== 0) {
$condition .= " AND s.`status` IN (:types)";
- $parameters['types'] = array_map(
- function ($type) {
- return $type['id'];
- },
- array_filter(
- SemType::getTypes(),
- function ($t) use ($sem_class) {
- return $t['class'] === $sem_class;
- }
- )
- );
+ $semclass = new SemClass($sem_class);
+ $parameters['types'] = array_keys($semclass->getSemTypes());
}
if ($searchterm) {