From 6f397be60b622df6d9fd03240702ce5e08ede2a8 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Thu, 18 May 2006 03:16:23 +0000 Subject: [PATCH] fix [ 1490336 ] all versions - deleting a user fails to existing sessions --- docs/changelog/6.x.x.txt | 1 + lib/WebGUI/User.pm | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 4046012fb..0dcd9663a 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -32,6 +32,7 @@ - fix [ 1489528 ] HTTP header contains invalid time-stamp - Added the quick() convenience method to WebGUI::Session. - fix [ 1487054 ] 6.99 Orphaning ads in AdSpace + - fix [ 1490336 ] all versions - deleting a user fails to existing sessions 6.99.0 diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm index d18609642..a9de6e200 100644 --- a/lib/WebGUI/User.pm +++ b/lib/WebGUI/User.pm @@ -148,6 +148,11 @@ sub delete { require WebGUI::Operation::Auth; my $authMethod = WebGUI::Operation::Auth::getInstance($self->session,$self->authMethod,$self->{_userId}); $authMethod->deleteParams($self->{_userId}); + 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}]); $self->session->db->write("delete from userProfileData where userId=?",[$self->{_userId}]); $self->session->db->write("delete from users where userId=?",[$self->{_userId}]); }