diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 8cd475b25d5c5..82342ade81ae5 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -1784,9 +1784,7 @@ function require_login($courseorid=0, $autologinguest=true, $cm=null) { if ($USER->username != 'guest' and !has_capability('moodle/course:view', $context)) { if ($COURSE->guest == 1) { // Temporarily assign them guest role for this context, if it fails later user is asked to enrol - has_capability('clearcache'); // Must clear cache - $guestcaps = get_role_context_caps($CFG->guestroleid, $context); - $USER->capabilities = merge_role_caps($USER->capabilities, $guestcaps); + $USER->access = load_temp_role($context, $CFG->guestroleid, $USER->access); } }