version 1.271.2.1, 2010/11/09 17:41:47
|
version 1.277, 2010/12/31 02:40:14
|
Line 175 sub start_textfield {
|
Line 175 sub start_textfield {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$Apache::lonxml::evaluate--; |
$Apache::lonxml::evaluate--; |
my $partid=$Apache::inputtags::part; |
my $partid=$Apache::inputtags::part; |
my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$resid.submission"},'<>&"'); |
my ($oldresponse,$newvariation); |
|
if ((($Apache::lonhomework::history{"resource.$partid.type"} eq 'randomizetry') || |
|
($Apache::lonhomework::type eq 'randomizetry')) && |
|
($Apache::inputtags::status[-1] eq 'CAN_ANSWER')) { |
|
if ($env{'form.'.$partid.'.rndseed'} ne |
|
$Apache::lonhomework::history{"resource.$partid.rndseed"}) { |
|
$newvariation = 1; |
|
} |
|
} |
|
unless ($newvariation) { |
|
$oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$resid.submission"},'<>&"'); |
|
} |
if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') { |
if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') { |
my $cols = &Apache::lonxml::get_param('cols',$parstack,$safeeval); |
my $cols = &Apache::lonxml::get_param('cols',$parstack,$safeeval); |
if ( $cols eq '') { $cols = 80; } |
if ( $cols eq '') { $cols = 80; } |
Line 331 sub start_textline {
|
Line 342 sub start_textline {
|
$maxlength = ' maxlength="'.$size.'"'; |
$maxlength = ' maxlength="'.$size.'"'; |
} |
} |
} |
} |
my $oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; |
my ($oldresponse,$newvariation); |
&Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); |
if ((($Apache::lonhomework::history{"resource.$partid.type"} eq 'randomizetry') || |
|
($Apache::lonhomework::type eq 'randomizetry')) && |
if (ref($oldresponse) eq 'ARRAY') { |
($Apache::inputtags::status[-1] eq 'CAN_ANSWER')) { |
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
if ($env{'form.'.$partid.'.rndseed'} ne |
} |
$Apache::lonhomework::history{"resource.$partid.rndseed"}) { |
$oldresponse = &HTML::Entities::encode($oldresponse,'<>&"'); |
$newvariation = 1; |
$oldresponse =~ s/^\s+//; |
} |
$oldresponse =~ s/\s+$//; |
} |
$oldresponse =~ s/\s+/ /g; |
unless ($newvariation) { |
|
$oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; |
|
&Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); |
|
if (ref($oldresponse) eq 'ARRAY') { |
|
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
|
} |
|
$oldresponse = &HTML::Entities::encode($oldresponse,'<>&"'); |
|
$oldresponse =~ s/^\s+//; |
|
$oldresponse =~ s/\s+$//; |
|
$oldresponse =~ s/\s+/ /g; |
|
} |
if ($Apache::lonhomework::type ne 'exam') { |
if ($Apache::lonhomework::type ne 'exam') { |
my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval); |
my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval); |
$result=''; |
$result=''; |
Line 574 sub current_file_submissions {
|
Line 595 sub current_file_submissions {
|
} |
} |
} |
} |
} |
} |
|
my $num = 0; |
foreach my $name (sort(keys(%okfiles))) { |
foreach my $name (sort(keys(%okfiles))) { |
if (ref($okfiles{$name}) eq 'ARRAY') { |
if (ref($okfiles{$name}) eq 'ARRAY') { |
my $num = 0; |
|
foreach my $url (@{$okfiles{$name}}) { |
foreach my $url (@{$okfiles{$name}}) { |
if (ref($rows{$url}) eq 'HASH') { |
if (ref($rows{$url}) eq 'HASH') { |
my $link = $rows{$url}{link}; |
my $link = $rows{$url}{link}; |
Line 602 sub current_file_submissions {
|
Line 623 sub current_file_submissions {
|
} |
} |
$result .= |
$result .= |
'<td><a href="'.$link.'"><img src="'.$icon. |
'<td><a href="'.$link.'"><img src="'.$icon. |
'" border="0" />'.$showname.'</a></td>'."\n". |
'" border="0" alt="" />'.$showname.'</a></td>'."\n". |
'<td align="right" valign="bottom">'.$rows{$url}{size}.'</td>'."\n". |
'<td align="right" valign="bottom">'.$rows{$url}{size}.'</td>'."\n". |
'<td align="right" valign="bottom">'.$rows{$url}{lastmodified}.'</td>'."\n". |
'<td align="right" valign="bottom">'.$rows{$url}{lastmodified}.'</td>'."\n". |
&Apache::loncommon::end_data_table_row(); |
&Apache::loncommon::end_data_table_row(); |
Line 614 sub current_file_submissions {
|
Line 635 sub current_file_submissions {
|
if ($header_shown) { |
if ($header_shown) { |
$result .= &Apache::loncommon::end_data_table(). |
$result .= &Apache::loncommon::end_data_table(). |
'<br /><span class="LC_warning">'. |
'<br /><span class="LC_warning">'. |
&mt('Items checked for deletion will not be included amongst the files evaluated when your submission is graded.').'</span>'; |
&mt('Exclude existing file(s) from grading by checking the "Delete?" checkbox(es) and clicking "Submit Answer"').'</span>'; |
} |
} |
if (@bad_file_list) { |
if (@bad_file_list) { |
my $bad_files = '<span class="LC_filename">'. |
my $bad_files = '<span class="LC_filename">'. |
Line 663 sub valid_award {
|
Line 684 sub valid_award {
|
'UNIT_INVALID_STUDENT', 'UNIT_IRRECONCIBLE', |
'UNIT_INVALID_STUDENT', 'UNIT_IRRECONCIBLE', |
'UNIT_FAIL', 'NO_UNIT', |
'UNIT_FAIL', 'NO_UNIT', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'BAD_FORMULA', 'INTERNAL_ERROR', 'SIG_FAIL', 'INCORRECT', |
'BAD_FORMULA', 'NOT_FUNCTION', 'WRONG_FORMAT', |
|
'INTERNAL_ERROR', 'SIG_FAIL', 'INCORRECT', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'DRAFT', 'SUBMITTED', 'SUBMITTED_CREDIT', |
'DRAFT', 'SUBMITTED', 'SUBMITTED_CREDIT', |
Line 680 sub valid_award {
|
Line 702 sub valid_award {
|
'TOO_LONG', |
'TOO_LONG', |
'UNIT_INVALID_INSTRUCTOR', 'UNIT_INVALID_STUDENT', |
'UNIT_INVALID_INSTRUCTOR', 'UNIT_INVALID_STUDENT', |
'UNIT_IRRECONCIBLE', 'UNIT_FAIL', 'NO_UNIT', |
'UNIT_IRRECONCIBLE', 'UNIT_FAIL', 'NO_UNIT', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', 'INTERNAL_ERROR', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', 'NOT_FUNCTION', |
|
'WRONG_FORMAT', 'INTERNAL_ERROR', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'INVALID_FILETYPE', 'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'INVALID_FILETYPE', 'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'DRAFT', 'SUBMITTED', |
'DRAFT', 'SUBMITTED', |
Line 967 sub decideoutput {
|
Line 990 sub decideoutput {
|
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Formula_Answers')}; |
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Formula_Answers')}; |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
} elsif ($award eq 'INTERNAL_ERROR') { |
} elsif ($award eq 'NOT_FUNCTION') { |
|
$message = &mt("Not a function").'.'; |
|
$css_class=$possible_class{'not_charged_try'}; |
|
$button=1; |
|
} elsif ($award eq 'WRONG_FORMAT') { |
|
$message = &mt("Wrong format").'.'; |
|
$css_class=$possible_class{'not_charged_try'}; |
|
$button=1; |
|
} elsif ($award eq 'INTERNAL_ERROR') { |
$message = &mt("An internal error occurred while processing your answer. Please try again later."); |
$message = &mt("An internal error occurred while processing your answer. Please try again later."); |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
Line 1244 sub setgradedata {
|
Line 1275 sub setgradedata {
|
&Apache::response::add_to_gradingqueue(); |
&Apache::response::add_to_gradingqueue(); |
} |
} |
if (($Apache::lonhomework::type eq 'anonsurvey') || |
if (($Apache::lonhomework::type eq 'anonsurvey') || |
($Apache::lonhomework::type eq 'anonsurveycred')) { |
($Apache::lonhomework::type eq 'anonsurveycred') || |
|
($Apache::lonhomework::type eq 'randomizetry')) { |
$Apache::lonhomework::results{"resource.$id.type"} = $Apache::lonhomework::type; |
$Apache::lonhomework::results{"resource.$id.type"} = $Apache::lonhomework::type; |
} |
} |
|
if ($Apache::lonhomework::type eq 'randomizetry') { |
|
$Apache::lonhomework::results{"resource.$id.rndseed"} = $env{'form.'.$id.'.rndseed'}; |
|
} |
} |
} |
|
|
sub find_which_previous { |
sub find_which_previous { |
Line 1455 sub previous_tries {
|
Line 1490 sub previous_tries {
|
|
|
my $count; |
my $count; |
my %count_lookup; |
my %count_lookup; |
|
my $lastrndseed; |
|
|
foreach my $i (1..$Apache::lonhomework::history{'version'}) { |
foreach my $i (1..$Apache::lonhomework::history{'version'}) { |
my $prefix = $i.":resource.$id"; |
my $prefix = $i.":resource.$id"; |
Line 1468 sub previous_tries {
|
Line 1504 sub previous_tries {
|
next if (!exists($Apache::lonhomework::history{"$prefix.award"})); |
next if (!exists($Apache::lonhomework::history{"$prefix.award"})); |
$count++; |
$count++; |
$count_lookup{$i} = $count; |
$count_lookup{$i} = $count; |
|
my $curr_rndseed = $Apache::lonhomework::history{"$prefix.rndseed"}; |
my ($previousmsg,$latemessage,$message,$trystr); |
my ($previousmsg,$latemessage,$message,$trystr); |
|
|
($previousmsg,$latemessage,$message,$trystr) = |
($previousmsg,$latemessage,$message,$trystr) = |
Line 1490 sub previous_tries {
|
Line 1526 sub previous_tries {
|
{$1 <strong>$txt_correct</strong>. $3}s; |
{$1 <strong>$txt_correct</strong>. $3}s; |
} |
} |
my $trystr = "(".&mt('Try [_1]',$Apache::lonhomework::history{"$prefix.tries"}).")"; |
my $trystr = "(".&mt('Try [_1]',$Apache::lonhomework::history{"$prefix.tries"}).")"; |
|
if ($curr_rndseed || $lastrndseed) { |
|
if ($curr_rndseed ne $lastrndseed) { |
|
$trystr .= '<br /><span style="color: green; white-space: nowrap; font-style: italic; font-weight: bold; font-size: 80%;">'.&mt('New problem variation this try.').'</span>'; |
|
} |
|
} |
$message =~ s{(</td>)}{ $trystr $1}; |
$message =~ s{(</td>)}{ $trystr $1}; |
} |
} |
my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #" |
my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #" |
Line 1519 sub previous_tries {
|
Line 1560 sub previous_tries {
|
} |
} |
} |
} |
$output.=&Apache::loncommon::end_data_table_row()."\n"; |
$output.=&Apache::loncommon::end_data_table_row()."\n"; |
|
$lastrndseed = $curr_rndseed; |
} |
} |
return if ($output eq ''); |
return if ($output eq ''); |
my $headers = |
my $headers = |