Diff for /loncom/homework/caparesponse/caparesponse.pm between versions 1.198.2.2 and 1.202

version 1.198.2.2, 2006/12/19 00:53:57 version 1.202, 2006/12/15 22:11:43
Line 33  use Safe::Hole; Line 33  use Safe::Hole;
 use Apache::lonmaxima();  use Apache::lonmaxima();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
   use Apache::response();
 use Storable qw(dclone);  use Storable qw(dclone);
   
 BEGIN {  BEGIN {
Line 40  BEGIN { Line 41  BEGIN {
 }  }
   
 my %answer;  my %answer;
 my @answers;  
 sub get_answer { return %answer; };  
 sub push_answer{ push(@answers,dclone(\%answer)); undef(%answer) }  
 sub pop_answer { %answer = %{pop(@answers)}; };  
   
 my $cur_name;  my $cur_name;
 my $tag_internal_answer_name = 'INTERNAL';  my $tag_internal_answer_name = 'INTERNAL';
   
Line 329  sub check_submission { Line 325  sub check_submission {
     }      }
           
     if ($tag eq 'formularesponse') {      if ($tag eq 'formularesponse') {
 # if ($$args_ref{'samples'}) {   if ($$args_ref{'samples'}) {
     $$args_ref{'type'}='fml';      $$args_ref{'type'}='fml';
 # } else {   } else {
 #    $$args_ref{'type'}='math';      $$args_ref{'type'}='math';
 # }   }
     } elsif ($tag eq 'numericalresponse') {      } elsif ($tag eq 'numericalresponse') {
  $$args_ref{'type'}='float';   $$args_ref{'type'}='float';
     }      }
Line 377  sub add_in_tag_answer { Line 373  sub add_in_tag_answer {
     }      }
 }  }
   
   sub capa_formula_fix {
      my ($expression)=@_;
      return &Apache::response::implicit_multiplication($expression);
   }
   
 sub end_numericalresponse {  sub end_numericalresponse {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $increment=1;      my $increment=1;
Line 390  sub end_numericalresponse { Line 391  sub end_numericalresponse {
     my $safehole = new Safe::Hole;      my $safehole = new Safe::Hole;
     $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);      $safeeval->share_from('capa',['&caparesponse_capa_check_answer']);
     $safehole->wrap(\&Apache::lonmaxima::maxima_check,$safeeval,'&maxima_check');      $safehole->wrap(\&Apache::lonmaxima::maxima_check,$safeeval,'&maxima_check');
       $safehole->wrap(\&Apache::lonmaxima::maxima_cas_formula_fix,$safeeval,'&maxima_cas_formula_fix');
       $safehole->wrap(\&capa_formula_fix,$safeeval,'&capa_formula_fix');
   
     if (scalar(@$tagstack)) { $tag=$$tagstack[-1]; }      if (scalar(@$tagstack)) { $tag=$$tagstack[-1]; }
     if ( $target eq 'grade' && &Apache::response::submitted() ) {      if ( $target eq 'grade' && &Apache::response::submitted() ) {

Removed from v.1.198.2.2  
changed lines
  Added in v.1.202


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