Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.199 and 1.200

version 1.199, 2006/12/11 17:37:44 version 1.200, 2006/12/13 22:48:10
Line 524  sub end_numericalresponse { Line 524  sub end_numericalresponse {
  }   }
  foreach my $name (sort(keys(%answer))) {   foreach my $name (sort(keys(%answer))) {
     my @answers = @{ $answer{$name}{'answers'} };      my @answers = @{ $answer{$name}{'answers'} };
       if ($target eq 'analyze') {
    foreach my $info ('answer','ans_high','ans_low','format') {
       $Apache::lonhomework::analyze{"$part_id.$info"}{$name}=[];
    }
       }
     my ($sigline,$tolline);      my ($sigline,$tolline);
     if ($name ne $tag_internal_answer_name       if ($name ne $tag_internal_answer_name 
  || scalar(keys(%answer)) > 1) {   || scalar(keys(%answer)) > 1) {
Line 543  sub end_numericalresponse { Line 548  sub end_numericalresponse {
  } else {   } else {
     @vector = ($ans);      @vector = ($ans);
  }   }
  if ($target eq 'answer') {   my @all_answer_info;
     my @all_answer_info;   foreach my $element (@vector) {
     foreach my $element (@vector) {      my ($high,$low);
  my ($high,$low);      if ($Apache::inputtags::params{'tol'}) {
  if ($Apache::inputtags::params{'tol'}) {   ($high,$low)=&get_tolrange($element,$Apache::inputtags::params{'tol'});
     ($high,$low)=&get_tolrange($element,$Apache::inputtags::params{'tol'});      }
  }      if ($target eq 'answer') {
  if ($fmt && $tag eq 'numericalresponse') {   if ($fmt && $tag eq 'numericalresponse') {
     $fmt=~s/e/E/g;      $fmt=~s/e/E/g;
     if ($unit=~/\$/) { $fmt="\$".$fmt; $unit=~s/\$//g; }      if ($unit=~/\$/) { $fmt="\$".$fmt; $unit=~s/\$//g; }
Line 573  sub end_numericalresponse { Line 578  sub end_numericalresponse {
     }      }
  }   }
  push(@all_answer_info,$element);   push(@all_answer_info,$element);
   
       } elsif ($target eq 'analyze') {
    push (@{ $Apache::lonhomework::analyze{"$part_id.answer"}{$name}[$i] }, $element);
    if ($high) {
       push (@{ $Apache::lonhomework::analyze{"$part_id.ans_high"}{$name}[$i] }, $high);
       push (@{ $Apache::lonhomework::analyze{"$part_id.ans_low"}{$name}[$i] }, $low);
    }
    if ($fmt) {
       push (@{ $Apache::lonhomework::analyze{"$part_id.format"}{$name}[$i] }, $fmt);
    }
     }      }
    }
    if ($target eq 'answer') {
     $result.= &Apache::response::answer_part($tag,join(', ',@all_answer_info));      $result.= &Apache::response::answer_part($tag,join(', ',@all_answer_info));
  } elsif ($target eq 'analyze') {  
     my ($high,$low);  
     if ($Apache::inputtags::params{'tol'}) {  
  ($high,$low)=&get_tolrange($ans,$Apache::inputtags::params{'tol'});  
     }  
     push (@{ $Apache::lonhomework::analyze{"$part_id.answer"} }, $ans);  
     if ($high) {  
  push (@{ $Apache::lonhomework::analyze{"$part_id.ans_high"} }, $high);  
  push (@{ $Apache::lonhomework::analyze{"$part_id.ans_low"} }, $low);  
     }  
     if ($fmt) {  
  push (@{ $Apache::lonhomework::analyze{"$part_id.format"} }, $fmt);  
     }  
  }   }
     }      }
   
Line 1005  sub end_stringresponse { Line 1009  sub end_stringresponse {
     }      }
  }   }
     } elsif ($target eq 'answer' || $target eq 'analyze') {      } elsif ($target eq 'answer' || $target eq 'analyze') {
    &add_in_tag_answer($parstack,$safeeval);
  if ($target eq 'analyze') {   if ($target eq 'analyze') {
     push (@{ $Apache::lonhomework::analyze{"parts"} },"$part.$id");      push (@{ $Apache::lonhomework::analyze{"parts"} },"$part.$id");
     $Apache::lonhomework::analyze{"$part.$id.type"} = 'stringresponse';      $Apache::lonhomework::analyze{"$part.$id.type"} = 'stringresponse';
Line 1015  sub end_stringresponse { Line 1020  sub end_stringresponse {
  if ($target eq 'answer') {   if ($target eq 'answer') {
     $result.=&Apache::response::answer_header('stringresponse');      $result.=&Apache::response::answer_header('stringresponse');
  }   }
 # foreach my $ans (@answers) {   foreach my $name (keys(%answer)) {
     if ($target eq 'answer') {      my @answers = @{ $answer{$name}{'answers'} };
  $result.=&Apache::response::answer_part('stringresponse',$answer);      for (my $i=0;$i<=$#answers;$i++) {
  if ($type eq 're') {   my $answer_part = $answers[$i];
    foreach my $element (@{$answer_part}) {
       if ($target eq 'answer') {
    $result.=&Apache::response::answer_part('stringresponse',
    $element);
       } elsif ($target eq 'analyze') {
    push (@{ $Apache::lonhomework::analyze{"$part.$id.answer"}{$name}[$i] },
         $element);
       }
    }
    if ($target eq 'answer' && $type eq 're') {
     $result.=&Apache::response::answer_part('stringresponse',      $result.=&Apache::response::answer_part('stringresponse',
     $answerdisplay);      $answerdisplay);
  }   }
     } elsif ($target eq 'analyze') {  
  push (@{ $Apache::lonhomework::analyze{"$part.$id.answer"} },  
       $answer);  
     }      }
 # }   }
  my $string='Case Insensitive';   my $string='Case Insensitive';
  if ($type eq 'mc') {   if ($type eq 'mc') {
     $string='Multiple Choice';      $string='Multiple Choice';

Removed from v.1.199  
changed lines
  Added in v.1.200


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