--- loncom/interface/lonmenu.pm 2003/07/05 10:07:11 1.80
+++ loncom/interface/lonmenu.pm 2003/08/15 14:55:45 1.84
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.80 2003/07/05 10:07:11 www Exp $
+# $Id: lonmenu.pm,v 1.84 2003/08/15 14:55:45 www 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;
@@ -334,7 +335,6 @@ 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)(\?|$)/) {
@@ -377,6 +377,7 @@ $form
ENDREGTEXT
# Registered, graphical output
} else {
+ my $requri=&Apache::lonnet::unescape($ENV{'REQUEST_URI'});
$result = (<
@@ -389,8 +390,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=currentURL+window.location.search;
swmenu.currentSymb="$ENV{'request.symb'}";
swmenu.reloadSymb="$ENV{'request.symb'}";
swmenu.currentStale=0;
@@ -714,7 +715,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 +723,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/)) ||