version 1.285, 2005/04/18 21:10:41
|
version 1.289, 2005/04/22 17:15:33
|
Line 321 sub initialize_storage {
|
Line 321 sub initialize_storage {
|
# if running user has student role. |
# if running user has student role. |
sub finalize_storage { |
sub finalize_storage { |
my $result; |
my $result; |
my ($temp) = keys %Apache::lonhomework::results; |
if (%Apache::lonhomework::results) { |
if ( $temp ne '' ) { |
|
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser(); |
my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser(); |
if ($env{'request.state'} eq 'construct' || $symb eq '') { |
if ($env{'request.state'} eq 'construct' || $symb eq '') { |
$Apache::lonhomework::results{'rndseed'}=$env{'form.rndseed'}; |
$Apache::lonhomework::results{'rndseed'}=$env{'form.rndseed'}; |
Line 340 sub finalize_storage {
|
Line 339 sub finalize_storage {
|
} |
} |
return $result; |
return $result; |
} |
} |
|
use Data::Dumper; |
|
|
# -------------------------------------------------------------store_aggregates |
# -------------------------------------------------------------store_aggregates |
# Sends hash of values to be incremented in nohist_resourcetracker.db |
# Sends hash of values to be incremented in nohist_resourcetracker.db |
Line 347 sub finalize_storage {
|
Line 347 sub finalize_storage {
|
# and corrects for each part for an instance of a problem, as appropriate. |
# and corrects for each part for an instance of a problem, as appropriate. |
sub store_aggregates { |
sub store_aggregates { |
my ($symb,$courseid) = @_; |
my ($symb,$courseid) = @_; |
my %aggregate = (); |
my %aggregate; |
my @parts = (); |
my @parts; |
my ($cdomain,$cname) = split/_/,$courseid; |
my $cdomain = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
foreach my $key (keys %Apache::lonhomework::results) { |
my $cname = $env{'course.'.$env{'request.course.id'}.'.num'}; |
if ($key =~ /resource\.(\d+)\.tries/) { |
foreach my $key (keys(%Apache::lonhomework::results)) { |
push @parts, $1; |
if ($key =~ /resource\.([^\.]+)\.tries/) { |
|
push(@parts, $1); |
} |
} |
} |
} |
foreach (@parts) { |
foreach my $part (@parts) { |
if ($Apache::lonhomework::results{'resource.'.$_.'.award'} eq 'APPROX_ANS' || $Apache::lonhomework::results{'resource.'.$_.'.award'} eq 'EXACT_ANS') { |
if ($Apache::lonhomework::results{'resource.'.$part.'.award'} |
$aggregate{$symb.'_'.$_.'_correct'} = 1; |
eq 'APPROX_ANS' || |
|
$Apache::lonhomework::results{'resource.'.$part.'.award'} |
|
eq 'EXACT_ANS') { |
|
$aggregate{$symb."\0".$part."\0correct"} = 1; |
} |
} |
if ($Apache::lonhomework::results{'resource.'.$_.'.tries'} == 1) { |
if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) { |
$aggregate{$symb.'_'.$_.'_users'} = 1; |
$aggregate{$symb."\0".$part."\0users"} = 1; |
} |
} |
$aggregate{$symb.'_'.$_.'_attempts'} = 1; |
$aggregate{$symb."\0".$part."\0attempts"} = 1; |
|
} |
|
if (%aggregate) { |
|
&Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate, |
|
$cdomain,$cname); |
|
|
} |
} |
&Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,$cdomain,$cname); |
|
} |
} |
|
|
sub checkout_msg { |
sub checkout_msg { |