version 1.701, 2013/08/15 12:38:30
|
version 1.702, 2013/08/15 14:10:09
|
Line 2139 KEYWORDS
|
Line 2139 KEYWORDS
|
$result.=$sub_result; |
$result.=$sub_result; |
} |
} |
$request->print($result."\n"); |
$request->print($result."\n"); |
|
|
# print student answer/submission |
# print student answer/submission |
# Options are (1) Handgraded submission only |
# Options are (1) Handgraded submission only |
# (2) Last submission, includes submission that is not handgraded |
# (2) Last submission, includes submission that is not handgraded |
# (for multi-response type part) |
# (for multi-response type part) |
# (3) Last submission plus the parts info |
# (3) Last submission plus the parts info |
# (4) The whole record for this student |
# (4) The whole record for this student |
if ($env{'form.lastSub'} =~ /^(lastonly|hdgrade)$/) { |
|
my ($string,$timestamp)= &get_last_submission(\%record); |
my ($string,$timestamp)= &get_last_submission(\%record); |
|
|
my $lastsubonly; |
my $lastsubonly; |
|
|
if ($$timestamp eq '') { |
|
$lastsubonly.='<div class="LC_grade_submissions_body">'.$$string[0].'</div>'; |
|
} else { |
|
$lastsubonly = |
|
'<div class="LC_grade_submissions_body">' |
|
.'<b>'.&mt('Date Submitted:').'</b> '.$$timestamp."\n"; |
|
|
|
my %seenparts; |
if ($$timestamp eq '') { |
my @part_response_id = &flatten_responseType($responseType); |
$lastsubonly.='<div class="LC_grade_submissions_body">'.$$string[0].'</div>'; |
foreach my $part (@part_response_id) { |
} else { |
next if ($env{'form.lastSub'} eq 'hdgrade' |
$lastsubonly = |
|
'<div class="LC_grade_submissions_body">' |
|
.'<b>'.&mt('Date Submitted:').'</b> '.$$timestamp."\n"; |
|
|
|
my %seenparts; |
|
my @part_response_id = &flatten_responseType($responseType); |
|
foreach my $part (@part_response_id) { |
|
next if ($env{'form.lastSub'} eq 'hdgrade' |
&& $$handgrade{$$part[0].'_'.$$part[1]} ne 'yes'); |
&& $$handgrade{$$part[0].'_'.$$part[1]} ne 'yes'); |
|
|
my ($partid,$respid) = @{ $part }; |
my ($partid,$respid) = @{ $part }; |
my $display_part=&get_display_part($partid,$symb); |
my $display_part=&get_display_part($partid,$symb); |
if ($env{"form.$uname:$udom:$partid:submitted_by"}) { |
if ($env{"form.$uname:$udom:$partid:submitted_by"}) { |
if (exists($seenparts{$partid})) { next; } |
if (exists($seenparts{$partid})) { next; } |
$seenparts{$partid}=1; |
$seenparts{$partid}=1; |
$request->print( |
$request->print( |
'<b>'.&mt('Part: [_1]',$display_part).'</b>'. |
'<b>'.&mt('Part: [_1]',$display_part).'</b>'. |
' <b>'.&mt('Collaborative submission by: [_1]', |
' <b>'.&mt('Collaborative submission by: [_1]', |
'<a href="javascript:viewSubmitter(\''. |
'<a href="javascript:viewSubmitter(\''. |
$env{"form.$uname:$udom:$partid:submitted_by"}. |
$env{"form.$uname:$udom:$partid:submitted_by"}. |
'\');" target="_self">'. |
'\');" target="_self">'. |
$$fullname{$env{"form.$uname:$udom:$partid:submitted_by"}}.'</a>'). |
$$fullname{$env{"form.$uname:$udom:$partid:submitted_by"}}.'</a>'). |
'<br />'); |
'<br />'); |
next; |
next; |
} |
|
my $responsetype = $responseType->{$partid}->{$respid}; |
|
if (!exists($record{"resource.$partid.$respid.submission"})) { |
|
$lastsubonly.="\n".'<div class="LC_grade_submission_part">'. |
|
'<b>'.&mt('Part: [_1]',$display_part).'</b>'. |
|
' <span class="LC_internal_info">'. |
|
'('.&mt('Response ID: [_1]',$respid).')'. |
|
'</span> '. |
|
'<span class="LC_warning">'.&mt('Nothing submitted - no attempts.').'</span><br /><br /></div>'; |
|
next; |
|
} |
} |
foreach my $submission (@$string) { |
my $responsetype = $responseType->{$partid}->{$respid}; |
my ($partid,$respid) = ($submission =~ /^resource\.([^\.]*)\.([^\.]*)\.submission/); |
if (!exists($record{"resource.$partid.$respid.submission"})) { |
if (join('_',@{$part}) ne ($partid.'_'.$respid)) { next; } |
$lastsubonly.="\n".'<div class="LC_grade_submission_part">'. |
my ($ressub,$hide,$subval) = split(/:/,$submission,3); |
'<b>'.&mt('Part: [_1]',$display_part).'</b>'. |
# Similarity check |
' <span class="LC_internal_info">'. |
my $similar=''; |
'('.&mt('Response ID: [_1]',$respid).')'. |
my ($type,$trial,$rndseed); |
'</span> '. |
if ($hide eq 'rand') { |
'<span class="LC_warning">'.&mt('Nothing submitted - no attempts.').'</span><br /><br /></div>'; |
$type = 'randomizetry'; |
next; |
$trial = $record{"resource.$partid.tries"}; |
} |
$rndseed = $record{"resource.$partid.rndseed"}; |
foreach my $submission (@$string) { |
} |
my ($partid,$respid) = ($submission =~ /^resource\.([^\.]*)\.([^\.]*)\.submission/); |
if($env{'form.checkPlag'}){ |
if (join('_',@{$part}) ne ($partid.'_'.$respid)) { next; } |
my ($oname,$odom,$ocrsid,$oessay,$osim)= |
my ($ressub,$hide,$subval) = split(/:/,$submission,3); |
&most_similar($uname,$udom,$symb,$subval); |
# Similarity check |
if ($osim) { |
my $similar=''; |
$osim=int($osim*100.0); |
my ($type,$trial,$rndseed); |
my %old_course_desc = |
if ($hide eq 'rand') { |
&Apache::lonnet::coursedescription($ocrsid, |
$type = 'randomizetry'; |
{'one_time' => 1}); |
$trial = $record{"resource.$partid.tries"}; |
|
$rndseed = $record{"resource.$partid.rndseed"}; |
|
} |
|
if ($env{'form.checkPlag'}) { |
|
my ($oname,$odom,$ocrsid,$oessay,$osim)= |
|
&most_similar($uname,$udom,$symb,$subval); |
|
if ($osim) { |
|
$osim=int($osim*100.0); |
|
my %old_course_desc = |
|
&Apache::lonnet::coursedescription($ocrsid, |
|
{'one_time' => 1}); |
|
|
if ($hide eq 'anon') { |
if ($hide eq 'anon') { |
$similar='<hr /><span class="LC_warning">'.&mt("Essay was found to be similar to another essay submitted for this assignment.").'<br />'. |
$similar='<hr /><span class="LC_warning">'.&mt("Essay was found to be similar to another essay submitted for this assignment.").'<br />'. |
&mt('As the current submission is for an anonymous survey, no other details are available.').'</span><hr />'; |
&mt('As the current submission is for an anonymous survey, no other details are available.').'</span><hr />'; |
} else { |
} else { |
$similar="<hr /><h3><span class=\"LC_warning\">". |
$similar="<hr /><h3><span class=\"LC_warning\">". |
&mt('Essay is [_1]% similar to an essay by [_2] in course [_3] (course id [_4]:[_5])', |
&mt('Essay is [_1]% similar to an essay by [_2] in course [_3] (course id [_4]:[_5])', |
$osim, |
$osim, |
&Apache::loncommon::plainname($oname,$odom).' ('.$oname.':'.$odom.')', |
&Apache::loncommon::plainname($oname,$odom).' ('.$oname.':'.$odom.')', |
$old_course_desc{'description'}, |
$old_course_desc{'description'}, |
$old_course_desc{'num'}, |
$old_course_desc{'num'}, |
$old_course_desc{'domain'}). |
$old_course_desc{'domain'}). |
'</span></h3><blockquote><i>'. |
'</span></h3><blockquote><i>'. |
&keywords_highlight($oessay). |
&keywords_highlight($oessay). |
'</i></blockquote><hr />'; |
'</i></blockquote><hr />'; |
} |
} |
} |
} |
} |
} |
my $order=&get_order($partid,$respid,$symb,$uname,$udom, |
my $order=&get_order($partid,$respid,$symb,$uname,$udom, |
undef,$type,$trial,$rndseed); |
undef,$type,$trial,$rndseed); |
if ($env{'form.lastSub'} eq 'lastonly' || |
if ($env{'form.lastSub'} eq 'lastonly' || $env{'form.lastSub'} eq 'datesub' || $env{'form.lastSub'} =~ /^(last|all)$/ || ($env{'form.lastSub'} eq 'hdgrade' && |
($env{'form.lastSub'} eq 'hdgrade' && |
|
$$handgrade{$$part[0].'_'.$$part[1]} eq 'yes')) { |
$$handgrade{$$part[0].'_'.$$part[1]} eq 'yes')) { |
my $display_part=&get_display_part($partid,$symb); |
my $display_part=&get_display_part($partid,$symb); |
$lastsubonly.='<div class="LC_grade_submission_part">'. |
$lastsubonly.='<div class="LC_grade_submission_part">'. |
'<b>'.&mt('Part: [_1]',$display_part).'</b>'. |
'<b>'.&mt('Part: [_1]',$display_part).'</b>'. |
' <span class="LC_internal_info">'. |
' <span class="LC_internal_info">'. |
'('.&mt('Response ID: [_1]',$respid).')'. |
'('.&mt('Response ID: [_1]',$respid).')'. |
'</span> '; |
'</span> '; |
my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record); |
my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record); |
|
|
if (@$files) { |
if (@$files) { |
if ($hide eq 'anon') { |
|
$lastsubonly.='<br />'.&mt('[quant,_1,file] uploaded to this anonymous survey',scalar(@{$files})); |
|
} else { |
|
$lastsubonly.='<br /><br />'.'<b>'.&mt('Submitted Files:').'</b>' |
|
.'<br /><span class="LC_warning">'; |
|
if(@$files == 1) { |
|
$lastsubonly .= &mt('Like all files provided by users, this file may contain viruses!'); |
|
} else { |
|
$lastsubonly .= &mt('Like all files provided by users, these files may contain viruses!'); |
|
} |
|
$lastsubonly .= '</span>'; |
|
foreach my $file (@$files) { |
|
&Apache::lonnet::allowuploaded('/adm/grades',$file); |
|
$lastsubonly.='<br /><a href="'.$file.'?rawmode=1" target="lonGRDs"><img src="'.&Apache::loncommon::icon($file).'" border="0" alt="" /> '.$file.'</a>'; |
|
} |
|
} |
|
$lastsubonly.='<br />'; |
|
} |
|
if ($hide eq 'anon') { |
if ($hide eq 'anon') { |
$lastsubonly.='<br /><b>'.&mt('Anonymous Survey').'</b>'; |
$lastsubonly.='<br />'.&mt('[quant,_1,file] uploaded to this anonymous survey',scalar(@{$files})); |
} else { |
} else { |
$lastsubonly.='<br /><b>'.&mt('Submitted Answer:').' </b>'. |
$lastsubonly.='<br /><br />'.'<b>'.&mt('Submitted Files:').'</b>' |
&cleanRecord($subval,$responsetype,$symb,$partid, |
.'<br /><span class="LC_warning">'; |
$respid,\%record,$order,undef,$uname,$udom,$type,$trial,$rndseed); |
if(@$files == 1) { |
|
$lastsubonly .= &mt('Like all files provided by users, this file may contain viruses!'); |
|
} else { |
|
$lastsubonly .= &mt('Like all files provided by users, these files may contain viruses!'); |
|
} |
|
$lastsubonly .= '</span>'; |
|
foreach my $file (@$files) { |
|
&Apache::lonnet::allowuploaded('/adm/grades',$file); |
|
$lastsubonly.='<br /><a href="'.$file.'?rawmode=1" target="lonGRDs"><img src="'.&Apache::loncommon::icon($file).'" border="0" alt="" /> '.$file.'</a>'; |
|
} |
} |
} |
if ($similar) {$lastsubonly.="<br /><br />$similar\n";} |
$lastsubonly.='<br />'; |
$lastsubonly.='</div>'; |
} |
} |
if ($hide eq 'anon') { |
|
$lastsubonly.='<br /><b>'.&mt('Anonymous Survey').'</b>'; |
|
} else { |
|
$lastsubonly.='<br /><b>'.&mt('Submitted Answer:').' </b>'. |
|
&cleanRecord($subval,$responsetype,$symb,$partid, |
|
$respid,\%record,$order,undef,$uname,$udom,$type,$trial,$rndseed); |
|
} |
|
if ($similar) {$lastsubonly.="<br /><br />$similar\n";} |
|
$lastsubonly.='</div>'; |
} |
} |
} |
} |
$lastsubonly.='</div>'."\n"; # End: LC_grade_submissions_body |
|
} |
} |
$request->print($lastsubonly); |
$lastsubonly.='</div>'."\n"; # End: LC_grade_submissions_body |
} elsif ($env{'form.lastSub'} eq 'datesub') { |
} |
|
$request->print($lastsubonly); |
|
if ($env{'form.lastSub'} eq 'datesub') { |
my ($parts,$handgrade,$responseType) = &response_type($symb,\$res_error); |
my ($parts,$handgrade,$responseType) = &response_type($symb,\$res_error); |
$request->print(&displaySubByDates($symb,\%record,$parts,$responseType,$checkIcon,$uname,$udom)); |
$request->print(&displaySubByDates($symb,\%record,$parts,$responseType,$checkIcon,$uname,$udom)); |
} elsif ($env{'form.lastSub'} =~ /^(last|all)$/) { |
} |
$request->print(&Apache::loncommon::get_previous_attempt($symb,$uname,$udom, |
if ($env{'form.lastSub'} =~ /^(last|all)$/) { |
|
$request->print(&Apache::loncommon::get_previous_attempt($symb,$uname,$udom, |
$env{'request.course.id'}, |
$env{'request.course.id'}, |
$last,'.submission', |
$last,'.submission', |
'Apache::grades::keywords_highlight')); |
'Apache::grades::keywords_highlight')); |