--- loncom/interface/loncommon.pm 2010/01/16 15:57:51 1.925.2.8 +++ loncom/interface/loncommon.pm 2010/01/18 15:44:35 1.925.2.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.925.2.8 2010/01/16 15:57:51 raeburn Exp $ +# $Id: loncommon.pm,v 1.925.2.10 2010/01/18 15:44:35 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -10703,6 +10703,7 @@ sub new_roles_update { next unless ($envkey =~ /^user\.role\./); $rolecount ++; } + my $newrolecount = 0; if (!$rolecount) { my %userenv; foreach my $crstype ('official','unofficial','community') { @@ -10726,6 +10727,7 @@ sub new_roles_update { &Apache::lonnet::set_arearole($role,$where,$tstart,$tend, $env{'user.domain'},$env{'user.name'}); $userroles{'user.role.'.$spec} = $tstart.'.'.$tend; + $newrolecount ++; unless (grep(/^\Q$role\E$/,@newroles)) { push(@newroles,$role); } @@ -10737,16 +10739,16 @@ sub new_roles_update { } } if (@newroles) { - &Apache::lonnet::appenv(\%userroles,[@newroles,'cm']); my ($author,$adv) = &Apache::lonnet::set_userprivs(\%userroles,\%allroles, \%allgroups); + &Apache::lonnet::appenv(\%userroles,[@newroles,'cm']); $userenv{'user.adv'} = $adv; $userenv{'user.author'} = $author; $userenv{'user.refresh.time'} = $refresh; } &Apache::lonnet::appenv(\%userenv); } - return; + return $newrolecount; } # --- Get the symbolic name of a problem and the url