Diff for /loncom/interface/loncommon.pm between versions 1.289 and 1.290

version 1.289, 2005/11/15 15:40:58 version 1.290, 2005/11/15 15:52:51
Line 3123  sub get_course_users { Line 3123  sub get_course_users {
     $idx{fullname} = &Apache::loncoursedata::CL_FULLNAME();      $idx{fullname} = &Apache::loncoursedata::CL_FULLNAME();
     $idx{status} = &Apache::loncoursedata::CL_STATUS();      $idx{status} = &Apache::loncoursedata::CL_STATUS();
   
     if (grep/^st$/,@{$roles}) {      if (grep(/^st$/,@{$roles})) {
         my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist($cdom,$cnum);          my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist($cdom,$cnum);
         my $now = time;          my $now = time;
         foreach my $student (keys(%{$classlist})) {          foreach my $student (keys(%{$classlist})) {
             my $match = 0;              my $match = 0;
             if (defined($sections) && (ref($sections) eq 'ARRAY')) {              if (ref($sections) eq 'ARRAY') && (@{$sections} > 0) {
                 if (@{$sections} > 0) {   unless(grep(/^\Q$$classlist{$student}[$idx{section}]\E$/,
                     unless(grep/^$$classlist{$student}[$idx{section}]$/,@{$sections}) {      @{$sections})) {
                         next;      next;
                     }   }
                 }  
             }               } 
             if (defined($$types{'active'})) {              if (defined($$types{'active'})) {
                 if ($$classlist{$student}[$idx{status}] eq 'Active') {                  if ($$classlist{$student}[$idx{status}] eq 'Active') {
Line 3164  sub get_course_users { Line 3163  sub get_course_users {
             my $match = 0;              my $match = 0;
             my ($role,$user) = ($person =~ /^([^:]*):([^:]+:[^:]+)/);              my ($role,$user) = ($person =~ /^([^:]*):([^:]+:[^:]+)/);
             $user =~ s/:$//;              $user =~ s/:$//;
             if (($role) && (grep(/^$role$/,@{$roles}))) {              if (($role) && (grep(/^\Q$role\E$/,@{$roles}))) {
                 my ($uname,$udom,$usec) = split(/:/,$user);                  my ($uname,$udom,$usec) = split(/:/,$user);
                 unless ($usec eq '') {                  if ($usec ne '' && (ref($sections) eq 'ARRAY') && 
                     if (defined($sections) && (ref($sections) eq 'ARRAY')) {      @{$sections} > 0) {
                         if (@{$sections} > 0) {      unless(grep(/^\Q$usec\E$/,@{$sections})) {
                             unless(grep/^$usec$/,@{$sections}) {   next;
                                 next;      }
                             }  
                         }  
                     }  
                 }                  }
                 if ($uname ne '' && $udom ne '') {                  if ($uname ne '' && $udom ne '') {
                     my $status = &check_user_status($udom,$uname,$cdom,$cnum,$role);                      my $status = &check_user_status($udom,$uname,$cdom,$cnum,$role);
Line 3183  sub get_course_users { Line 3179  sub get_course_users {
                             $match = 1;                              $match = 1;
                         }                          }
                     }                      }
                     if ($match && defined($userdata)) {                      if ($match && defined($userdata) &&
                         unless(exists($$userdata{$uname.':'.$udom})) {                          !exists($$userdata{$uname.':'.$udom})) {
                             &get_user_info($udom,$uname,\%idx,$userdata);   &get_user_info($udom,$uname,\%idx,$userdata);
                         }  
                     }                      }
                 }                  }
             }              }
         }          }
         if (grep/^ow$/,@{$roles}) {          if (grep(/^ow$/,@{$roles})) {
             if ((defined($cdom)) && (defined($cnum))) {              if ((defined($cdom)) && (defined($cnum))) {
                 my %csettings = &Apache::lonnet::get('environment',['internal.courseowner'],$cdom,$cnum);                  my %csettings = &Apache::lonnet::get('environment',['internal.courseowner'],$cdom,$cnum);
                 if ( defined($csettings{'internal.courseowner'}) ) {                  if ( defined($csettings{'internal.courseowner'}) ) {
                     my $owner = $csettings{'internal.courseowner'};                      my $owner = $csettings{'internal.courseowner'};
                     @{$$users{'ow'}{$owner.':'.$cdom}} = 'any';                      @{$$users{'ow'}{$owner.':'.$cdom}} = 'any';
                     if (defined($userdata)) {                      if (defined($userdata) && 
                         unless(exists($$userdata{$owner.':'.$cdom})) {   !exists($$userdata{$owner.':'.$cdom})) {
                             &get_user_info($cdom,$owner,\%idx,$userdata);   &get_user_info($cdom,$owner,\%idx,$userdata);
                         }      }
                     }  
                 }                  }
             }              }
         }          }

Removed from v.1.289  
changed lines
  Added in v.1.290


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