version 1.31, 2004/02/03 22:19:47
|
version 1.38, 2005/03/10 17:33:57
|
Line 104 my %nice_parameter_name;
|
Line 104 my %nice_parameter_name;
|
my %useropt; |
my %useropt; |
my %userdata; |
my %userdata; |
my %courseopt; |
my %courseopt; |
|
my $navmap; |
|
|
######################################################## |
######################################################## |
######################################################## |
######################################################## |
Line 136 sub clear_package {
|
Line 137 sub clear_package {
|
undef(%useropt); |
undef(%useropt); |
undef(%userdata); |
undef(%userdata); |
undef(%courseopt); |
undef(%courseopt); |
|
undef($navmap); |
} |
} |
|
|
sub save_cached_export_rows { |
sub save_cached_export_rows { |
my ($sname,$sdomain) = @_; |
my ($sname,$sdomain) = @_; |
my $start = Time::HiRes::time; |
|
my $result = &Apache::lonnet::put |
my $result = &Apache::lonnet::put |
('nohist_calculatedsheets_'.$ENV{'request.course.id'}, |
('nohist_calculatedsheets_'.$ENV{'request.course.id'}, |
$newExportrows{$sname.':'.$sdomain}, |
$newExportrows{$sname.':'.$sdomain}, |
Line 149 sub save_cached_export_rows {
|
Line 150 sub save_cached_export_rows {
|
} |
} |
|
|
sub initialize { |
sub initialize { |
|
my ($in_navmap) = @_; |
&clear_package(); |
&clear_package(); |
|
$navmap = $in_navmap; |
|
if (! defined($navmap)) { |
|
$navmap = Apache::lonnavmaps::navmap->new(); |
|
} |
|
if (!defined($navmap)) { |
|
&Apache::lonnet::logthis('assesscalc:Can not open Coursemap'); |
|
} |
&Apache::loncoursedata::clear_internal_caches(); |
&Apache::loncoursedata::clear_internal_caches(); |
} |
} |
|
|
Line 165 sub initialize {
|
Line 174 sub initialize {
|
######################################################## |
######################################################## |
######################################################## |
######################################################## |
sub initialize_package { |
sub initialize_package { |
my ($sname,$sdomain) = @_; |
my ($sname,$sdomain,$in_navmap) = @_; |
$current_name = $sname; |
$current_name = $sname; |
$current_domain = $sdomain; |
$current_domain = $sdomain; |
|
$navmap = $in_navmap; |
undef(%useropt); |
undef(%useropt); |
undef(%userdata); |
undef(%userdata); |
if ($current_course ne $ENV{'request.course.id'}) { |
if ($current_course ne $ENV{'request.course.id'}) { |
Line 337 sub parmval {
|
Line 347 sub parmval {
|
# |
# |
# check course |
# check course |
return $courseopt{$courselevelr} if (defined($courseopt{$courselevelr})); |
return $courseopt{$courselevelr} if (defined($courseopt{$courselevelr})); |
return $courseopt{$courselevelm} if (defined($courseopt{$courselevelm})); |
|
return $courseopt{$courselevel} if (defined($courseopt{$courselevel})); |
|
# check map parms |
# check map parms |
my $thisparm = $parmhash{$symbparm}; |
my $thisparm = $parmhash{$symbparm}; |
return $thisparm if (defined($thisparm)); |
return $thisparm if (defined($thisparm)); |
# check default |
# check default |
$thisparm = &Apache::lonnet::metadata($fn,$rwhat.'.default'); |
$thisparm = &Apache::lonnet::metadata($fn,$rwhat.'.default'); |
return $thisparm if (defined($thisparm)); |
return $thisparm if (defined($thisparm)); |
# |
# check more course |
|
return $courseopt{$courselevelm} if (defined($courseopt{$courselevelm})); |
|
return $courseopt{$courselevel} if (defined($courseopt{$courselevel})); |
|
|
# Cascade Up |
# Cascade Up |
my $space=$what; |
my $space=$what; |
$space=~s/\.\w+$//; |
$space=~s/\.[^._]+$//; |
if ($space ne '0') { |
if ($space ne '0') { |
my @parts=split(/_/,$space); |
my @parts=split(/_/,$space); |
my $id=pop(@parts); |
my $id=pop(@parts); |
Line 397 sub get_full_title {
|
Line 408 sub get_full_title {
|
my @title = ($self->get_title()); |
my @title = ($self->get_title()); |
# Look up the users identifying information |
# Look up the users identifying information |
# Get the users information |
# Get the users information |
my %userenv = &Apache::loncoursedata::GetUserName($self->{'name'}, |
my $name = &Apache::loncommon::plainname($self->{'name'}, |
$self->{'domain'}); |
$self->{'domain'}); |
my $name = |
|
join(' ',@userenv{'firstname','middlename','lastname','generation'}); |
|
$name =~ s/\s+$//; |
|
push (@title,$name); |
push (@title,$name); |
push (@title,&Apache::lonlocal::locallocaltime(time)); |
push (@title,&Apache::lonlocal::locallocaltime(time)); |
return @title; |
return @title; |
Line 554 sub excel_rows {
|
Line 562 sub excel_rows {
|
# writes the meat of the spreadsheet to an excel worksheet. Called |
# writes the meat of the spreadsheet to an excel worksheet. Called |
# by Spreadsheet::outsheet_excel; |
# by Spreadsheet::outsheet_excel; |
my $self = shift; |
my $self = shift; |
my ($connection,$worksheet,$cols_output,$rows_output) = @_; |
my ($connection,$worksheet,$cols_output,$rows_output,$format) = @_; |
return if (! ref($worksheet)); |
return if (! ref($worksheet)); |
# |
# |
# Write a header row |
# Write a header row |
$cols_output = 0; |
$cols_output = 0; |
foreach my $value ('Parameter','Description','Value') { |
foreach my $value ('Parameter','Description','Value') { |
$worksheet->write($rows_output,$cols_output++,$value); |
$worksheet->write($rows_output,$cols_output++,$value,$format->{'h4'}); |
} |
} |
$rows_output++; |
$rows_output++; |
# |
# |
# Write each row |
# Write each row |
foreach my $rownum (sort {$a <=> $b} ($self->rows())) { |
foreach my $rownum (sort {$a <=> $b} ($self->rows())) { |
Line 784 sub compute {
|
Line 792 sub compute {
|
if ($parm =~ /_submission$/ && $value =~ /(\{|\})/) { |
if ($parm =~ /_submission$/ && $value =~ /(\{|\})/) { |
$value = 'witheld'; |
$value = 'witheld'; |
} |
} |
$value = 'q{'.$value.'}' if ($value !~/^\s*\d+(\.\d+)?\s*$/); |
$value = 'q{'.$value.'}' if ($value =~/([^\d\.]|\.\.)/); |
$c{$parm} = $value; |
$c{$parm} = $value; |
} |
} |
$self->formulas(\%f); |
$self->formulas(\%f); |
Line 876 sub load_cached_export_rows {
|
Line 884 sub load_cached_export_rows {
|
# We only got one key, so we will access it directly. |
# We only got one key, so we will access it directly. |
while (my ($key,$sheetdata) = each(%tmp)) { |
while (my ($key,$sheetdata) = each(%tmp)) { |
my ($sname,$sdom,$sheettype,$symb) = split(':',$key); |
my ($sname,$sdom,$sheettype,$symb) = split(':',$key); |
|
if (! defined($sname) || $sname eq '' || |
|
! defined($sdom) || $sdom eq '' ) { |
|
next; |
|
} |
if ($symb =~ /\.time$/) { |
if ($symb =~ /\.time$/) { |
$symb =~ s/\.time$//; |
$symb =~ s/\.time$//; |
$Exportrows{$symb}->{'time'} = $sheetdata; |
$Exportrows{$symb}->{'time'} = $sheetdata; |