diff --git a/lib/moodlelib.php b/lib/moodlelib.php index c33fc8f351c..574225b2703 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -2807,15 +2807,6 @@ function require_login($courseorid = null, $autologinguest = true, $cm = null, $ } } - // Set the global $COURSE. - // TODO MDL-49434: setting current course/cm should be after the check $cm->uservisible . - if ($cm) { - $PAGE->set_cm($cm, $course); - $PAGE->set_pagelayout('incourse'); - } else if (!empty($courseorid)) { - $PAGE->set_course($course); - } - // Check visibility of activity to current user; includes visible flag, conditional availability, etc. if ($cm && !$cm->uservisible) { if ($preventredirect) { @@ -2829,6 +2820,14 @@ function require_login($courseorid = null, $autologinguest = true, $cm = null, $ redirect($url, get_string('activityiscurrentlyhidden')); } + // Set the global $COURSE. + if ($cm) { + $PAGE->set_cm($cm, $course); + $PAGE->set_pagelayout('incourse'); + } else if (!empty($courseorid)) { + $PAGE->set_course($course); + } + // Finally access granted, update lastaccess times. user_accesstime_log($course->id); }