version 1.49, 2003/02/20 14:28:25
|
version 1.52, 2003/02/25 20:36:29
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
# (Publication Handler |
|
# |
# |
# $Id$ |
# $Id$ |
# |
# |
Line 120 sub DownloadClasslist {
|
Line 119 sub DownloadClasslist {
|
my ($courseDomain,$courseNumber)=split(/\_/,$courseID); |
my ($courseDomain,$courseNumber)=split(/\_/,$courseID); |
my %classlist; |
my %classlist; |
|
|
my $modifiedTime = &Apache::lonnet::GetFileTimestamp($courseDomain, $courseNumber, |
my $modifiedTime = &Apache::lonnet::GetFileTimestamp($courseDomain, |
|
$courseNumber, |
'classlist.db', |
'classlist.db', |
$Apache::lonnet::perlvar{'lonUsersDir'}); |
$Apache::lonnet::perlvar{'lonUsersDir'}); |
|
|
# Always download the information if lastDownloadTime is set to |
# Always download the information if lastDownloadTime is set to |
# Not downloaded, otherwise it is only downloaded if the file |
# Not downloaded, otherwise it is only downloaded if the file |
Line 261 with stopping downloading then can not t
|
Line 261 with stopping downloading then can not t
|
|
|
# ----- PROCESSING FUNCTIONS --------------------------------------- |
# ----- PROCESSING FUNCTIONS --------------------------------------- |
|
|
|
#################################################### |
|
#################################################### |
|
|
=pod |
=pod |
|
|
Line 278 The returned structure is a hash referen
|
Line 279 The returned structure is a hash referen
|
symb => 'symb', |
symb => 'symb', |
source => '/s/o/u/r/c/e', |
source => '/s/o/u/r/c/e', |
type => (container|assessment), |
type => (container|assessment), |
|
num_assess => 2, # only for container |
contents => [ {},{},{},{} ], # only for container |
contents => [ {},{},{},{} ], # only for container |
parts => [11,13,15], # only for assessment |
parts => [11,13,15], # only for assessment |
response_ids => [12,14,16] # only for assessment |
response_ids => [12,14,16], # only for assessment |
|
contents => [........] # only for container |
} |
} |
|
|
Also returned are array references to the symbs and assessments contained |
|
in the sequence. |
|
|
|
$hash->{'contents'} is a reference to an array of hashes of the same structure. |
$hash->{'contents'} is a reference to an array of hashes of the same structure. |
|
|
|
Also returned are array references to the sequences and assessments contained |
|
in the course. |
|
|
|
|
=cut |
=cut |
|
|
|
#################################################### |
|
#################################################### |
sub get_sequence_assessment_data { |
sub get_sequence_assessment_data { |
return undef; |
|
my $fn=$ENV{'request.course.fn'}; |
my $fn=$ENV{'request.course.fn'}; |
&Apache::lonnet::logthis('filename = '.$fn); |
|
## |
## |
## use navmaps |
## use navmaps |
my $navmap = Apache::lonnavmaps::navmap->new($fn.".db",$fn."_parms.db", |
my $navmap = Apache::lonnavmaps::navmap->new($fn.".db",$fn."_parms.db", |
Line 308 sub get_sequence_assessment_data {
|
Line 312 sub get_sequence_assessment_data {
|
## We are going to loop until we run out of sequences/pages to explore for |
## We are going to loop until we run out of sequences/pages to explore for |
## resources. This means we have to start out with something to look |
## resources. This means we have to start out with something to look |
## at. |
## at. |
my $curRes = $iterator->next(); # BEGIN_MAP |
my $title = $ENV{'course.'.$ENV{'request.course.id'}.'.description'}; |
$curRes = $iterator->next(); # The sequence itself |
my $symb = 'top'; |
# |
my $src = 'not applicable'; |
my $title = $curRes->title(); |
|
my $symb = $curRes->symb(); |
|
my $src = $curRes->src(); |
|
# |
# |
my @Sequences; |
my @Sequences; |
my @Assessments; |
my @Assessments; |
my @Nested_Sequences = (); # Stack of sequences, keeps track of depth |
my @Nested_Sequences = (); # Stack of sequences, keeps track of depth |
my $top = { title => $title, |
my $top = { title => $title, |
|
src => $src, |
symb => $symb, |
symb => $symb, |
type => 'container', |
type => 'container', |
num_assess => 0, |
num_assess => 0, |
Line 328 sub get_sequence_assessment_data {
|
Line 330 sub get_sequence_assessment_data {
|
# |
# |
# We need to keep track of which sequences contain homework problems |
# We need to keep track of which sequences contain homework problems |
# |
# |
|
my $previous; |
|
my $curRes = $iterator->next(); # BEGIN_MAP |
|
$curRes = $iterator->next(); # The first item in the top level map. |
while (scalar(@Nested_Sequences)) { |
while (scalar(@Nested_Sequences)) { |
|
$previous = $curRes; |
$curRes = $iterator->next(); |
$curRes = $iterator->next(); |
my $currentmap = $Nested_Sequences[-1]; # Last one on the stack |
my $currentmap = $Nested_Sequences[-1]; # Last one on the stack |
if ($curRes == $iterator->BEGIN_MAP()) { |
if ($curRes == $iterator->BEGIN_MAP()) { |
# get the map itself, instead of BEGIN_MAP |
# get the map itself, instead of BEGIN_MAP |
$curRes = $iterator->next(); |
$title = $previous->title(); |
$title = $curRes->title(); |
$symb = $previous->symb(); |
$symb = $curRes->symb(); |
$src = $previous->src(); |
$src = $curRes->src(); |
|
my $newmap = { title => $title, |
my $newmap = { title => $title, |
src => $src, |
src => $src, |
symb => $symb, |
symb => $symb, |
Line 354 sub get_sequence_assessment_data {
|
Line 359 sub get_sequence_assessment_data {
|
next; |
next; |
} |
} |
next if (! ref($curRes)); |
next if (! ref($curRes)); |
next if (! $curRes->is_problem() && !$curRes->randomout); |
next if (! $curRes->is_problem());# && !$curRes->randomout); |
# Okay, from here on out we only deal with assessments |
# Okay, from here on out we only deal with assessments |
$title = $curRes->title(); |
$title = $curRes->title(); |
$symb = $curRes->symb(); |
$symb = $curRes->symb(); |
Line 372 sub get_sequence_assessment_data {
|
Line 377 sub get_sequence_assessment_data {
|
return ($top,\@Sequences,\@Assessments); |
return ($top,\@Sequences,\@Assessments); |
} |
} |
|
|
|
################################################# |
|
################################################# |
|
|
=pod |
=pod |
|
|
=item &ProcessTopResourceMap() |
=item &ProcessTopResourceMap() |