version 1.14, 2008/11/10 13:18:19
|
version 1.17, 2010/12/20 20:15:55
|
Line 26
|
Line 26
|
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
# |
|
|
=pod |
|
|
|
=head1 NAME |
|
|
|
Apache::externalresponse.pm |
|
|
|
=head1 SYNOPSIS |
|
|
|
Handler to evaluate externally graded responses. |
|
|
|
This is part of the LearningOnline Network with CAPA project |
|
described at http://www.lon-capa.org. |
|
|
|
|
|
=cut |
|
|
|
package Apache::externalresponse; |
package Apache::externalresponse; |
use strict; |
use strict; |
use HTTP::Request::Common; |
use HTTP::Request::Common; |
use Apache::loncapagrade; |
use Apache::loncapagrade; |
use Apache::lonnet; |
use Apache::lonnet; |
|
use Apache::lonlocal; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::externalresponse',('externalresponse')); |
&Apache::lonxml::register('Apache::externalresponse',('externalresponse')); |
Line 54 BEGIN {
|
Line 41 BEGIN {
|
|
|
=pod |
=pod |
|
|
=head1 FIXME |
=head1 FIXME (start_externalresponse) |
|
|
send of response params and their current values (form good enough? what parameters to send?) |
send of response params and their current values (form good enough? what parameters to send?) |
Need to get returned message displayed |
Need to get returned message displayed |
Line 70 sub start_externalresponse {
|
Line 57 sub start_externalresponse {
|
if ($target eq 'edit') { |
if ($target eq 'edit') { |
$result .=&Apache::edit::tag_start($target,$token); |
$result .=&Apache::edit::tag_start($target,$token); |
$result .=&Apache::edit::text_arg('URL:','url',$token,60).'<br />'; |
$result .=&Apache::edit::text_arg('URL:','url',$token,60).'<br />'; |
$result .=&Apache::edit::text_arg('Answer:','answer',$token); |
$result .=&Apache::edit::text_arg(&mt('Answer:'),'answer',$token); |
$result .=&Apache::edit::text_arg('Form:','form',$token); |
$result .=&Apache::edit::text_arg(&mt('Form:'),'form',$token).'<br />'; |
|
$result .=&Apache::edit::text_arg(&mt('Answer display:'),'answerdisplay',$token,80); |
$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 = |
&Apache::edit::get_new_args($token,$parstack,$safeeval, |
&Apache::edit::get_new_args($token,$parstack,$safeeval, |
'answer','form','url'); |
'answerdisplay','answer','form','url'); |
if ($constructtag) { |
if ($constructtag) { |
$result = &Apache::edit::rebuild_tag($token); |
$result = &Apache::edit::rebuild_tag($token); |
} |
} |
Line 127 sub end_externalresponse {
|
Line 115 sub end_externalresponse {
|
$Apache::lonhomework::results{"resource.$part.$id.$key"}= |
$Apache::lonhomework::results{"resource.$part.$id.$key"}= |
$Apache::loncapagrade::results{$key}; |
$Apache::loncapagrade::results{$key}; |
} |
} |
|
$Apache::externalresponse::message=$Apache::loncapagrade::results{'message'}; |
&Apache::response::handle_previous(\%previous, |
&Apache::response::handle_previous(\%previous, |
$Apache::loncapagrade::results{'awarddetail'}); |
$Apache::loncapagrade::results{'awarddetail'}); |
&Apache::lonxml::debug("response of"); |
&Apache::lonxml::debug("response of"); |
Line 140 sub end_externalresponse {
|
Line 129 sub end_externalresponse {
|
} |
} |
if ($target eq 'web') { |
if ($target eq 'web') { |
&Apache::response::setup_prior_tries_hash(\&format_prior_response); |
&Apache::response::setup_prior_tries_hash(\&format_prior_response); |
|
if (&Apache::response::show_answer()) { |
|
$result.='<table border="1"><tr><th>'.&mt('Your answer:').'</th><th>'.&mt("Computer's answer information").'</th></tr><tr><td><pre>'. |
|
$Apache::lonhomework::history{"resource.$part.$id.submission"}. |
|
'</pre></td><td><pre>'.&Apache::lonxml::get_param('answerdisplay',$parstack,$safeeval). |
|
'</pre></td></tr></table>'; |
|
} |
|
if ($Apache::externalresponse::message) { |
|
$result.='<br /><table><tr><td bgcolor="#FFFFAA">'.$Apache::externalresponse::message.'</td></tr></table><br />'; |
|
} |
|
$Apache::externalresponse::message=''; |
} |
} |
|
|
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
Line 165 sub format_prior_response {
|
Line 164 sub format_prior_response {
|
__END__ |
__END__ |
|
|
|
|
|
=pod |
|
|
|
=head1 NAME |
|
|
|
Apache::externalresponse.pm |
|
|
|
=head1 SYNOPSIS |
|
|
|
Handler to evaluate externally graded responses. |
|
|
|
This is part of the LearningOnline Network with CAPA project |
|
described at http://www.lon-capa.org. |
|
|
|
=head1 SUBROUTINES |
|
|
|
=over |
|
|
|
=item start_externalresponse() |
|
|
|
=item end_externalresponse() |
|
|
|
=item format_prior_response() |
|
|
|
=back |
|
|
|
=cut |