Diff for /loncom/auth/lonauth.pm between versions 1.114 and 1.117

version 1.114, 2011/06/11 17:50:35 version 1.117, 2011/08/09 01:35:31
Line 415  sub handler { Line 415  sub handler {
  }   }
     }      }
   
     unless (&check_can_host($r,\%form,$authhost)) {      my ($is_balancer,$otherserver) = 
         return OK;          &Apache::lonnet::check_loadbalancing($form{'uname'},$form{'udom'});
     }  
   
     if ($r->dir_config("lonBalancer") eq 'yes') {      if ($is_balancer) {
  &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',undef,          if (!$otherserver) { 
  \%form);              ($otherserver) = &Apache::lonnet::choose_server($form{'udom'});
         my $otherserver = &Apache::lonnet::spareserver(30000,undef,1,$form{'udom'});          }
  $r->internal_redirect('/adm/switchserver?otherserver='.$otherserver.'&origurl='.$firsturl);          if ($otherserver) {
               &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',undef,
                        \%form);
       $r->internal_redirect('/adm/switchserver?otherserver='.$otherserver.'&origurl='.$firsturl);
           } else {
               $r->print(&noswitch());
           }
         return OK;          return OK;
     } else {      } else {
           if (!&check_can_host($r,\%form,$authhost)) {
               my $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);
               } else {
                   $r->print(&noswitch());
               }
               return OK;
           }
   
 # ------------------------------------------------------- Do the load balancing  # ------------------------------------------------------- Do the load balancing
   
 # ---------------------------------------------------------- Determine own load  # ---------------------------------------------------------- Determine own load
Line 442  sub handler { Line 459  sub handler {
 # ---------------------------------------------------------- Are we overloaded?  # ---------------------------------------------------------- Are we overloaded?
         if ((($userloadpercent>100.0)||($loadpercent>100.0))) {          if ((($userloadpercent>100.0)||($loadpercent>100.0))) {
             my $unloaded=Apache::lonnet::spareserver($loadpercent,$userloadpercent,1,$form{'udom'});              my $unloaded=Apache::lonnet::spareserver($loadpercent,$userloadpercent,1,$form{'udom'});
               if (!$unloaded) {
                   $unloaded = &Apache::lonnet::choose_server($form{'udom'});
               }
             if ($unloaded) {              if ($unloaded) {
                 &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',                  &success($r,$form{'uname'},$form{'udom'},$authhost,'noredirect',
                          undef,\%form);                           undef,\%form);
Line 487  sub check_can_host { Line 507  sub check_can_host {
     }      }
     unless ($canhost) {      unless ($canhost) {
         if ($authhost eq 'no_account_on_host') {          if ($authhost eq 'no_account_on_host') {
             my ($login_host,$hostname) = &Apache::lonnet::choose_server($udom);              my $checkloginvia = 1;
               my ($login_host,$hostname) = 
                   &Apache::lonnet::choose_server($udom,$checkloginvia);
             &Apache::loncommon::content_type($r,'text/html');              &Apache::loncommon::content_type($r,'text/html');
             $r->send_http_header;              $r->send_http_header;
             if ($login_host ne '') {              if ($login_host ne '') {
Line 517  sub check_can_host { Line 539  sub check_can_host {
     return $canhost;      return $canhost;
 }  }
   
   sub noswitch {
       my $result = &Apache::loncommon::start_page('Access to LON-CAPA unavailable').
                    '<h3>'.&mt('Session unavailable').'</h3>'.
                    &mt('This LON-CAPA server is unable to host your session.').'<br />'.
                    '<p>'.&mt('Currently no other LON-CAPA server is available to host your session either.').'</p>'.
                    &Apache::loncommon::end_page();
       return $result;
   }
   
 1;  1;
 __END__  __END__
   

Removed from v.1.114  
changed lines
  Added in v.1.117


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>