Diff for /loncom/auth/lonlogout.pm between versions 1.49 and 1.52

version 1.49, 2015/03/12 00:50:10 version 1.52, 2017/11/30 03:35:08
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 70  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 83  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.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;
 # -------------------------------------------------------- Menu script and info  # -------------------------------------------------------- Menu script and info
Line 104  sub handler { Line 122  sub handler {
    $switch);     $switch);
     } else {      } else {
         my $domain = $env{'user.domain'};          my $domain = $env{'user.domain'};
         my $headextra;          my ($headextra,$ssofile);
         if ($env{'request.sso.login'}          if ($env{'request.sso.login'}) {
             && defined($r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) {              my $londocroot = $r->dir_config('lonDocRoot');
             if (open(my $fh,$r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) {              if ($domain =~ /^$match_domain$/) {
                 $headextra = join('',<$fh>);                  if (defined($r->dir_config("lonSSOUserLogoutHeadFile_$domain"))) {
                 close($fh);                      $ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config("lonSSOUserLogoutHeadFile_$domain"));
                       if ($ssofile eq $r->dir_config("lonSSOUserLogoutHeadFile_$domain")) {
                           if ($ssofile =~ /^\Q$londocroot\E/) {
                               if (open(my $fh,"<$ssofile")) {
                                   $headextra = join('',<$fh>);
                                   close($fh);
                               }
                           }
                       }
                   }
             }              }
         }              if (defined($r->dir_config('lonSSOUserLogoutHeadFile'))) {
         if ($env{'request.sso.login'}                  $ssofile = '/'.&Apache::loncommon::clean_path($r->dir_config('lonSSOUserLogoutHeadFile'));
             && defined($r->dir_config('lonSSOUserLogoutHeadFile'))) {                  if ($ssofile eq $r->dir_config('lonSSOUserLogoutHeadFile')) {
             if (open(my $fh,$r->dir_config('lonSSOUserLogoutHeadFile'))) {                      if ($ssofile =~ /^\Q$londocroot\E/) {
                 $headextra.= join('',<$fh>);                          if (open(my $fh,"<$ssofile")) {
                 close($fh);                              $headextra.= join('',<$fh>);
                               close($fh);
                           }
                       }
                   }
             }              }
         }          }
  $start_page=&Apache::loncommon::start_page('Logged Out',$headextra,   $start_page=&Apache::loncommon::start_page('Logged Out',$headextra,

Removed from v.1.49  
changed lines
  Added in v.1.52


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