--- loncom/homework/inputtags.pm 2006/05/30 18:08:35 1.193 +++ loncom/homework/inputtags.pm 2006/07/14 18:12:16 1.200 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.193 2006/05/30 18:08:35 albertel Exp $ +# $Id: inputtags.pm,v 1.200 2006/07/14 18:12:16 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -284,7 +284,9 @@ sub start_textline { my $partid=$Apache::inputtags::part; my $id=$Apache::inputtags::response[-1]; if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER' - || $Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') { + || lc($Apache::lonhomework::problemstatus) eq 'no' + || ($Apache::inputtags::status[-1] eq 'CANNOT_ANSWER' + && $Apache::lonhomework::history{"resource.$partid.solved"} !~ /^correct/ )) { my $size = &Apache::lonxml::get_param('size',$parstack,$safeeval); my $maxlength; if ($size eq '') { $size=20; } else { @@ -439,21 +441,28 @@ sub file_selector { ''. '
'; if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"}=~/[^\s]/){ - my (@filelist,@bad_file_list); - foreach my $file (split(',',&unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) { + my (@file_list,@bad_file_list); + foreach my $file (split(/\s*,\s*/,&unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) { my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser(); my $url="/uploaded/$domain/$user/portfolio$file"; my $icon=&Apache::loncommon::icon($url); - push(@filelist,''.$file.''); if (! &Apache::lonnet::stat_file($url)) { + &Apache::lonnet::logthis("bad file is $url"); push(@bad_file_list,''.$file.''); } } - $result.=&mt("Portfolio files previously selected: [_1]",join(', ',@filelist)); + my $files = ''. + join(', ',@file_list). + ''; + $result.=&mt("Portfolio files previously selected: [_1]",$files); if (@bad_file_list) { - $result.='
'.&mt('These file(s) don\'t exist: [_1]',join(', ',@bad_file_list)); + my $bad_files = ''. + join(', ',@bad_file_list). + ''; + $result.='
'.&mt('These file(s) don\'t exist: [_1]',$bad_files); } } } @@ -548,8 +557,8 @@ sub decideoutput { if ($previous) { $previousmsg=&mt('You have entered that answer before'); } - if ($solved =~ /^correct/) { - $bgcolor=$possiblecolors{'correct'}; + if ($solved =~ /^correct/) { + $bgcolor=$possiblecolors{'correct'}; $message=&mt('You are correct.'); if ($awarded < 1 && $awarded > 0) { $message=&mt('You are partially correct.'); @@ -716,6 +725,20 @@ sub decideoutput { $message = &mt("Unknown message").": $award"; $button=1; } + my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser(); + foreach my $resid(@Apache::inputtags::response){ + if ($Apache::lonhomework::history{"resource.$part.$resid.handback"}) { + $message.='
'; + my @files = split(/\s*,\s*/, + $Apache::lonhomework::history{"resource.$part.$resid.handback"}); + my $file_msg; + foreach my $file (@files) { + $file_msg.= '
'.$file.''; + } + $message .= &mt('Returned file(s): [_1]',$file_msg); + } + } + if (lc($Apache::lonhomework::problemstatus) eq 'no' && $Apache::inputtags::status[-1] ne 'SHOW_ANSWER') { $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");