version 1.248, 2008/11/16 02:46:25
|
version 1.248.4.1, 2009/09/14 16:39:21
|
Line 427 sub end_hiddenline {
|
Line 427 sub end_hiddenline {
|
# $part -> partid |
# $part -> partid |
# $id -> responseid |
# $id -> responseid |
# $uploadefiletypes -> comma seperated list of extensions allowed or * for any |
# $uploadefiletypes -> comma seperated list of extensions allowed or * for any |
# $which -> 'uploadedonly' -> only newly uploaded files |
# $which -> 'uploadonly' -> only newly uploaded files |
# 'portfolioonly' -> only allow files from portfolio |
# 'portfolioonly' -> only allow files from portfolio |
# 'both' -> allow files from either location |
# 'both' -> allow files from either location |
# $extratext -> additional text to go between the link and the input box |
# $extratext -> additional text to go between the link and the input box |
|
# $maxfilesize -> maximum cumulative filesize for submitted files (in MB). |
# returns a table row <tr> |
# returns a table row <tr> |
sub file_selector { |
sub file_selector { |
my ($part,$id,$uploadedfiletypes,$which,$extratext)=@_; |
my ($part,$id,$uploadedfiletypes,$which,$extratext,$maxfilesize)=@_; |
if (!$uploadedfiletypes) { return ''; } |
if (!$uploadedfiletypes) { return ''; } |
|
|
my $jspart=$part; |
my $jspart=$part; |
Line 442 sub file_selector {
|
Line 443 sub file_selector {
|
my $result; |
my $result; |
|
|
$result.='<tr><td>'; |
$result.='<tr><td>'; |
if ($uploadedfiletypes ne '*') { |
if (($uploadedfiletypes ne '*') || ($maxfilesize)) { |
$result.= |
if ($uploadedfiletypes ne '*') { |
&mt('Allowed filetypes: <b>[_1]</b>',$uploadedfiletypes).'<br />'; |
$result.= |
|
&mt('Allowed filetypes: [_1]','<b>'.$uploadedfiletypes.'</b>').'<br />'; |
|
} |
|
if ($maxfilesize) { |
|
$result.=&mt('Combined size of files not to exceed: [_1] MB[_2].', |
|
'<b>'.$maxfilesize.'</b>').'<br />'; |
|
} |
|
$result .= '<br />'; |
} |
} |
if ($which eq 'uploadonly' || $which eq 'both') { |
if ($which eq 'uploadonly' || $which eq 'both') { |
$result.=&mt('Submit a file: (only one file can be uploaded)'). |
$result.=&mt('Submit a file: (only one file can be uploaded)'). |
Line 461 sub file_selector {
|
Line 469 sub file_selector {
|
'<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'. |
'<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'. |
'<br />'; |
'<br />'; |
$result .= &show_past_portfile_submission($part,$id); |
$result .= &show_past_portfile_submission($part,$id); |
|
|
} |
} |
$result.='</td></tr>'; |
$result.='</td></tr>'; |
return $result; |
return $result; |
Line 523 sub valid_award {
|
Line 530 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', 'SIG_FAIL', 'INCORRECT', |
'BAD_FORMULA', 'INTERNAL_ERROR', 'SIG_FAIL', 'INCORRECT', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'EXCESS_FILESIZE', 'DRAFT', |
'EXCESS_FILESIZE', 'DRAFT', |
'SUBMITTED', 'ASSIGNED_SCORE', |
'SUBMITTED', 'ASSIGNED_SCORE', |
Line 538 sub valid_award {
|
Line 545 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', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', 'INTERNAL_ERROR', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'INVALID_FILETYPE', 'EXCESS_FILESIZE', 'DRAFT', 'SUBMITTED', |
'INVALID_FILETYPE', 'EXCESS_FILESIZE', 'DRAFT', 'SUBMITTED', |
'ASSIGNED_SCORE', 'APPROX_ANS', 'EXACT_ANS'); |
'ASSIGNED_SCORE', 'APPROX_ANS', 'EXACT_ANS'); |
Line 586 sub finalizeawards {
|
Line 593 sub finalizeawards {
|
return ('NO_RESPONSE'); |
return ('NO_RESPONSE'); |
} |
} |
} |
} |
|
|
|
if ($Apache::lonxml::internal_error) { $result='INTERNAL_ERROR'; } |
|
|
if (!$final_scantron && defined($result)) { return ($result); } |
if (!$final_scantron && defined($result)) { return ($result); } |
|
|
# if in scantron mode, if the award for any response is |
# if in scantron mode, if the award for any response is |
Line 766 sub decideoutput {
|
Line 776 sub decideoutput {
|
$message = &mt('Submission won\'t be graded. The combined size of submitted files exceeded the amount allowed.'); |
$message = &mt('Submission won\'t be graded. The combined size of submitted files exceeded the amount allowed.'); |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
|
|
} elsif ($award eq 'INVALID_FILETYPE') { |
} elsif ($award eq 'INVALID_FILETYPE') { |
$message = &mt('Submission won\'t be graded. The type of file submitted is not allowed.'); |
$message = &mt('Submission won\'t be graded. The type of file submitted is not allowed.'); |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
Line 810 sub decideoutput {
|
Line 819 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') { |
|
$message = &mt("An internal error occurred while processing your answer. Please try again later."); |
|
$css_class=$possible_class{'not_charged_try'}; |
|
$button=1; |
} elsif ($award eq 'INCORRECT') { |
} elsif ($award eq 'INCORRECT') { |
$message = &mt("Incorrect").'.'; |
$message = &mt("Incorrect").'.'; |
$css_class=$possible_class{'charged_try'}; |
$css_class=$possible_class{'charged_try'}; |
Line 841 sub decideoutput {
|
Line 854 sub decideoutput {
|
my (undef,undef,$domain,$user)=&Apache::lonnet::whichuser(); |
my (undef,undef,$domain,$user)=&Apache::lonnet::whichuser(); |
foreach my $resid(@Apache::inputtags::response){ |
foreach my $resid(@Apache::inputtags::response){ |
if ($Apache::lonhomework::history{"resource.$part.$resid.handback"}) { |
if ($Apache::lonhomework::history{"resource.$part.$resid.handback"}) { |
$message.='<br />'; |
if ($target eq 'tex') { |
|
$message.= "\\\\\n"; |
|
} else { |
|
$message.='<br />'; |
|
} |
my @files = split(/\s*,\s*/, |
my @files = split(/\s*,\s*/, |
$Apache::lonhomework::history{"resource.$part.$resid.handback"}); |
$Apache::lonhomework::history{"resource.$part.$resid.handback"}); |
my $file_msg; |
my $file_msg; |
foreach my $file (@files) { |
foreach my $file (@files) { |
$file_msg.= '<br /><a href="/uploaded/'."$domain/$user".'/'.$file.'">'.$file.'</a>'; |
if ($target eq 'tex') { |
|
$file_msg.= "\\\\\n".$file; |
|
} else { |
|
$file_msg.= '<br /><a href="/uploaded/'."$domain/$user".'/'.$file.'">'.$file.'</a>'; |
|
} |
} |
} |
$message .= &mt('Returned file(s): [_1]',$file_msg); |
$message .= &mt('Returned file(s): [_1]',$file_msg); |
|
if ($target eq 'tex') { |
|
$message.= "\\\\\n"; |
|
} else { |
|
$message.='<br />'; |
|
} |
} |
} |
} |
} |
|
|
Line 1170 sub get_grade_messages {
|
Line 1196 sub get_grade_messages {
|
$trystr = '\vskip 0 mm '; |
$trystr = '\vskip 0 mm '; |
} |
} |
} else { |
} else { |
$trystr = "<td><nobr>".$tries_text." $tries"; |
$trystr = '<td><span class="LC_nobreak">'.$tries_text." $tries"; |
if ($Apache::lonhomework::parsing_a_task) { |
if ($Apache::lonhomework::parsing_a_task) { |
} elsif($env{'request.state'} ne 'construct') { |
} elsif($env{'request.state'} ne 'construct') { |
$trystr.="/$maxtries"; |
$trystr.="/$maxtries"; |
Line 1179 sub get_grade_messages {
|
Line 1205 sub get_grade_messages {
|
$trystr.="/".$Apache::inputtags::params{'maxtries'}; |
$trystr.="/".$Apache::inputtags::params{'maxtries'}; |
} |
} |
} |
} |
$trystr.="</nobr></td>"; |
$trystr.="</span></td>"; |
} |
} |
} |
} |
|
|