From 8d44b6a5a2965b37002efd26f23a7cfeb5109391 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Sun, 8 Nov 2009 14:33:22 +0100 Subject: Fix bug 1962: deleteuser.php regression when OpenID plugin not enabled The User_openid data object was explicitly listed as a related field to delete from in User::delete(); this class doesn't exist anymore by default since OpenID was broken out to a plugin. Added UserDeleteRelated event for plugins to add related tables to delete from at user delete time. --- classes/User.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'classes') diff --git a/classes/User.php b/classes/User.php index 96a64ccb2..b0d372be8 100644 --- a/classes/User.php +++ b/classes/User.php @@ -719,16 +719,18 @@ class User extends Memcached_DataObject function delete() { $profile = $this->getProfile(); - $profile->delete(); + if ($profile) { + $profile->delete(); + } $related = array('Fave', - 'User_openid', 'Confirm_address', 'Remember_me', 'Foreign_link', 'Invitation', 'Notice_inbox', ); + Event::handle('UserDeleteRelated', array($this, &$related)); foreach ($related as $cls) { $inst = new $cls(); -- cgit v1.2.3-54-g00ecf