--- loncom/auth/lonlogout.pm 2008/11/25 14:19:07 1.36 +++ loncom/auth/lonlogout.pm 2011/10/02 12:09:57 1.42.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network # Logout Handler # -# $Id: lonlogout.pm,v 1.36 2008/11/25 14:19:07 jms Exp $ +# $Id: lonlogout.pm,v 1.42.2.1 2011/10/02 12:09:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -98,24 +98,40 @@ sub handler { my $relogmessage=''; if ($env{'form.handover'}) { $switch=''; + $env{'form.handover'}.'" />'; $start_page=&Apache::loncommon::start_page('Switching Server ...', $switch); } else { $start_page=&Apache::loncommon::start_page('Logged Out',undef, - {'no_inline_link' => 1,}); + {'no_inline_link' => 1, + 'no_nav_bar' => 1,}); $relogmessage.='

'.&mt('Goodbye').'

' .'

'.&mt('Thank you for using LON-CAPA.').'

'; + my $domain = $env{'user.domain'}; if (!$env{'request.sso.norelogin'}) { - my $relogin_server; + my ($relogin_server,$login_url); if ($env{'request.sso.reloginserver'}) { $relogin_server = $env{'request.sso.reloginserver'}; - } - my $login_url = $relogin_server.'/adm/'. - ($env{'request.sso.login'} ? 'roles': 'login'); - + } else { + my %domdefaults = &Apache::lonnet::get_domain_defaults($domain); + if ($domdefaults{'portal_def'}) { + $login_url = $domdefaults{'portal_def'}; + } else { + my $checkloginvia = 1; + my ($lonhost,$server,$path) = + &Apache::lonnet::choose_server($domain,$checkloginvia); + if ($server && $lonhost) { + $login_url = $Apache::lonnet::protocol{$lonhost}. + '://'.$server.$path; + } + } + } + if ($login_url eq '') { + $login_url = $relogin_server.'/adm/'. + ($env{'request.sso.login'} ? 'roles': 'login?domain='.$domain); + } $relogmessage.='

'.&mt('You have been successfully logged out.').' ' .&mt('You can [_1]close this window[_2] now.' ,'','') # ,'','') @@ -130,10 +146,9 @@ Due to security reasons in new web brows =cut $relogmessage.='

'.&mt('[_1]Log in again[_2]' - ,'','') + ,'','') .'

'; } - my $domain = $env{'user.domain'}; if ($env{'request.sso.login'} && defined($r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { open(my $fh,$r->dir_config("lonSSOUserLogoutMessageFile_$domain"));