--- loncom/enrollment/Autoenroll.pl 2006/05/17 14:48:49 1.19 +++ loncom/enrollment/Autoenroll.pl 2007/01/01 19:19:58 1.23 @@ -1,7 +1,7 @@ #!/usr/bin/perl # #Automated Enrollment script -# $Id: Autoenroll.pl,v 1.19 2006/05/17 14:48:49 albertel Exp $ +# $Id: Autoenroll.pl,v 1.23 2007/01/01 19:19:58 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,6 +33,8 @@ use Apache::lonnet; use Apache::loncoursedata; use Apache::lonmsg; + use Apache::longroup; + use Apache::loncommon; use HTML::Entities; # Determine the library server's domain and hostID @@ -50,7 +52,7 @@ if (! &localenroll::run($dom)) { next; } $env{'user.domain'} = $dom; # Determine the courses - my %courses = &Apache::lonnet::courseiddump($dom,'.',1,'.','.','.',1,\@hostids); + my %courses = &Apache::lonnet::courseiddump($dom,'.',1,'.','.','.',1,\@hostids,'Course'); my %affiliates = (); my %enrollvar = (); my %reply = (); @@ -136,10 +138,16 @@ if ($changecount > 0) { unless ($enrollvar{$crs}{notifylist} eq '') { # Send message about enrollment changes to notifylist. -# Set $env{'user.name'}, $env{'user.home'} for use by logging in lonmsg +# Set $env{'user.name'}, $env{'user.domain'}, $env{'user.home'} +# for use by logging in lonmsg unless ( ($enrollvar{$crs}{'courseowner'} eq '') || (!defined($enrollvar{$crs}{'courseowner'}) ) ) { - $env{'user.name'} = $enrollvar{$crs}{'courseowner'}; - $env{'user.home'} = &Apache::lonnet::homeserver($env{'user.name'},$dom); + if ($enrollvar{$crs}{'courseowner'} =~ /:/) { + ($env{'user.name'},$env{'user.domain'}) = split(/:/,$enrollvar{$crs}{'courseowner'}); + } else { + $env{'user.name'} = $enrollvar{$crs}{'courseowner'}; + $env{'user.domain'} = $dom; + } + $env{'user.home'} = &Apache::lonnet::homeserver($env{'user.name'},$env{'user.domain'}); my $subject = "Student enrollment changes in $enrollvar{$crs}{coursecode}"; my $message = "The following $changecount change(s) occurred in $enrollvar{$crs}{description} - $enrollvar{$crs}{coursecode} as a result of the automated classlist update:\n\n".$response; @@ -163,10 +171,11 @@ } if ( ($enrollvar{$crs}{notifylist} eq '') && ($newusermsg ne '') ) { my $subject = "New user accounts in $enrollvar{$crs}{'coursecode'}"; - my $status = &Apache::lonmsg::user_normal_msg($env{'user.name'},$dom,$subject,$newusermsg); + my $status = &Apache::lonmsg::user_normal_msg($env{'user.name'},$env{'user.domain'},$subject,$newusermsg); } delete($env{'user.name'}); delete($env{'user.home'}); + $env{'user.domain'} = $dom; } } }