--- loncom/homework/imageresponse.pm 2004/01/09 23:22:19 1.43 +++ 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.43 2004/01/09 23:22:19 albertel 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"; - $Apache::response::foilgroup{"$name.image"} ='\vskip 0 mm \graphicspath{{/home/httpd/prtspool/}}\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; @@ -489,9 +503,10 @@ sub start_rectangle { my $coords=&Apache::lonxml::get_all_text('/rectangle',$parser); $result=&Apache::edit::tag_start($target,$token,'Rectangle'). &Apache::edit::editline($token->[1],$coords,'Coordinate Pairs',40). - &Apache::edit::entercoordpair(undef,'textnode'). + &Apache::edit::entercoord(undef,'textnode',undef,undef,'box'). &Apache::edit::end_row(); } elsif ($target eq "modified") { + &Apache::edit::deletecoorddata(); $result=$token->[4].&Apache::edit::modifiedfield('/rectangle',$parser); } return $result; @@ -540,7 +555,7 @@ sub start_polygon { my $coords=&Apache::lonxml::get_all_text('/polygon',$parser); $result=&Apache::edit::tag_start($target,$token,'Polygon'). &Apache::edit::editline($token->[1],$coords,'Coordinate list',40). - &Apache::edit::entercoordpolygon(undef,'textnode'). + &Apache::edit::entercoord(undef,'textnode',undef,undef,'polygon'). &Apache::edit::end_row(); } elsif ($target eq "modified") { $result=$token->[4].&Apache::edit::modifiedfield('/polygon',$parser);