--- loncom/interface/lonmenu.pm 2018/04/27 22:07:11 1.489 +++ loncom/interface/lonmenu.pm 2018/04/27 23:01:05 1.490 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.489 2018/04/27 22:07:11 raeburn Exp $ +# $Id: lonmenu.pm,v 1.490 2018/04/27 23:01:05 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -384,7 +384,7 @@ sub getauthor{ } sub secondary_menu { - my ($httphost) = @_; + my ($httphost,$ltiscope) = @_; my $menu; my $crstype = &Apache::loncommon::course_type(); @@ -495,6 +495,8 @@ sub secondary_menu { && !$author; next if $$menuitem[4] eq 'cca' && !$canmodifycoauthor; + next if $$menuitem[4] eq 'notltimapres' + && (($ltiscope eq 'resource') || ($ltiscope eq 'map')); my $title = $menuitem->[3]; if (defined($secondary_submenu{$title})) { @@ -532,13 +534,15 @@ sub secondary_menu { } } elsif ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) { # special treatment for role selector - ($roleswitcher_js,$roleswitcher_form,my $switcher) = - &roles_selector( + unless ($env{'request.lti.login'}) { + ($roleswitcher_js,$roleswitcher_form,my $switcher) = + &roles_selector( $env{'course.' . $env{'request.course.id'} . '.domain'}, $env{'course.' . $env{'request.course.id'} . '.num'}, $httphost,$ltitarget - ); - $menu .= $switcher; + ); + $menu .= $switcher; + } } else { if ($$menuitem[3] eq 'Syllabus' && $env{'request.course.id'}) { my $url = $$menuitem[0]; @@ -700,7 +704,7 @@ sub build_submenu { } sub innerregister { - my ($forcereg,$bread_crumbs,$group,$pagebuttonshide,$hostname) = @_; + my ($forcereg,$bread_crumbs,$group,$pagebuttonshide,$hostname,$ltiscope,$ltiuri) = @_; my $const_space = ($env{'request.state'} eq 'construct'); my $is_const_dir = 0; @@ -710,18 +714,13 @@ sub innerregister { undef(@inlineremote); - my ($mapurl,$resurl,$crstype,$navmap,$ltiscope,$ltiuri); + my ($mapurl,$resurl,$crstype,$navmap); if ($env{'request.course.id'}) { # #course_type: Course, Community, or Placement # $crstype = &Apache::loncommon::course_type(); - if (($env{'request.lti.login'}) && ($env{'request.lti.uri'})) { - my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; - ($ltiscope,$ltiuri) = &LONCAPA::ltiutils::lti_provider_scope($env{'request.lti.uri'},$cdom,$cnum); - } if ($env{'request.symb'}) { my $ignorenull; unless ($env{'request.noversionuri'} eq '/adm/navmaps') {