Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.690 and 1.691

version 1.690, 2006/01/07 00:25:23 version 1.691, 2006/01/10 05:28:00
Line 4823  sub EXT { Line 4823  sub EXT {
         return $env{'course.'.$courseid.'.'.$spacequalifierrest};          return $env{'course.'.$courseid.'.'.$spacequalifierrest};
     } elsif ($realm eq 'resource') {      } elsif ($realm eq 'resource') {
   
  my ($section,$group);   my $section;
         my @groups = ();          my @groups = ();
  if (defined($courseid) && $courseid eq $env{'request.course.id'}) {   if (defined($courseid) && $courseid eq $env{'request.course.id'}) {
     if (!$symbparm) { $symbparm=&symbread(); }      if (!$symbparm) { $symbparm=&symbread(); }
Line 4844  sub EXT { Line 4844  sub EXT {
     if (($env{'user.name'} eq $uname) &&      if (($env{'user.name'} eq $uname) &&
  ($env{'user.domain'} eq $udom)) {   ($env{'user.domain'} eq $udom)) {
  $section=$env{'request.course.sec'};   $section=$env{'request.course.sec'};
                 @groups=split(/:/,$env{'request.course.groups'});                  @groups=&sort_course_groups($env{'request.course.groups'},$courseid); 
                 if (@groups > 0) {                  if (@groups > 0) {
                     @groups = sort(@groups);                      @groups = sort(@groups);
                     $group = $groups[0];  
                 }                  }
     } else {      } else {
  if (! defined($usection)) {   if (! defined($usection)) {
Line 4857  sub EXT { Line 4856  sub EXT {
  }   }
                 my $grouplist = &get_users_groups($udom,$uname,$courseid);                  my $grouplist = &get_users_groups($udom,$uname,$courseid);
                 if ($grouplist) {                  if ($grouplist) {
                     @groups = split(/:/,$grouplist);                      @groups=&sort_course_groups($grouplist,$courseid);
                     @groups = sort(@groups);  
                     $group = $groups[0];  
                 }                  }
     }      }
   
             my $grplevel=$courseid.'.['.$group.'].'.$spacequalifierrest;  
             my $grplevelr=$courseid.'.['.$group.'].'.$symbparm;  
             my $grplevelm=$courseid.'.['.$group.'].'.$mapparm;  
   
     my $seclevel=$courseid.'.['.$section.'].'.$spacequalifierrest;      my $seclevel=$courseid.'.['.$section.'].'.$spacequalifierrest;
     my $seclevelr=$courseid.'.['.$section.'].'.$symbparm;      my $seclevelr=$courseid.'.['.$section.'].'.$symbparm;
     my $seclevelm=$courseid.'.['.$section.'].'.$mapparm;      my $seclevelm=$courseid.'.['.$section.'].'.$mapparm;
Line 4880  sub EXT { Line 4873  sub EXT {
     my $userreply=&resdata($uname,$udom,'user',      my $userreply=&resdata($uname,$udom,'user',
        ($courselevelr,$courselevelm,         ($courselevelr,$courselevelm,
  $courselevel));   $courselevel));
   
     if (defined($userreply)) { return $userreply; }      if (defined($userreply)) { return $userreply; }
   
 # ------------------------------------------------ second, check some of course  # ------------------------------------------------ second, check some of course
             my $coursereply;              my $coursereply;
             if (defined($group)) {              if (@groups > 0) {
                 $coursereply = &resdata($env{'course.'.$courseid.'.num'},                  $coursereply = &check_group_parms($courseid,\@groups,$symbparm,
                                      $env{'course.'.$courseid.'.domain'},                                         $mapparm,$spacequalifierrest);
                                      'course',  
                                      ($grplevelr,$grplevelm,$grplevel,  
                                       $courselevelr));  
                 if (defined($coursereply)) { return $coursereply; }                  if (defined($coursereply)) { return $coursereply; }
             }              }
   
Line 4969  sub EXT { Line 4958  sub EXT {
     return '';      return '';
 }  }
   
   sub check_group_parms {
       my ($courseid,$groups,$symbparm,$mapparm,$what) = @_;
       my @groupitems = ();
       my $resultitem;
       my @levels = ($symbparm,$mapparm,$what);
       foreach my $group (@{$groups}) {
           foreach my $level (@levels) {
                my $item = $courseid.'.['.$group.'].'.$level;
                push(@groupitems,$item);
           }
       }
       my $coursereply = &resdata($env{'course.'.$courseid.'.num'},
                               $env{'course.'.$courseid.'.domain'},
                                        'course',@groupitems);
       return $coursereply;
   }
   
   sub sort_course_groups { # Sort groups based on defined rankings. Default is sort().
       my ($grouplist,$courseid) = @_;
       my @groups = split/:/,$grouplist;
       if (@groups > 1) {
           @groups = sort(@groups);
       }
       return @groups;
   }
   
 sub packages_tab_default {  sub packages_tab_default {
     my ($uri,$varname)=@_;      my ($uri,$varname)=@_;
     my (undef,$part,$name)=split(/\./,$varname);      my (undef,$part,$name)=split(/\./,$varname);

Removed from v.1.690  
changed lines
  Added in v.1.691


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