Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.331 and 1.332

version 1.331, 2012/11/16 23:37:16 version 1.332, 2012/11/27 23:45:08
Line 1505  sub show_return_link { Line 1505  sub show_return_link {
     unless ($env{'request.course.id'}) { return 0; }      unless ($env{'request.course.id'}) { return 0; }
     if ($env{'request.noversionuri'}=~m{^/priv/} ||      if ($env{'request.noversionuri'}=~m{^/priv/} ||
         $env{'request.uri'}=~m{^/priv/}) { return 1; }          $env{'request.uri'}=~m{^/priv/}) { return 1; }
       return if ($env{'request.noversionuri'} eq '/adm/supplemental');
   
     if (($env{'request.noversionuri'} =~ m{^/adm/(viewclasslist|navmaps)($|\?)})      if (($env{'request.noversionuri'} =~ m{^/adm/(viewclasslist|navmaps)($|\?)})
         || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {          || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {
Line 1654  returns: nothing Line 1655  returns: nothing
                 if ($env{'request.noversionuri'} =~                   if ($env{'request.noversionuri'} =~ 
                     m{^/public/($match_domain)/($match_courseid)/syllabus$}) {                      m{^/public/($match_domain)/($match_courseid)/syllabus$}) {
                     unless (($env{'course.'.$env{'request.course.id'}.'.domain'} eq $1) &&                      unless (($env{'course.'.$env{'request.course.id'}.'.domain'} eq $1) &&
                             ($env{'course.'.$env{'request.course.id'}.'.num'} eq $2)) {                               ($env{'course.'.$env{'request.course.id'}.'.num'} eq $2)) {
                         $description = 'Menu';                          $description = 'Menu';
                         $no_mt_descr = 0;                          $no_mt_descr = 0;
                     }                      }
Line 1883  returns: nothing Line 1884  returns: nothing
 } # End of scope for @Crumbs  } # End of scope for @Crumbs
   
 sub docs_breadcrumbs {  sub docs_breadcrumbs {
     my ($allowed,$crstype,$contenteditor)=@_;      my ($allowed,$crstype,$contenteditor,$title,$precleared)=@_;
     my ($folderpath,@folders);      my ($folderpath,@folders);
     if ($env{'form.pagepath'}) {      if ($env{'form.pagepath'}) {
         @folders = split('&',$env{'form.pagepath'});          @folders = split('&',$env{'form.pagepath'});
     } else {      } else {
         @folders=split('&',$env{'form.folderpath'});          @folders = split('&',$env{'form.folderpath'});
     }      }
     my $plain='';      my $plain='';
     my ($randompick,$isencrypted,$ishidden,$is_random_order) = (-1,0,0,0);      my ($randompick,$isencrypted,$ishidden,$is_random_order) = (-1,0,0,0);
     &clear_breadcrumbs();      my @docs_crumbs;
     while (@folders) {      while (@folders) {
         my $folder=shift(@folders);          my $folder=shift(@folders);
         my $foldername=shift(@folders);          my $foldername=shift(@folders);
Line 1920  sub docs_breadcrumbs { Line 1921  sub docs_breadcrumbs {
             if ($4 ne '') { $is_random_order = 1; }              if ($4 ne '') { $is_random_order = 1; }
         }          }
         if ($folder eq 'supplemental') {          if ($folder eq 'supplemental') {
             $name = &mt('Supplemental '.$crstype.' Content');              $name = &mt('Supplemental '.$crstype.' Contents');
         }          }
         if ($contenteditor) {          if ($contenteditor) {
             $plain.=$name.' > ';              $plain.=$name.' > ';
         }          }
         &add_breadcrumb(          push(@docs_crumbs,
                           {'href'  => $url,                            {'href'  => $url,
                            'title' => $name,                             'title' => $name,
                            'text'  => $name,                             'text'  => $name,
                            'no_mt' => 1,                             'no_mt' => 1,
                           });                            });
     }      }
     unless ($contenteditor) {      if (wantarray) {
         if ($env{'httpref.'.$env{'request.noversionuri'}} ne '') {          unless ($precleared) {
             &add_breadcrumb({text => 'View Resource'});              &clear_breadcrumbs();
           }
           &add_breadcrumb(@docs_crumbs);
           if ($title) {
               &add_breadcrumb({text => $title});
         }          }
           if ($contenteditor) {
               $plain=~s/\&gt\;\s*$//;
           }
           my $menulink = 0;
           if (!$allowed && !$contenteditor) {
               $menulink = 1;
           }
           return (&breadcrumbs(undef,undef,$menulink,'nohelp',undef,undef,
                                $contenteditor),
                                $randompick,$ishidden,$isencrypted,$plain,
                                $is_random_order);
     } else {      } else {
         $plain=~s/\&gt\;\s*$//;          return \@docs_crumbs;
     }      }
     return (&breadcrumbs(undef,undef,0,'nohelp',undef,undef,$contenteditor),  
                          $randompick,$ishidden,$isencrypted,$plain,  
                          $is_random_order);  
 }  }
   
 ############################################################  ############################################################
Line 3091  ENDUTILITY Line 3104  ENDUTILITY
 }  }
   
 sub jump_to_editres {  sub jump_to_editres {
     my ($cfile,$home,$switchserver,$forceedit,$forcereg,$symb) = @_;      my ($cfile,$home,$switchserver,$forceedit,$forcereg,$symb,$folderpath,
           $title,$idx,$suppurl) = @_;
     my $jscall;      my $jscall;
     if ($switchserver) {      if ($switchserver) {
         if ($symb && $home) {          if ($home) {
             $cfile = '/adm/switchserver?otherserver='.$home.'&role='.              $cfile = '/adm/switchserver?otherserver='.$home.'&role='.
                      &HTML::Entities::encode($env{'request.role'},'"<>&').                       &HTML::Entities::encode($env{'request.role'},'"<>&');
                     '&amp;symb='.&HTML::Entities::encode($symb,'"<>&');              if ($symb) {
                   $cfile .= '&amp;symb='.&HTML::Entities::encode($symb,'"<>&');
               } elsif ($folderpath) {
                   $cfile .= '&amp;folderpath='.&HTML::Entities::encode($folderpath,'"<>&');
               }
             if ($forceedit) {              if ($forceedit) {
                 $cfile .= '&amp;forceedit=1';                  $cfile .= '&amp;forceedit=1';
             }              }
Line 3109  sub jump_to_editres { Line 3127  sub jump_to_editres {
     } else {      } else {
         unless ($cfile =~ m{^/priv/}) {          unless ($cfile =~ m{^/priv/}) {
             if ($symb) {              if ($symb) {
                 $cfile .= (($cfile=~/\?/)?'&amp;':'?')."symb=$symb";                   $cfile .= (($cfile=~/\?/)?'&amp;':'?')."symb=$symb";
               } elsif ($folderpath) {
                   $cfile .= (($cfile=~/\?/)?'&amp;':'?').
                             'folderpath='.&HTML::Entities::encode(&escape($folderpath),'"<>&');
                   if ($title) {
                       $cfile .= (($cfile=~/\?/)?'&amp;':'?').
                                 'title='.&HTML::Entities::encode(&escape($title),'"<>&');
                   }
                   if ($idx) {
                       $cfile .= (($cfile=~/\?/)?'&amp;':'?').'idx='.$idx;
                   }
                   if ($suppurl) {
                       $cfile .= (($cfile=~/\?/)?'&amp;':'?').
                                 'suppurl='.&HTML::Entities::encode(&escape($suppurl));
                   }
             }              }
             if ($forceedit) {              if ($forceedit) {
                 $cfile .= (($cfile=~/\?/)?'&amp;':'?').'forceedit=1';                  $cfile .= (($cfile=~/\?/)?'&amp;':'?').'forceedit=1';

Removed from v.1.331  
changed lines
  Added in v.1.332


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