This checks the courses' current visibility and the users permissions.
If they have the permission to view the course when it is hidden they'll get messages.
We already have checks for the users enrolled & subscription status.
}
}
+ $coursecontext = context_course::instance($course->id);
+ if (!$course->visible and !has_capability('moodle/course:viewhiddencourses', $coursecontext, $userto->id)) {
+ // The course is hidden and the user does not have access to it.
+ continue;
+ }
+
// Don't send email if the forum is Q&A and the user has not posted.
// Initial topics are still mailed.
if ($forum->type == 'qanda' && !forum_get_user_posted_time($discussion->id, $userto->id) && $pid != $discussion->firstpost) {