version 1.70, 2008/09/12 09:56:09
|
version 1.74, 2008/11/20 15:19:15
|
Line 26
|
Line 26
|
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
# |
|
|
|
|
|
|
package Apache::hinttags; |
package Apache::hinttags; |
|
|
use strict; |
use strict; |
Line 68 sub start_hintgroup {
|
Line 70 sub start_hintgroup {
|
$result .= '\keephidden{'; |
$result .= '\keephidden{'; |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::tag_start($target,$token); |
$result.=&Apache::edit::tag_start($target,$token); |
$result.=&Apache::edit::select_arg('Show hint even if problem Correct:','showoncorrect',[['no',&mt('No')],['yes',&mt('Yes')]],$token); |
$result.=&Apache::edit::select_arg('Show hint even if problem Correct:','showoncorrect',['no','yes'],$token); |
$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=&Apache::edit::get_new_args($token,$parstack,$safeeval,'showoncorrect'); |
my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'showoncorrect'); |
Line 194 sub end_numericalhint {
|
Line 196 sub end_numericalhint {
|
dclone($answer{$ans_name}); |
dclone($answer{$ans_name}); |
&Apache::caparesponse::setup_capa_response($args_ref,$response); |
&Apache::caparesponse::setup_capa_response($args_ref,$response); |
my ($result,@msgs) = |
my ($result,@msgs) = |
&Apache::run::run("&caparesponse_check_list($$tagstack[-1])",$safeeval); |
&Apache::run::run("&caparesponse_check_list()",$safeeval); |
&Apache::lonxml::debug("checking $ans_name $result with $response"); |
&Apache::lonxml::debug("checking $ans_name $result with $response"); |
&Apache::lonxml::debug('msgs are '.join(':',@msgs)); |
&Apache::lonxml::debug('msgs are '.join(':',@msgs)); |
my ($awards)=split(/:/,$result); |
my ($awards)=split(/:/,$result); |
Line 422 sub end_stringhint {
|
Line 424 sub end_stringhint {
|
my $args_ref = |
my $args_ref = |
&Apache::caparesponse::setup_capa_args($safeeval,$parstack, |
&Apache::caparesponse::setup_capa_args($safeeval,$parstack, |
\@args,$response); |
\@args,$response); |
|
if ($$args_ref{'type'} eq '') { |
|
$$args_ref{'type'} = 'ci'; |
|
} |
&Apache::caparesponse::add_in_tag_answer($parstack,$safeeval); |
&Apache::caparesponse::add_in_tag_answer($parstack,$safeeval); |
my (@final_awards,@final_msgs,@ans_names); |
my (@final_awards,@final_msgs,@ans_names); |
my %answer = &Apache::caparesponse::get_answer(); |
my %answer = &Apache::caparesponse::get_answer(); |
foreach my $ans_name (keys(%answer)) { |
foreach my $ans_name (keys(%answer)) { |
&Apache::lonxml::debug(" doing $ans_name with ".join(':',@{ $answer{$ans_name}{'answers'} })); |
&Apache::lonxml::debug(" doing $ans_name with ".join(':',@{ $answer{$ans_name}{'answers'} })); |
${$safeeval->varglob('LONCAPA::CAPAresponse_answer')}=dclone($answer{$ans_name}); |
${$safeeval->varglob('LONCAPA::CAPAresponse_answer')}=dclone($answer{$ans_name}); |
my ($result, @msgs)=&Apache::run::run("&caparesponse_check_list($$tagstack[-1])",$safeeval); |
my ($result, @msgs)=&Apache::run::run("&caparesponse_check_list()",$safeeval); |
&Apache::lonxml::debug('msgs are'.join(':',@msgs)); |
&Apache::lonxml::debug('msgs are'.join(':',@msgs)); |
my ($awards) = split(/:/,$result); |
my ($awards) = split(/:/,$result); |
my (@awards) = split(/,/,$awards); |
my (@awards) = split(/,/,$awards); |
Line 646 sub end_radiobuttonhint {
|
Line 651 sub end_radiobuttonhint {
|
} |
} |
1; |
1; |
__END__ |
__END__ |
|
|
|
|
|
=head1 NAME |
|
|
|
Apache::hinttags |
|
|
|
=head1 SYNOPSIS |
|
|
|
This handler coordinates the delivery of hints to students working on LON-CAPA problems and assignments. |
|
|
|
This is part of the LearningOnline Network with CAPA project |
|
described at http://www.lon-capa.org. |
|
|
|
=head1 SUBROUTINES |
|
|
|
=over |
|
|
|
=item start_hintgroup() |
|
|
|
=item end_hintgroup() |
|
|
|
=item start_numericalhint() |
|
|
|
=item end_numericalhint() |
|
|
|
=item start_formulahint() |
|
|
|
=item end_formulahint() |
|
|
|
=item start_mathhint() |
|
|
|
=item end_mathhint() |
|
|
|
=item start_customhint() |
|
|
|
=item end_customhint() |
|
|
|
=item start_stringhint() |
|
|
|
=item end_stringhint() |
|
|
|
=item start_hintpart() |
|
|
|
=item end_hintpart() |
|
|
|
=item start_optionhint() |
|
|
|
=item end_optionhint() |
|
|
|
=item start_radiobuttonhint() |
|
|
|
=item end_radiobuttonhint() |
|
|
|
=back |
|
|
|
=cut |
|
|