version 1.395, 2007/04/16 19:00:38
|
version 1.397, 2007/04/26 22:29:50
|
Line 953 sub processGroup {
|
Line 953 sub processGroup {
|
my @stuchecked = &Apache::loncommon::get_env_multiple('form.stuinfo'); |
my @stuchecked = &Apache::loncommon::get_env_multiple('form.stuinfo'); |
my $total = scalar(@stuchecked)-1; |
my $total = scalar(@stuchecked)-1; |
|
|
foreach (@stuchecked) { |
foreach my $student (@stuchecked) { |
my ($uname,$udom,$fullname) = split(/:/); |
my ($uname,$udom,$fullname) = split(/:/,$student); |
$env{'form.student'} = $uname; |
$env{'form.student'} = $uname; |
$env{'form.userdom'} = $udom; |
$env{'form.userdom'} = $udom; |
$env{'form.fullname'} = $fullname; |
$env{'form.fullname'} = $fullname; |
Line 1627 sub show_problem {
|
Line 1627 sub show_problem {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub files_exist { |
|
my ($r, $symb) = @_; |
|
my @students = &Apache::loncommon::get_env_multiple('form.stuinfo'); |
|
|
|
foreach my $student (@students) { |
|
my ($uname,$udom,$fullname) = split(/:/,$student); |
|
my %record = &Apache::lonnet::restore($symb,$env{'request.course.id'}, |
|
$udom,$uname); |
|
my ($string,$timestamp)= &get_last_submission(\%record); |
|
foreach my $submission (@$string) { |
|
my ($partid,$respid) = |
|
($submission =~ /^resource\.([^\.]*)\.([^\.]*)\.submission/); |
|
my $files=&get_submitted_files($udom,$uname,$partid,$respid, |
|
\%record); |
|
return 1 if (@$files); |
|
} |
|
} |
|
return 0; |
|
} |
|
|
sub download_all_link { |
sub download_all_link { |
my ($r,$symb) = @_; |
my ($r,$symb) = @_; |
my $all_students = |
my $all_students = |
Line 1678 sub submission {
|
Line 1698 sub submission {
|
&sub_page_kw_js($request) if ($env{'form.handgrade'} eq 'yes'); |
&sub_page_kw_js($request) if ($env{'form.handgrade'} eq 'yes'); |
$env{'form.probTitle'} = $env{'form.probTitle'} eq '' ? |
$env{'form.probTitle'} = $env{'form.probTitle'} eq '' ? |
&Apache::lonnet::gettitle($symb) : $env{'form.probTitle'}; |
&Apache::lonnet::gettitle($symb) : $env{'form.probTitle'}; |
&download_all_link($request,$symb); |
if ($env{'form.handgrade'} eq 'yes' && &files_exist($request, $symb)) { |
|
&download_all_link($request, $symb); |
|
} |
$request->print('<h3> <font color="#339933">Submission Record</font></h3>'."\n". |
$request->print('<h3> <font color="#339933">Submission Record</font></h3>'."\n". |
'<font size=+1> <b>Resource: </b>'.$env{'form.probTitle'}.'</font>'."\n"); |
'<font size=+1> <b>Resource: </b>'.$env{'form.probTitle'}.'</font>'."\n"); |
|
|
Line 2085 sub get_last_submission {
|
Line 2107 sub get_last_submission {
|
my %lasthash=(); |
my %lasthash=(); |
my ($version); |
my ($version); |
for ($version=1;$version<=$$returnhash{'version'};$version++) { |
for ($version=1;$version<=$$returnhash{'version'};$version++) { |
foreach (sort(split(/\:/,$$returnhash{$version.':keys'}))) { |
foreach my $key (sort(split(/\:/, |
$lasthash{$_}=$$returnhash{$version.':'.$_}; |
$$returnhash{$version.':keys'}))) { |
$timestamp = scalar(localtime($$returnhash{$version.':timestamp'})); |
$lasthash{$key}=$$returnhash{$version.':'.$key}; |
|
$timestamp = |
|
scalar(localtime($$returnhash{$version.':timestamp'})); |
} |
} |
} |
} |
foreach ((keys %lasthash)) { |
foreach my $key (keys(%lasthash)) { |
if ($_ =~ /\.submission$/) { |
next if ($key !~ /\.submission$/); |
my ($partid,$foo) = split(/submission$/,$_); |
|
my $draft = $lasthash{$partid.'awarddetail'} eq 'DRAFT' ? |
my ($partid,$foo) = split(/submission$/,$key); |
'<font color="red">Draft Copy</font> ' : ''; |
my $draft = $lasthash{$partid.'awarddetail'} eq 'DRAFT' ? |
push @string, (join(':',$_,$draft.$lasthash{$_})); |
'<font color="red">Draft Copy</font> ' : ''; |
} |
push(@string, join(':', $key, $draft.$lasthash{$key})); |
} |
} |
} |
} |
@string = $string[0] eq '' ? '<font color="red">Nothing submitted - no attempts.</font>' : @string; |
if (!@string) { |
return \@string,\$timestamp; |
$string[0] = |
|
'<font color="red">Nothing submitted - no attempts.</font>'; |
|
} |
|
return (\@string,\$timestamp); |
} |
} |
|
|
#--- High light keywords, with style choosen by user. |
#--- High light keywords, with style choosen by user. |