--- 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); }