--- loncom/interface/lonmenu.pm 2012/11/08 18:37:44 1.390 +++ loncom/interface/lonmenu.pm 2012/11/09 17:27:10 1.391 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.390 2012/11/08 18:37:44 raeburn Exp $ +# $Id: lonmenu.pm,v 1.391 2012/11/09 17:27:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -492,15 +492,8 @@ sub innerregister { || $forcereg ); my ($cdom,$cnum,%perms,$cfile,$switchserver,$home,$forceedit, $forceview,$editbutton); - if ($env{'request.noversionuri'} =~ m{^/adm/($match_domain)/($match_username)/aboutme$}) { - ($cfile,$home,$switchserver,$forceedit,$forceview) = - &Apache::lonnet::can_edit_resource($env{'request.noversionuri'},$cnum,$cdom, - &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group); - if (($cfile) && ($home ne '') && ($home ne 'no_host')) { - $editbutton = &get_editbutton($cfile,$home,$switchserver, - $forceedit,$forceview,$forcereg); - } - } elsif ($env{'request.role'} !~/^(aa|ca|au)/) { + if (($resurl =~ m{^/?adm/($match_domain)/($match_username)/aboutme$}) || + ($env{'request.role'} !~/^(aa|ca|au)/)) { $editbutton = &prepare_functions($resurl,$forcereg,$group); } if ($editbutton eq '') { @@ -763,19 +756,15 @@ sub prepare_functions { # Determine whether or not to display 'Edit' icon/button # if ($resurl =~ m{^/?adm/($match_domain)/($match_username)/aboutme$}) { -# -# This applies to a user's own about me page -# - my ($sdom,$sname) = ($1,$2); my $file=&Apache::lonnet::declutter($env{'request.filename'}); - if (($sdom eq $env{'user.domain'}) && ($sname eq $env{'user.name'})) { - ($cfile,$home,$switchserver,$forceedit,$forceview) = - &Apache::lonnet::can_edit_resource($file,$cnum,$cdom, - &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group); - $editbutton = &get_editbutton($cfile,$env{'user.home'},$switchserver, + ($cfile,$home,$switchserver,$forceedit,$forceview) = + &Apache::lonnet::can_edit_resource($file,$cnum,$cdom, + &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group); + if (($cfile) && ($home ne '') && ($home ne 'no_host')) { + $editbutton = &get_editbutton($cfile,$home,$switchserver, $forceedit,$forceview,$forcereg); } - } elsif ((!$editbutton) && (!$env{'request.course.id'}) && + } elsif ((!$env{'request.course.id'}) && ($env{'user.author'}) && ($env{'request.filename'}) && ($env{'request.role'} !~/^(aa|ca|au)/)) { # @@ -786,7 +775,6 @@ sub prepare_functions { ($cfile,$home,$switchserver,$forceedit,$forceview) = &Apache::lonnet::can_edit_resource($file,$cnum,$cdom, &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group); - # Turn the button on or off if (($cfile) && ($home ne '') && ($home ne 'no_host')) { $editbutton = &get_editbutton($cfile,$home,$switchserver, $forceedit,$forceview,$forcereg); @@ -830,7 +818,7 @@ sub prepare_functions { # This applies to about me page for users in a course if ($env{'request.course.id'}) { - if ($resurl =~ m{^adm/($match_domain)/($match_username)/aboutme$}) { + if ($resurl =~ m{^/?adm/($match_domain)/($match_username)/aboutme$}) { my ($sdom,$sname) = ($1,$2); unless (&Apache::lonnet::is_course($sdom,$sname)) { &switch('','',6,4,'mail-message-new-22x22.png','Message to user', @@ -838,7 +826,9 @@ sub prepare_functions { "go('/adm/email?compose=individual&recname=$sname&recdom=$sdom')", 'Send message to specific user'); } - if (&Apache::lonnet::in_course($sdom,$sname,$cdom,$cnum)) { + my $hideprivileged = 1; + if (&Apache::lonnet::in_course($sdom,$sname,$cdom,$cnum,undef, + $hideprivileged)) { foreach my $priv ('vsa','vgr','srm') { $perms{$priv} = &Apache::lonnet::allowed($priv,$env{'request.course.id'}); if (!$perms{$priv} && $env{'request.course.sec'} ne '') {