version 1.24, 2002/09/17 20:06:34
|
version 1.31, 2003/02/04 16:03:25
|
Line 50 sub handler {
|
Line 50 sub handler {
|
|
|
|
|
&Apache::loncommon::get_unprocessed_cgi |
&Apache::loncommon::get_unprocessed_cgi |
($ENV{'QUERY_STRING'},['interface']); |
($ENV{'QUERY_STRING'},['interface','username','domain','firsturl']); |
|
|
$ENV{'form.interface'}=~s/\W//g; |
$ENV{'form.interface'}=~s/\W//g; |
|
|
my $fullgraph=($ENV{'form.interface'} ne 'textual'); |
my $fullgraph=($ENV{'form.interface'} ne 'textual'); |
|
|
my $iconpath= $r->dir_config('lonIconsURL'); |
my $iconpath= 'http://'.$ENV{'HTTP_HOST'}.':8080'. |
|
$r->dir_config('lonIconsURL'); |
my $domain = $r->dir_config('lonDefDomain'); |
my $domain = $r->dir_config('lonDefDomain'); |
my $role = $r->dir_config('lonRole'); |
my $role = $r->dir_config('lonRole'); |
my $loadlim = $r->dir_config('lonLoadLim'); |
my $loadlim = $r->dir_config('lonLoadLim'); |
Line 66 sub handler {
|
Line 67 sub handler {
|
my $tabdir = $r->dir_config('lonTabDir'); |
my $tabdir = $r->dir_config('lonTabDir'); |
my $include = $r->dir_config('lonIncludes'); |
my $include = $r->dir_config('lonIncludes'); |
|
|
|
# --------------------------------------------- Default values for login fields |
|
|
|
my $authusername=($ENV{'form.username'}?$ENV{'form.username'}:''); |
|
my $authdomain=($ENV{'form.domain'}?$ENV{'form.domain'}:$domain); |
|
|
|
# ---------------------------------------------------------- Determine own load |
my $loadavg; |
my $loadavg; |
{ |
{ |
my $loadfile=Apache::File->new('/proc/loadavg'); |
my $loadfile=Apache::File->new('/proc/loadavg'); |
Line 74 sub handler {
|
Line 81 sub handler {
|
$loadavg =~ s/\s.*//g; |
$loadavg =~ s/\s.*//g; |
my $loadpercent=100*$loadavg/$loadlim; |
my $loadpercent=100*$loadavg/$loadlim; |
|
|
|
# ------------------------------------------------------- Do the load balancing |
my $otherserver='http://'.$ENV{'SERVER_NAME'}; |
my $otherserver='http://'.$ENV{'SERVER_NAME'}; |
my $firsturl=$ENV{'request.firsturl'}; |
my $firsturl= |
|
($ENV{'request.firsturl'}?$ENV{'request.firsturl'}:$ENV{'form.firsturl'}); |
# ---------------------------------------- Are we access server and overloaded? |
# ---------------------------------------- Are we access server and overloaded? |
if (($role eq 'access') && ($loadpercent>100.0)) { |
if (($role eq 'access') && ($loadpercent>100.0)) { |
$otherserver=Apache::lonnet::spareserver($loadpercent); |
$otherserver=Apache::lonnet::spareserver($loadpercent); |
Line 101 sub handler {
|
Line 110 sub handler {
|
my $uextkey=hex($ukey); |
my $uextkey=hex($ukey); |
if ($uextkey>2147483647) { $uextkey-=4294967296; } |
if ($uextkey>2147483647) { $uextkey-=4294967296; } |
|
|
|
# -------------------------------------------------------- Store away log token |
my $logtoken=Apache::lonnet::reply( |
my $logtoken=Apache::lonnet::reply( |
'tmpput:'.$ukey.$lkey.'&'.$firsturl, |
'tmpput:'.$ukey.$lkey.'&'.$firsturl, |
$lonhost); |
$lonhost); |
|
|
|
# ------------------- If we cannot talk to ourselves, we are in serious trouble |
|
|
|
if ($logtoken eq 'con_lost') { |
|
my $spares=''; |
|
foreach (keys %Apache::lonnet::hostname) { |
|
if ($_ ne $lonhost) { |
|
$spares.='<br /><a href="http://'.$Apache::lonnet::hostname{$_}. |
|
'/adm/login?domain='.$authdomain.'">'. |
|
$Apache::lonnet::hostname{$_}.'</a>'; |
|
if ($Apache::lonnet::spareid{$_}) { |
|
$spares.=' (preferred)'; |
|
} |
|
} |
|
} |
|
$r->print(<<ENDTROUBLE); |
|
<html> |
|
<head><title>The LearningOnline Network with CAPA</title></head> |
|
<body bgcolor="#FFFFFF"> |
|
<img src="/adm/lonKaputt/lonlogo_broken.gif" align="right" /> |
|
<h3>This LON-CAPA server is temporarily not available for login</h3> |
|
<p>Please attempt to login to one of the following servers:</p>$spares |
|
<p>If the problem persists, please contact <tt>$servadm</tt>.</p> |
|
</body> |
|
</html> |
|
ENDTROUBLE |
|
return OK; |
|
} |
|
|
|
# ----------------------------------------------- Apparently we are in business |
|
|
my $domainlogo=&Apache::loncommon::domainlogo(); |
my $domainlogo=&Apache::loncommon::domainlogo(); |
# --------------------------------------------------- Print login screen header |
# --------------------------------------------------- Print login screen header |
$r->print(<<ENDHEADER); |
$r->print(<<ENDHEADER); |
Line 134 ENDHEADER
|
Line 175 ENDHEADER
|
$r->print(<<ENDSCRIPT); |
$r->print(<<ENDSCRIPT); |
|
|
<body bgcolor="$pgbg" text="$font" link="$link" vlink="$vlink" alink="$alink" |
<body bgcolor="$pgbg" text="$font" link="$link" vlink="$vlink" alink="$alink" |
onLoad="init();" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0> |
topmargin=0 leftmargin=0 marginwidth=0 marginheight=0> |
|
|
<script language="JavaScript"> |
<script language="JavaScript"> |
function send() |
function send() |
Line 178 ENDSERVERFORM
|
Line 219 ENDSERVERFORM
|
<tr> |
<tr> |
|
|
<!-- Row 1 Columns 2-4 --> |
<!-- Row 1 Columns 2-4 --> |
<td width="100%" height=75 colspan=4 align="left" valign="top" bgcolor="#006600"><img src="$img" border=0 alt="The Learning Online Network with CAPA" /></td> |
<td width="100%" height=75 colspan=4 align="left" valign="top" bgcolor="$pgbg"><img src="$img" border=0 alt="The Learning Online Network with CAPA" /></td> |
</tr> |
</tr> |
|
|
<!-- The gray bar that starts the two table frames --> |
<!-- The gray bar that starts the two table frames --> |
Line 238 ENDTOP
|
Line 279 ENDTOP
|
<tr><td bgcolor="$sidebg" colspan=2><img src="$iconpath/userauthentication.gif" alt="User Authentication" /></td></tr> |
<tr><td bgcolor="$sidebg" colspan=2><img src="$iconpath/userauthentication.gif" alt="User Authentication" /></td></tr> |
<tr> |
<tr> |
<td bgcolor="$mainbg"><br /><font size=-1><b> User Name:</b></font></td> |
<td bgcolor="$mainbg"><br /><font size=-1><b> User Name:</b></font></td> |
<td bgcolor="$mainbg"><br /><input type="text" name="uname" size="10" /></td> |
<td bgcolor="$mainbg"><br /><input type="text" name="uname" size="10" value="$authusername" /></td> |
</tr> |
</tr> |
<tr> |
<tr> |
<td bgcolor="$mainbg"><font size=-1><b> Password:</b></font></td> |
<td bgcolor="$mainbg"><font size=-1><b> Password:</b></font></td> |
Line 246 ENDTOP
|
Line 287 ENDTOP
|
</tr> |
</tr> |
<tr> |
<tr> |
<td bgcolor="$mainbg"><font size=-1><b> Domain:</b></font></td> |
<td bgcolor="$mainbg"><font size=-1><b> Domain:</b></font></td> |
<td bgcolor="$mainbg"><input type="text" name="udom" size="10" value=$domain /></td> |
<td bgcolor="$mainbg"><input type="text" name="udom" size="10" value="$authdomain" /></td> |
</tr> |
</tr> |
<tr> |
<tr> |
<td bgcolor="$mainbg" valign="bottom" align="center" colspan=2> |
<td bgcolor="$mainbg"> <a href="/adm/loginproblems.html">Help</a></td> |
|
<td bgcolor="$mainbg" valign="bottom" align="center"> |
<br /> |
<br /> |
<input type="submit" value="Log In" /> |
<input type="submit" value="Log In" /> |
</td> |
</td> |
Line 335 $domainlogo
|
Line 377 $domainlogo
|
</tr> |
</tr> |
</table> |
</table> |
|
|
|
<script> |
|
// the if prevents the script error if the browser can't handle this |
|
if ( document.client.uname ) { document.client.uname.focus(); } |
|
</script> |
|
|
ENDDOCUMENT |
ENDDOCUMENT |
} |
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |