--- loncom/interface/lonmenu.pm 2019/08/06 14:44:36 1.497 +++ loncom/interface/lonmenu.pm 2020/01/18 04:37:10 1.500 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.497 2019/08/06 14:44:36 raeburn Exp $ +# $Id: lonmenu.pm,v 1.500 2020/01/18 04:37:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -449,7 +449,8 @@ sub secondary_menu { } } if ($env{'request.course.groups'} ne '') { - foreach my $group (split(/:/,$env{'request.course.groups'}) { + 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) { @@ -1909,7 +1910,11 @@ sub done_button_js { 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)) {