1
0
mirror of https://github.com/moodle/moodle.git synced 2025-04-24 18:04:43 +02:00

MDL-71148 core_navigation: Move unauthenticated user checks to the lib

- Part of: MDL-69588
Added conditional information in user_get_user_navigation_info for
when a user is unauthenticated.
This commit is contained in:
Peter Dias 2021-03-31 12:41:23 +08:00 committed by Mathew May
parent fe285d5496
commit 25e178aa59
3 changed files with 27 additions and 31 deletions

@ -3321,41 +3321,26 @@ EOD;
$loginpage = $this->is_login_page();
$loginurl = get_login_url();
// If not logged in, show the typical not-logged-in string.
if (!isloggedin()) {
$returnstr = get_string('loggedinnot', 'moodle');
if (!$loginpage) {
$returnstr .= " (<a href=\"$loginurl\">" . get_string('login') . '</a>)';
}
return html_writer::div(
html_writer::span(
$returnstr,
'login nav-link'
),
$usermenuclasses
);
}
// If logged in as a guest user, show a string to that effect.
if (isguestuser()) {
$returnstr = get_string('loggedinasguest');
if (!$loginpage && $withlinks) {
$returnstr .= " (<a href=\"$loginurl\">".get_string('login').'</a>)';
}
return html_writer::div(
html_writer::span(
$returnstr,
'login nav-link'
),
$usermenuclasses
);
}
// Get some navigation opts.
$opts = user_get_user_navigation_info($user, $this->page);
if (!empty($opts->unauthenticateduser)) {
$returnstr = get_string($opts->unauthenticateduser['content'], 'moodle');
// If not logged in, show the typical not-logged-in string.
if (!$loginpage && (!$opts->unauthenticateduser['guest'] || $withlinks)) {
$returnstr .= " (<a href=\"$loginurl\">" . get_string('login') . '</a>)';
}
return html_writer::div(
html_writer::span(
$returnstr,
'login nav-link'
),
$usermenuclasses
);
}
$avatarclasses = "avatars";
$avatarcontents = html_writer::span($opts->metadata['useravatar'], 'avatar current');
$usertextcontents = $opts->metadata['userfullname'];

@ -823,6 +823,16 @@ function user_get_user_navigation_info($user, $page, $options = array()) {
$returnobject->navitems = array();
$returnobject->metadata = array();
$guest = isguestuser();
if (!isloggedin() || $guest) {
$returnobject->unauthenticateduser = [
'guest' => $guest,
'content' => $guest ? 'loggedinasguest' : 'loggedinnot',
];
return $returnobject;
}
$course = $page->course;
// Query the environment.

@ -583,6 +583,7 @@ class core_userliblib_testcase extends advanced_testcase {
$PAGE->set_url('/');
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$opts = user_get_user_navigation_info($user, $PAGE, array('avatarsize' => $testsize));
$avatarhtml = $opts->metadata['useravatar'];