--- loncom/interface/loncommon.pm 2005/10/04 18:27:32 1.276 +++ loncom/interface/loncommon.pm 2005/10/04 18:29:54 1.277 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.276 2005/10/04 18:27:32 albertel Exp $ +# $Id: loncommon.pm,v 1.277 2005/10/04 18:29:54 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3061,13 +3061,12 @@ Retrieves usernames:domains for users in with specific role(s), and access status. Incoming parameters: -1. course_id -2. course domain -3. course number -4. access status: users must have - either active, +1. course domain +2. course number +3. access status: users must have - either active, previous, future, or all. -5. reference to array of permissible roles -6. reference to results object (hash of hashes). +4. reference to array of permissible roles +5. reference to results object (hash of hashes). Keys of top level hash are roles. Keys of inner hashes are username:domain, with values set to access type. @@ -3077,13 +3076,13 @@ values set to access type. ############################################### sub get_course_users { - my ($course_id,$cdom,$cnum,$types,$roles,$users) = @_; + my ($cdom,$cnum,$types,$roles,$users) = @_; if (grep/^st$/,@{$roles}) { - my $statusidx = &Apache::loncoursedata::CL_STATUS; - my $startidx = &Apache::loncoursedata::CL_START; - my $endidx = &Apache::loncoursedata::CL_END; + my $statusidx = &Apache::loncoursedata::CL_STATUS(); + my $startidx = &Apache::loncoursedata::CL_START(); + my $endidx = &Apache::loncoursedata::CL_END(); my ($classlist,$keylist)=&Apache::loncoursedata::get_classlist($cdom,$cnum); - foreach my $student (keys (%{$classlist})) { + foreach my $student (keys(%{$classlist})) { if (defined($$types{'active'})) { if ($$classlist{$student}[$statusidx] eq 'Active') { push(@{$$users{st}{$student}},'active'); @@ -3102,16 +3101,15 @@ sub get_course_users { } } if ((@{$roles} > 0) && (@{$roles} ne "st")) { - my ($cdom,$cnum) = split/_/,$course_id; my @coursepersonnel = &Apache::lonnet::getkeys('nohist_userroles',$cdom,$cnum); foreach my $person (@coursepersonnel) { my ($role,$user) = ($person =~ /^([^:]*):([^:]+:[^:]+)/); $user =~ s/:$//; - if (($role) && (grep/^$role$/,@{$roles})) { - my ($uname,$udom) = split/:/,$user; + if (($role) && (grep(/^$role$/,@{$roles}))) { + my ($uname,$udom) = split(/:/,$user); if ($uname ne '' && $udom ne '') { my $status = &check_user_status($udom,$uname,$cdom,$cnum,$role); - foreach my $type (keys %{$types}) { + foreach my $type (keys(%{$types})) { if ($status eq $type) { $$users{$role}{$user} = $type; }