Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.22 and 1.24

version 1.22, 2000/12/28 00:17:32 version 1.24, 2001/01/04 22:25:13
Line 23  sub end_caparesponse { Line 23  sub end_caparesponse {
       $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);        $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);
       my $response = $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']};        my $response = $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']};
       if ( $response =~ /[^\s]/) {        if ( $response =~ /[^\s]/) {
  my $previous= &check_for_previous($response,$id,$response);   my $id = $Apache::inputtags::response['-1'];
    my $previous= &Apache::response::check_for_previous($response,$id,$response);
  if ( $previous ) {    if ( $previous ) { 
   $result = 'PREVIOUSLY_USED';    $result = 'PREVIOUSLY_USED';
  } else {   } else {
Line 48  sub end_caparesponse { Line 49  sub end_caparesponse {
   }    }
   #Apache::lonxml::debug("\n<br>\nreal end caparesponse<br>\n");    #Apache::lonxml::debug("\n<br>\nreal end caparesponse<br>\n");
   &Apache::response::end_response;    &Apache::response::end_response;
   return $result;    return '';
 }  }
   
 sub start_numericalresponse {  sub start_numericalresponse {
Line 65  sub end_numericalresponse { Line 66  sub end_numericalresponse {
       $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);        $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);
       my $response = $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']};        my $response = $ENV{'form.HWVAL'.$Apache::inputtags::response['-1']};
       if ( $response =~ /[^\s]/) {        if ( $response =~ /[^\s]/) {
  my $previous= &check_for_previous($response,$id,$response);   my $id = $Apache::inputtags::response['-1'];
    my $previous= &Apache::response::check_for_previous($response,$id,$response);
  if ( $previous ) {    if ( $previous ) { 
   $result = 'PREVIOUSLY_USED';    $result = 'PREVIOUSLY_USED';
  } else {   } else {
   $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].submission"}=$response;    $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].submission"}=$response;
   &Apache::lonxml::debug("submitted a $response<br>\n");    &Apache::lonxml::debug("submitted a $response<br>\n");
   &Apache::lonxml::debug($$parstack[$#$parstack] . "\n<br>");    &Apache::lonxml::debug($$parstack[$#$parstack] . "\n<br>");
   my $expression="&caparesponse_check('".$response."','".    my $expression="&caparesponse_check_list('".$response."','".
     $$parstack[$#$parstack].      $$parstack[$#$parstack].
       ';my $tol="'.$Apache::inputtags::params{'tol'}.'"'.        ';my $tol="'.$Apache::inputtags::params{'tol'}.'"'.
       ';my $sig="'.$Apache::inputtags::params{'sig'}.'"'.        ';my $sig="'.$Apache::inputtags::params{'sig'}.'"'.
  "');";   "');";
   $result = &Apache::run::run($expression,$safeeval);    $result = &Apache::run::run($expression,$safeeval);
   my ($ad) = split /:/ , $result;    my ($awards) = split /:/ , $result;
     my ($ad) = &Apache::inputtags::finalizeawards(split /,/ , $awards);
   $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].awarddetail"}=$ad;    $Apache::lonhomework::results{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].awarddetail"}=$ad;
   &Apache::lonxml::debug("$expression");    &Apache::lonxml::debug("$expression");
   &Apache::lonxml::debug("\n<br>result:$Apache::caparesponse::result:$result:$Apache::lonxml::curdepth<br>\n");    &Apache::lonxml::debug("\n<br>result:$Apache::caparesponse::result:$result:$Apache::lonxml::curdepth<br>\n");
     $result='';
  }   }
       }        }
     }      }
     } elsif ($target eq 'web') {
       my $award = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"};
       if ($award =~ /^correct/) {
         my $answervar=&Apache::run::run("{$$parstack['-1'];".'return $answer}',$safeeval);
         my (@answers)=&Apache::run::run("$answervar",$safeeval);
         my $unit=&Apache::run::run("{$$parstack['-1'];".'return $unit}',$safeeval);
         
         $result="<br></br>The computer got ";
         my $answer;
         foreach $answer (@answers) { $result.="$answer,"; }
         chop $result;
         $result.=" $unit.<br></br>";
       }
   }    }
   &Apache::response::end_response;    &Apache::response::end_response;
   return $result;    return $result;

Removed from v.1.22  
changed lines
  Added in v.1.24


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