version 1.27, 2007/05/15 06:19:53
|
version 1.32, 2010/08/19 22:36:59
|
Line 52
|
Line 52
|
foreach my $dom (@domains) { |
foreach my $dom (@domains) { |
#only run if configured to |
#only run if configured to |
my $run_enroll = 0; |
my $run_enroll = 0; |
my $settings; |
my $domsettings; |
my %domconfig = |
my %domconfig = |
&Apache::lonnet::get_dom('configuration',['autoenroll'],$dom); |
&Apache::lonnet::get_dom('configuration',['autoenroll'],$dom); |
if (ref($domconfig{'autoenroll'}) eq 'HASH') { |
if (ref($domconfig{'autoenroll'}) eq 'HASH') { |
$settings = $domconfig{'autoenroll'}; |
$domsettings = $domconfig{'autoenroll'}; |
if ($settings->{'run'} eq '1') { |
if ($domsettings->{'run'} eq '1') { |
$run_enroll = 1; |
$run_enroll = 1; |
} |
} |
} else { |
} else { |
Line 75
|
Line 75
|
my %reply = (); |
my %reply = (); |
my %LC_code = (); |
my %LC_code = (); |
foreach my $key (sort keys %courses) { |
foreach my $key (sort keys %courses) { |
my $crs; |
my %args = ( |
if ($key =~ m/^($dom)_(\w+)$/) { |
one_time => 1, |
$crs = $2; |
); |
} |
|
|
|
# Get course settings |
# Get course settings |
my %settings = &Apache::lonnet::dump('environment',$dom,$crs); |
my %settings = &Apache::lonnet::coursedescription($key,\%args); |
|
my $crs = $settings{'num'}; |
|
next if ($settings{'domain'} ne $dom); |
%{$enrollvar{$crs}} = (); |
%{$enrollvar{$crs}} = (); |
@{$affiliates{$crs}} = (); |
@{$affiliates{$crs}} = (); |
%{$LC_code{$crs}} = (); |
%{$LC_code{$crs}} = (); |
Line 117
|
Line 117
|
if ($sec =~ m/^(\w+):(\w*)$/ ) { |
if ($sec =~ m/^(\w+):(\w*)$/ ) { |
my $course_id = $enrollvar{$crs}{coursecode}.$1; |
my $course_id = $enrollvar{$crs}{coursecode}.$1; |
my $gp = $2; |
my $gp = $2; |
if (!grep/^$course_id$/,@{$affiliates{$crs}}) { |
if (!grep/^\Q$course_id\E$/,@{$affiliates{$crs}}) { |
push @{$affiliates{$crs}}, $course_id; |
push @{$affiliates{$crs}}, $course_id; |
$LC_code{$crs}{$course_id} = $gp; |
$LC_code{$crs}{$course_id} = $gp; |
} |
} |
Line 127
|
Line 127
|
if ($xlist =~ m/^([^:]+):(\w*)$/) { |
if ($xlist =~ m/^([^:]+):(\w*)$/) { |
my $course_id = $1; |
my $course_id = $1; |
my $gp = $2; |
my $gp = $2; |
if (!grep/^$course_id$/,@{$affiliates{$crs}}) { |
if (!grep/^\Q$course_id\E$/,@{$affiliates{$crs}}) { |
push @{$affiliates{$crs}}, $course_id; |
push @{$affiliates{$crs}}, $course_id; |
$LC_code{$crs}{$course_id} = $gp; |
$LC_code{$crs}{$course_id} = $gp; |
} |
} |
Line 148
|
Line 148
|
if ($reply{$crs} > 0) { |
if ($reply{$crs} > 0) { |
if ( ($enrollvar{$crs}{autostart} < $timenow) && ( ($enrollvar{$crs}{autoend} > $timenow) || ($enrollvar{$crs}{autoend} == 0) ) ) { |
if ( ($enrollvar{$crs}{autostart} < $timenow) && ( ($enrollvar{$crs}{autoend} > $timenow) || ($enrollvar{$crs}{autoend} == 0) ) ) { |
if (($enrollvar{$crs}{autoadds} == 1) || ($enrollvar{$crs}{autodrops} == 1)) { |
if (($enrollvar{$crs}{autoadds} == 1) || ($enrollvar{$crs}{autodrops} == 1)) { |
my ($changecount,$response) = &LONCAPA::Enrollment::update_LC($dom,$crs,$enrollvar{$crs}{autoadds},$enrollvar{$crs}{autodrops},$enrollvar{$crs}{startdate},$enrollvar{$crs}{enddate},$enrollvar{$crs}{authtype},$enrollvar{$crs}{autharg},\@{$affiliates{$crs}},\%{$LC_code{$crs}},\$logmsg,\$newusermsg,'automated'); |
my ($changecount,$response) = &LONCAPA::Enrollment::update_LC($dom,$crs,$enrollvar{$crs}{autoadds},$enrollvar{$crs}{autodrops},$enrollvar{$crs}{startdate},$enrollvar{$crs}{enddate},$enrollvar{$crs}{authtype},$enrollvar{$crs}{autharg},$affiliates{$crs},$LC_code{$crs},\$logmsg,\$newusermsg,'automated'); |
print $fh &mt('Messages start for [_1]',$crs)."\n"; |
print $fh &mt('Messages start for [_1]',$crs)."\n"; |
print $fh "$logmsg\n"; |
print $fh "$logmsg\n"; |
print $fh &mt('Messages end for [_1]',$crs)."\n"; |
print $fh &mt('Messages end for [_1]',$crs)."\n"; |
Line 166
|
Line 166
|
$ownerdom = $dom; |
$ownerdom = $dom; |
} |
} |
} |
} |
if (($settings->{'sender_uname'} ne '') && |
$env{'user.name'} = $ownername; |
($settings->{'sender_domain'} ne '')) { |
$env{'user.domain'} = $ownerdom; |
$env{'user.name'} = $settings->{'sender_uname'}; |
if (ref($domsettings) eq 'HASH') { |
$env{'user.domain'} = $settings->{'sender_domain'}; |
if (($domsettings->{'sender_uname'} ne '') && |
} else { |
($domsettings->{'sender_domain'} ne '')) { |
$env{'user.name'} = $ownername; |
$env{'user.name'} = $domsettings->{'sender_uname'}; |
$env{'user.domain'} = $ownerdom; |
$env{'user.domain'} = $domsettings->{'sender_domain'}; |
|
} |
} |
} |
if ($enrollvar{$crs}{notifylist} eq '') { |
if ($enrollvar{$crs}{notifylist} eq '') { |
if ($newusermsg ne '') { |
if ($newusermsg ne '') { |
Line 183
|
Line 184
|
} |
} |
} |
} |
} else { |
} else { |
|
$env{'form.can_reply'} = 'N'; |
my $msgcc; |
my $msgcc; |
# Send message about enrollment changes to notifylist. |
# Send message about enrollment changes to notifylist. |
$env{'user.home'} = &Apache::lonnet::homeserver($env{'user.name'},$env{'user.domain'}); |
$env{'user.home'} = &Apache::lonnet::homeserver($env{'user.name'},$env{'user.domain'}); |
Line 222
|
Line 224
|
my $status = |
my $status = |
&Apache::lonmsg::user_normal_msg($ccname,$ccdom,$subject,$message,undef,undef,undef,undef,\%sentmessage,undef,undef,undef,1,$recipid); |
&Apache::lonmsg::user_normal_msg($ccname,$ccdom,$subject,$message,undef,undef,undef,undef,\%sentmessage,undef,undef,undef,1,$recipid); |
} |
} |
|
delete($env{'form.can_reply'}); |
} |
} |
delete($env{'user.name'}); |
delete($env{'user.name'}); |
delete($env{'user.home'}); |
delete($env{'user.home'}); |
Line 235
|
Line 238
|
if ( ($enrollvar{$crs}{autostart} < $timenow) && ( ($enrollvar{$crs}{autoend} > $timenow) || ($enrollvar{$crs}{autoend} == 0) ) ) { |
if ( ($enrollvar{$crs}{autostart} < $timenow) && ( ($enrollvar{$crs}{autoend} > $timenow) || ($enrollvar{$crs}{autoend} == 0) ) ) { |
print $fh &mt('No institutional classlist data could be retrieved for [_1]',$crs)."\n"; |
print $fh &mt('No institutional classlist data could be retrieved for [_1]',$crs)."\n"; |
} else { |
} else { |
print $fh ('Not within time window for auto-enrollment in [_1]',$crs)."\n"; |
print $fh &mt('Not within time window for auto-enrollment in [_1]',$crs)."\n"; |
} |
} |
} else { |
} else { |
print $fh &mt('Auto-enrollment not currently enabled for [_1]',$crs)."\n"; |
print $fh &mt('Auto-enrollment not currently enabled for [_1]',$crs)."\n"; |