--- loncom/interface/lonmenu.pm 2003/06/23 19:08:03 1.79 +++ loncom/interface/lonmenu.pm 2003/08/28 16:43:12 1.86 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.79 2003/06/23 19:08:03 www Exp $ +# $Id: lonmenu.pm,v 1.86 2003/08/28 16:43:12 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -178,7 +178,8 @@ sub registerurl { if (($ENV{'browser.interface'} eq 'textual') || ($ENV{'environment.remote'} eq 'off') || ((($ENV{'request.publicaccess'}) || - (!&Apache::lonnet::is_on_map($ENV{'REQUEST_URI'}))) && + (!&Apache::lonnet::is_on_map( + &Apache::lonnet::unescape($ENV{'REQUEST_URI'})))) && (!$forcereg))) { return $result. ''.$force_title; @@ -229,7 +230,7 @@ sub innerregister { } if (&Apache::lonmsg::newmail()) { $newmail=($textual? - 'You have new messages
': + 'You have new messages
': 'swmenu.setstatus("you have","messages");'); } if ($noremote) { @@ -334,14 +335,13 @@ c&8&1 c&8&2 s&8&3&prt.gif&prepare&printout&gopost('/adm/printout',currentURL)&Prepare a printable document s&9&1&sbkm.gif&set&bookmark&set_bookmark()&Set a bookmark for this resource&2 -s&9&2&vbkm.gif&view&bookmark&edit_bookmarks()&Use or edit my bookmark collection&2 s&9&3&anot.gif&anno-&tations&annotate()&Make notes and annotations about this resource&2 ENDMENUITEMS unless ($ENV{'REQUEST_URI'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme)(\?|$)/) { $menuitems.=(< @@ -389,8 +391,8 @@ var swmenu=null; $timesync $newmail $buttons - swmenu.currentURL=window.location.pathname; - swmenu.reloadURL=window.location.pathname+window.location.search; + swmenu.currentURL="$requri"; + swmenu.reloadURL=swmenu.currentURL+window.location.search; swmenu.currentSymb="$ENV{'request.symb'}"; swmenu.reloadSymb="$ENV{'request.symb'}"; swmenu.currentStale=0; @@ -714,7 +716,7 @@ sub rawconfig { $output.=&secondlevel( $uname,$udom,$rol,$crs,$pub,$con,$row,$col,$prt,$img,$top,$bot,$act,$desc); } - } elsif (($pro=~/p(\w+)/) && ($prt)) { + } elsif (($pro=~/^p(\w+)/) && ($prt)) { if (&Apache::lonnet::allowed($1,$prt)) { $output.=switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc); } @@ -722,6 +724,14 @@ sub rawconfig { if ($ENV{'request.course.fn'}) { $output.=switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc); } + } elsif ($pro =~ /^course_(.*)$/) { + # Check for permissions inside of a course + if (($ENV{'request.course.id'}) && + (&Apache::lonnet::allowed($1,$ENV{'request.course.id'}. + ($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:'')) + )) { + $output.=switch($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc); + } } elsif ($pro eq 'author') { if ($author) { if ((($prt eq 'rca') && ($ENV{'request.role'}=~/^ca/)) ||