[LON-CAPA-cvs] cvs: loncom /interface loncoursedata.pm

matthew lon-capa-cvs@mail.lon-capa.org
Tue, 25 Feb 2003 15:55:15 -0000


matthew		Tue Feb 25 10:55:15 2003 EDT

  Modified files:              
    /loncom/interface	loncoursedata.pm 
  Log:
  Fixed bugs in &get_sequence_assessment_data() which caused it to report the
  data for the first item in a sequence instead of the sequence itself.
  Fixed related bug which caused it to not report an assessment which appeared
  as the first item in a sequence.
  Minor indention change.
  Some POD additions/subtractions/mangling occured as well.
  
  
Index: loncom/interface/loncoursedata.pm
diff -u loncom/interface/loncoursedata.pm:1.49 loncom/interface/loncoursedata.pm:1.50
--- loncom/interface/loncoursedata.pm:1.49	Thu Feb 20 09:28:25 2003
+++ loncom/interface/loncoursedata.pm	Tue Feb 25 10:55:15 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # (Publication Handler
 #
-# $Id: loncoursedata.pm,v 1.49 2003/02/20 14:28:25 matthew Exp $
+# $Id: loncoursedata.pm,v 1.50 2003/02/25 15:55:15 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -120,9 +120,10 @@
     my ($courseDomain,$courseNumber)=split(/\_/,$courseID);
     my %classlist;
 
-    my $modifiedTime = &Apache::lonnet::GetFileTimestamp($courseDomain, $courseNumber,
+    my $modifiedTime = &Apache::lonnet::GetFileTimestamp($courseDomain, 
+                                                         $courseNumber,
                                                          'classlist.db', 
-                                                         $Apache::lonnet::perlvar{'lonUsersDir'});
+                                 $Apache::lonnet::perlvar{'lonUsersDir'});
 
     # Always download the information if lastDownloadTime is set to
     # Not downloaded, otherwise it is only downloaded if the file
@@ -261,7 +262,8 @@
 
 # ----- PROCESSING FUNCTIONS ---------------------------------------
 
-
+####################################################
+####################################################
 
 =pod
 
@@ -278,22 +280,25 @@
   symb   => 'symb',
   source => '/s/o/u/r/c/e',
   type  => (container|assessment),
+  num_assess   => 2,               # only for container
   contents     => [ {},{},{},{} ], # only for container
   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.
 
+Also returned are array references to the sequences and assessments contained
+in the course.
+
+
 =cut
 
+####################################################
+####################################################
 sub get_sequence_assessment_data {
-    return undef;
     my $fn=$ENV{'request.course.fn'};
-    &Apache::lonnet::logthis('filename = '.$fn);
     ##
     ## use navmaps
     my $navmap = Apache::lonnavmaps::navmap->new($fn.".db",$fn."_parms.db",
@@ -328,15 +333,16 @@
     #
     # We need to keep track of which sequences contain homework problems
     # 
+    my $previous = $top;
     while (scalar(@Nested_Sequences)) {
+        $previous = $curRes;
         $curRes = $iterator->next();
         my $currentmap = $Nested_Sequences[-1]; # Last one on the stack
         if ($curRes == $iterator->BEGIN_MAP()) {
             # get the map itself, instead of BEGIN_MAP
-            $curRes = $iterator->next(); 
-            $title = $curRes->title();
-            $symb  = $curRes->symb();
-            $src   = $curRes->src();
+            $title = $previous->title();#$curRes->title();
+            $symb  = $previous->symb;#curRes->symb();
+            $src   = $previous->src();#$curRes->src();
             my $newmap = { title    => $title,
                            src      => $src,
                            symb     => $symb,
@@ -354,7 +360,7 @@
             next;
         }
         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
         $title = $curRes->title();
         $symb  = $curRes->symb();
@@ -371,6 +377,9 @@
     }
     return ($top,\@Sequences,\@Assessments);
 }
+
+#################################################
+#################################################
 
 =pod