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

version 1.390, 2012/11/08 18:37:44 version 1.392, 2012/11/16 23:37:16
Line 446  sub innerregister { Line 446  sub innerregister {
     if ($env{'request.course.id'} && $env{'request.symb'} eq '') {      if ($env{'request.course.id'} && $env{'request.symb'} eq '') {
         $resurl = $env{'request.noversionuri'};          $resurl = $env{'request.noversionuri'};
     }      }
    
     if ( $env{'request.symb'} && $env{'request.course.id'} ) {      if ( $env{'request.symb'} && $env{'request.course.id'} ) {
   
         (my $mapurl, my $rid, $resurl) = &Apache::lonnet::decode_symb(&Apache::lonnet::symbread());          (my $mapurl, my $rid, $resurl) = &Apache::lonnet::decode_symb(&Apache::lonnet::symbread());
Line 478  sub innerregister { Line 478  sub innerregister {
   
         &Apache::lonhtmlcommon::clear_breadcrumbs();          &Apache::lonhtmlcommon::clear_breadcrumbs();
         &Apache::lonhtmlcommon::add_breadcrumb(@crumbs);          &Apache::lonhtmlcommon::add_breadcrumb(@crumbs);
       } elsif ($env{'request.course.id'}) {
           my $courseurl = &Apache::lonnet::courseid_to_courseurl($env{'request.course.id'});        
           if ($env{'request.noversionuri'} =~ m{^\Q/uploaded$courseurl/supplemental/\E(default|\d+)/}) {
               my $crstype = &Apache::loncommon::course_type(); 
               &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
               if ($env{'form.folderpath'}) {
                   my ($trail) = 
                       &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype);
                   return $trail;
               } else {
                   &Apache::lonhtmlcommon::clear_breadcrumbs();
                   &Apache::lonhtmlcommon::add_breadcrumb(                
                       {text  => "Supplemental $crstype Content",
                        href  => "javascript:gopost('/adm/supplemental','')"});
                   if ($env{'httpref.'.$env{'request.noversionuri'}} ne '') {
                       &Apache::lonhtmlcommon::add_breadcrumb({text => 'View Resource'});
                   }
                   return &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype);
               }
           } else {
               &Apache::lonhtmlcommon::clear_breadcrumbs();
               &Apache::lonhtmlcommon::add_breadcrumb({text => 'View Resource'});
           }
     } elsif (! $const_space){      } elsif (! $const_space){
         #a situation when we're looking at a resource outside of context of a           #a situation when we're looking at a resource outside of context of a 
         #course or construction space (e.g. with cumulative rights)          #course or construction space (e.g. with cumulative rights)
Line 492  sub innerregister { Line 515  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 779  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 798  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 841  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 849  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 '') {
Line 898  sub advtools_crumbs { Line 911  sub advtools_crumbs {
     } elsif ($env{'request.noversionuri'} !~ m{^/adm/(navmaps|viewclasslist)(\?|$)}) {      } elsif ($env{'request.noversionuri'} !~ m{^/adm/(navmaps|viewclasslist)(\?|$)}) {
         &Apache::lonhtmlcommon::add_breadcrumb_tool(          &Apache::lonhtmlcommon::add_breadcrumb_tool(
             'advtools', @funcs[61,71,72,73,74,92]);              'advtools', @funcs[61,71,72,73,74,92]);
     }      } 
 }  }
   
 # ================================================================== Raw Config  # ================================================================== Raw Config

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


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