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); |
} |
} |
} |
|
} |
} |
} |
} |
} |
} |