--- loncom/enrollment/Autoupdate.pl 2010/03/25 04:21:32 1.17 +++ 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.17 2010/03/25 04:21:32 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 @@ -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} = ''; } }