Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.160 and 1.162

version 1.160, 2005/01/10 18:42:21 version 1.162, 2005/01/31 22:00:40
Line 128  sub end_numericalresponse { Line 128  sub end_numericalresponse {
     }      }
     my $tag;      my $tag;
     if (scalar(@$tagstack)) { $tag=$$tagstack[-1]; }      if (scalar(@$tagstack)) { $tag=$$tagstack[-1]; }
     if ( $target eq 'grade' && defined($ENV{'form.submitted'})) {      if ( $target eq 'grade' && &Apache::response::submitted() ) {
  &Apache::response::setup_params($tag,$safeeval);   &Apache::response::setup_params($tag,$safeeval);
  $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);   $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);
  my $partid = $Apache::inputtags::part;   my $partid = $Apache::inputtags::part;
Line 137  sub end_numericalresponse { Line 137  sub end_numericalresponse {
     $tag eq 'formularesponse') {      $tag eq 'formularesponse') {
     $increment=&Apache::response::scored_response($partid,$id);      $increment=&Apache::response::scored_response($partid,$id);
  } elsif ($Apache::lonhomework::type eq 'survey') {   } elsif ($Apache::lonhomework::type eq 'survey') {
     if ( !defined($ENV{'form.submitted'})) { return ''; }  
     my $response = &Apache::response::getresponse();      my $response = &Apache::response::getresponse();
     if ( $response =~ /[^\s]/) {      if ( $response =~ /[^\s]/) {
  my %previous=&Apache::response::check_for_previous($response,   my %previous=&Apache::response::check_for_previous($response,
Line 154  sub end_numericalresponse { Line 153  sub end_numericalresponse {
  &Apache::lonxml::debug("submitted a $response<br>\n");   &Apache::lonxml::debug("submitted a $response<br>\n");
  &Apache::lonxml::debug($$parstack[-1] . "\n<br>");   &Apache::lonxml::debug($$parstack[-1] . "\n<br>");
   
  if ($ENV{'form.submitted'} eq 'scantron') {   if ( &Apache::response::submitted('scantron')) {
     my $number_of_bubbles = &Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.numbubbles');      my $number_of_bubbles = &Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.numbubbles');
     if (!$number_of_bubbles) { $number_of_bubbles=8; }      if (!$number_of_bubbles) { $number_of_bubbles=8; }
     my (@formats)=&Apache::lonxml::get_param_var('format',$parstack,$safeeval);      my (@formats)=&Apache::lonxml::get_param_var('format',$parstack,$safeeval);
     my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);      my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval);
     my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval);      my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval);
       if ($#incorrect eq 0) { @incorrect=(split(/,/,$incorrect[0])); }
     my ($values,$display)=&make_numerical_bubbles($number_of_bubbles,$target,$answers[0],$formats[0],\@incorrect,$safeeval);      my ($values,$display)=&make_numerical_bubbles($number_of_bubbles,$target,$answers[0],$formats[0],\@incorrect,$safeeval);
     $response=$values->[$response];      $response=$values->[$response];
  }   }
Line 184  sub end_numericalresponse { Line 184  sub end_numericalresponse {
  }   }
  #sig fig don't make much sense either   #sig fig don't make much sense either
  if (($Apache::lonhomework::type eq 'exam' ||   if (($Apache::lonhomework::type eq 'exam' ||
      $ENV{'form.submitted'} eq 'scantron') &&       &Apache::response::submitted('scantron')) &&
     $tag eq 'numericalresponse') {      $tag eq 'numericalresponse') {
     delete($$args_ref{'sig'});      delete($$args_ref{'sig'});
  }   }
Line 238  sub end_numericalresponse { Line 238  sub end_numericalresponse {
     my $unit=&Apache::lonxml::get_param_var('unit',$parstack,      my $unit=&Apache::lonxml::get_param_var('unit',$parstack,
     $safeeval);      $safeeval);
     my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval);      my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval);
       if ($#incorrect eq 0) { @incorrect=(split(/,/,$incorrect[0])); }
     my ($bubble_values,$bubble_display)=      my ($bubble_values,$bubble_display)=
  &make_numerical_bubbles($number_of_bubbles,   &make_numerical_bubbles($number_of_bubbles,
  $target,$answers[0],   $target,$answers[0],
Line 310  sub end_numericalresponse { Line 311  sub end_numericalresponse {
     push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id);      push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id);
     $Apache::lonhomework::analyze{"$part_id.type"} = $tag;      $Apache::lonhomework::analyze{"$part_id.type"} = $tag;
     my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval);      my (@incorrect)=&Apache::lonxml::get_param_var('incorrect',$parstack,$safeeval);
       if ($#incorrect eq 0) { @incorrect=(split(/,/,$incorrect[0])); }
     push (@{ $Apache::lonhomework::analyze{"$part_id.incorrect"} }, @incorrect);      push (@{ $Apache::lonhomework::analyze{"$part_id.incorrect"} }, @incorrect);
     &Apache::response::check_if_computed($token,$parstack,      &Apache::response::check_if_computed($token,$parstack,
  $safeeval,'answer');   $safeeval,'answer');
Line 486  sub make_numerical_bubbles { Line 488  sub make_numerical_bubbles {
  }   }
  if (defined($$incorrect[0]) &&   if (defined($$incorrect[0]) &&
     scalar(@$incorrect)+1 < $number_of_bubbles) {      scalar(@$incorrect)+1 < $number_of_bubbles) {
     &Apache::lonxml::warning("Not enough incorrect answers were specified in the incorrect array, ignoring the specified incorrect answers and instead generating them.");      &Apache::lonxml::warning("Not enough incorrect answers were specified in the incorrect array, ignoring the specified incorrect answers and instead generating them (".join(',',@$incorrect).").");
  }   }
     }      }
     my @factors = (1.13,1.17,1.25,1.33,1.45); #default values of factors      my @factors = (1.13,1.17,1.25,1.33,1.45); #default values of factors
Line 609  sub end_stringresponse { Line 611  sub end_stringresponse {
     if (!$Apache::lonxml::default_homework_loaded) {      if (!$Apache::lonxml::default_homework_loaded) {
  &Apache::lonxml::default_homework_load($safeeval);   &Apache::lonxml::default_homework_load($safeeval);
     }      }
     if ( $target eq 'grade' && defined($ENV{'form.submitted'})) {      if ( $target eq 'grade' && &Apache::response::submitted() ) {
  &Apache::response::setup_params('stringresponse',$safeeval);   &Apache::response::setup_params('stringresponse',$safeeval);
  $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);   $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);
  if ($Apache::lonhomework::type eq 'exam' ||   if ($Apache::lonhomework::type eq 'exam' ||
     $ENV{'form.submitted'} eq 'scantron') {      &Apache::response::submitted('scantron')) {
     $increment=&Apache::response::scored_response($part,$id);      $increment=&Apache::response::scored_response($part,$id);
  } elsif ($Apache::lonhomework::type eq 'survey') {   } elsif ($Apache::lonhomework::type eq 'survey') {
     if ( !defined($ENV{'form.submitted'})) { return ''; }  
     my $response = &Apache::response::getresponse();      my $response = &Apache::response::getresponse();
     if ( $response =~ /[^\s]/) {      if ( $response =~ /[^\s]/) {
  my %previous=&Apache::response::check_for_previous($response,   my %previous=&Apache::response::check_for_previous($response,

Removed from v.1.160  
changed lines
  Added in v.1.162


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