Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.64 and 1.65

version 1.64, 2002/10/04 06:35:28 version 1.65, 2002/10/14 20:37:27
Line 297  sub end_numericalresponse { Line 297  sub end_numericalresponse {
     }      }
   } elsif ($target eq 'edit') {    } elsif ($target eq 'edit') {
     $result.='</td></tr>'.&Apache::edit::end_table;      $result.='</td></tr>'.&Apache::edit::end_table;
   } elsif ($target eq 'answer') {    } elsif ($target eq 'answer' || $target eq 'analyze') {
   
     &Apache::response::setup_params($$tagstack[-1]);        my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]";
     my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);        if ($target eq 'analyze') {
     my (@formats)=&Apache::lonxml::get_param_var('format',$parstack,$safeeval);    push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id);
     my $unit=&Apache::lonxml::get_param_var('unit',$parstack,$safeeval);    $Apache::lonhomework::analyze{"$part_id.type"} = $$tagstack[-1];
     my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval);        }
         &Apache::response::setup_params($$tagstack[-1]);
         my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);
         my (@formats)=&Apache::lonxml::get_param_var('format',$parstack,$safeeval);
         my $unit=&Apache::lonxml::get_param_var('unit',$parstack,$safeeval);
         my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval);
   
     $result.=&Apache::response::answer_header($$tagstack[-1]);        if ($target eq 'answer') {
     for(my $i=0;$i<=$#answers;$i++) {    $result.=&Apache::response::answer_header($$tagstack[-1]);
       my $ans=$answers[$i];        }
       my $fmt;        for(my $i=0;$i<=$#answers;$i++) {
       if (@formats) {    my $ans=$answers[$i];
  if ($#formats) {    my $fmt;
   $fmt=$formats[$i];    if (@formats) {
  } else {        if ($#formats) {
   $fmt=$formats[0];    $fmt=$formats[$i];
  }        } else {
       }    $fmt=$formats[0];
       my ($high,$low);        }
       if ($Apache::inputtags::params{'tol'}) {    }
  ($high,$low)=&get_tolrange($ans,$Apache::inputtags::params{'tol'});    my ($high,$low);
       }    if ($Apache::inputtags::params{'tol'}) {
       my ($sighigh,$siglow);        ($high,$low)=&get_tolrange($ans,$Apache::inputtags::params{'tol'});
       if ($Apache::inputtags::params{'sig'}) {    }
  ($sighigh,$siglow)=&get_sigrange($Apache::inputtags::params{'sig'});    my ($sighigh,$siglow);
       }    if ($Apache::inputtags::params{'sig'}) {
       if ($fmt) {        ($sighigh,$siglow)=&get_sigrange($Apache::inputtags::params{'sig'});
  $ans = sprintf('%.'.$fmt,$ans);    }
  if ($high) {    if ($fmt) {
   $high = sprintf('%.'.$fmt,$high); $low = sprintf('%.'.$fmt,$low);        $ans = sprintf('%.'.$fmt,$ans);
  }        if ($high) {
       }    $high = sprintf('%.'.$fmt,$high); $low = sprintf('%.'.$fmt,$low);
       if ($high) { $ans.=' ['.$low.','.$high.'] '; }        }
       if ($sighigh) { $ans.= "Sig <i>$siglow - $sighigh</i>"; }    }
       $result.=&Apache::response::answer_part($$tagstack[-1],$ans);    if ($target eq 'answer') {
     }        if ($high) { $ans.=' ['.$low.','.$high.'] '; }
     if ($unit) {        if ($sighigh) { $ans.= "Sig <i>$siglow - $sighigh</i>"; }
       $result.=&Apache::response::answer_part($$tagstack[-1],"Unit: <b>$unit</b>");        $result.=&Apache::response::answer_part($$tagstack[-1],$ans);
     }    } elsif ($target eq 'analyze') {
     if ($type || $token->[1] eq 'stringresponse') {        push (@{ $Apache::lonhomework::analyze{"$part_id.answer"} },
       my $string='Case Insensitive';      $ans);
       if ($type eq 'mc') {        if ($high) {
  $string='Multiple Choice';    push (@{ $Apache::lonhomework::analyze{"$part_id.ans_high"} }, $high);
       } elsif ($type eq 'cs') {    push (@{ $Apache::lonhomework::analyze{"$part_id.ans_low"} }, $low);
  $string='Case Sensitive';        }
       } elsif ($type eq 'ci') {    }
  $string='Case Insensitive';        }
       } elsif ($type eq 'fml') {        if ($unit) {
  $string='Formula';    if ($target eq 'answer') {
         $result.=&Apache::response::answer_part($$tagstack[-1],
         "Unit: <b>$unit</b>");
     } elsif ($target eq 'analyze') {
         push (@{ $Apache::lonhomework::analyze{"$part_id.unit"} },
       $unit);
     }
         }
         if ($type || $token->[1] eq 'stringresponse') {
     my $string='Case Insensitive';
     if ($type eq 'mc') {
         $string='Multiple Choice';
     } elsif ($type eq 'cs') {
         $string='Case Sensitive';
     } elsif ($type eq 'ci') {
         $string='Case Insensitive';
     } elsif ($type eq 'fml') {
         $string='Formula';
     }
     if ($target eq 'answer') {
         $result.=&Apache::response::answer_part($$tagstack[-1],
         '<b>'.$string.'</b>');
     } elsif ($target eq 'analyze') {
         push (@{ $Apache::lonhomework::analyze{"$part_id.type"} },
       $type);
     }
         }
         if ($$tagstack[-1] eq 'formularesponse' && $target eq 'answer') {
     my $samples=&Apache::lonxml::get_param('samples',$parstack,$safeeval);
     $result.=&Apache::response::answer_part($$tagstack[-1],$samples);
         }
         if ($target eq 'answer') {
     $result.=&Apache::response::answer_footer($$tagstack[-1]);
       }        }
       $result.=&Apache::response::answer_part($$tagstack[-1],  
       '<b>'.$string.'</b>');  
     }  
     if ($$tagstack[-1] eq 'formularesponse') {  
       my $samples=&Apache::lonxml::get_param('samples',$parstack,$safeeval);  
       $result.=&Apache::response::answer_part($$tagstack[-1],$samples);  
     }  
     $result.=&Apache::response::answer_footer($$tagstack[-1]);  
   }    }
   &Apache::response::end_response;    &Apache::response::end_response;
   return $result;    return $result;

Removed from v.1.64  
changed lines
  Added in v.1.65


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