version 1.54, 2018/05/08 15:37:41
|
version 1.58, 2022/05/24 16:23:04
|
Line 71 sub handler {
|
Line 71 sub handler {
|
my @profile; |
my @profile; |
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"); |
if (unlink("$lonidsdir/$handle.id")) { |
if ($env{'user.linkedenv'} ne '') { |
if (($env{'user.linkedenv'} =~ /^[a-f0-9]+_linked$/) && |
my $lonhost = $r->dir_config('lonHostID'); |
(-l "$lonidsdir/$env{'user.linkedenv'}.id") && |
if ((-l $env{'user.linkedenv'}) && |
(readlink("$lonidsdir/$env{'user.linkedenv'}.id") eq "$lonidsdir/$handle.id")) { |
(readlink($env{'user.linkedenv'}) eq "$lonidsdir/$handle.id")) { |
unlink("$lonidsdir/$env{'user.linkedenv'}.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); |
} |
} |
my %temp=('logout' => time); |
my %temp=('logout' => time); |
|
my $ip = &Apache::lonnet::get_requestor_ip(); |
&Apache::lonnet::put('email_status',\%temp); |
&Apache::lonnet::put('email_status',\%temp); |
&Apache::lonnet::log($env{'user.domain'}, |
&Apache::lonnet::log($env{'user.domain'}, |
$env{'user.name'}, |
$env{'user.name'}, |
$env{'user.home'}, |
$env{'user.home'}, |
"Logout $ENV{'REMOTE_ADDR'}"); |
"Logout $ip"); |
|
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
|
|
#expire the cookie |
#expire the cookies |
my $name = 'lonID'; |
my %cookies=CGI::Cookie->parse($r->header_in('Cookie')); |
if (($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public')) { |
foreach my $name (keys(%cookies)) { |
$name = 'lonPubID'; |
next unless ($name =~ /^lon(|S|Link|Pub)ID$/); |
} |
my $c = new CGI::Cookie(-name => $name, |
my $c = new CGI::Cookie(-name => $name, |
-value => '', |
-value => '', |
-expires => '-10y',); |
-expires => '-10y',); |
$r->headers_out->add('Set-cookie' => $c); |
$r->headers_out->add('Set-cookie' => $c); |
|
if (($name eq 'lonID') && ($env{'user.linkedenv'})) { |
|
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; |
Line 192 sub handler {
|
Line 186 sub handler {
|
($env{'request.sso.login'} ? 'roles': 'login?domain='.$domain); |
($env{'request.sso.login'} ? 'roles': 'login?domain='.$domain); |
} |
} |
$relogmessage.='<p>'.&mt('You have been successfully logged out.'); |
$relogmessage.='<p>'.&mt('You have been successfully logged out.'); |
unless (($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) { |
unless ((($env{'request.lti.login'}) && ($env{'request.lti.target'} eq 'iframe')) || |
|
(($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self'))) { |
$relogmessage.=' '.&mt('You can [_1]close this window[_2] now.', |
$relogmessage.=' '.&mt('You can [_1]close this window[_2] now.', |
'',''); # ,'<a href="javascript:self.close();">','</a>'); |
'',''); # ,'<a href="javascript:self.close();">','</a>'); |
} |
} |
Line 234 $start_page
|
Line 229 $start_page
|
$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; |
} |
} |