--- loncom/xml/londefdef.pm 2014/06/17 23:22:17 1.452 +++ loncom/xml/londefdef.pm 2014/08/25 00:20:19 1.454 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.452 2014/06/17 23:22:17 raeburn Exp $ +# $Id: londefdef.pm,v 1.454 2014/08/25 00:20:19 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -1735,7 +1735,7 @@ sub start_a { } elsif ($env{'request.course.id'}) { my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - if ($linkurl =~ m{^([^/]|/uploaded/$cdom/$cnum/docs/)}) { + if ($linkurl =~ m{^([^/]|/uploaded/$cdom/$cnum/(docs|supplemental)/)}) { my $cleanhref = &clean_docs_httpref($linkurl,$url,$cdom,$cnum); if ($cleanhref) { &Apache::lonxml::extlink($cleanhref); @@ -2753,7 +2753,9 @@ sub start_img { my $inside = &Apache::lonxml::get_all_text("/img",$parser,$style); return ''; } - &Apache::lonxml::extlink($src); + unless ($src =~ m{^data\:image/gif;base64,}) { + &Apache::lonxml::extlink($src); + } my $currentstring = ''; my $scaling = .3; @@ -2763,8 +2765,10 @@ sub start_img { my $enc = ('yes' eq lc(&Apache::lonxml::get_param('encrypturl',$parstack, $safeeval))); - $currentstring.=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}, - $enc); + unless ($src =~ m{^data\:image/gif;base64,}) { + $currentstring.=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}, + $enc); + } # and render unto TeX that which is LaTeX } elsif ($target eq 'tex') { @@ -4608,7 +4612,7 @@ sub clean_docs_httpref { $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; } my $cleanhref; - if ($docuri =~ m{^(\Q/uploaded/$cdom/$cnum/docs/\E)(.+/)[^/]+$}) { + if ($docuri =~ m{^(\Q/uploaded/$cdom/$cnum/\E(?:docs|supplemental)/)(.+/)[^/]+$}) { my $prefix = $1; my $relpath = $2; my ($hrefpath,$fname); @@ -4761,7 +4765,8 @@ described at http://www.lon-capa.org. Output: returns an absolute URL constructed from the href provided, and the calling context. - (this will be null, if the URL does not begin: /uploaded/$cdom/$cnum/docs/). + (this will be null, if the URL does not begin: /uploaded/$cdom/$cnum/docs/ or + /uploaded/$cdom/$cnum/supplemental/). =back