version 1.202, 2006/12/15 22:11:43
|
version 1.206, 2007/01/23 22:00:16
|
Line 41 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 232 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 390 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'); |
|
$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() ) { |