--- loncom/xml/londefdef.pm 2002/10/08 15:35:22 1.91 +++ loncom/xml/londefdef.pm 2002/10/08 20:35:19 1.94 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.91 2002/10/08 15:35:22 sakharuk Exp $ +# $Id: londefdef.pm,v 1.94 2002/10/08 20:35:19 sakharuk Exp $ # # # Copyright Michigan State University Board of Trustees @@ -330,7 +330,6 @@ sub end_m { #-- tag sub start_body { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; -# my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { if (!$Apache::lonxml::registered) { @@ -1553,7 +1552,8 @@ sub start_table { if ($target eq 'web') { $currentstring = $token->[4]; } elsif ($target eq 'tex') { - my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval); + my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval); + &image_replication($src); $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); #if original gif/jpg file exist do following: if (-e $src) { @@ -1617,8 +1617,7 @@ sub start_table { if ($alt) { $currentstring .= ' '.$alt.' '; } else { - #there are no image and alt attribute - $currentstring .= ' THE ORIGINAL PROBLEM CONTAINS EMPTY IMG TAG WITHOUT IMAGE AND ALT ATTRIBUTE '; + # tag will care about replication } } } @@ -1716,22 +1715,12 @@ sub start_embed { } #-- tag sub start_allow { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= $token->[2]->{'src'}; my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval); - if (not -e '/home/httpd/html'.$src) { - #replicates image itself - &Apache::lonnet::repcopy($src); - #replicates eps or ps - my $newsrc = $src; - $newsrc =~ s/(.gif|.jpg)$/.eps/; - if (not-e $newsrc && &Apache::lonnet::repcopy($newsrc) ne 'OK') { - $newsrc =~ s/\.ps$/\.eps/; - &Apache::lonnet::repcopy($newsrc); - } - } - return ''; + &image_replication($src); + return ''; } sub end_allow { return ''; @@ -2529,5 +2518,22 @@ sub start_embed { } return $currentstring; } + +sub image_replication { + my $src = shift; + if (not -e '/home/httpd/html'.$src) { + #replicates image itself + &Apache::lonnet::repcopy('/home/httpd/html'.$src); + #replicates eps or ps + my $newsrc = $src; + $newsrc =~ s/(.gif|.jpg)$/.eps/; + if (not-e $newsrc && &Apache::lonnet::repcopy('/home/httpd/html'.$newsrc) ne 'OK') { + $newsrc =~ s/\.ps$/\.eps/; + &Apache::lonnet::repcopy('/home/httpd/html'.$newsrc); + } + } + return ''; +} + 1; __END__