--- loncom/homework/imageresponse.pm 2004/01/15 19:51:30 1.45 +++ loncom/homework/imageresponse.pm 2004/02/11 21:59:34 1.47 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # image click response style # -# $Id: imageresponse.pm,v 1.45 2004/01/15 19:51:30 sakharuk Exp $ +# $Id: imageresponse.pm,v 1.47 2004/02/11 21:59:34 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,6 +33,7 @@ package Apache::imageresponse; use strict; use Image::Magick; use Apache::randomlylabel; +use Apache::londefdef; use Apache::Constants qw(:common :http); BEGIN { @@ -112,7 +113,7 @@ sub prep_image { my $respid=$Apache::inputtags::response['-1']; my $id=&Apache::loncommon::get_cgi_id(); my %x; - $x{"cgi.$id.BGIMG"}=$image; + $x{"cgi.$id.BGIMG"}=&Apache::lonnet::escape($image); my ($x,$y)=split(/:/,$Apache::lonhomework::history{"resource.$part.$respid.submission"}); #draws 2 xs on the image at the clicked location #one in white and then one in red on top of the one in white @@ -173,11 +174,8 @@ sub displayfoils { my $image=$Apache::response::foilgroup{"$name.image"}; &Apache::lonxml::debug("image is $image"); if ( $target eq 'web' && $image !~ /^http:/ ) { - $image=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$image); - if (&Apache::lonnet::repcopy($image) ne OK) { - $image='/home/httpd/html/adm/lonKaputt/lonlogo_broken.gif'; - } - } + $image=&clean_up_image($image); + } &Apache::lonxml::debug("image is $image"); if ( &Apache::response::show_answer() ) { if ($target eq 'tex') { @@ -202,6 +200,25 @@ sub displayfoils { return $result; } +sub clean_up_image { + my ($image)=@_; + if ($image =~ /\s*new('>>'.$filename); - print $temp_file "$src\n"; - $newsrc=~s/\/home\/httpd\/html\/res//; - $newsrc=~s/\/home\/([^\/]*)\/public_html\//\/$1\//; - $newsrc=~s/\/\.\//\//; - $newsrc=~s/\/([^\/]+)\.(ps|eps)/\//; - $Apache::response::foilgroup{"$name.image"} ='\vskip 0 mm \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; + #care about eps dynamical generation + $Apache::response::foilgroup{"$name.image"}='\vskip 0 mm '.&Apache::londefdef::eps_generation($src,$file,$width_param); } } return $result;