Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.377 and 1.387

version 1.377, 2016/11/09 01:58:43 version 1.387, 2017/07/13 21:25:28
Line 92  sub raw_href_to_link { Line 92  sub raw_href_to_link {
   
 sub entity_encode {  sub entity_encode {
     my ($text)=@_;      my ($text)=@_;
     return &HTML::Entities::encode($text, '<>&"');      return &HTML::Entities::encode($text, '\'<>&"');
 }  }
   
 sub direct_parm_link {  sub direct_parm_link {
Line 407  sub textbox { Line 407  sub textbox {
 ##############################################  ##############################################
 ##############################################  ##############################################
 sub checkbox {  sub checkbox {
     my ($name,$checked,$value) = @_;      my ($name,$checked,$value,$special) = @_;
     my $Str = '<input type="checkbox" name="'.$name.'" ';      my $Str = '<input type="checkbox" name="'.$name.'" ';
     if (defined($value)) {      if (defined($value)) {
         $Str .= 'value="'.$value.'"';          $Str .= 'value="'.$value.'"';
Line 415  sub checkbox { Line 415  sub checkbox {
     if ($checked) {      if ($checked) {
         $Str .= ' checked="checked"';          $Str .= ' checked="checked"';
     }      }
     $Str .= ' />';      $Str .= $special.' />';
     return $Str;      return $Str;
 }  }
   
Line 1218  sub crumbs { Line 1218  sub crumbs {
             } else {              } else {
                 $path.='/';                   $path.='/'; 
             }              }
               if ($path eq '/res/') {
                   unless (&Apache::lonnet::allowed('bre',$path)) {
                       $output.="$dir/";
                       next;
                   }
               }
             my $href_path = &HTML::Entities::encode($path,'<>&"');              my $href_path = &HTML::Entities::encode($path,'<>&"');
             &Apache::loncommon::inhibit_menu_check(\$href_path);              &Apache::loncommon::inhibit_menu_check(\$href_path);
             if ($form) {              if ($form) {
Line 1721  sub show_return_link { Line 1727  sub show_return_link {
             (($env{'request.noversionuri'}=~/^\/adm\//) &&              (($env{'request.noversionuri'}=~/^\/adm\//) &&
              ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&               ($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
              ($env{'request.noversionuri'}!~               ($env{'request.noversionuri'}!~
               m{^/adm/.*/(smppg|bulletinboard|exttools?)($|\?)})                m{^/adm/.*/(smppg|bulletinboard|ext\.tool)($|\?)})
            ));             ));
 }  }
   
Line 1886  returns: nothing Line 1892  returns: nothing
         #          #
         # The first one should be the course or a menu link          # The first one should be the course or a menu link
         if (!defined($menulink)) { $menulink=1; }          if (!defined($menulink)) { $menulink=1; }
         if ((($crstype eq 'Placement') || (($env{'request.course.id'}) &&  
             ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Placement'))) &&  
             (!$env{'request.role.adv'})) {  
             undef($menulink);  
         }  
         if ($menulink) {          if ($menulink) {
             my $description = 'Menu';              my $description = 'Menu';
             my $no_mt_descr = 0;              my $no_mt_descr = 0;
Line 1901  returns: nothing Line 1902  returns: nothing
                     $env{'course.'.$env{'request.course.id'}.'.description'};                      $env{'course.'.$env{'request.course.id'}.'.description'};
                 $no_mt_descr = 1;                  $no_mt_descr = 1;
                 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';
Line 2200  sub docs_breadcrumbs { Line 2201  sub docs_breadcrumbs {
         my $foldername=shift(@folders);          my $foldername=shift(@folders);
         if ($folderpath) {$folderpath.='&';}          if ($folderpath) {$folderpath.='&';}
         $folderpath.=$folder.'&'.$foldername;          $folderpath.=$folder.'&'.$foldername;
         my $url;          my $url = $env{'request.use_absolute'};
         if ($allowed) {          if ($allowed) {
             $url = '/adm/coursedocs?folderpath=';              $url .= '/adm/coursedocs?folderpath=';
         } else {          } else {
             $url = '/adm/supplemental?folderpath=';              $url .= '/adm/supplemental?folderpath=';
         }          }
         $url .= &escape($folderpath);          $url .= &escape($folderpath);
         my $name=&unescape($foldername);          my $name=&unescape($foldername);
Line 3476  function go(url) { Line 3477  function go(url) {
    if (url!='' && url!= null) {     if (url!='' && url!= null) {
        currentURL = null;         currentURL = null;
        currentSymb= null;         currentSymb= null;
        window.location.href=url;         var lcHostname = setLCHost();
          window.location.href=lcHostname+url;
    }     }
 }  }
   
Line 3495  ENDUTILITY Line 3497  ENDUTILITY
   
 sub jump_to_editres {  sub jump_to_editres {
     my ($cfile,$home,$switchserver,$forceedit,$forcereg,$symb,$folderpath,      my ($cfile,$home,$switchserver,$forceedit,$forcereg,$symb,$folderpath,
         $title,$idx,$suppurl,$todocs,$suppanchor) = @_;          $title,$hostname,$idx,$suppurl,$todocs,$suppanchor) = @_;
     my ($jscall,$anchor);      my ($jscall,$anchor,$usehttp,$usehttps,$is_ext);
     if ($switchserver) {      if ($switchserver) {
         if ($home) {          if ($home) {
             $cfile = '/adm/switchserver?otherserver='.$home.'&amp;role='.              $cfile = '/adm/switchserver?otherserver='.$home.'&amp;role='.
Line 3516  sub jump_to_editres { Line 3518  sub jump_to_editres {
         }          }
     } else {      } else {
         unless ($cfile =~ m{^/priv/}) {          unless ($cfile =~ m{^/priv/}) {
             if ($cfile =~ m{^(/adm/wrapper/ext/[^#]+)#([^#]+)$}) {              if ($cfile =~ m{^(/adm/wrapper/ext/([^#]+))#([^#]+)$}) {
                 $cfile = $1;                  $cfile = $1;
                 $anchor = $2;                  my $extlink = $2;
                   $anchor = $3;
                   $is_ext = 1;
                   if (($extlink !~ /^https:/) && ($ENV{'SERVER_PORT'} == 443)) {
                       $usehttp = 1;
                   } elsif ($env{'request.use_absolute'}) {
                       if ($env{'request.use_absolute'} =~ m{^https://}) {
                           $usehttps = 1;
                       }
                   } 
               } elsif ($cfile =~ m{^/?public/($match_domain)/($match_courseid)/syllabus}) {
                   if ($ENV{'SERVER_PORT'} == 443) {
                       my ($cdom,$cnum) = ($1,$2);
                       if (($env{'request.course.id'}) &&
                           ($env{'course.'.$env{'request.course.id'}.'.num'} eq $cnum) &&
                           ($env{'course.'.$env{'request.course.id'}.'.domain'} eq $cdom)) {
                           if ($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ m{^http://}) {
                               $usehttp = 1;
                           }
                       }
                   } elsif ($env{'request.use_absolute'}) {
                       if ($env{'request.use_absolute'} =~ m{^https://}) {
                           $usehttps = 1;
                       }
                   }
             }              }
             if ($symb) {              if ($symb) {
                 if ($anchor ne '') {                  if ($anchor ne '') {
Line 3544  sub jump_to_editres { Line 3570  sub jump_to_editres {
             }              }
             if ($forceedit) {              if ($forceedit) {
                 $cfile .= (($cfile=~/\?/)?'&amp;':'?').'forceedit=1';                  $cfile .= (($cfile=~/\?/)?'&amp;':'?').'forceedit=1';
                   if ($usehttps) {
                       $cfile = $env{'request.use_absolute'}.(($cfile =~ /^\//)? '':'/').$cfile;
                   }
               } elsif ($usehttp) {
                   if ($hostname ne '') {
                       $cfile = 'http://'.$hostname.(($cfile =~ /^\//)? '':'/').$cfile;
                   }
                   unless ($is_ext) {
                       $cfile .= (($cfile=~/\?/)?'&amp;':'?').'usehttp=1';
                   }
               } elsif ($usehttps) {
                   $cfile = $env{'request.use_absolute'}.(($cfile =~ /^\//)? '':'/').$cfile;
             }              }
             if ($forcereg) {              if ($forcereg) {
                 $cfile .= (($cfile=~/\?/)?'&amp;':'?').'register=1';                  $cfile .= (($cfile=~/\?/)?'&amp;':'?').'register=1';

Removed from v.1.377  
changed lines
  Added in v.1.387


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