--- loncom/xml/londefdef.pm	2013/10/12 01:26:31	1.449
+++ 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.449 2013/10/12 01:26:31 raeburn Exp $
+# $Id: londefdef.pm,v 1.454 2014/08/25 00:20:19 raeburn Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -585,14 +585,18 @@ sub start_body {
         # FIXME Where are we?
     }
 
+        my $args = {'add_entries'    => $token->[2],
+                    'force_register' => 1,};
+        if ($target eq 'web') {
+            $args->{'print_suppress'} = 1;
+            if ($env{'request.use_absolute'}) {
+                $args->{'use_absolute'} = $env{'request.use_absolute'};
+            }
+        }
 	$currentstring = 
 	    &Apache::loncommon::start_page($Apache::londefdef::title,
 					   $Apache::londefdef::head
-					      .$extra_head,
-					   {'add_entries'    => $token->[2],
-#					    'no_title'       => 1,
-					    'force_register' => 1});
-
+					      .$extra_head,$args);
         my $header = '';
         if ($env{'request.state'} ne 'published' &&
             $env{'request.state'} ne 'construct') {
@@ -1731,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);
@@ -2749,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;
 
@@ -2759,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') {
@@ -4595,7 +4603,7 @@ sub latex_header {
 sub clean_docs_httpref {
     my ($href,$docuri,$cdom,$cnum) = @_;
     if ($docuri eq '') {
-        &Apache::lonnet::hreflocation('',$env{'request.filename'});
+        $docuri = &Apache::lonnet::hreflocation('',$env{'request.filename'});
     }
     if ($cdom eq '') {
         $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
@@ -4604,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);
@@ -4757,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