--- loncom/interface/lonmenu.pm 2019/01/08 23:40:16 1.496
+++ loncom/interface/lonmenu.pm 2021/03/06 13:40:33 1.505
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.496 2019/01/08 23:40:16 raeburn Exp $
+# $Id: lonmenu.pm,v 1.505 2021/03/06 13:40:33 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -448,10 +448,9 @@ sub secondary_menu {
$showresv = 1;
}
}
- my %groups = &Apache::lonnet::get_active_groups(
- $env{'user.domain'}, $env{'user.name'},$cdom,$cnum);
- if (%groups) {
- foreach my $group (keys(%groups)) {
+ if ($env{'request.course.groups'} ne '') {
+ foreach my $group (split(/:/,$env{'request.course.groups'})) {
+ next unless ($group =~ /^\w+$/);
my @privs = split(/:/,$env{"user.priv.$env{'request.role'}./$cdom/$cnum/$group"});
shift(@privs);
if (@privs) {
@@ -575,7 +574,7 @@ sub secondary_menu {
}
}
if (@scndsub > 0) {
- $menu .= &create_submenu($link,$target,$title,\@scndsub,1);
+ $menu .= &create_submenu($link,$target,&mt($title),\@scndsub,1);
} elsif ($link ne '#') {
$menu .= '
'.&mt($title).'';
}
@@ -1099,12 +1098,14 @@ if ($env{'browser.mobile'}) {
}
unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme|viewclasslist|portfolio)(\?|$)/) {
- if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/}) && ($env{'request.noversionuri'} !~ m{^/uploaded/$match_domain/$match_courseid/docs/}) && ($env{'request.noversionuri'} !~ m{^/adm/.+/ext\.tool$})) {
+ if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/}) &&
+ ($env{'request.noversionuri'} !~ m{^/uploaded/$match_domain/$match_courseid/(docs/|default_\d+\.page$)}) &&
+ ($env{'request.noversionuri'} !~ m{^/adm/.+/ext\.tool$})) {
$menuitems.=(< 'Key:',
nokey => 'A proctor key is required',
);
+ my $shownsymb = &HTML::Entities::encode(&Apache::lonenc::check_encrypt($env{'request.symb'}));
my $navmap = Apache::lonnavmaps::navmap->new();
my ($missing,$tried) = (0,0);
if (ref($navmap)) {
my @resources=();
if ($type eq 'map') {
my ($mapurl,$rid,$resurl)=&Apache::lonnet::decode_symb($env{'request.symb'});
- @resources=$navmap->retrieveResources($mapurl,sub { $_[0]->is_problem() });
+ if ($env{'request.symb'} =~ /\.page$/) {
+ @resources=$navmap->retrieveResources($resurl,sub { $_[0]->is_problem() });
+ } else {
+ @resources=$navmap->retrieveResources($mapurl,sub { $_[0]->is_problem() });
+ }
} else {
my $res = $navmap->getBySymb($env{'request.symb'});
if (ref($res)) {
@@ -1963,6 +1976,7 @@ sub done_button_js {
@@ -2044,6 +2058,7 @@ END