--- loncom/interface/lonmenu.pm 2023/04/02 03:16:26 1.530 +++ loncom/interface/lonmenu.pm 2023/07/14 00:54:13 1.534 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.530 2023/04/02 03:16:26 raeburn Exp $ +# $Id: lonmenu.pm,v 1.534 2023/07/14 00:54:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -210,7 +210,6 @@ use Apache::lonenc(); use Apache::lonlocal; use Apache::lonmsg(); use LONCAPA qw(:DEFAULT :match); -use LONCAPA::ltiutils; use HTML::Entities(); use Apache::lonwishlist(); @@ -1077,7 +1076,9 @@ sub innerregister { ); if ($env{'request.user_in_effect'} =~ /^($match_username):($match_domain)$/) { ($vuname,$vudom) = ($1,$2); - $vid = (&Apache::lonnet::idrget($vudom,$vuname))[1]; + unless (&Apache::lonnet::is_advanced_user($vudom,$vuname)) { + $vid = (&Apache::lonnet::idrget($vudom,$vuname))[1]; + } $viewas = $env{'request.user_in_effect'}; $text = $lt{'upda'}; $change = 'off'; @@ -1138,16 +1139,25 @@ END my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; my ($udom,$uname,$thisdisfn) = ($env{'request.filename'}=~m{^\Q$londocroot/priv/\E([^/]+)/([^/]+)/(.*)$}); + my $crsauthor; + if (($env{'request.course.id'}) && + ($env{'course.'.$env{'request.course.id'}.'.num'} eq $uname) && + ($env{'course.'.$env{'request.course.id'}.'.domain'} eq $udom)) { + $crsauthor = 1; + } my $currdir = '/priv/'.$udom.'/'.$uname.'/'.$thisdisfn; if ($currdir =~ m-/$-) { $is_const_dir = 1; - if ($thisdisfn eq '') { - unless (($env{'request.course.id'}) && - ($env{'course.'.$env{'request.course.id'}.'.num'} eq $uname) && - ($env{'course.'.$env{'request.course.id'}.'.domain'} eq $udom)) { - $is_const_dir = 2; - } + if (($thisdisfn eq '') && ($crsauthor)) { + $is_const_dir = 2; } + my $esc_currdir = &Apache::loncommon::escape_single($currdir); + $menuitems=(<