--- loncom/homework/imageresponse.pm 2004/11/13 16:28:21 1.57 +++ loncom/homework/imageresponse.pm 2005/01/10 19:21:57 1.59 @@ -1,7 +1,8 @@ + # The LearningOnline Network with CAPA # image click response style # -# $Id: imageresponse.pm,v 1.57 2004/11/13 16:28:21 albertel Exp $ +# $Id: imageresponse.pm,v 1.59 2005/01/10 19:21:57 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -119,7 +120,7 @@ sub prep_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 - if (defined($x) && $x=~/\S/ && defined($y) && $y =~/\S/) { + if (defined($x) && $x=~/\S/ && defined($y) && $y =~/\S/ && !&Apache::response::show_answer()) { my $length = 6; my $width = 1; my $extrawidth = 2; @@ -130,19 +131,19 @@ sub prep_image { $x{"cgi.$id.OBJTYPE"}.='LINE:'; $i=$x{"cgi.$id.OBJCOUNT"}++; - $x{"cgi.$id.OBJ$i"}=join(':',(($x),($ymin),($x),($ymax), + $x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymin),($xmax),($ymax), "FFFFFF",($width+$extrawidth))); $x{"cgi.$id.OBJTYPE"}.='LINE:'; $i=$x{"cgi.$id.OBJCOUNT"}++; - $x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($y),($xmax),($y), + $x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymax),($xmax),($ymin), "FFFFFF",($width+$extrawidth))); $x{"cgi.$id.OBJTYPE"}.='LINE:'; $i=$x{"cgi.$id.OBJCOUNT"}++; - $x{"cgi.$id.OBJ$i"}=join(':',(($x),($ymin),($x),($ymax), + $x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymin),($xmax),($ymax), "FF0000",($width))); $x{"cgi.$id.OBJTYPE"}.='LINE:'; $i=$x{"cgi.$id.OBJCOUNT"}++; - $x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($y),($xmax),($y), + $x{"cgi.$id.OBJ$i"}=join(':',(($xmin),($ymax),($xmax),($ymin), "FF0000",($width))); } if ($mode eq 'answer') { @@ -339,7 +340,10 @@ sub start_foil { if ($target eq 'web' || $target eq 'grade' || $target eq 'tex' || $target eq 'analyze') { my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); - if ($name eq '') { $name=$Apache::lonxml::curdepth; } + if (!$name) { + &Apache::lonxml::error("Foils without names exist. This can cause problems to malfunction."); + $name=$Apache::lonxml::curdepth; + } if (defined($Apache::response::foilnames{$name})) { &Apache::lonxml::error(&mt("Foil name [_1] appears more than once. Foil names need to be unique.",$name)); }