From 31fdd3420c838f907644dc14f684fea4bc583bbc Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Mon, 7 Apr 2025 15:30:58 +0200 Subject: [PATCH] add workaround for github #1295 --- lib/Routes/Opencast/UserRoles.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/Routes/Opencast/UserRoles.php b/lib/Routes/Opencast/UserRoles.php index 005bbed0..6e8c7fcb 100644 --- a/lib/Routes/Opencast/UserRoles.php +++ b/lib/Routes/Opencast/UserRoles.php @@ -68,15 +68,14 @@ class UserRoles extends OpencastController // Admin users have permissions on videos of all administrated courses else if ($GLOBALS['perm']->have_perm('admin', $user_id)) { - $sem_user = new \Seminar_User($user_id); - - $nobody = $GLOBALS['user']; - $GLOBALS['user'] = $sem_user; - - $filter = \AdminCourseFilter::get(); - $courses = array_column($filter->getCourses(), 'seminar_id'); - - $GLOBALS['user'] = $nobody; + $plugin_id = \PluginEngine::getPlugin('OpencastV3')->getPluginId(); + $stmt = \DBManager::get()->prepare("SELECT seminar_id FROM seminar_inst + JOIN Institute USING(institut_id) + JOIN user_inst ON user_inst.institut_id IN (fakultaets_id, seminar_inst.institut_id) + JOIN tools_activated ON seminar_id = range_id AND range_type = 'course' + WHERE user_id = :user_id AND plugin_id = :plugin_id GROUP BY seminar_id"); + $stmt->execute([':user_id' => $user_id, ':plugin_id' => $plugin_id]); + $courses = $stmt->fetchAll(\PDO::FETCH_COLUMN); foreach ($courses as $course_id) { $roles[$course_id . '_Instructor'] = $course_id . '_Instructor'; -- GitLab