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.