From f3249577248c480087a95f6ead575c1c061ae990 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Tue, 25 Oct 2016 14:07:36 +0800 Subject: [PATCH] MDL-56138 messaging: Limit course search to enrolled courses. --- message/classes/api.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/message/classes/api.php b/message/classes/api.php index 23f0febb5e3..4398fba2372 100644 --- a/message/classes/api.php +++ b/message/classes/api.php @@ -196,14 +196,19 @@ class api { } // Now, let's get the courses. + // Make sure to limit searches to enrolled courses. + $enrolledcourses = enrol_get_my_courses(array('id', 'cacherev')); $courses = array(); - if ($arrcourses = \coursecat::search_courses(array('search' => $search), array('limit' => $limitnum))) { + if ($arrcourses = \coursecat::search_courses(array('search' => $search), array('limit' => $limitnum), + array('moodle/course:viewparticipants'))) { foreach ($arrcourses as $course) { - $data = new \stdClass(); - $data->id = $course->id; - $data->shortname = $course->shortname; - $data->fullname = $course->fullname; - $courses[] = $data; + if (isset($enrolledcourses[$course->id])) { + $data = new \stdClass(); + $data->id = $course->id; + $data->shortname = $course->shortname; + $data->fullname = $course->fullname; + $courses[] = $data; + } } }