Diff for /loncom/interface/lonmenu.pm between versions 1.390 and 1.391

version 1.390, 2012/11/08 18:37:44 version 1.391, 2012/11/09 17:27:10
Line 492  sub innerregister { Line 492  sub innerregister {
                        || $forcereg );                         || $forcereg );
     my ($cdom,$cnum,%perms,$cfile,$switchserver,$home,$forceedit,      my ($cdom,$cnum,%perms,$cfile,$switchserver,$home,$forceedit,
         $forceview,$editbutton);          $forceview,$editbutton);
     if ($env{'request.noversionuri'} =~ m{^/adm/($match_domain)/($match_username)/aboutme$}) {      if (($resurl =~ m{^/?adm/($match_domain)/($match_username)/aboutme$}) ||
         ($cfile,$home,$switchserver,$forceedit,$forceview) =          ($env{'request.role'} !~/^(aa|ca|au)/)) {
             &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)/) {  
         $editbutton = &prepare_functions($resurl,$forcereg,$group);          $editbutton = &prepare_functions($resurl,$forcereg,$group);
     }      }
     if ($editbutton eq '') {      if ($editbutton eq '') {
Line 763  sub prepare_functions { Line 756  sub prepare_functions {
 # Determine whether or not to display 'Edit' icon/button  # Determine whether or not to display 'Edit' icon/button
 #  #
     if ($resurl =~ m{^/?adm/($match_domain)/($match_username)/aboutme$}) {      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'});          my $file=&Apache::lonnet::declutter($env{'request.filename'});
         if (($sdom eq $env{'user.domain'}) && ($sname eq $env{'user.name'})) {          ($cfile,$home,$switchserver,$forceedit,$forceview) =
             ($cfile,$home,$switchserver,$forceedit,$forceview) =              &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,
                 &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,                  &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group);
                     &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group);          if (($cfile) && ($home ne '') && ($home ne 'no_host')) {
             $editbutton = &get_editbutton($cfile,$env{'user.home'},$switchserver,              $editbutton = &get_editbutton($cfile,$home,$switchserver,
                                           $forceedit,$forceview,$forcereg);                                            $forceedit,$forceview,$forcereg);
         }          }
     } elsif ((!$editbutton) && (!$env{'request.course.id'}) &&      } elsif ((!$env{'request.course.id'}) &&
              ($env{'user.author'}) && ($env{'request.filename'}) &&               ($env{'user.author'}) && ($env{'request.filename'}) &&
              ($env{'request.role'} !~/^(aa|ca|au)/)) {               ($env{'request.role'} !~/^(aa|ca|au)/)) {
 #  #
Line 786  sub prepare_functions { Line 775  sub prepare_functions {
         ($cfile,$home,$switchserver,$forceedit,$forceview) =          ($cfile,$home,$switchserver,$forceedit,$forceview) =
             &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,              &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,
                 &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group);                  &Apache::lonnet::clutter($resurl),$env{'request.symb'},$group);
         # Turn the button on or off  
         if (($cfile) && ($home ne '') && ($home ne 'no_host')) {          if (($cfile) && ($home ne '') && ($home ne 'no_host')) {
             $editbutton = &get_editbutton($cfile,$home,$switchserver,              $editbutton = &get_editbutton($cfile,$home,$switchserver,
                                           $forceedit,$forceview,$forcereg);                                            $forceedit,$forceview,$forcereg);
Line 830  sub prepare_functions { Line 818  sub prepare_functions {
   
 # This applies to about me page for users in a course  # This applies to about me page for users in a course
     if ($env{'request.course.id'}) {      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);              my ($sdom,$sname) = ($1,$2);
             unless (&Apache::lonnet::is_course($sdom,$sname)) {              unless (&Apache::lonnet::is_course($sdom,$sname)) {
                 &switch('','',6,4,'mail-message-new-22x22.png','Message to user',                  &switch('','',6,4,'mail-message-new-22x22.png','Message to user',
Line 838  sub prepare_functions { Line 826  sub prepare_functions {
                         "go('/adm/email?compose=individual&recname=$sname&recdom=$sdom')",                          "go('/adm/email?compose=individual&recname=$sname&recdom=$sdom')",
                             'Send message to specific user');                              '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') {                  foreach my $priv ('vsa','vgr','srm') {
                     $perms{$priv} = &Apache::lonnet::allowed($priv,$env{'request.course.id'});                      $perms{$priv} = &Apache::lonnet::allowed($priv,$env{'request.course.id'});
                     if (!$perms{$priv} && $env{'request.course.sec'} ne '') {                      if (!$perms{$priv} && $env{'request.course.sec'} ne '') {

Removed from v.1.390  
changed lines
  Added in v.1.391


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>