version 1.247, 2011/06/08 01:39:32
|
version 1.248, 2011/06/08 20:38:50
|
Line 280 sub start_numericalresponse {
|
Line 280 sub start_numericalresponse {
|
$token,40). |
$token,40). |
&Apache::loncommon::help_open_topic('Formula_Response_Sampling'); |
&Apache::loncommon::help_open_topic('Formula_Response_Sampling'); |
} |
} |
|
$result.=&Apache::edit::text_arg('Pre-Processor Subroutine:','preprocess', |
|
$token,10); |
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my $constructtag; |
my $constructtag; |
Line 287 sub start_numericalresponse {
|
Line 289 sub start_numericalresponse {
|
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$safeeval,'answer', |
$safeeval,'answer', |
'incorrect','unit', |
'incorrect','unit', |
'format'); |
'format','preprocess'); |
} elsif ($token->[1] eq 'formularesponse') { |
} elsif ($token->[1] eq 'formularesponse') { |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$safeeval,'answer', |
$safeeval,'answer', |
'samples'); |
'samples','preproces'); |
} |
} |
if ($constructtag) { |
if ($constructtag) { |
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |
Line 1148 sub start_stringresponse {
|
Line 1150 sub start_stringresponse {
|
['re','Regular Expression']],$token); |
['re','Regular Expression']],$token); |
$result.=&Apache::edit::text_arg('String to display for answer:', |
$result.=&Apache::edit::text_arg('String to display for answer:', |
'answerdisplay',$token); |
'answerdisplay',$token); |
|
$result.=&Apache::edit::text_arg('Pre-Processor Subroutine:','preprocess', |
|
$token,10); |
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my $constructtag; |
my $constructtag; |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$constructtag=&Apache::edit::get_new_args($token,$parstack, |
$safeeval,'answer', |
$safeeval,'answer', |
'type','answerdisplay'); |
'type','answerdisplay','preprocess'); |
if ($constructtag) { |
if ($constructtag) { |
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |
$result.=&Apache::edit::handle_insert(); |
$result.=&Apache::edit::handle_insert(); |
Line 1213 sub end_stringresponse {
|
Line 1217 sub end_stringresponse {
|
# $answer=$token->[2]->{'answer'}; |
# $answer=$token->[2]->{'answer'}; |
# } |
# } |
${$safeeval->varglob('LONCAPA::response')}=$response; |
${$safeeval->varglob('LONCAPA::response')}=$response; |
|
my $preprocess=&Apache::lonxml::get_param('preprocess',$parstack,$safeeval); |
|
$preprocess=~s/^\&//; |
|
if (defined($preprocess)) { |
|
&Apache::run::run('$LONCAPA::response=&'.$preprocess.'($LONCAPA::response);',$safeeval); |
|
} |
$result = &Apache::run::run('if ($LONCAPA::response=~m'.$answer.') { return 1; } else { return 0; }',$safeeval); |
$result = &Apache::run::run('if ($LONCAPA::response=~m'.$answer.') { return 1; } else { return 0; }',$safeeval); |
&Apache::lonxml::debug("current $response"); |
&Apache::lonxml::debug("current $response"); |
&Apache::lonxml::debug("current $answer"); |
&Apache::lonxml::debug("current $answer"); |
$ad = ($result) ? 'APPROX_ANS' : 'INCORRECT'; |
$ad = ($result) ? 'APPROX_ANS' : 'INCORRECT'; |
} else { |
} else { |
my @args = ('type'); |
my @args = ('type','preprocess'); |
my $args_ref = &setup_capa_args($safeeval,$parstack, |
my $args_ref = &setup_capa_args($safeeval,$parstack, |
\@args,$response); |
\@args,$response); |
if ($$args_ref{'type'} eq '') { |
if ($$args_ref{'type'} eq '') { |