--- loncom/interface/lonmenu.pm 2021/06/07 03:32:02 1.507
+++ loncom/interface/lonmenu.pm 2021/09/21 22:54:26 1.510
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.507 2021/06/07 03:32:02 raeburn Exp $
+# $Id: lonmenu.pm,v 1.510 2021/09/21 22:54:26 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -295,10 +295,10 @@ sub primary_menu {
# users
next if $$menuitem[4] eq 'roles' ##show links depending on
&& (&Apache::loncommon::show_course() ##term 'Courses' or
- || $env{'request.lti.login'}); ##'Roles' wanted
+ || $lti); ##'Roles' wanted
next if $$menuitem[4] eq 'courses' ##and not LTI access
&& (!&Apache::loncommon::show_course()
- || !$env{'request.lti.login'});
+ || $lti);
next if $$menuitem[4] eq 'notlti'
&& $lti;
next if $$menuitem[4] eq 'ltiexc'
@@ -316,7 +316,21 @@ sub primary_menu {
$position = 'right';
}
if ($env{'request.course.id'} && $menucoll) {
- next if (($menuitem->[6]) && (!$menuopts{$menuitem->[6]}));
+ if (($menuitem->[6]) && (!$menuopts{$menuitem->[6]})) {
+ if ($menuitem->[6] eq 'pers') {
+ if ($menuopts{'name'} && !$ltiexc{'fullname'} &&
+ $env{'user.name'} && $env{'user.domain'}) {
+ $menu{$position} .= '
'.
+ &Apache::loncommon::plainname($env{'user.name'},
+ $env{'user.domain'}).'';
+ next;
+ } else {
+ next;
+ }
+ } else {
+ next;
+ }
+ }
}
if (defined($primary_submenu{$title})) {
my ($link,$target);
@@ -342,11 +356,14 @@ sub primary_menu {
}
push(@primsub,$item);
}
- if ($title eq 'Personal' && $env{'user.name'} && $env{'user.domain'} ) {
- unless (($ltiexc{'fullname'}) ||
- (($env{'request.course.id'}) && ($menucoll) && (!$menuopts{'name'}))) {
- $title = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'});
+ if ($title eq 'Personal') {
+ if ($env{'user.name'} && $env{'user.domain'} && !$ltiexc{'fullname'}) {
+ unless (($env{'request.course.id'}) && ($menucoll) && (!$menuopts{'name'})) {
+ $title = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'});
+ }
}
+ next if (($env{'request.course.id'}) && ($menucoll) && ($title eq 'Personal') &&
+ (!@primsub));
} else {
$title = &mt($title);
}
@@ -370,6 +387,13 @@ sub primary_menu {
} else {
$menu{$position} .= ''.&Apache::loncommon::top_nav_help('Help').'';
}
+ } elsif ($$menuitem[3] eq 'Log In') {
+ if ($public) {
+ if (&Apache::lonnet::get_saml_landing()) {
+ $$menuitem[0] = '/adm/login';
+ }
+ }
+ $menu{$position} .= prep_menuitem($menuitem,$ltitarget);
} else {
$menu{$position} .= prep_menuitem($menuitem,$ltitarget);
}