--- loncom/interface/loncommon.pm 2010/12/19 22:34:42 1.948.2.14 +++ loncom/interface/loncommon.pm 2010/12/24 17:30:35 1.948.2.16 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.948.2.14 2010/12/19 22:34:42 raeburn Exp $ +# $Id: loncommon.pm,v 1.948.2.16 2010/12/24 17:30:35 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3432,6 +3432,7 @@ sub get_previous_attempt { my ($ign,@parts) = split(/\./,$key); if ($#parts > 0) { my $data=$parts[-1]; + next if ($data eq 'foilorder'); pop(@parts); if ($data eq 'type') { unless ($showsurv) { @@ -3468,6 +3469,7 @@ sub get_previous_attempt { ''.&mt('Transaction [_1]',$version).''; if (@hidden) { foreach my $key (sort(keys(%lasthash))) { + next if ($key =~ /\.foilorder$/); my $hide; foreach my $id (@hidden) { if ($key =~ /^\Q$id\E/) { @@ -3496,6 +3498,7 @@ sub get_previous_attempt { } } else { foreach my $key (sort(keys(%lasthash))) { + next if ($key =~ /\.foilorder$/); my $value = &format_previous_attempt_value($key, $returnhash{$version.':'.$key}); $prevattempts.=''.$value.' '; @@ -3507,6 +3510,7 @@ sub get_previous_attempt { my @currhidden = keys(%lasthidden); $prevattempts.=&start_data_table_row().''.&mt('Current').''; foreach my $key (sort(keys(%lasthash))) { + next if ($key =~ /\.foilorder$/); if (%typeparts) { my $hidden; foreach my $id (@currhidden) { @@ -11019,6 +11023,36 @@ sub clean_symb { 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 =back