diff --git a/lang/en/error.php b/lang/en/error.php index 7bef32afe7a..82b3a01b9fc 100644 --- a/lang/en/error.php +++ b/lang/en/error.php @@ -262,6 +262,7 @@ $string['groupnotaddedtogroupingerror'] = 'Group "{$a->groupname}" not added to $string['groupingnotaddederror'] = 'Grouping "{$a}" not added'; $string['groupunknown'] = 'Group {$a} not associated to specified course'; $string['groupusernotmember'] = 'User is not member of this group.'; +$string['guestcantaccessprofiles'] = 'Guests cannot access user profiles. Log in with a full user account to continue.'; $string['guestnocomment'] = 'Guests are not allowed to post comments!'; $string['guestnoeditprofile'] = 'The guest user cannot edit their profile'; $string['guestnoeditprofileother'] = 'The guest user profile cannot be edited'; diff --git a/user/profile.php b/user/profile.php index c7b3be712c1..e47aebf3a72 100644 --- a/user/profile.php +++ b/user/profile.php @@ -50,7 +50,14 @@ if (!empty($CFG->forceloginforprofiles)) { require_login(); if (isguestuser()) { $SESSION->wantsurl = $PAGE->url->out(false); - redirect(get_login_url()); + + $PAGE->set_context(context_system::instance()); + echo $OUTPUT->header(); + echo $OUTPUT->confirm(get_string('guestcantaccessprofiles', 'error'), + get_login_url(), + $CFG->wwwroot); + echo $OUTPUT->footer(); + die; } } else if (!empty($CFG->forcelogin)) { require_login();