--- loncom/lonnet/perl/lonnet.pm 2004/06/09 14:57:30 1.507 +++ loncom/lonnet/perl/lonnet.pm 2004/06/09 17:01:56 1.508 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.507 2004/06/09 14:57:30 www Exp $ +# $Id: lonnet.pm,v 1.508 2004/06/09 17:01:56 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3054,14 +3054,20 @@ sub log_query { return get_query_reply($queryid); } -# ------- Request retrieval of institutional classlists from course homerserver +# ------- Request retrieval of institutional classlists for course(s) sub fetch_enrollment_query { - my ($homeserver,$dom,$affiliatesref,$replyref) = @_; + my ($context,$affiliatesref,$replyref,$cnum,$dom) = @_; + my $homeserver; + if ($context eq 'automated') { + $homeserver = $perlvar{'lonHostID'}; + } else { + $homeserver = &homeserver($cnum,$dom); + } my $host=$hostname{$homeserver}; my $cmd = ''; foreach (keys %{$affiliatesref}) { - $cmd .= $_.'='.join(",",@{$$affiliatesref{$_}}).'%%'; + $cmd .= $_.'='.join(",",@{$$affiliatesref{$_}}).'%%'; } $cmd =~ s/%%$//; $cmd = &escape($cmd); @@ -3143,15 +3149,17 @@ sub userlog_query { #--------- Call auto-enrollment subs in localenroll.pm for homeserver for course sub auto_run { - my $homeserver = shift; + my ($cnum,$cdom) = @_; + my $homeserver = &homeserver($cnum,$cdom); my $response = &reply('autorun',$homeserver); return $response; } sub auto_get_sections { - my ($homeserver,$coursecode) = @_; + my ($cnum,$cdom,$inst_coursecode) = @_; + my $homeserver = &homeserver($cnum,$cdom); my @secs = (); - my $response=&unescape(&reply('autogetsections:'.$coursecode,$homeserver)); + my $response=&unescape(&reply('autogetsections:'.$inst_coursecode,$homeserver)); unless ($response eq 'refused') { @secs = split/:/,$response; } @@ -3159,19 +3167,22 @@ sub auto_get_sections { } sub auto_new_course { - my ($homeserver,$course_id,$owner) = @_; - my $response=&unescape(&reply('autonewcourse:'.$course_id.':'.$owner,$homeserver)); + my ($cnum,$cdom,$inst_course_id,$owner) = @_; + my $homeserver = &homeserver($cnum,$cdom); + my $response=&unescape(&reply('autonewcourse:'.$inst_course_id.':'.$owner,$homeserver)); return $response; } sub auto_validate_courseID { - my ($homeserver,$course_id) = @_; - my $response=&unescape(&reply('autovalidatecourse:'.$course_id,$homeserver)); + my ($cnum,$cdom,$inst_course_id) = @_; + my $homeserver = &homeserver($cnum,$cdom); + my $response=&unescape(&reply('autovalidatecourse:'.$inst_course_id,$homeserver)); return $response; } sub auto_create_password { - my ($homeserver,$authparam) = @_; + my ($cnum,$cdom,$authparam) = @_; + my $homeserver = &homeserver($cnum,$cdom); my $create_passwd = 0; my $authchk = ''; my $response=&unescape(&reply('autocreatepassword:'.$authparam,$homeserver));