--- 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 "
      $menu
    "; } @@ -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() {