--- loncom/enrollment/Autoupdate.pl 2010/03/21 21:06:00 1.16 +++ loncom/enrollment/Autoupdate.pl 2010/03/26 13:19:04 1.19 @@ -1,7 +1,7 @@ #!/usr/bin/perl # # Automated Userinfo update script -# $Id: Autoupdate.pl,v 1.16 2010/03/21 21:06:00 raeburn Exp $ +# $Id: Autoupdate.pl,v 1.19 2010/03/26 13:19:04 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,11 +36,11 @@ use LONCAPA; my $perlvarref = LONCAPA::Configuration::read_conf('loncapa.conf'); - my $logfile = $$perlvarref{'lonDaemons'}.'/logs/autoupdate.log'; + exit if (ref($perlvarref) ne 'HASH'); + my $logfile = $perlvarref->{'lonDaemons'}.'/logs/autoupdate.log'; + exit if ($perlvarref->{'lonRole'} ne 'library'); my $hostid = $perlvarref->{'lonHostID'}; - if (!&Apache::lonnet::is_library($hostid)) { - exit; - } + my @info = ('inststatus','lockedname','internalname','lastname', 'firstname','middlename','generation','id','permanentemail'); # Initialize language handler @@ -61,7 +61,7 @@ } next if (!$run_update); open(my $fh,">>$logfile"); - print $fh ("********************\n".localtime(time).' '.&mt('Autoupdate messages start for domain: [_1]',$dom).' --'."\n"); + print $fh ("********************\n".&Apache::lonlocal::locallocaltime(time).' '.&mt('Autoupdate messages start for domain: [_1]',$dom).' --'."\n"); # get courseIDs for domain my %courses=&Apache::lonnet::courseiddump($dom,'.',1,'.','.','.',1,[$hostid],'.'); # get user information @@ -73,7 +73,7 @@ my @cdoms = ($dom); my $dir = $Apache::lonnet::perlvar{lonUsersDir}.'/'.$dom; &descend_tree($dir,0,\%users); - foreach my $uname (keys(%users)) { + foreach my $uname (sort(keys(%users))) { next if ($courses{$dom.'_'.$uname}); my %userhash = &Apache::lonnet::userenvironment($dom,$uname,@info); my (@inststatuses); @@ -194,7 +194,7 @@ sub descend_tree { foreach my $item (@contents) { if ($depth < 4) { &descend_tree($dir.'/'.$item,$depth,$alldomusers); - } else { + } elsif (-e $dir.'/'.$item.'/passwd') { $$alldomusers{$item} = ''; } }