From b59bf23b34963b18cb6f62fe494c2499f6bbbb42 Mon Sep 17 00:00:00 2001 From: Peter Thienel <thienel@data-quest.de> Date: Wed, 29 May 2024 16:30:12 +0200 Subject: [PATCH] use and show only visible courses, fixes #4231 --- lib/extern/ExternPagePersBrowse.php | 3 ++- lib/extern/ExternPagePersonDetails.php | 3 ++- lib/extern/ExternPageTimetable.php | 6 +++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/extern/ExternPagePersBrowse.php b/lib/extern/ExternPagePersBrowse.php index ceb72d5ee0e..1eb5a04dc29 100644 --- a/lib/extern/ExternPagePersBrowse.php +++ b/lib/extern/ExternPagePersBrowse.php @@ -32,7 +32,7 @@ class ExternPagePersBrowse extends ExternPage /** * @see ExternPage::getDataFields() - + * @param array $classes * @return array */ @@ -343,6 +343,7 @@ class ExternPagePersBrowse extends ExternPage LEFT JOIN auth_user_md5 aum ON su.user_id = aum.user_id WHERE ui.Institut_id = ? AND su.status = 'dozent' + AND s.visible = 1 AND ui.externdefault = 1 AND " . get_ext_vis_query() . " AND ui.inst_perms = 'dozent' diff --git a/lib/extern/ExternPagePersonDetails.php b/lib/extern/ExternPagePersonDetails.php index 8fb65404404..a62d48216bb 100644 --- a/lib/extern/ExternPagePersonDetails.php +++ b/lib/extern/ExternPagePersonDetails.php @@ -146,7 +146,8 @@ class ExternPagePersonDetails extends ExternPage LEFT JOIN `seminar_user` USING(`seminar_id`) LEFT JOIN `sem_types` ON `sem_types`.`id` = `seminare`.`status` - WHERE `semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`) + WHERE `seminare`.`visible` = 1 + AND `semester_courses`.`semester_id` IN (:semester_ids) OR ISNULL(`semester_id`) AND `seminar_user`.`user_id` = :user_id AND `seminar_user`.`status` = 'dozent' AND `sem_types`.`class` IN (:semclasses)"; diff --git a/lib/extern/ExternPageTimetable.php b/lib/extern/ExternPageTimetable.php index 5d8dfd992ae..1e0e66af5a0 100644 --- a/lib/extern/ExternPageTimetable.php +++ b/lib/extern/ExternPageTimetable.php @@ -119,7 +119,11 @@ class ExternPageTimetable extends ExternPage LEFT JOIN `seminar_inst` ON `seminare`.`Seminar_id` = `seminar_inst`.`Seminar_id`"; $query .= " - WHERE (`termine`.`date` >= :start AND `termine`.`date` <= :end) " + WHERE ( + `seminare`.`visible` = 1 + AND termine`.`date` >= :start + AND `termine`.`date` <= :end + )" . $this->getEventTypeSQL($params) . $this->getScopesSQL($params, $this->studyareas, (bool) $this->scope_kids) . $this->getInstitutesSQL($params) -- GitLab