Diff for /loncom/auth/lonlogout.pm between versions 1.45.2.3.2.2 and 1.45.2.8

version 1.45.2.3.2.2, 2018/05/02 19:02:27 version 1.45.2.8, 2021/01/04 03:49:52
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'} =~ /^[a-f0-9]+_linked$/) &&
               (-l "$lonidsdir/$env{'user.linkedenv'}.id") &&
               (readlink("$lonidsdir/$env{'user.linkedenv'}.id") eq "$lonidsdir/$handle.id")) {
               unlink("$lonidsdir/$env{'user.linkedenv'}.id");
           }
       }
     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 $c = new CGI::Cookie(-name    => 'lonID',      my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));
     -value   => '',      foreach my $name (keys(%cookies)) {
     -expires => '-10y',);          next unless ($name =~ /^lon(|S|Link|Pub)ID$/);
     $r->header_out('Set-cookie' => $c);          my $c = new CGI::Cookie(-name    => $name,
                                   -value   => '',
                                   -expires => '-10y',);
           $r->headers_out->add('Set-cookie' => $c);
       }
     $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
Line 217  $windowinfo Line 227  $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; 
 }  }

Removed from v.1.45.2.3.2.2  
changed lines
  Added in v.1.45.2.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>