--- loncom/auth/switchserver.pm 2007/08/25 01:24:05 1.15 +++ loncom/auth/switchserver.pm 2007/09/29 04:03:46 1.17 @@ -1,7 +1,7 @@ # The LearningOnline Network # Switch Servers Handler # -# $Id: switchserver.pm,v 1.15 2007/08/25 01:24:05 albertel Exp $ +# $Id: switchserver.pm,v 1.17 2007/09/29 04:03:46 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -62,10 +62,10 @@ sub init_env { sub do_redirect { my ($r,$url,$only_body,$extra_text) = @_; $r->send_http_header; - my $switch=''; my $start_page = - &Apache::loncommon::start_page('Switching Server ...', $switch, - {'no_inline_link' => 1, + &Apache::loncommon::start_page('Switching Server ...',undef, + {'redirect' => [0.5,$url], + 'no_inline_link' => 1, 'only_body' => $only_body,}); my $end_page = &Apache::loncommon::end_page(); $r->print($start_page.$extra_text.$end_page); @@ -83,8 +83,15 @@ sub handler { ['otherserver','role']); my $switch_to=&Apache::lonnet::hostname($env{'form.otherserver'}); - if (!$env{'form.otherserver'}) { - $env{'form.otherserver'}=&Apache::lonnet::spareserver(30000,undef,1); + if (! $env{'form.otherserver'}) { + $env{'form.otherserver'} = + &Apache::lonnet::find_existing_session($env{'user.domain'}, + $env{'user.name'}); + if (! $env{'form.otherserver'}) { + $env{'form.otherserver'} = + &Apache::lonnet::spareserver(30000,undef,1); + } + $switch_to=&Apache::lonnet::hostname($env{'form.otherserver'}); }