diff --git a/admin/tool/monitor/lib.php b/admin/tool/monitor/lib.php index 7e91f0b9027..2904832d3c6 100644 --- a/admin/tool/monitor/lib.php +++ b/admin/tool/monitor/lib.php @@ -103,10 +103,13 @@ function tool_monitor_get_user_courses() { if (has_capability('tool/monitor:subscribe', context_system::instance())) { $options[0] = get_string('site'); } - if ($courses = get_user_capability_course('tool/monitor:subscribe', null, true, 'fullname', $orderby)) { + if ($courses = get_user_capability_course('tool/monitor:subscribe', null, true, 'fullname, visible', $orderby)) { foreach ($courses as $course) { - $options[$course->id] = format_string($course->fullname, true, - array('context' => context_course::instance($course->id))); + if ($course->visible === true || has_capability('moodle/course:viewhiddencourses', + context_course::instance($course->id))) { + $options[$course->id] = format_string($course->fullname, true, + array('context' => context_course::instance($course->id))); + } } } // If there are no courses and there is no site permission then return false.