$u->status('Deactivated') does not expire existing sessions
This commit is contained in:
parent
4078d4d417
commit
0732eef9ce
1 changed files with 16 additions and 9 deletions
|
|
@ -540,16 +540,23 @@ If specified, the status is set to this value. Possible values are 'Active', 'S
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub status {
|
sub status {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $value = shift;
|
my $value = shift;
|
||||||
if (defined $value) {
|
if (defined $value) {
|
||||||
$self->uncache;
|
$self->uncache;
|
||||||
$self->{_user}{"status"} = $value;
|
$self->{_user}{"status"} = $value;
|
||||||
$self->{_user}{"lastUpdated"} =$self->session->datetime->time();
|
$self->{_user}{"lastUpdated"} =$self->session->datetime->time();
|
||||||
$self->session->db->write("update users set status=".$self->session->db->quote($value).",
|
$self->session->db->write("update users set status=".$self->session->db->quote($value).",
|
||||||
lastUpdated=".$self->session->datetime->time()." where userId=".$self->session->db->quote($self->userId));
|
lastUpdated=".$self->session->datetime->time()." where userId=".$self->session->db->quote($self->userId));
|
||||||
}
|
if ($value eq 'Deactivated') {
|
||||||
return $self->{_user}{"status"};
|
my $rs = $self->session->db->read("select sessionId from userSession where userId=?",[$self->{_userId}]);
|
||||||
|
while (my ($id) = $rs->array) {
|
||||||
|
$self->session->db->write("delete from userSessionScratch where sessionId=?",[$id]);
|
||||||
|
}
|
||||||
|
$self->session->db->write("delete from userSession where userId=?",[$self->{_userId}]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $self->{_user}{"status"};
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue