version 1.158.2.8, 2019/08/01 14:21:37
|
version 1.158.2.10, 2020/10/24 19:49:06
|
Line 76 sub handler {
|
Line 76 sub handler {
|
&Apache::lonlocal::get_language_handle($r); |
&Apache::lonlocal::get_language_handle($r); |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
if ($expirepub) { |
if ($expirepub) { |
my $c = new CGI::Cookie(-name => 'lonID', |
my $c = new CGI::Cookie(-name => 'lonPubID', |
-value => '', |
-value => '', |
-expires => '-10y',); |
-expires => '-10y',); |
$r->header_out('Set-cookie' => $c); |
$r->header_out('Set-cookie' => $c); |
} elsif (($handle eq '') && ($userdom ne '')) { |
} elsif (($handle eq '') && ($userdom ne '')) { |
my $c = new CGI::Cookie(-name => 'lonID', |
my %cookies=CGI::Cookie->parse($r->header_in('Cookie')); |
-value => '', |
foreach my $name (keys(%cookies)) { |
-expires => '-10y',); |
next unless ($name =~ /^lon(|S|Link|Pub)ID$/); |
$r->headers_out->add('Set-cookie' => $c); |
my $c = new CGI::Cookie(-name => $name, |
|
-value => '', |
|
-expires => '-10y',); |
|
$r->headers_out->add('Set-cookie' => $c); |
|
} |
} |
} |
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
Line 324 sub handler {
|
Line 328 sub handler {
|
&Apache::lonnet::logthis('No valid logtoken for log-in page -- unable to determine hostname for hostID: '.$lonhost.'. Check entry in hosts.tab'); |
&Apache::lonnet::logthis('No valid logtoken for log-in page -- unable to determine hostname for hostID: '.$lonhost.'. Check entry in hosts.tab'); |
} |
} |
my $spares=''; |
my $spares=''; |
my $last; |
my (@sparehosts,%spareservers); |
foreach my $hostid (sort |
my $sparesref = &Apache::lonnet::this_host_spares($defdom); |
{ |
if (ref($sparesref) eq 'HASH') { |
&Apache::lonnet::hostname($a) cmp |
foreach my $key (keys(%{$sparesref})) { |
&Apache::lonnet::hostname($b); |
if (ref($sparesref->{$key}) eq 'ARRAY') { |
} |
my @sorted = sort { &Apache::lonnet::hostname($a) cmp |
keys(%Apache::lonnet::spareid)) { |
&Apache::lonnet::hostname($b); |
|
} @{$sparesref->{$key}}; |
|
if (@sorted) { |
|
if ($key eq 'primary') { |
|
unshift(@sparehosts,@sorted); |
|
} elsif ($key eq 'default') { |
|
push(@sparehosts,@sorted); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
foreach my $hostid (@sparehosts) { |
next if ($hostid eq $lonhost); |
next if ($hostid eq $lonhost); |
my $hostname = &Apache::lonnet::hostname($hostid); |
my $hostname = &Apache::lonnet::hostname($hostid); |
next if (($last eq $hostname) || ($hostname eq '')); |
next if (($hostname eq '') || ($spareservers{$hostname})); |
$spares.='<br /><font size="+1"><a href="http://'. |
$spareservers{$hostname} = 1; |
|
my $protocol = $Apache::lonnet::protocol{$hostid}; |
|
$protocol = 'http' if ($protocol ne 'https'); |
|
$spares.='<br /><span style="font-size: larger;"><a href="'.$protocol.'://'. |
$hostname. |
$hostname. |
'/adm/login?domain='.$authdomain.'">'. |
'/adm/login?domain='.$authdomain.'">'. |
$hostname.'</a>'. |
$hostname.'</a>'. |
' '.&mt('(preferred)').'</font>'.$/; |
' '.&mt('(preferred)').'</span>'.$/; |
$last=$hostname; |
|
} |
} |
if ($spares) { |
if ($spares) { |
$spares.= '<br />'; |
$spares.= '<br />'; |
Line 351 sub handler {
|
Line 369 sub handler {
|
&Apache::lonnet::hostname($b); |
&Apache::lonnet::hostname($b); |
} |
} |
keys(%all_hostnames)) { |
keys(%all_hostnames)) { |
next if ($hostid eq $lonhost || $Apache::lonnet::spareid{$hostid}); |
next if ($hostid eq $lonhost); |
my $hostname = &Apache::lonnet::hostname($hostid); |
my $hostname = &Apache::lonnet::hostname($hostid); |
next if (($last eq $hostname) || ($hostname eq '')); |
next if (($hostname eq '') || ($spareservers{$hostname})); |
$spares.='<br /><a href="http://'. |
my $protocol = $Apache::lonnet::protocol{$hostid}; |
|
$protocol = 'http' if ($protocol ne 'https'); |
|
$spares.='<br /><a href="'.$protocol.'://'. |
$hostname. |
$hostname. |
'/adm/login?domain='.$authdomain.'">'. |
'/adm/login?domain='.$authdomain.'">'. |
$hostname.'</a>'; |
$hostname.'</a>'; |
$last=$hostname; |
|
} |
} |
$r->print( |
$r->print( |
'<html>' |
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' |
.'<head><title>' |
.'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' |
|
.'<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>' |
.&mt('The LearningOnline Network with CAPA') |
.&mt('The LearningOnline Network with CAPA') |
.'</title></head>' |
.'</title></head>' |
.'<body bgcolor="#FFFFFF">' |
.'<body bgcolor="#FFFFFF">' |
.'<h1>'.&mt('The LearningOnline Network with CAPA').'</h1>' |
.'<h1>'.&mt('The LearningOnline Network with CAPA').'</h1>' |
.'<img src="/adm/lonKaputt/lonlogo_broken.gif" align="right" />' |
.'<img src="/adm/lonKaputt/lonlogo_broken.gif" alt="broken icon" align="right" />' |
.'<h3>'.&mt('This LON-CAPA server is temporarily not available for login.').'</h3>'); |
.'<h3>'.&mt('This LON-CAPA server is temporarily not available for login.').'</h3>'); |
if ($spares) { |
if ($spares) { |
$r->print('<p>'.&mt('Please attempt to login to one of the following servers:') |
$r->print('<p>'.&mt('Please attempt to login to one of the following servers:') |