version 1.470, 2010/07/29 18:00:06
|
version 1.472, 2010/08/01 03:57:27
|
Line 649 item store_aggregates()
|
Line 649 item store_aggregates()
|
|
|
sub store_aggregates { |
sub store_aggregates { |
my ($symb,$courseid) = @_; |
my ($symb,$courseid) = @_; |
my %aggregate; |
my (%aggregate,%anoncounter); |
my @parts; |
my @parts; |
my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |
Line 680 sub store_aggregates {
|
Line 680 sub store_aggregates {
|
} |
} |
if (($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurvey') || |
if (($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurvey') || |
($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurveycred')) { |
($Apache::lonhomework::results{'resource.'.$part.'.type'} eq 'anonsurveycred')) { |
$aggregate{$symb."\0".$part."\0anonymous"} = 1; |
$anoncounter{$symb."\0".$part} = 1; |
my $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$Apache::lonhomework::results{'resource.'.$part.'.type'}}; |
my $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$Apache::lonhomework::results{'resource.'.$part.'.type'}}; |
if ($needsrelease) { |
if ($needsrelease) { |
my $curr_required = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'}; |
my $curr_required = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'}; |
if ($curr_required eq '') { |
if ($curr_required eq '') { |
&update_courseenv($needsrelease,$cdomain,$cname); |
&Apache::lonnet::update_released_required($needsrelease); |
} else { |
} else { |
my ($currmajor,$currminor) = split(/\./,$curr_required); |
my ($currmajor,$currminor) = split(/\./,$curr_required); |
my ($needsmajor,$needsminor) = split(/\./,$needsrelease); |
my ($needsmajor,$needsminor) = split(/\./,$needsrelease); |
if (($currmajor < $needsmajor) || ($currmajor == $needsmajor && $currminor < $needsminor)) { |
if (($currmajor < $needsmajor) || ($currmajor == $needsmajor && $currminor < $needsminor)) { |
&update_courseenv($needsrelease,$cdomain,$cname); |
&Apache::lonnet::update_released_required($needsrelease); |
} |
} |
} |
} |
} |
} |
Line 700 sub store_aggregates {
|
Line 700 sub store_aggregates {
|
&Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, |
&Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, |
$cdomain,$cname); |
$cdomain,$cname); |
} |
} |
} |
if (keys(%anoncounter) > 0) { |
|
&Apache::lonnet::cinc('nohist_anonsurveys',\%anoncounter, |
sub update_courseenv { |
$cdomain,$cname); |
my ($needsrelease,$cdom,$cnum) = @_; |
|
my $chome = $env{'course.'.$env{'request.course.id'}.'.home'}; |
|
my %needshash = ( |
|
'internal.releaserequired' => $needsrelease, |
|
); |
|
my $putresult = &put('environment',\%needshash,$cdom,$cnum); |
|
if ($putresult eq 'ok') { |
|
&appenv({'course.'.$env{'request.course.id'}.'.internal.releaserequired' => $needsrelease}); |
|
my %crsinfo = |
|
&Apache::lonnet::courseiddump($cdom,'.',1,'.','.',$cnum,undef,undef,'.'); |
|
if (ref($crsinfo{$env{'request.course.id'}}) eq 'HASH') { |
|
$crsinfo{$env{'request.course.id'}}{'releaserequired'} = $needsrelease; |
|
} |
|
&Apache::lonnet::courseidput($cdom,\%crsinfo,$chome,'notime'); |
|
} |
} |
} |
} |
|
|