--- loncom/auth/lonlogout.pm 2012/01/08 23:24:08 1.44 +++ loncom/auth/lonlogout.pm 2015/03/12 00:47:49 1.48 @@ -1,7 +1,7 @@ # The LearningOnline Network # Logout Handler # -# $Id: lonlogout.pm,v 1.44 2012/01/08 23:24:08 raeburn Exp $ +# $Id: lonlogout.pm,v 1.48 2015/03/12 00:47:49 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -70,6 +70,9 @@ sub handler { my $lonidsdir=$r->dir_config('lonIDsDir'); &Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle); unlink("$lonidsdir/$handle.id"); + if (!$Apache::lonlocal::lh) { + &Apache::lonlocal::get_language_handle($r); + } my %temp=('logout' => time); &Apache::lonnet::put('email_status',\%temp); &Apache::lonnet::log($env{'user.domain'}, @@ -100,13 +103,28 @@ sub handler { $start_page=&Apache::loncommon::start_page('Switching Server ...', $switch); } else { - $start_page=&Apache::loncommon::start_page('Logged Out',undef, + my $domain = $env{'user.domain'}; + my $headextra; + if ($env{'request.sso.login'} + && defined($r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) { + if (open(my $fh,$r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) { + $headextra = join('',<$fh>); + close($fh); + } + } + if ($env{'request.sso.login'} + && defined($r->dir_config('lonSSOUserLogoutHeadFile'))) { + if (open(my $fh,$r->dir_config('lonSSOUserLogoutHeadFile'))) { + $headextra.= join('',<$fh>); + close($fh); + } + } + $start_page=&Apache::loncommon::start_page('Logged Out',$headextra, {'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,$login_url); if ($env{'request.sso.reloginserver'}) { @@ -124,7 +142,7 @@ sub handler { '://'.$server.$path; if (($path eq '') && (!$isredirect)) { my $serverhomeID = - &Apache::lonnet::get_server_homeID($lonhost); + &Apache::lonnet::get_server_homeID($server); my $serverhomedom = &Apache::lonnet::host_domain($serverhomeID); if ($serverhomedom ne $domain) { @@ -161,15 +179,18 @@ Due to security reasons in new web brows } if ($env{'request.sso.login'} && defined($r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { - open(my $fh,$r->dir_config("lonSSOUserLogoutMessageFile_$domain")); - $relogmessage.= join('',<$fh>); + if (open(my $fh,$r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { + $relogmessage.= join('',<$fh>); + close($fh); + } } if ($env{'request.sso.login'} && defined($r->dir_config('lonSSOUserLogoutMessageFile'))) { - open(my $fh,$r->dir_config('lonSSOUserLogoutMessageFile')); - $relogmessage.= join('',<$fh>); + if (open(my $fh,$r->dir_config('lonSSOUserLogoutMessageFile'))) { + $relogmessage.= join('',<$fh>); + close($fh); + } } - } my $end_page=&Apache::loncommon::end_page(); # --------------------------------------------------------------- Screen Output