From b4b0e9687ec5e9dd5eb6eeb629e6486c8efb8744 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Mon, 30 Sep 2024 09:59:15 +0000 Subject: [PATCH] fix sem query regarding semesters in StudipNews, fixes #4648 Closes #4648 Merge request studip/studip!3464 --- app/controllers/news.php | 2 +- lib/models/StudipNews.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/news.php b/app/controllers/news.php index 973646e687d..745dafddee6 100644 --- a/app/controllers/news.php +++ b/app/controllers/news.php @@ -493,7 +493,7 @@ class NewsController extends StudipController $this->news_enddate = $this->getTimeStamp(Request::get('news_enddate'), 'end') ?: time(); } // fetch news list - $this->news_items = StudipNews::getNewsRangesByFilter($GLOBALS['user']->id, $this->area_type, $this->news_searchterm, $this->news_startdate, $this->news_enddate, true, $limit+1); + $this->news_items = StudipNews::GetNewsRangesByFilter($GLOBALS['user']->id, $this->area_type, $this->news_searchterm, $this->news_startdate, $this->news_enddate, true, $limit+1); // build area and filter description if ($this->news_searchterm && $this->area_type && $this->area_type !== 'all') { if ($this->news_startdate && $this->news_enddate) { diff --git a/lib/models/StudipNews.php b/lib/models/StudipNews.php index 4166d8151c0..2311d66ee72 100644 --- a/lib/models/StudipNews.php +++ b/lib/models/StudipNews.php @@ -251,10 +251,10 @@ class StudipNews extends SimpleORMap implements PrivacyObject break; case 'sem': $select_querypart = 'CONCAT(news_id, "_", range_id) AS idx, range_id, seminare.Name AS title, ' - .'seminare.start_time AS start, news.*, seminare.start_time, sd1.name AS startsem, ' - .'IFNULL((SELECT semester_data.name FROM semester_data INNER JOIN semester_courses USING (semester_id) WHERE semester_courses.course_id = seminare.Seminar_id ORDER BY semester_data.beginn DESC LIMIT 1), "'._("unbegrenzt").'") AS endsem '; - $from_querypart = 'news INNER JOIN news_range USING(news_id) INNER JOIN seminare ON Seminar_id = range_id ' - .'LEFT JOIN semester_data sd1 ON (start_time BETWEEN sd1.beginn AND sd1.ende) '; + .'news.*, ' + .'IFNULL((SELECT semester_data.name FROM semester_data JOIN semester_courses USING (semester_id) WHERE semester_courses.course_id = seminare.Seminar_id ORDER BY semester_data.beginn ASC LIMIT 1), "'._('unbegrenzt').'") AS startsem, ' + .'IFNULL((SELECT semester_data.name FROM semester_data JOIN semester_courses USING (semester_id) WHERE semester_courses.course_id = seminare.Seminar_id ORDER BY semester_data.beginn DESC LIMIT 1), "'._('unbegrenzt').'") AS endsem '; + $from_querypart = 'news INNER JOIN news_range USING(news_id) INNER JOIN seminare ON Seminar_id = range_id '; if (Config::get()->SORT_NEWS_BY_CHDATE) { $order_querypart = 'seminare.Name, news.chdate DESC, news.date DESC'; } else { -- GitLab