version 1.425, 2003/10/04 02:27:02
|
version 1.427, 2003/10/06 20:38:25
|
Line 586 sub authenticate {
|
Line 586 sub authenticate {
|
sub homeserver { |
sub homeserver { |
my ($uname,$udom,$ignoreBadCache)=@_; |
my ($uname,$udom,$ignoreBadCache)=@_; |
my $index="$uname:$udom"; |
my $index="$uname:$udom"; |
if ($homecache{$index}) { |
|
return "$homecache{$index}"; |
my ($result,$cached)=&is_cached(\%homecache,$index,'home',86400); |
} |
if (defined($cached)) { return $result; } |
my $tryserver; |
my $tryserver; |
foreach $tryserver (keys %libserv) { |
foreach $tryserver (keys %libserv) { |
next if ($ignoreBadCache ne 'true' && |
next if ($ignoreBadCache ne 'true' && |
Line 596 sub homeserver {
|
Line 596 sub homeserver {
|
if ($hostdom{$tryserver} eq $udom) { |
if ($hostdom{$tryserver} eq $udom) { |
my $answer=reply("home:$udom:$uname",$tryserver); |
my $answer=reply("home:$udom:$uname",$tryserver); |
if ($answer eq 'found') { |
if ($answer eq 'found') { |
$homecache{$index}=$tryserver; |
return &do_cache(\%homecache,$index,$tryserver,'home'); |
return $tryserver; |
|
} elsif ($answer eq 'no_host') { |
} elsif ($answer eq 'no_host') { |
$badServerCache{$tryserver}=1; |
$badServerCache{$tryserver}=1; |
} |
} |
Line 2712 sub is_on_map {
|
Line 2711 sub is_on_map {
|
} |
} |
} |
} |
|
|
|
# --------------------------------------------------------- Get symb from alias |
|
|
|
sub get_symb_from_alias { |
|
my $symb=shift; |
|
my ($map,$resid,$url)=&decode_symb($symb); |
|
# Already is a symb |
|
if ($url) { return $symb; } |
|
# Must be an alias |
|
my $aliassymb=''; |
|
my %bighash; |
|
if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
|
&GDBM_READER(),0640)) { |
|
my $rid=$bighash{'mapalias_'.$symb}; |
|
if ($rid) { |
|
my ($mapid,$resid)=split(/\./,$rid); |
|
$aliassymb= |
|
&declutter($bighash{'map_id_'.$mapid}). |
|
'___'.$resid.'___'. |
|
&declutter($bighash{'src_'.$rid}); |
|
} |
|
untie %bighash; |
|
} |
|
return $aliassymb; |
|
} |
|
|
# ----------------------------------------------------------------- Define Role |
# ----------------------------------------------------------------- Define Role |
|
|
sub definerole { |
sub definerole { |
Line 3430 sub EXT {
|
Line 3454 sub EXT {
|
#get real user name/domain, courseid and symb |
#get real user name/domain, courseid and symb |
my $courseid; |
my $courseid; |
my $publicuser; |
my $publicuser; |
|
if ($symbparm) { |
|
$symbparm=&get_symb_from_alias($symbparm); |
|
} |
if (!($uname && $udom)) { |
if (!($uname && $udom)) { |
(my $cursymb,$courseid,$udom,$uname,$publicuser)= |
(my $cursymb,$courseid,$udom,$uname,$publicuser)= |
&Apache::lonxml::whichuser($symbparm); |
&Apache::lonxml::whichuser($symbparm); |