version 1.21, 2006/09/05 20:16:49
|
version 1.26, 2007/08/18 00:34:27
|
Line 49 sub handler {
|
Line 49 sub handler {
|
} |
} |
|
|
#check if cookie still valid |
#check if cookie still valid |
my $handle=$lonid->value; |
my $handle=&LONCAPA::clean_handle($lonid->value); |
$handle=~s/\W//g; |
|
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
if ((!-e "$lonidsdir/$handle.id") || ($handle eq '')) { |
if ((!-e "$lonidsdir/$handle.id") || ($handle eq '')) { |
$r->log_reason("Cookie $handle not valid", $r->filename); |
$r->log_reason("Cookie $handle not valid", $r->filename); |
Line 67 sub handler {
|
Line 66 sub handler {
|
$env{'user.name'}, |
$env{'user.name'}, |
$env{'user.home'}, |
$env{'user.home'}, |
"Logout $ENV{'REMOTE_ADDR'}"); |
"Logout $ENV{'REMOTE_ADDR'}"); |
|
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
|
|
|
#expire the cookie |
|
my $c = new CGI::Cookie(-name => 'lonID', |
|
-value => '', |
|
-expires => '-10y',); |
|
$r->header_out('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 92 sub handler {
|
Line 99 sub handler {
|
'li' => 'log in again', |
'li' => 'log in again', |
'pe' => 'Please either', |
'pe' => 'Please either', |
'or' => 'or'); |
'or' => 'or'); |
my $login_url = '/adm/'.($env{'request.sso.login'} ? 'roles' |
|
: 'login'); |
|
|
|
$relogmessage=(<<ENDRELOG); |
$relogmessage.=(<<ENDRELOG); |
<h1>$lt{'gb'}!</h1> |
<h1>$lt{'gb'}!</h1> |
|
ENDRELOG |
|
|
|
if (!$env{'request.sso.norelogin'}) { |
|
my $relogin_server; |
|
if ($env{'request.sso.reloginserver'}) { |
|
$relogin_server = $env{'request.sso.reloginserver'}; |
|
} |
|
my $login_url = $relogin_server.'/adm/'. |
|
($env{'request.sso.login'} ? 'roles': 'login'); |
|
|
|
$relogmessage.=(<<ENDRELOG); |
$lt{'pe'} <a href="javascript:self.close();">$lt{'cw'}</a> $lt{'or'} |
$lt{'pe'} <a href="javascript:self.close();">$lt{'cw'}</a> $lt{'or'} |
<a href="$login_url?domain=$env{'user.domain'}">$lt{'li'}</a>. |
<a href="$login_url?domain=$env{'user.domain'}">$lt{'li'}</a>. |
ENDRELOG |
ENDRELOG |
|
|
|
} |
|
my $domain = $env{'user.domain'}; |
if ($env{'request.sso.login'} |
if ($env{'request.sso.login'} |
&& defined($r->dir_config('lonSSOUserLogoutMessageFile'))) { |
&& defined($r->dir_config("lonSSOUserLogoutMessageFile_$domain"))) { |
|
open(my $fh,$r->dir_config("lonSSOUserLogoutMessageFile_$domain")); |
|
$relogmessage.= join('',<$fh>); |
|
} |
|
if ($env{'request.sso.login'} |
|
|| defined($r->dir_config('lonSSOUserLogoutMessageFile'))) { |
open(my $fh,$r->dir_config('lonSSOUserLogoutMessageFile')); |
open(my $fh,$r->dir_config('lonSSOUserLogoutMessageFile')); |
$relogmessage.= join('',<$fh>); |
$relogmessage.= join('',<$fh>); |
} |
} |