[LON-CAPA-cvs] cvs: loncom /homework imageresponse.pm

albertel lon-capa-cvs@mail.lon-capa.org
Wed, 18 Feb 2004 00:23:02 -0000


albertel		Tue Feb 17 19:23:02 2004 EDT

  Modified files:              
    /loncom/homework	imageresponse.pm 
  Log:
  - supports whitespace in polygons tags and blank submissions withouth bombing
  
  
Index: loncom/homework/imageresponse.pm
diff -u loncom/homework/imageresponse.pm:1.47 loncom/homework/imageresponse.pm:1.48
--- loncom/homework/imageresponse.pm:1.47	Wed Feb 11 16:59:34 2004
+++ loncom/homework/imageresponse.pm	Tue Feb 17 19:23:01 2004
@@ -2,7 +2,7 @@
 # The LearningOnline Network with CAPA
 # image click response style
 #
-# $Id: imageresponse.pm,v 1.47 2004/02/11 21:59:34 albertel Exp $
+# $Id: imageresponse.pm,v 1.48 2004/02/18 00:23:01 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -117,22 +117,27 @@
     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) && defined($y)) {
+    if (defined($x) && $x=~/\S/ && defined($y) && $y =~/\S/) {
 	$x{"cgi.$id.LINECOUNT"}=4;
 	my $length = 6;
 	my $width = 1;
 	my $extrawidth = 2;
+	my $xmin=($x-$length);
+	my $xmax=($x+$length); 
+	my $ymin=($y-$length);
+	my $ymax=($y+$length);
+
 	$x{"cgi.$id.LINE0"}=
-	    join(':',(($x-$length),($y-$length),($x+$length),($y+$length),
+	    join(':',(($xmin),($ymin),($xmax),($ymax),
 		      "FFFFFF",($width+$extrawidth)));
 	$x{"cgi.$id.LINE1"}=
-	    join(':',(($x-$length),($y+$length),($x+$length),($y-$length),
+	    join(':',(($xmin),($ymax),($xmax),($ymin),
 		      "FFFFFF",($width+$extrawidth)));
 	$x{"cgi.$id.LINE2"}=
-	    join(':',(($x-$length),($y-$length),($x+$length),($y+$length),
+	    join(':',(($xmin),($ymin),($xmax),($ymax),
 		      "FF0000",($width)));
 	$x{"cgi.$id.LINE3"}=
-	    join(':',(($x-$length),($y+$length),($x+$length),($y-$length),
+	    join(':',(($xmin),($ymax),($xmax),($ymin),
 		      "FF0000",($width)));
     }
     if ($mode eq 'answer') {
@@ -611,6 +616,7 @@
 	$target eq 'analyze') {
 	my $name = $Apache::imageresponse::curname;
 	my $area = &Apache::lonxml::endredirection;
+	$area=~s/\s*//g;
 	&Apache::lonxml::debug("out is $area for $name");
 	if ( $Apache::imageresponse::conceptgroup
 	     && !&Apache::response::showallfoils()) {