+$welcome
-$remoteinfo -$maincall $continuelink $end_page ENDSUCCESS @@ -158,8 +157,7 @@ ENDSUCCESS sub failed { my ($r,$message,$form) = @_; - my $start_page = &Apache::loncommon::start_page('Unsuccessful Login',undef, - {'no_inline_link' => 1,}); + my $start_page = &Apache::loncommon::start_page('Unsuccessful Login',undef); my $retry = '/adm/login?username='.$form->{'uname'}. '&domain='.$form->{'udom'}; if (exists($form->{role})) { @@ -216,12 +214,12 @@ sub handler { } else { # Indeed, a valid token is found &Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle); - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; - my $start_page = - &Apache::loncommon::start_page('Already logged in'); - my $end_page = - &Apache::loncommon::end_page(); + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; + my $start_page = + &Apache::loncommon::start_page('Already logged in'); + my $end_page = + &Apache::loncommon::end_page(); my $dest = '/adm/roles'; if ($env{'form.firsturl'} ne '') { $dest = $env{'form.firsturl'}; @@ -276,8 +274,8 @@ sub handler { my $tmpinfo=Apache::lonnet::reply('tmpget:'.$form{'logtoken'}, $form{'serverid'}); - if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost') || - ($tmpinfo eq 'no_such_host')) { + if (($tmpinfo=~/^error/) || ($tmpinfo eq 'con_lost') || + ($tmpinfo eq 'no_such_host')) { &failed($r,'Information needed to verify your login information is missing, inaccessible or expired.',\%form); return OK; } else { @@ -364,11 +362,10 @@ sub handler { if (grep(/^login$/,@cancreate)) { my $domdesc = &Apache::lonnet::domain($form{'udom'},'description'); unless (&check_can_host($r,\%form,'no_account_on_host',$domdesc)) { - return OK; + return OK; } my $start_page = - &Apache::loncommon::start_page('Create a user account in LON-CAPA', - '',{'no_inline_link' => 1,}); + &Apache::loncommon::start_page('Create a user account in LON-CAPA'); my $lonhost = $r->dir_config('lonHostID'); my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'}; my $contacts = @@ -418,22 +415,24 @@ sub handler { } } - if ($r->dir_config("lonBalancer") eq 'yes') { - my $otherserver = &Apache::lonnet::spareserver(30000,undef,1,$form{'udom'}); - if (!$otherserver) { + my ($is_balancer,$otherserver) = + &Apache::lonnet::check_loadbalancing($form{'uname'},$form{'udom'}); + + if ($is_balancer) { + if (!$otherserver) { ($otherserver) = &Apache::lonnet::choose_server($form{'udom'}); } if ($otherserver) { &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',undef, \%form); - $r->internal_redirect('/adm/switchserver?otherserver='.$otherserver.'&origurl='.$firsturl); + $r->internal_redirect('/adm/switchserver?otherserver='.$otherserver.'&origurl='.$firsturl); } else { $r->print(&noswitch()); } return OK; } else { if (!&check_can_host($r,\%form,$authhost)) { - my ($otherserver) = &Apache::lonnet::choose_server($form{'udom'}); + my $otherserver = &Apache::lonnet::choose_server($form{'udom'}); if ($otherserver) { &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',undef, \%form); @@ -443,6 +442,7 @@ sub handler { } return OK; } + # ------------------------------------------------------- Do the load balancing # ---------------------------------------------------------- Determine own load @@ -460,7 +460,7 @@ sub handler { if ((($userloadpercent>100.0)||($loadpercent>100.0))) { my $unloaded=Apache::lonnet::spareserver($loadpercent,$userloadpercent,1,$form{'udom'}); if (!$unloaded) { - ($unloaded) = &Apache::lonnet::choose_server($form{'udom'}); + $unloaded = &Apache::lonnet::choose_server($form{'udom'}); } if ($unloaded) { &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect', @@ -508,7 +508,7 @@ sub check_can_host { unless ($canhost) { if ($authhost eq 'no_account_on_host') { my $checkloginvia = 1; - my ($login_host,$hostname) = + my ($login_host,$hostname) = &Apache::lonnet::choose_server($udom,$checkloginvia); &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header;