version 1.4, 2003/05/22 21:16:35
|
version 1.8, 2003/05/29 13:39:38
|
Line 64 my %Exportrows = ();
|
Line 64 my %Exportrows = ();
|
|
|
my $current_course; |
my $current_course; |
|
|
|
sub initialize { |
|
&initialize_sequence_cache(); |
|
} |
|
|
sub initialize_package { |
sub initialize_package { |
$current_course = $ENV{'request.course.id'}; |
$current_course = $ENV{'request.course.id'}; |
&initialize_sequence_cache(); |
&initialize_sequence_cache(); |
&load_cached_export_rows(); |
&load_cached_export_rows(); |
} |
} |
|
|
|
sub ensure_correct_sequence_data { |
|
if ($current_course ne $ENV{'request.course.id'}) { |
|
&initialize_sequence_cache(); |
|
$current_course = $ENV{'request.course.id'}; |
|
} |
|
return; |
|
} |
|
|
sub initialize_sequence_cache { |
sub initialize_sequence_cache { |
# |
# |
# Set up the sequences and assessments |
# Set up the sequences and assessments |
Line 91 sub clear_package {
|
Line 103 sub clear_package {
|
|
|
sub get_title { |
sub get_title { |
my $self = shift; |
my $self = shift; |
my $title = ''; |
my @title = (); |
|
# |
|
# Determine the students name |
my %userenv = &Apache::loncoursedata::GetUserName($self->{'name'}, |
my %userenv = &Apache::loncoursedata::GetUserName($self->{'name'}, |
$self->{'domain'}); |
$self->{'domain'}); |
&Apache::lonnet::logthis('userenv = '.join(' ',%userenv)); |
my $name = join(' ', |
my $name = |
@userenv{'firstname','middlename','lastname','generation'}); |
join(' ',@userenv{'firstname','middlename','lastname','generation'}); |
|
$name =~ s/\s+$//; |
$name =~ s/\s+$//; |
$title .= '<h1>'.$name; |
|
|
push (@title,$name); |
|
push (@title,$self->{'coursedesc'}); |
|
push (@title,scalar(localtime(time))); |
|
return @title; |
|
} |
|
|
|
sub get_html_title { |
|
my $self = shift; |
|
my ($name,$desc,$time) = $self->get_title(); |
|
my $title = '<h1>'.$name; |
if ($ENV{'user.name'} ne $self->{'name'} && |
if ($ENV{'user.name'} ne $self->{'name'} && |
$ENV{'user.domain'} ne $self->{'domain'}) { |
$ENV{'user.domain'} ne $self->{'domain'}) { |
$title .= &Apache::loncommon::aboutmewrapper |
$title .= &Apache::loncommon::aboutmewrapper |
Line 106 sub get_title {
|
Line 129 sub get_title {
|
$self->{'name'},$self->{'domain'}); |
$self->{'name'},$self->{'domain'}); |
} |
} |
$title .= "</h1>\n"; |
$title .= "</h1>\n"; |
$title .= '<h2>'.$self->{'coursedesc'}."</h2>\n"; |
$title .= '<h2>'.$desc."</h2>\n"; |
$title .= '<h3>'.localtime(time).'</h3>'; |
$title .= '<h3>'.$time.'</h3>'; |
return $title; |
return $title; |
} |
} |
|
|
Line 301 sub modify_cell {
|
Line 324 sub modify_cell {
|
return; |
return; |
} |
} |
|
|
sub outsheet_csv { |
sub csv_rows { |
|
# writes the meat of the spreadsheet to an excel worksheet. Called |
|
# by Spreadsheet::outsheet_excel; |
my $self = shift; |
my $self = shift; |
my ($r) = @_; |
my ($filehandle) = @_; |
|
# |
|
# Write a header row |
|
$self->csv_output_row($filehandle,undef, |
|
('Container','Assessment title')); |
|
# |
|
# Write each assessments row |
|
if (scalar(@Sequences)< 1) { |
|
&initialize_sequence_cache(); |
|
} |
|
foreach my $Sequence (@Sequences) { |
|
next if ($Sequence->{'num_assess'} < 1); |
|
foreach my $resource (@{$Sequence->{'contents'}}) { |
|
my $rownum = $self->get_row_number_from_key($resource->{'symb'}); |
|
my @assessdata = ($Sequence->{'title'}, |
|
$resource->{'title'}); |
|
$self->csv_output_row($filehandle,$rownum,@assessdata); |
|
} |
|
} |
|
return; |
} |
} |
sub outsheet_excel { |
|
|
sub excel_rows { |
|
# writes the meat of the spreadsheet to an excel worksheet. Called |
|
# by Spreadsheet::outsheet_excel; |
my $self = shift; |
my $self = shift; |
my ($r) = @_; |
my ($worksheet,$cols_output,$rows_output) = @_; |
|
# |
|
# Write a header row |
|
$cols_output = 0; |
|
foreach my $value ('Container','Assessment title') { |
|
$worksheet->write($rows_output,$cols_output++,$value); |
|
} |
|
$rows_output++; |
|
# |
|
# Write each assessments row |
|
if (scalar(@Sequences)< 1) { |
|
&initialize_sequence_cache(); |
|
} |
|
foreach my $Sequence (@Sequences) { |
|
next if ($Sequence->{'num_assess'} < 1); |
|
foreach my $resource (@{$Sequence->{'contents'}}) { |
|
my $rownum = $self->get_row_number_from_key($resource->{'symb'}); |
|
my @assessdata = ($Sequence->{'title'}, |
|
$resource->{'title'}); |
|
$self->excel_output_row($worksheet,$rownum,$rows_output++, |
|
@assessdata); |
|
} |
|
} |
|
return; |
} |
} |
|
|
sub outsheet_recursive_excel { |
sub outsheet_recursive_excel { |
my $self = shift; |
my $self = shift; |
my ($r) = @_; |
my ($r) = @_; |
} |
} |
|
|
sub display { |
|
my $self = shift; |
|
my ($r) = @_; |
|
$self->compute(); |
|
$self->outsheet_html($r); |
|
return; |
|
} |
|
|
|
sub set_row_sources { |
sub set_row_sources { |
my $self = shift; |
my $self = shift; |
while (my ($cell,$value) = each(%{$self->{'formulas'}})) { |
while (my ($cell,$value) = each(%{$self->{'formulas'}})) { |
Line 490 Writes the export data for this student
|
Line 553 Writes the export data for this student
|
############################################# |
############################################# |
sub save_export_data { |
sub save_export_data { |
my $self = shift; |
my $self = shift; |
|
return if ($self->temporary()); |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
my $student = $self->{'name'}.':'.$self->{'domain'}; |
return if (! exists($Exportrows{$student})); |
return if (! exists($Exportrows{$student})); |
return if (! $self->is_default()); |
return if (! $self->is_default()); |