version 1.198.2.3, 2007/01/25 21:03:45
|
version 1.206, 2007/01/23 22:00:16
|
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 236 sub set_answertext {
|
Line 237 sub set_answertext {
|
$response_level) = @_; |
$response_level) = @_; |
&add_in_tag_answer($parstack,$safeeval,$response_level); |
&add_in_tag_answer($parstack,$safeeval,$response_level); |
|
|
|
if ($name eq '' || !ref($answer{$name})) { |
|
if (ref($answer{$tag_internal_answer_name})) { |
|
$name = $tag_internal_answer_name; |
|
} else { |
|
$name = (sort(keys(%answer)))[0]; |
|
} |
|
} |
return if ($name eq '' || !ref($answer{$name})); |
return if ($name eq '' || !ref($answer{$name})); |
|
|
my (@formats)=&Apache::lonxml::get_param_var('format',$parstack, |
my (@formats)=&Apache::lonxml::get_param_var('format',$parstack, |
Line 329 sub check_submission {
|
Line 337 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 385 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 389 sub end_numericalresponse {
|
Line 402 sub end_numericalresponse {
|
my $tag; |
my $tag; |
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'); |
|
|
|
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() ) { |
Line 405 sub end_numericalresponse {
|
Line 417 sub end_numericalresponse {
|
&Apache::lonxml::debug($$parstack[-1] . "\n<br>"); |
&Apache::lonxml::debug($$parstack[-1] . "\n<br>"); |
|
|
if ( &Apache::response::submitted('scantron')) { |
if ( &Apache::response::submitted('scantron')) { |
&add_in_tag_answer($parstack,$safeeval); |
|
my ($values,$display)=&make_numerical_bubbles($partid,$id, |
my ($values,$display)=&make_numerical_bubbles($partid,$id, |
$target,$parstack,$safeeval); |
$target,$parstack,$safeeval); |
$response=$values->[$response]; |
$response=$values->[$response]; |