--- loncom/homework/imageresponse.pm 2003/05/06 11:54:08 1.27
+++ loncom/homework/imageresponse.pm 2003/06/09 22:42:49 1.31
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# image click response style
#
-# $Id: imageresponse.pm,v 1.27 2003/05/06 11:54:08 www Exp $
+# $Id: imageresponse.pm,v 1.31 2003/06/09 22:42:49 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -51,10 +51,13 @@ sub start_imageresponse {
}
sub end_imageresponse {
- &Apache::response::end_response;
- pop @Apache::lonxml::namespace;
- &Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup'));
- return '';
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
+ &Apache::response::end_response;
+ pop @Apache::lonxml::namespace;
+ &Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup'));
+ my $result;
+ if ($target eq 'edit') { $result=&Apache::edit::end_table(); }
+ return $result;
}
%Apache::response::foilgroup=();
@@ -103,8 +106,10 @@ sub displayfoils {
my $temp=1;
foreach $name (@whichopt) {
$result.=$Apache::response::foilgroup{"$name.text"};
+ &Apache::lonxml::debug("Text is $result");
if ($target eq 'tex') {$result.="\\vskip 0 mm \n";} else {$result.="
\n";}
my $image=$Apache::response::foilgroup{"$name.image"};
+ &Apache::lonxml::debug("image is $image");
if ($Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"} =~ /^correct/ ) {
if ($target eq 'tex') {
$result.=$Apache::response::foilgroup{"$name.image"}."\\vskip 0 mm \n";
@@ -134,7 +139,8 @@ sub gradefoils {
$x=$ENV{"form.HWVAL_$id:$temp.x"};
$y=$ENV{"form.HWVAL_$id:$temp.y"};
&Apache::lonxml::debug("Got a x of $x and a y of $y for $name");
- if (defined(@{ $Apache::response::foilgroup{"$name.area"} })) {
+ if (defined($x) && defined($y) &&
+ defined(@{ $Apache::response::foilgroup{"$name.area"} })) {
my @areas = @{ $Apache::response::foilgroup{"$name.area"} };
my $grade="INCORRECT";
foreach my $area (@areas) {
@@ -170,12 +176,11 @@ sub end_foilgroup {
if ($count>$max) { $count=$max }
&Apache::lonxml::debug("Count is $count from $max");
@whichopt = &whichfoils($max);
- } elsif ($target eq 'web' || $target eq 'tex') {
- $result=&displayfoils($target,@whichopt);
- } elsif ($target eq 'grade') {
- if ( defined $ENV{'form.submitted'}) {
- &gradefoils(@whichopt);
- }
+ if ($target eq 'web' || $target eq 'tex') {
+ $result=&displayfoils($target,@whichopt);
+ } elsif ($target eq 'grade') {
+ if ( defined $ENV{'form.submitted'}) { &gradefoils(@whichopt); }
+ }
} elsif ($target eq 'edit') {
$result=&Apache::edit::end_table();
}
@@ -213,6 +218,16 @@ sub end_conceptgroup {
return $result;
}
+sub insert_foil {
+ return '
+
+
+
+
+
+';
+}
+
$Apache::imageresponse::curname='';
sub start_foil {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;