Diff for /loncom/interface/lonnavmaps.pm between versions 1.238 and 1.239

version 1.238, 2003/10/08 19:22:17 version 1.239, 2003/10/09 21:02:11
Line 3578  sub extractParts { Line 3578  sub extractParts {
   
     # Retrieve part count, if this is a problem      # Retrieve part count, if this is a problem
     if ($self->is_problem()) {      if ($self->is_problem()) {
    my $partorder;
    # Hypothetically, replace previous line with:
    # my $partorder = &Apache::lonnet::metadata($self->src(), 'partorder');
    # and it'll all work...
         my $metadata = &Apache::lonnet::metadata($self->src(), 'packages');          my $metadata = &Apache::lonnet::metadata($self->src(), 'packages');
         if (!$metadata) {  
             $self->{RESOURCE_ERROR} = 1;   if ($partorder) {
             $self->{PARTS} = [];      my @parts;
             $self->{PART_TYPE} = {};      for my $part (split (/,/,$partorder)) {
             return;   if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) {
         }      push @parts, $part;
         foreach (split(/\,/,$metadata)) {   }
             if ($_ =~ /^part_(.*)$/) {      }
                 my $part = $1;      $self->{PARTS} = \@parts;
                 # This floods the logs if it blows up   } else {
                 if (defined($parts{$part})) {      if (!$metadata) {
                     Apache::lonnet::logthis("$part multiply defined in metadata for " . $self->symb());   $self->{RESOURCE_ERROR} = 1;
                   }   $self->{PARTS} = [];
    $self->{PART_TYPE} = {};
                 # check to see if part is turned off.   return;
       }
                 if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) {      foreach (split(/\,/,$metadata)) {
                     $parts{$part} = 1;   if ($_ =~ /^part_(.*)$/) {
                 }      my $part = $1;
             }      # This floods the logs if it blows up
       if (defined($parts{$part})) {
    Apache::lonnet::logthis("$part multiply defined in metadata for " . $self->symb());
         }
       
       # check to see if part is turned off.
       
       if (!Apache::loncommon::check_if_partid_hidden($part, $self->symb())) {
    $parts{$part} = 1;
       }
    }
       }
       my @sortedParts = sort keys %parts;
       $self->{PARTS} = \@sortedParts;
         }          }
                   
           
         my @sortedParts = sort keys %parts;  
         $self->{PARTS} = \@sortedParts;  
   
         my %responseIdHash;          my %responseIdHash;
         my %responseTypeHash;          my %responseTypeHash;
Line 3615  sub extractParts { Line 3629  sub extractParts {
         }          }
   
         # Now, the unfortunate thing about this is that parts, part name, and          # Now, the unfortunate thing about this is that parts, part name, and
         # response if are delimited by underscores, but both the part          # response id are delimited by underscores, but both the part
         # name and response id can themselves have underscores in them.          # name and response id can themselves have underscores in them.
         # So we have to use our knowlege of part names to figure out           # So we have to use our knowlege of part names to figure out 
         # where the part names begin and end, and even then, it is possible          # where the part names begin and end, and even then, it is possible

Removed from v.1.238  
changed lines
  Added in v.1.239


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