package EnsEMBL::Web::Command::Account::LogOut;
use strict;
use warnings;
use Class::Std;
use EnsEMBL::Web::RegObj;
use base 'EnsEMBL::Web::Command';
{
sub process {
my $self = shift;
my $object = $self->object;
my $url = $object->param('_referer') || '/Account/Login';
## setting a (blank) expired cookie deletes the current one
my $SD = $EnsEMBL::Web::RegObj::ENSEMBL_WEB_REGISTRY->species_defs;
my $user_cookie = EnsEMBL::Web::Cookie->new({
'host' => $SD->ENSEMBL_COOKIEHOST,
'name' => $SD->ENSEMBL_USER_COOKIE,
'value' => '',
'env' => 'ENSEMBL_USER_ID',
'hash' => {
'offset' => $SD->ENSEMBL_ENCRYPT_0,
'key1' => $SD->ENSEMBL_ENCRYPT_1,
'key2' => $SD->ENSEMBL_ENCRYPT_2,
'key3' => $SD->ENSEMBL_ENCRYPT_3,
'expiry' => $SD->ENSEMBL_ENCRYPT_EXPIRY,
'refresh' => $SD->ENSEMBL_ENCRYPT_REFRESH
}
});
my $r = Apache2::RequestUtil->request();
$user_cookie->clear($r);
$object->redirect($url);
}
}
1;