We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit 4b01dd8b authored by Brion Vibber's avatar Brion Vibber

Ticket #2441: fix deletion of avatars when a profile is deleted.

Code was doing a batch call to $avatar->delete() which fails to properly engage the file deletion code. Calling the existing profile->delete_avatars() function deletes them individually, which makes it all work nice again.
parent d9619258
......@@ -125,6 +125,14 @@ class Profile extends Memcached_DataObject
return $avatar;
}
/**
* Delete attached avatars for this user from the database and filesystem.
* This should be used instead of a batch delete() to ensure that files
* get removed correctly.
*
* @param boolean $original true to delete only the original-size file
* @return <type>
*/
function delete_avatars($original=true)
{
$avatar = new Avatar();
......@@ -643,9 +651,11 @@ class Profile extends Memcached_DataObject
$this->_deleteMessages();
$this->_deleteTags();
$this->_deleteBlocks();
$this->delete_avatars();
$related = array('Avatar',
'Reply',
// Warning: delete() will run on the batch objects,
// not on individual objects.
$related = array('Reply',
'Group_member',
);
Event::handle('ProfileDeleteRelated', array($this, &$related));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment