Diff for /loncom/homework/imageresponse.pm between versions 1.8 and 1.9

version 1.8, 2001/06/02 03:59:59 version 1.9, 2001/06/26 21:40:37
Line 44  sub getfoilcounts { Line 44  sub getfoilcounts {
   
 sub whichfoils {  sub whichfoils {
   my ($max)=@_;    my ($max)=@_;
     if (!defined(@{ $Apache::response::foilgroup{'names'} })) { return; }
   my @names = @{ $Apache::response::foilgroup{'names'} };    my @names = @{ $Apache::response::foilgroup{'names'} };
   my @whichopt =();    my @whichopt =();
   while ((($#whichopt+1) < $max) && ($#names > -1)) {    while ((($#whichopt+1) < $max) && ($#names > -1)) {
Line 87  sub gradefoils { Line 88  sub gradefoils {
     $x=$ENV{"form.HWVAL_$id:$temp.x"};      $x=$ENV{"form.HWVAL_$id:$temp.x"};
     $y=$ENV{"form.HWVAL_$id:$temp.y"};      $y=$ENV{"form.HWVAL_$id:$temp.y"};
     &Apache::lonxml::debug("Got a x of $x and a y of $y for $name");      &Apache::lonxml::debug("Got a x of $x and a y of $y for $name");
     my @areas = @{ $Apache::response::foilgroup{"$name.area"} };      if (defined(@{ $Apache::response::foilgroup{"$name.area"} })) {
     my $grade="INCORRECT";        my @areas = @{ $Apache::response::foilgroup{"$name.area"} };
     foreach my $area (@areas) {        my $grade="INCORRECT";
       &Apache::lonxml::debug("Area is $area for $name");        foreach my $area (@areas) {
       $area =~ m/([a-z]*):/;   &Apache::lonxml::debug("Area is $area for $name");
       &Apache::lonxml::debug("Area of type $1");   $area =~ m/([a-z]*):/;
       if ($1 eq 'rectangle') {   &Apache::lonxml::debug("Area of type $1");
  $grade=&grade_rectangle($area,$x,$y);   if ($1 eq 'rectangle') {
       } else {    $grade=&grade_rectangle($area,$x,$y);
  &Apache::lonxml::error("Unknown area style $area");   } else {
     &Apache::lonxml::error("Unknown area style $area");
    }
    &Apache::lonxml::debug("Area said $grade");
    if ($grade eq 'APPROX_ANS') { last; }
       }        }
       &Apache::lonxml::debug("Area said $grade");        &Apache::lonxml::debug("Foil was $grade");
       if ($grade eq 'APPROX_ANS') { last; }        if ($grade eq 'INCORRECT') { $result= 'INCORRECT'; }
         if (($grade eq 'APPROX_ANS') && ($result ne 'APPROX_ANS')) { $result=$grade; }
         &Apache::lonxml::debug("Question is $result");
         $temp++;
     }      }
     &Apache::lonxml::debug("Foil was $grade");  
     if ($grade eq 'INCORRECT') { $result= 'INCORRECT'; }  
     if (($grade eq 'APPROX_ANS') && ($result ne 'APPROX_ANS')) { $result=$grade; }  
     &Apache::lonxml::debug("Question is $result");  
     $temp++;  
   }    }
   $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$id.submission"}="$x:$y";    $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$id.submission"}="$x:$y";
   $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$id.awarddetail"}=$result;    $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$id.awarddetail"}=$result;
Line 143  sub end_conceptgroup { Line 146  sub end_conceptgroup {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
   $Apache::imageresponse::conceptgroup=0;      $Apache::imageresponse::conceptgroup=0;  
   if ($target eq 'web' || $target eq 'grade') {    if ($target eq 'web' || $target eq 'grade') {
     my @names = @{ $Apache::response::conceptgroup{'names'} };      if (defined(@{ $Apache::response::conceptgroup{'names'} })) {
     my $pick=int(rand($#names+1));        my @names = @{ $Apache::response::conceptgroup{'names'} };
     my $name=$names[$pick];        my $pick=int(rand($#names+1));
     push @{ $Apache::response::foilgroup{'names'} }, $name;        my $name=$names[$pick];
     $Apache::response::foilgroup{"$name.text"} = $Apache::response::conceptgroup{"$name.text"};        if (defined(@{ $Apache::response::conceptgroup{"$name.area"} })) {
     $Apache::response::foilgroup{"$name.image"} = $Apache::response::conceptgroup{"$name.image"};   push @{ $Apache::response::foilgroup{'names'} }, $name;
     push(@{ $Apache::response::foilgroup{"$name.area"} }, @{ $Apache::response::conceptgroup{"$name.area"} });   $Apache::response::foilgroup{"$name.text"} = $Apache::response::conceptgroup{"$name.text"};
     my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);   $Apache::response::foilgroup{"$name.image"} = $Apache::response::conceptgroup{"$name.image"};
     $Apache::response::foilgroup{"$name.concept"} = $concept;   push(@{ $Apache::response::foilgroup{"$name.area"} }, @{ $Apache::response::conceptgroup{"$name.area"} });
     &Apache::lonxml::debug("Selecting $name in $concept");   my $concept = &Apache::lonxml::get_param('concept',$parstack,$safeeval);
    $Apache::response::foilgroup{"$name.concept"} = $concept;
    &Apache::lonxml::debug("Selecting $name in $concept");
         }
       }
   }    }
   return '';    return '';
 }  }

Removed from v.1.8  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>