public function userModel_beforeDeleteUser_handler($Sender)
{
$UserID = val('UserID', $Sender->EventArguments);
$Options = val('Options', $Sender->EventArguments, array());
$Options = is_array($Options) ? $Options : array();
$DeleteMethod = val('DeleteMethod', $Options, 'delete');
if ($DeleteMethod == 'delete') {
$Sender->SQL->delete('Conversation', array('InsertUserID' => $UserID));
$Sender->SQL->delete('Conversation', array('UpdateUserID' => $UserID));
$Sender->SQL->delete('UserConversation', array('UserID' => $UserID));
$Sender->SQL->delete('ConversationMessage', array('InsertUserID' => $UserID));
} elseif ($DeleteMethod == 'wipe') {
$Sender->SQL->update('ConversationMessage')->set('Body', t('The user and all related content has been deleted.'))->set('Format', 'Deleted')->where('InsertUserID', $UserID)->put();
}
// Remove the user's profile information related to this application
$Sender->SQL->update('User')->set('CountUnreadConversations', 0)->where('UserID', $UserID)->put();
}