version 1.271.2.7, 2011/05/16 01:02:57
|
version 1.274, 2010/12/19 02:58:16
|
Line 60 use LONCAPA;
|
Line 60 use LONCAPA;
|
|
|
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::inputtags',('hiddensubmission','hiddenline','textfield','textline')); |
&Apache::lonxml::register('Apache::inputtags',('hiddenline','textfield','textline')); |
} |
} |
|
|
=pod |
=pod |
Line 354 sub start_textline {
|
Line 354 sub start_textline {
|
unless ($newvariation) { |
unless ($newvariation) { |
$oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; |
$oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; |
&Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); |
&Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); |
|
|
if (ref($oldresponse) eq 'ARRAY') { |
if (ref($oldresponse) eq 'ARRAY') { |
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
} |
} |
Line 479 sub end_hiddenline {
|
Line 478 sub end_hiddenline {
|
return ""; |
return ""; |
} |
} |
|
|
sub start_hiddensubmission { |
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
my $result = ""; |
|
my $input_id = &start_input($parstack,$safeeval); |
|
if ($target eq 'web') { |
|
$Apache::lonxml::evaluate--; |
|
if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') { |
|
my $partid=$Apache::inputtags::part; |
|
my $id=$Apache::inputtags::response[-1]; |
|
if ($Apache::lonhomework::type ne 'exam') { |
|
my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval); |
|
$value = &HTML::Entities::encode($value,'<>&"'); |
|
$result= '<input type="hidden" name="HWVAL_'.$id.'" value="'.$value.'" />'; |
|
} |
|
} |
|
} elsif ($target eq 'edit') { |
|
$result=&Apache::edit::tag_start($target,$token); |
|
$result.=&Apache::edit::text_arg('Value:','value',$token,'15'); |
|
$result.=&Apache::edit::end_row(); |
|
$result.=&Apache::edit::end_table(); |
|
} elsif ($target eq 'modified') { |
|
my $constructtag=&Apache::edit::get_new_args($token,$parstack, |
|
$safeeval,'value'); |
|
if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); } |
|
} |
|
|
|
if ( ($target eq 'web' || $target eq 'tex') |
|
&& $Apache::lonhomework::type eq 'exam' |
|
&& &needs_exam_box($tagstack)) { |
|
$result.=&exam_box($target); |
|
} |
|
return $result; |
|
} |
|
|
|
sub end_hiddensubmission { |
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
|
if ($target eq 'web') { $Apache::lonxml::evaluate++; } |
|
elsif ($target eq 'edit') { return ('','no'); } |
|
&end_input(); |
|
return ""; |
|
} |
|
|
|
=pod |
=pod |
|
|
=item file_selector() |
=item file_selector() |
Line 638 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 666 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" alt="" />'.$showname.'</a></td>'."\n". |
'" border="0" />'.$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 678 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('Exclude existing file(s) from grading by checking the "Delete?" checkbox(es) and clicking "Submit Answer"').'</span>'; |
&mt('Items checked for deletion will not be included amongst the files evaluated when your submission is graded.').'</span>'; |
} |
} |
if (@bad_file_list) { |
if (@bad_file_list) { |
my $bad_files = '<span class="LC_filename">'. |
my $bad_files = '<span class="LC_filename">'. |
Line 728 sub valid_award {
|
Line 685 sub valid_award {
|
'UNIT_FAIL', 'NO_UNIT', |
'UNIT_FAIL', 'NO_UNIT', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'BAD_FORMULA', 'NOT_FUNCTION', 'WRONG_FORMAT', |
'BAD_FORMULA', 'NOT_FUNCTION', 'WRONG_FORMAT', |
'INTERNAL_ERROR', 'SIG_FAIL', 'INCORRECT', |
'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 746 sub valid_award {
|
Line 703 sub valid_award {
|
'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', 'NOT_FUNCTION', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', 'NOT_FUNCTION', |
'WRONG_FORMAT', 'INTERNAL_ERROR', |
'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 1041 sub decideoutput {
|
Line 998 sub decideoutput {
|
$message = &mt("Wrong format").'.'; |
$message = &mt("Wrong format").'.'; |
$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 '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 1318 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::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 1548 sub previous_tries {
|
Line 1502 sub previous_tries {
|
$count++; |
$count++; |
$count_lookup{$i} = $count; |
$count_lookup{$i} = $count; |
my $curr_rndseed = $Apache::lonhomework::history{"$prefix.rndseed"}; |
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 1566 sub previous_tries {
|
Line 1519 sub previous_tries {
|
) { |
) { |
|
|
my $txt_correct = &mt('Correct'); |
my $txt_correct = &mt('Correct'); |
my $awarded = $Apache::lonhomework::history{"$prefix.awarded"}; |
|
if ($awarded < 1 && $awarded > 0) { |
|
$txt_correct=&mt('Partially Correct'); |
|
} elsif ($awarded < 1) { |
|
if ($awarded eq '') { |
|
$txt_correct=''; |
|
} else { |
|
$txt_correct=&mt('Incorrect'); |
|
} |
|
} |
|
$message =~ s{(<td.*?>)(.*?)(</td>)} |
$message =~ s{(<td.*?>)(.*?)(</td>)} |
{$1 <strong>$txt_correct</strong>. $3}s; |
{$1 <strong>$txt_correct</strong>. $3}s; |
} |
} |
Line 1584 sub previous_tries {
|
Line 1527 sub previous_tries {
|
if ($curr_rndseed ne $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>'; |
$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="([^"]*)"}); #" |