Diff for /loncom/interface/lonnavmaps.pm between versions 1.515 and 1.517

version 1.515, 2016/03/02 14:14:06 version 1.517, 2016/03/17 13:20:35
Line 2768  sub parmval_real { Line 2768  sub parmval_real {
 sub recurseup_maps {  sub recurseup_maps {
     my ($self,$mapname) = @_;      my ($self,$mapname) = @_;
     my @recurseup;      my @recurseup;
     my @pcs = split(/,/,$self->getResourceByUrl(&Apache::lonnet::clutter($mapname))->map_hierarchy());      if ($mapname) {
     shift(@pcs);          my @pcs = split(/,/,$self->getResourceByUrl(&Apache::lonnet::clutter($mapname))->map_hierarchy());
     pop(@pcs);          shift(@pcs);
     if (@pcs) {          pop(@pcs);
         @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->src()); } reverse(@pcs);          if (@pcs) {
               @recurseup = map { &Apache::lonnet::declutter($self->getByMapPc($_)->src()); } reverse(@pcs);
           }
     }      }
     return @recurseup;      return @recurseup;
 }  }
Line 2817  sub get_mapparam { Line 2819  sub get_mapparam {
   
     unless ($symb) { return ['']; }      unless ($symb) { return ['']; }
     my $result='';      my $result='';
       my ($recursed,@recurseup);
   
   
     # Figure out which map we are in.      # Figure out which map we are in.
Line 2862  sub get_mapparam { Line 2865  sub get_mapparam {
         if (defined($$useropt{$courseleveli})) {          if (defined($$useropt{$courseleveli})) {
             return $$useropt{$courseleveli};              return $$useropt{$courseleveli};
         }          }
           unless ($recursed) {
               @recurseup = $self->recurseup_maps($mapname);
               $recursed = 1;
           }
           foreach my $item (@recurseup) {
               my $norecursechk=$usercourseprefix.'.'.$item.'___(all).'.$what;
               last if (defined($$useropt{$norecursechk}));
               my $recursechk=$usercourseprefix.'.'.$item.'___(rec).'.$what;
               if (defined($$useropt{$recursechk})) {
                   return $$useropt{$recursechk};
               }
           }
     }      }
   
     # Check course -- group      # Check course -- group
Line 2875  sub get_mapparam { Line 2890  sub get_mapparam {
         if (defined($$courseopt{$grpleveli})) {          if (defined($$courseopt{$grpleveli})) {
             return $$courseopt{$grpleveli};              return $$courseopt{$grpleveli};
         }          }
           unless ($recursed) {
               @recurseup = $self->recurseup_maps($mapname);
               $recursed = 1;
           }
           foreach my $item (@recurseup) {
               my $norecursechk=$usercourseprefix.'.['.$cgroup.'].'.$item.'___(all).'.$what;
               last if (defined($$courseopt{$norecursechk}));
               my $recursechk=$usercourseprefix.'.['.$cgroup.'].'.$item.'___(rec).'.$what;
               if (defined($$courseopt{$recursechk})) {
                   return $$courseopt{$recursechk};
               }
           }
     }      }
   
     # Check course -- section      # Check course -- section
   
   
     if ($csec and defined($courseopt)) {      if ($csec ne '' and defined($courseopt)) {
  if (defined($$courseopt{$seclevelm})) {   if (defined($$courseopt{$seclevelm})) {
     return $$courseopt{$seclevelm};      return $$courseopt{$seclevelm};
  }   }
         if (defined($$courseopt{$secleveli})) {          if (defined($$courseopt{$secleveli})) {
             return $$courseopt{$secleveli};              return $$courseopt{$secleveli};
         }          }
           unless ($recursed) {
               @recurseup = $self->recurseup_maps($mapname);
               $recursed = 1;
           }
           foreach my $item (@recurseup) {
               my $norecursechk=$usercourseprefix.'.['.$csec.'].'.$item.'___(all).'.$what;
               last if (defined($$courseopt{$norecursechk}));
               my $recursechk=$usercourseprefix.'.['.$csec.'].'.$item.'___(rec).'.$what;
               if (defined($$courseopt{$recursechk})) {
                   return $$courseopt{$recursechk};
               }
           }
     }      }
     # Check the map parameters themselves:      # Check the map parameters themselves:
   
Line 2902  sub get_mapparam { Line 2941  sub get_mapparam {
  if (defined($$courseopt{$courselevelm})) {   if (defined($$courseopt{$courselevelm})) {
     return $$courseopt{$courselevelm};      return $$courseopt{$courselevelm};
  }   }
           unless ($recursed) {
               @recurseup = $self->recurseup_maps($mapname);
               $recursed = 1;
           }
           if (@recurseup) {
               foreach my $item (@recurseup) {
                   my $norecursechk=$usercourseprefix.'.'.$item.'___(all).'.$what;
                   last if (defined($$courseopt{$norecursechk}));
                   my $recursechk=$usercourseprefix.'.'.$item.'___(rec).'.$what;
                   if (defined($$courseopt{$recursechk})) {
                       return $$courseopt{$recursechk};
                   }
               }
           }
     }      }
     return undef; # Unefined if we got here.      return undef; # Undefined if we got here.
 }  }
   
 sub course_printdates {  sub course_printdates {

Removed from v.1.515  
changed lines
  Added in v.1.517


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