version 1.348, 2003/03/24 14:18:58
|
version 1.349, 2003/03/24 18:18:09
|
Line 74 use HTTP::Headers;
|
Line 74 use HTTP::Headers;
|
use vars |
use vars |
qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom |
qw(%perlvar %hostname %homecache %badServerCache %hostip %iphost %spareid %hostdom |
%libserv %pr %prp %metacache %packagetab %titlecache |
%libserv %pr %prp %metacache %packagetab %titlecache |
%courselogs %accesshash $processmarker $dumpcount |
%courselogs %accesshash %userrolehash $processmarker $dumpcount |
%coursedombuf %coursehombuf %courseresdatacache |
%coursedombuf %coursehombuf %courseresdatacache |
%domaindescription %domain_auth_def %domain_auth_arg_def $tmpdir); |
%domaindescription %domain_auth_def %domain_auth_arg_def $tmpdir); |
use IO::Socket; |
use IO::Socket; |
Line 1054 sub flushcourselogs {
|
Line 1054 sub flushcourselogs {
|
delete $accesshash{$entry}; |
delete $accesshash{$entry}; |
} |
} |
} |
} |
|
&logthis('Flushing role logs'); |
|
foreach (keys %userrolehash) { |
|
my $entry=$_; |
|
my ($role,$uname,$udom,$runame,$rudom)= |
|
split(/\:/,$entry); |
|
if (&Apache::lonnet::put('nohist_userroles', |
|
{ $role.':'.$uname.':'.$udom => $userrolehash{$entry} }, |
|
$rudom,$runame) eq 'ok') { |
|
delete $userrolehash{$entry}; |
|
} |
|
} |
$dumpcount++; |
$dumpcount++; |
} |
} |
|
|
Line 1102 sub countacc {
|
Line 1113 sub countacc {
|
$accesshash{$key}=1; |
$accesshash{$key}=1; |
} |
} |
} |
} |
|
|
|
sub userrolelog { |
|
my ($trole,$username,$domain,$area,$tstart,$tend)=@_; |
|
if (($trole=~/^ca/) || ($trole=~/^in/) || |
|
($trole=~/^cc/) || ($trole=~/^ep/) || |
|
($trole=~/^cr/)) { |
|
my (undef,$rudom,$runame)=split(/\//,$area); |
|
$userrolehash{$trole.':'.$username.':'.$domain.':'.$runame.':'.$rudom} |
|
=$tend.':'.$tstart; |
|
} |
|
} |
# ----------------------------------------------------------- Check out an item |
# ----------------------------------------------------------- Check out an item |
|
|
sub checkout { |
sub checkout { |
Line 1707 sub rolesinit {
|
Line 1728 sub rolesinit {
|
my ($trole,$tend,$tstart)=split(/_/,$role); |
my ($trole,$tend,$tstart)=split(/_/,$role); |
$userroles.='user.role.'.$trole.'.'.$area.'='. |
$userroles.='user.role.'.$trole.'.'.$area.'='. |
$tstart.'.'.$tend."\n"; |
$tstart.'.'.$tend."\n"; |
|
# log the associated role with the area |
|
&userrolelog($trole,$username,$domain,$area,$tstart,$tend); |
if ($tend!=0) { |
if ($tend!=0) { |
if ($tend<$now) { |
if ($tend<$now) { |
$trole=''; |
$trole=''; |
Line 2465 sub assignrole {
|
Line 2488 sub assignrole {
|
$command.='_0_'.$start; |
$command.='_0_'.$start; |
} |
} |
} |
} |
return &reply($command,&homeserver($uname,$udom)); |
my $answer=&reply($command,&homeserver($uname,$udom)); |
|
if ($answer eq 'ok') { |
|
&userrolelog($mrole,$uname,$udom,$url,$start,$end); |
|
} |
|
return $answer; |
} |
} |
|
|
# -------------------------------------------------- Modify user authentication |
# -------------------------------------------------- Modify user authentication |