version 1.244, 2015/10/30 03:49:47
|
version 1.244.2.5, 2024/10/29 03:29:30
|
Line 468 sub end_customresponse {
|
Line 468 sub end_customresponse {
|
$error = $award; |
$error = $award; |
$award = 'ERROR'; |
$award = 'ERROR'; |
} |
} |
if (($award eq 'INCORRECT' || $award eq 'APPROX_ANS' || |
if (($award eq 'INCORRECT') || ($award eq 'APPROX_ANS') || |
$award eq 'EXACT_ANS')) { |
($award eq 'EXACT_ANS') || ($award eq 'ASSIGNED_SCORE')) { |
if ($Apache::lonhomework::type eq 'survey') { |
if ($Apache::lonhomework::type eq 'survey') { |
$award='SUBMITTED'; |
$award='SUBMITTED'; |
} elsif ($Apache::lonhomework::type eq 'surveycred') { |
} elsif ($Apache::lonhomework::type eq 'surveycred') { |
Line 766 sub start_responseparam {
|
Line 766 sub start_responseparam {
|
} |
} |
} elsif ($target eq 'grade' || $target eq 'answer' || $target eq 'web' || |
} elsif ($target eq 'grade' || $target eq 'answer' || $target eq 'web' || |
$target eq 'tex' || $target eq 'analyze' ) { |
$target eq 'tex' || $target eq 'analyze' ) { |
if ($env{'request.state'} eq 'construct') { |
if (($env{'request.state'} eq 'construct') || |
|
($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) { |
my $name =&Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $name =&Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $default=&Apache::lonxml::get_param('default',$parstack, |
my $default=&Apache::lonxml::get_param('default',$parstack, |
$safeeval); |
$safeeval); |
Line 797 sub reset_params {
|
Line 798 sub reset_params {
|
sub setup_params { |
sub setup_params { |
my ($tag,$safeeval) = @_; |
my ($tag,$safeeval) = @_; |
|
|
if ($env{'request.state'} eq 'construct') { return; } |
if (($env{'request.state'} eq 'construct') || |
|
($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) { |
|
return; |
|
} |
my %paramlist=(); |
my %paramlist=(); |
foreach my $key (keys(%Apache::lonnet::packagetab)) { |
foreach my $key (keys(%Apache::lonnet::packagetab)) { |
if ($key =~ /^\Q$tag\E/) { |
if ($key =~ /^\Q$tag\E/) { |
Line 876 sub answer_part {
|
Line 880 sub answer_part {
|
if ($env{'form.answer_output_mode'} eq 'tex') { |
if ($env{'form.answer_output_mode'} eq 'tex') { |
if (!$args->{'no_verbatim'}) { |
if (!$args->{'no_verbatim'}) { |
my $to_use='|'; |
my $to_use='|'; |
foreach my $value (32..126) { |
foreach my $value (33..41,43..126) { |
my $char=pack('c',$value); |
my $char=pack('c',$value); |
if ($answer !~ /\Q$char\E/) { |
if ($answer !~ /\Q$char\E/) { |
$to_use=$char; |
$to_use=$char; |
Line 1307 sub submitted {
|
Line 1311 sub submitted {
|
return 1; |
return 1; |
} |
} |
# Submit All button on a .page was pressed |
# Submit All button on a .page was pressed |
if (defined($env{'form.all_submit'})) { return 1; } |
if ($env{'form.all_submit'}) { return 1; } |
# otherwise no submission occurred |
# otherwise no submission occurred |
return 0; |
return 0; |
} |
} |
Line 1343 basically undef and 0 (both false) mean
|
Line 1347 basically undef and 0 (both false) mean
|
and all true values mean that they can't do any more work |
and all true values mean that they can't do any more work |
|
|
a return of undef means it is unattempted |
a return of undef means it is unattempted |
a return of 0 means it is attmpted and wrong but still has tries |
a return of 0 means it is both attempted and still has tries and |
|
is wrong or is only partially correct, and retries |
|
are allowed. |
a return of 1 means it is marked correct |
a return of 1 means it is marked correct |
a return of 2 means they have exceed maximum number of tries |
a return of 2 means they have exceeded maximum number of tries |
a return of 3 means it after the answer date |
a return of 3 means it is after the answer date |
|
|
=cut |
=cut |
|
|
Line 1363 sub check_status {
|
Line 1369 sub check_status {
|
return 3; |
return 3; |
} |
} |
my $status=&Apache::lonnet::EXT("user.resource.resource.$id.solved"); |
my $status=&Apache::lonnet::EXT("user.resource.resource.$id.solved"); |
if ($status =~ /^correct/) { return 1; } |
if ($status =~ /^correct/) { |
|
my $awarded=&Apache::lonnet::EXT("user.resource.resource.$id.awarded"); |
|
my $retrypartial=&Apache::lonnet::EXT("resource.$id.retrypartial"); |
|
unless (($retrypartial =~ /^1|on|yes$/) && ($awarded <1)) { |
|
return 1; |
|
} |
|
} |
if (!$status) { return undef; } |
if (!$status) { return undef; } |
my $maxtries=&Apache::lonnet::EXT("resource.$id.maxtries"); |
my $maxtries=&Apache::lonnet::EXT("resource.$id.maxtries"); |
if ($maxtries eq '') { $maxtries=2; } |
if ($maxtries eq '') { $maxtries=2; } |