ConversationsHooks::userModel_beforeDeleteUser_handler PHP Method

userModel_beforeDeleteUser_handler() public method

Remove data when deleting a user.
Since: 2.0.0
    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();
    }