version 1.45.2.3.2.1, 2017/11/03 18:55:16
|
version 1.50, 2017/02/25 20:00:36
|
Line 45 use strict;
|
Line 45 use strict;
|
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::File; |
use Apache::File; |
use Apache::lonnet; |
use Apache::lonnet; |
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); |
|
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 72 sub handler {
|
Line 70 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 90 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 107 sub handler {
|
Line 120 sub handler {
|
$switch); |
$switch); |
} else { |
} else { |
my $domain = $env{'user.domain'}; |
my $domain = $env{'user.domain'}; |
my ($headextra,$ssofile); |
my $headextra; |
if ($env{'request.sso.login'}) { |
if ($env{'request.sso.login'} |
my $londocroot = $r->dir_config('lonDocRoot'); |
&& defined($r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) { |
if ($domain =~ /^$match_domain$/) { |
if (open(my $fh,$r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) { |
if (defined($r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) { |
$headextra = join('',<$fh>); |
$ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config("lonSSOUserLogoutHeadFile_$domain")); |
close($fh); |
if ($ssofile eq $r->dir_config("lonSSOUserLogoutHeadFile_$domain")) { |
} |
if ($ssofile =~ /^\Q$londocroot\E/) { |
} |
if (open(my $fh,"<$ssofile")) { |
if ($env{'request.sso.login'} |
$headextra = join('',<$fh>); |
&& defined($r->dir_config('lonSSOUserLogoutHeadFile'))) { |
close($fh); |
if (open(my $fh,$r->dir_config('lonSSOUserLogoutHeadFile'))) { |
} |
$headextra.= join('',<$fh>); |
} |
close($fh); |
} |
|
} |
|
} |
|
if (defined($r->dir_config('lonSSOUserLogoutHeadFile'))) { |
|
$ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config('lonSSOUserLogoutHeadFile')); |
|
if ($ssofile eq $r->dir_config('lonSSOUserLogoutHeadFile')) { |
|
if ($ssofile =~ /^\Q$londocroot\E/) { |
|
if (open(my $fh,"<$ssofile")) { |
|
$headextra.= join('',<$fh>); |
|
close($fh); |
|
} |
|
} |
|
} |
|
} |
} |
} |
} |
$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 213 Due to security reasons in new web brows
|
Line 212 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 |