diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm index 051a9e86b..6d7fab834 100644 --- a/lib/WebGUI/User.pm +++ b/lib/WebGUI/User.pm @@ -58,7 +58,8 @@ sub _create { my $userId = shift || $session->id->generate(); $session->db->write("insert into users (userId,dateCreated) values (".$session->db->quote($userId).",".$session->datetime->time().")"); require WebGUI::Grouping; - $group->addUsers([$userId],[2,7]); + WebGUI::Group->new([2])->addUsers([$userId]); + WebGUI::Group->new([7])->addUsers([$userId]); return $userId; } @@ -136,21 +137,16 @@ Deletes this user. sub delete { my $self = shift; - $self->uncache; + $self->uncache; require WebGUI::Operation::Auth; $self->session->db->write("delete from users where userId=".$self->session->db->quote($self->{_userId})); $self->session->db->write("delete from userProfileData where userId=".$self->session->db->quote($self->{_userId})); - require WebGUI::Grouping; - $group->deleteUsers([$self->{_userId}],$self->session->user->getGroups($self->{_userId})); + foreach my $groupId (@{$self->session->user->getGroups($self->userId)}) { + WebGUI::Group->new($groupId)->deleteUsers([$self->userId]); + } $self->session->db->write("delete from messageLog where userId=".$self->session->db->quote($self->{_userId})); - my $authMethod = WebGUI::Operation::Auth::getInstance($self->authMethod,$self->{_userId}); $authMethod->deleteParams($self->{_userId}); - my $sth = $self->session->db->read("select sessionId from userSession where userId=".$self->session->db->quote($self->{_userId})); - while (my ($sid) = $sth->array) { - WebGUI::Session::end($sid); - } - $sth->finish; } #------------------------------------------------------------------- @@ -169,8 +165,9 @@ sub deleteFromGroups { my $self = shift; my $groups = shift; $self->uncache; - require WebGUI::Grouping; - $group->deleteUsers([$self->userId],$groups); + foreach my $groupId (@{$groups}) { + WebGUI::Group->new($groupId)->deleteUsers([$self->userId]); + } } #-------------------------------------------------------------------