version 1.988, 2010/12/16 16:01:14
|
version 1.992, 2010/12/30 21:49:15
|
Line 3421 sub get_previous_attempt {
|
Line 3421 sub get_previous_attempt {
|
my ($ign,@parts) = split(/\./,$key); |
my ($ign,@parts) = split(/\./,$key); |
if ($#parts > 0) { |
if ($#parts > 0) { |
my $data=$parts[-1]; |
my $data=$parts[-1]; |
|
next if ($data eq 'foilorder'); |
pop(@parts); |
pop(@parts); |
if ($data eq 'type') { |
if ($data eq 'type') { |
unless ($showsurv) { |
unless ($showsurv) { |
Line 3457 sub get_previous_attempt {
|
Line 3458 sub get_previous_attempt {
|
'<td>'.&mt('Transaction [_1]',$version).'</td>'; |
'<td>'.&mt('Transaction [_1]',$version).'</td>'; |
if (@hidden) { |
if (@hidden) { |
foreach my $key (sort(keys(%lasthash))) { |
foreach my $key (sort(keys(%lasthash))) { |
|
next if ($key =~ /\.foilorder$/); |
my $hide; |
my $hide; |
foreach my $id (@hidden) { |
foreach my $id (@hidden) { |
if ($key =~ /^\Q$id\E/) { |
if ($key =~ /^\Q$id\E/) { |
Line 3485 sub get_previous_attempt {
|
Line 3487 sub get_previous_attempt {
|
} |
} |
} else { |
} else { |
foreach my $key (sort(keys(%lasthash))) { |
foreach my $key (sort(keys(%lasthash))) { |
|
next if ($key =~ /\.foilorder$/); |
my $value = &format_previous_attempt_value($key, |
my $value = &format_previous_attempt_value($key, |
$returnhash{$version.':'.$key}); |
$returnhash{$version.':'.$key}); |
$prevattempts.='<td>'.$value.' </td>'; |
$prevattempts.='<td>'.$value.' </td>'; |
Line 3496 sub get_previous_attempt {
|
Line 3499 sub get_previous_attempt {
|
my @currhidden = keys(%lasthidden); |
my @currhidden = keys(%lasthidden); |
$prevattempts.=&start_data_table_row().'<td>'.&mt('Current').'</td>'; |
$prevattempts.=&start_data_table_row().'<td>'.&mt('Current').'</td>'; |
foreach my $key (sort(keys(%lasthash))) { |
foreach my $key (sort(keys(%lasthash))) { |
|
next if ($key =~ /\.foilorder$/); |
if (%typeparts) { |
if (%typeparts) { |
my $hidden; |
my $hidden; |
foreach my $id (@currhidden) { |
foreach my $id (@currhidden) { |
Line 8943 sub check_for_upload {
|
Line 8947 sub check_for_upload {
|
&mt('Unable to upload [_1]. (size = [_2] bytes)', |
&mt('Unable to upload [_1]. (size = [_2] bytes)', |
'<span class="LC_filename">'.$fname.'</span>', |
'<span class="LC_filename">'.$fname.'</span>', |
$filesize).'<br />'. |
$filesize).'<br />'. |
&mt('Either the file you uploaded was empty, or your web browser was unable to read its contents.').'<br />'; |
&mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'<br />'; |
'</span>'; |
'</span>'; |
return ('zero_bytes',$msg); |
return ('zero_bytes',$msg); |
} |
} |
Line 8953 sub check_for_upload {
|
Line 8957 sub check_for_upload {
|
$getpropath); |
$getpropath); |
my $found_file = 0; |
my $found_file = 0; |
my $locked_file = 0; |
my $locked_file = 0; |
|
my @lockers; |
|
my $navmap; |
|
if ($env{'request.course.id'}) { |
|
$navmap = Apache::lonnavmaps::navmap->new(); |
|
} |
foreach my $line (@dir_list) { |
foreach my $line (@dir_list) { |
my ($file_name,$rest)=split(/\&/,$line,2); |
my ($file_name,$rest)=split(/\&/,$line,2); |
if ($file_name eq $fname){ |
if ($file_name eq $fname){ |
Line 8961 sub check_for_upload {
|
Line 8970 sub check_for_upload {
|
$file_name = $group.$file_name; |
$file_name = $group.$file_name; |
} |
} |
$found_file = 1; |
$found_file = 1; |
if (&Apache::lonnet::is_locked($file_name,$udom,$uname) eq 'true') { |
if (&Apache::lonnet::is_locked($file_name,$udom,$uname,\@lockers) eq 'true') { |
$locked_file = 1; |
foreach my $lock (@lockers) { |
|
if (ref($lock) eq 'ARRAY') { |
|
my ($symb,$crsid) = @{$lock}; |
|
if ($crsid eq $env{'request.course.id'}) { |
|
if (ref($navmap)) { |
|
my $res = $navmap->getBySymb($symb); |
|
foreach my $part (@{$res->parts()}) { |
|
my ($slot_status,$slot_time,$slot_name)=$res->check_for_slot($part); |
|
unless (($slot_status == $res->RESERVED) || |
|
($slot_status == $res->RESERVED_LOCATION)) { |
|
$locked_file = 1; |
|
} |
|
} |
|
} else { |
|
$locked_file = 1; |
|
} |
|
} else { |
|
$locked_file = 1; |
|
} |
|
} |
|
} |
} else { |
} else { |
my @info = split(/\&/,$rest); |
my @info = split(/\&/,$rest); |
my $currsize = $info[6]/1000; |
my $currsize = $info[6]/1000; |
Line 11267 sub clean_symb {
|
Line 11296 sub clean_symb {
|
return ($symb,$enc); |
return ($symb,$enc); |
} |
} |
|
|
|
sub build_release_hashes { |
|
my ($checkparms,$checkresponsetypes,$checkcrstypes,$anonsurvey,$randomizetry) = @_; |
|
return unless((ref($checkparms) eq 'HASH') && (ref($checkresponsetypes) eq 'HASH') && |
|
(ref($checkcrstypes) eq 'HASH') && (ref($anonsurvey) eq 'HASH') && |
|
(ref($randomizetry) eq 'HASH')); |
|
foreach my $key (keys(%Apache::lonnet::needsrelease)) { |
|
my ($item,$name,$value) = split(/:/,$key); |
|
if ($item eq 'parameter') { |
|
if (ref($checkparms->{$name}) eq 'ARRAY') { |
|
unless(grep(/^\Q$name\E$/,@{$checkparms->{$name}})) { |
|
push(@{$checkparms->{$name}},$value); |
|
} |
|
} else { |
|
push(@{$checkparms->{$name}},$value); |
|
} |
|
} elsif ($item eq 'resourcetag') { |
|
if ($name eq 'responsetype') { |
|
$checkresponsetypes->{$value} = $Apache::lonnet::needsrelease{$key} |
|
} |
|
} elsif ($item eq 'course') { |
|
if ($name eq 'crstype') { |
|
$checkcrstypes->{$value} = $Apache::lonnet::needsrelease{$key}; |
|
} |
|
} |
|
} |
|
($anonsurvey->{major},$anonsurvey->{minor}) = split(/\./,$Apache::lonnet::needsrelease{'parameter:type:anonsurvey'}); |
|
($randomizetry->{major},$randomizetry->{minor}) = split(/\./,$Apache::lonnet::needsrelease{'parameter:type:randomizetry'}); |
|
return; |
|
} |
|
|
=pod |
=pod |
|
|
=back |
=back |