diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 8519da19ea4..00072d7a8eb 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -1630,8 +1630,15 @@ function require_login($courseid=0, $autologinguest=true, $cm=null) { break; default: /// Guests not allowed - print_header_simple(); - notice(get_string('guestsnotallowed', '', $course->fullname), "$CFG->wwwroot/login/index.php"); + print_header_simple('', '', get_string('loggedinasguest')); + if (empty($USER->switchrole[$context->id])) { // Normal guest + notice(get_string('guestsnotallowed', '', $course->fullname), "$CFG->wwwroot/login/index.php"); + } else { + notify(get_string('guestsnotallowed', '', $course->fullname)); + echo '
'.switchroles_form($course->id).'
'; + print_footer($course); + exit; + } break; }