--- loncom/interface/lonmenu.pm 2010/03/29 14:50:46 1.324
+++ loncom/interface/lonmenu.pm 2010/05/28 13:21:13 1.327
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.324 2010/03/29 14:50:46 raeburn Exp $
+# $Id: lonmenu.pm,v 1.327 2010/05/28 13:21:13 droeschl Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -177,7 +177,7 @@ sub prep_menuitem {
return '
$link|;
+ . qq| href="$$menuitem[0]" target="_top">$link|;
}
# primary_menu() evaluates @primary_menu and returns XHTML for the menu
@@ -216,11 +216,11 @@ sub primary_menu {
if ($$menuitem[3] eq 'Help') { # special treatment for helplink
$menu .= ''.&Apache::loncommon::top_nav_help('Help').'';
} else {
- my @items = @{$menuitem};
- $items[0] = 'javascript:'.$menuitem->[0].';';
- $menu .= &prep_menuitem(\@items);
+ $menu .= prep_menuitem($menuitem);
}
}
+ $menu =~ s/\[domain\]/$env{'user.domain'}/g;
+ $menu =~ s/\[user\]/$env{'user.name'}/g;
return "";
}
@@ -230,15 +230,21 @@ sub secondary_menu {
my $menu;
my $crstype = &Apache::loncommon::course_type();
- my $canedit = &Apache::lonnet::allowed('mdc', $env{'request.course.id'});
- my $canviewgrps = &Apache::lonnet::allowed('vcg', $env{'request.course.id'}
- . ($env{'request.course.sec'} ? "/$env{'request.course.sec'}"
- : ''));
+ my $crs_sec = $env{'request.course.id'} . ($env{'request.course.sec'}
+ ? "/$env{'request.course.sec'}"
+ : '');
+ my $canedit = &Apache::lonnet::allowed('mdc', $env{'request.course.id'});
+ my $canviewgrps = &Apache::lonnet::allowed('vcg', $crs_sec);
+ my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec);
+ my $canviewwnew = &Apache::lonnet::allowed('whn', $crs_sec);
+ my $canmodpara = &Apache::lonnet::allowed('opa', $crs_sec);
+
my $showlink = &show_return_link();
my %groups = &Apache::lonnet::get_active_groups(
$env{'user.domain'}, $env{'user.name'},
$env{'course.' . $env{'request.course.id'} . '.domain'},
$env{'course.' . $env{'request.course.id'} . '.num'});
+
foreach my $menuitem (@secondary_menu) {
# evaluate conditions
next if ref($menuitem) ne 'ARRAY';
@@ -253,10 +259,12 @@ sub secondary_menu {
&& $crstype eq 'Community';
next if $$menuitem[4] eq 'mdcCommunity'
&& $crstype ne 'Community';
- next if $$menuitem[4] =~ /^Course$/
- && $crstype eq 'Community';
- next if $$menuitem[4] =~ /^Community$/
- && $crstype ne 'Community';
+ next if $$menuitem[4] eq 'cst'
+ && !$canmodifyuser;
+ next if $$menuitem[4] eq 'whn'
+ && !$canviewwnew;
+ next if $$menuitem[4] eq 'opa'
+ && !$canmodpara;
next if $$menuitem[4] =~ /showgroups$/
&& !$canviewgrps
&& !%groups;
@@ -674,10 +682,6 @@ sub edit_course_upload {
# ================================================================== Raw Config
-#SD
-#this is called by
-#lonmenu
-#
sub clear {
my ($row,$col)=@_;
$inlineremote[10*$row+$col]='';
@@ -1068,12 +1072,6 @@ function go(url) {
}
}
-function gotop(url) {
- if (url!='' && url!= null) {
- top.location.href = url;
- }
-}
-
function gopost(url,postdata) {
if (url!='') {
this.document.server.action=url;
@@ -1163,7 +1161,7 @@ function edit_bookmarks() {
go('');
w_BookmarkPal_flag=1;
bookmarkpal=window.open("/adm/bookmarks",
- "BookmarkPal", "width=400,height=505,scrollbars=0");
+ "BookmarkPal", "width=500,height=505,scrollbars=0");
}
function annotate() {