--- loncom/enrollment/Autoupdate.pl 2007/06/05 23:23:01 1.10 +++ loncom/enrollment/Autoupdate.pl 2007/11/15 21:24:56 1.11 @@ -1,7 +1,7 @@ #!/usr/bin/perl # # Automated Userinfo update script -# $Id: Autoupdate.pl,v 1.10 2007/06/05 23:23:01 raeburn Exp $ +# $Id: Autoupdate.pl,v 1.11 2007/11/15 21:24:56 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -31,6 +31,7 @@ use Apache::lonnet; use Apache::loncommon; use Apache::lonlocal; + use Apache::lonuserutils(); use LONCAPA::Configuration; use LONCAPA; @@ -135,7 +136,8 @@ my ($cnum,$cdom,$role) = split(/:/,$item); my ($start,$end) = split(/:/,$roleshash{$item}); if (&Apache::lonnet::is_course($cdom,$cnum)) { - my $result = &update_classlist($cdom,$cnum,$dom,$uname,\%userupdate); + my $result = + &Apache::lonuserutils::update_classlist($cdom,$cnum,$dom,$uname,\%userupdate); if ($result eq 'ok') { print $fh "Classlist change: $uname:$dom - class -> $cnum:$cdom\n"; } else { @@ -195,42 +197,6 @@ sub descend_tree { } } -sub update_classlist { - my ($cdom,$cnum,$udom,$uname,$user) = @_; - my ($uid,$fullname,$classlistentry); - my $fullname = - &Apache::lonnet::format_name($user->{'firstname'},$user->{'middlename'}, - $user->{'lastname'},$user->{'generation'}, - 'lastname'); - my %classhash = &Apache::lonnet::get('classlist',[$uname.':'.$udom], - $cdom,$cnum); - my @classinfo = split(/:/,$classhash{$uname.':'.$udom}); - my $ididx=&Apache::loncoursedata::CL_ID() - 2; - my $nameidx=&Apache::loncoursedata::CL_FULLNAME() - 2; - for (my $i=0; $i<@classinfo; $i++) { - if ($i == $ididx) { - if (defined($user->{'id'})) { - $classlistentry .= $user->{'id'}.':'; - } else { - $classlistentry .= $classinfo[$i].':'; - } - } elsif ($i == $nameidx) { - $classlistentry .= $fullname.':'; - } else { - $classlistentry .= $classinfo[$i].':'; - } - } - $classlistentry =~ s/:$//; - my $reply=&Apache::lonnet::cput('classlist', - {"$uname:$udom" => $classlistentry}, - $cdom,$cnum); - if (($reply eq 'ok') || ($reply eq 'delayed')) { - return 'ok'; - } else { - return 'error: '.$reply; - } -} - sub affiliations_check { my ($userhash,$insthashref) = @_; my (@inststatuses,$insttypechg);;