version 1.45.2.6, 2019/08/01 14:30:27
|
version 1.51, 2017/08/18 18:13:33
|
Line 49 use Apache::loncommon;
|
Line 49 use Apache::loncommon;
|
use Apache::lonmenu; |
use Apache::lonmenu; |
use CGI::Cookie(); |
use CGI::Cookie(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use LONCAPA qw(:DEFAULT :match); |
use LONCAPA qw(:DEFAULT :match); |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 72 sub handler {
|
Line 72 sub handler {
|
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle); |
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle); |
unlink("$lonidsdir/$handle.id"); |
unlink("$lonidsdir/$handle.id"); |
|
if ($env{'user.linkedenv'} ne '') { |
|
my $lonhost = $r->dir_config('lonHostID'); |
|
if ((-l $env{'user.linkedenv'}) && |
|
(readlink($env{'user.linkedenv'}) eq "$lonidsdir/$handle.id")) { |
|
unlink($env{'user.linkedenv'}); |
|
} |
|
} |
if (!$Apache::lonlocal::lh) { |
if (!$Apache::lonlocal::lh) { |
&Apache::lonlocal::get_language_handle($r); |
&Apache::lonlocal::get_language_handle($r); |
} |
} |
Line 85 sub handler {
|
Line 92 sub handler {
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
|
|
#expire the cookie |
#expire the cookie |
my $c = new CGI::Cookie(-name => 'lonID', |
my $name = 'lonID'; |
|
if (($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public')) { |
|
$name = 'lonPubID'; |
|
} |
|
my $c = new CGI::Cookie(-name => $name, |
-value => '', |
-value => '', |
-expires => '-10y',); |
-expires => '-10y',); |
$r->header_out('Set-cookie' => $c); |
$r->headers_out->add('Set-cookie' => $c); |
|
if (($name eq 'lonID') && ($env{'user.linkeenv'})) { |
|
my $other = new CGI::Cookie(-name => 'lonLinkID', |
|
-value => '', |
|
-expires => '-10y',); |
|
$r->headers_out->add('Set-cookie' => $other); |
|
} |
$r->send_http_header; |
$r->send_http_header; |
return OK if $r->header_only; |
return OK if $r->header_only; |
# -------------------------------------------------------- Menu script and info |
# -------------------------------------------------------- Menu script and info |
|
|
my $windowinfo=&Apache::lonmenu::close(); |
|
# ---------------------------------------------------------------- Get handover |
# ---------------------------------------------------------------- Get handover |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['handover']); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['handover']); |
my $switch=''; |
my $switch=''; |
Line 115 sub handler {
|
Line 130 sub handler {
|
$ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config("lonSSOUserLogoutHeadFile_$domain")); |
$ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config("lonSSOUserLogoutHeadFile_$domain")); |
if ($ssofile eq $r->dir_config("lonSSOUserLogoutHeadFile_$domain")) { |
if ($ssofile eq $r->dir_config("lonSSOUserLogoutHeadFile_$domain")) { |
if ($ssofile =~ /^\Q$londocroot\E/) { |
if ($ssofile =~ /^\Q$londocroot\E/) { |
if (open(my $fh,'<',$ssofile)) { |
if (open(my $fh,"<$ssofile")) { |
$headextra = join('',<$fh>); |
$headextra = join('',<$fh>); |
close($fh); |
close($fh); |
} |
} |
Line 127 sub handler {
|
Line 142 sub handler {
|
$ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config('lonSSOUserLogoutHeadFile')); |
$ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config('lonSSOUserLogoutHeadFile')); |
if ($ssofile eq $r->dir_config('lonSSOUserLogoutHeadFile')) { |
if ($ssofile eq $r->dir_config('lonSSOUserLogoutHeadFile')) { |
if ($ssofile =~ /^\Q$londocroot\E/) { |
if ($ssofile =~ /^\Q$londocroot\E/) { |
if (open(my $fh,'<',$ssofile)) { |
if (open(my $fh,"<$ssofile")) { |
$headextra.= join('',<$fh>); |
$headextra.= join('',<$fh>); |
close($fh); |
close($fh); |
} |
} |
Line 136 sub handler {
|
Line 151 sub handler {
|
} |
} |
} |
} |
$start_page=&Apache::loncommon::start_page('Logged Out',$headextra, |
$start_page=&Apache::loncommon::start_page('Logged Out',$headextra, |
{'no_inline_link' => 1, |
{'no_nav_bar' => 1,}); |
'no_nav_bar' => 1,}); |
|
|
|
$relogmessage.='<h1>'.&mt('Goodbye').'</h1>' |
$relogmessage.='<h1>'.&mt('Goodbye').'</h1>' |
.'<p>'.&mt('Thank you for using LON-CAPA.').'</p>'; |
.'<p>'.&mt('Thank you for using LON-CAPA.').'</p>'; |
Line 196 Due to security reasons in new web brows
|
Line 210 Due to security reasons in new web brows
|
} |
} |
if ($env{'request.sso.login'} |
if ($env{'request.sso.login'} |
&& defined($r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { |
&& defined($r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { |
if (open(my $fh,'<',$r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { |
if (open(my $fh,$r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { |
$relogmessage.= join('',<$fh>); |
$relogmessage.= join('',<$fh>); |
close($fh); |
close($fh); |
} |
} |
} |
} |
if ($env{'request.sso.login'} |
if ($env{'request.sso.login'} |
&& defined($r->dir_config('lonSSOUserLogoutMessageFile'))) { |
&& defined($r->dir_config('lonSSOUserLogoutMessageFile'))) { |
if (open(my $fh,'<',$r->dir_config('lonSSOUserLogoutMessageFile'))) { |
if (open(my $fh,$r->dir_config('lonSSOUserLogoutMessageFile'))) { |
$relogmessage.= join('',<$fh>); |
$relogmessage.= join('',<$fh>); |
close($fh); |
close($fh); |
} |
} |
Line 213 Due to security reasons in new web brows
|
Line 227 Due to security reasons in new web brows
|
# --------------------------------------------------------------- Screen Output |
# --------------------------------------------------------------- Screen Output |
$r->print(<<ENDDOCUMENT); |
$r->print(<<ENDDOCUMENT); |
$start_page |
$start_page |
$windowinfo |
|
$relogmessage |
$relogmessage |
$end_page |
$end_page |
ENDDOCUMENT |
ENDDOCUMENT |
if ($env{'request.balancercookie'}) { |
|
my ($balancer,$cookie) = split(/:/,$env{'request.balancercookie'}); |
|
if ((&Apache::lonnet::hostname($balancer)) && ($cookie =~ /^[a-f0-9]{32}$/)) { |
|
$cookie = $env{'user.domain'}.'_'.$env{'user.name'}.'_'.$cookie; |
|
&Apache::lonnet::delbalcookie($cookie,$balancer); |
|
} |
|
} |
|
$r->register_cleanup(\&flush_course_logs); |
$r->register_cleanup(\&flush_course_logs); |
return OK; |
return OK; |
} |
} |