--- loncom/interface/lonmenu.pm 2023/12/28 19:38:17 1.544 +++ loncom/interface/lonmenu.pm 2024/04/18 16:42:58 1.547 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.544 2023/12/28 19:38:17 raeburn Exp $ +# $Id: lonmenu.pm,v 1.547 2024/04/18 16:42:58 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -378,6 +378,7 @@ sub primary_menu { } else { next; } + } if ($env{'request.course.id'} && $menucoll) { next if ($item->[3]) && (!$menuopts{$item->[3]}); } @@ -1306,6 +1307,7 @@ ENDMENUITEMS s&7&2&prt.png&Print&printout[_1]&gocstr('/adm/printout','/priv/$udom/$uname/$cleandisfn')&Prepare a printable document ENDMENUITEMS } + } if (ref($bread_crumbs) eq 'ARRAY') { &Apache::lonhtmlcommon::clear_breadcrumbs(); foreach my $crumb (@{$bread_crumbs}){ @@ -1708,7 +1710,14 @@ sub prepare_functions { } elsif (($resurl !~ m{^/?adm/($match_domain)/($match_username)/aboutme$}) && ($resurl ne '/cgi-bin/printout.pl')) { if ($env{'request.filename'}) { - my $file=&Apache::lonnet::declutter($env{'request.filename'}); + my $file; + my $londocroot = $Apache::lonnet::perlvar{'lonDocRoot'}; + if ($env{'request.filename'} =~ m{^\Q$londocroot\E/priv/}) { + $file = $env{'request.filename'}; + $file =~ s{^\Q$londocroot\E/}{}; + } else { + $file=&Apache::lonnet::declutter($env{'request.filename'}); + } ($cfile,$home,$switchserver,$forceedit,$forceview) = &Apache::lonnet::can_edit_resource($file,$cnum,$cdom, &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group);