Diff for /loncom/interface/loncoursedata.pm between versions 1.48 and 1.51

version 1.48, 2003/02/14 21:45:19 version 1.51, 2003/02/25 16:05:24
Line 120  sub DownloadClasslist { Line 120  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 262  with stopping downloading then can not t
   
 # ----- PROCESSING FUNCTIONS ---------------------------------------  # ----- PROCESSING FUNCTIONS ---------------------------------------
   
   ####################################################
   ####################################################
   
 =pod  =pod
   
Line 278  The returned structure is a hash referen Line 280  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
 }  }
   
 $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 312  sub get_sequence_assessment_data { Line 320  sub get_sequence_assessment_data {
     my $symb  = $curRes->symb();      my $symb  = $curRes->symb();
     my $src   = $curRes->src();      my $src   = $curRes->src();
     #      #
       my @Sequences; 
       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,
                 symb     => $symb,                  symb     => $symb,
                 type     => 'container',                  type     => 'container',
                 num_assess => 0,                  num_assess => 0,
                 contents   => [], };                  contents   => [], };
       push (@Sequences,$top);
     push (@Nested_Sequences, $top);      push (@Nested_Sequences, $top);
     #      #
     # We need to keep track of which sequences contain homework problems      # We need to keep track of which sequences contain homework problems
     #       # 
       my $previous = $top;
     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 339  sub get_sequence_assessment_data { Line 351  sub get_sequence_assessment_data {
                            contents   => [],                             contents   => [],
                        };                         };
             push (@{$currentmap->{'contents'}},$newmap); # this is permanent              push (@{$currentmap->{'contents'}},$newmap); # this is permanent
               push (@Sequences,$newmap);
             push (@Nested_Sequences, $newmap); # this is a stack              push (@Nested_Sequences, $newmap); # this is a stack
             next;              next;
         }          }
Line 347  sub get_sequence_assessment_data { Line 360  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 358  sub get_sequence_assessment_data { Line 371  sub get_sequence_assessment_data {
                            symb  => $symb,                             symb  => $symb,
                            type  => 'assessment',                             type  => 'assessment',
                        };                         };
           push(@Assessments,$assessment);
         push(@{$currentmap->{'contents'}},$assessment);          push(@{$currentmap->{'contents'}},$assessment);
         $currentmap->{'num_assess'}++;          $currentmap->{'num_assess'}++;
     }      }
     return $top;      return ($top,\@Sequences,\@Assessments);
 }  }
   
   #################################################
   #################################################
   
 =pod  =pod
   
 =item &ProcessTopResourceMap()  =item &ProcessTopResourceMap()

Removed from v.1.48  
changed lines
  Added in v.1.51


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>