New
PeoplePress is here. Community building for WordPress, reimagined. Fast, modern, and built for the communities you've always wanted to run.
See it live

BuddyDev

Search

How to delete all notifications for a member when he gets deleted?

  • Participant
    Level: Initiated
    Posts: 18
    Josh on #55211

    Hi,
    I have a plugin which is unfortunately very buggy and hardly maintained by the plugin author. This plugin throws a notification when a user writes a review for another user.
    The problem is, that these notifications not get deleted after a user – where the notification points to – is deleted by admin or delets himself. So other users still have notifications in their user settings or in the header and but when the click on that link a PHP error message appears cause that user doesn’t exists anymore.

    So how can I fix this? I had a look at the database and saw there were two tables regarding the notifications system, the bp_notifications and the bp_notifications_meta table.

    So my question is: Is it enough just to hook into the WP deleted_user action and delete all notifications with the same user id in the bp_notifications table?

    But does this not have influence on any other funtions of bp? And what is the bp_notifications_meta table for? Do I have to delete anything there as well?

  • Keymaster
    (BuddyDev Team)
    Posts: 25513
    Brajesh Singh on #55217

    Hi,
    Thank you for the question.

    I am sorry to hear your experience abut the plugin.

    There is not way well defined way to know which notifications belong to the deleted user. Most of the time the secondary_item_id is used for the original item id(could be the user).

    I will suggest searching for bp_notifications_add_notification in the reviews plugin to find out how they are dealing with the reviewer user id.(The user_id field in notification is for receiver user id).

    Notification meta table allows adding extra data to notifications. BuddyPress does not add any extra data. If you are using a plugin like BP Better Message, they might add some additional data in the meta table.

    Regards
    Brajesh

  • Participant
    Level: Initiated
    Posts: 18
    Josh on #55230

    Meanwhile the plugin author wrote and said, its a issue of buddypress and not his plugin. Strange.
    Anyway, I checked the notification table once again. The review plugin stores its information with the component_action column and the user id as the secondary_it_item column.

    So I hope if I write some routine which deletes all entries in this table with the related user (after_user-delete hook) I am fine and don’t destroy other things.

    What’s your opinion about that? Does any plugin has to take care of deleting data in these tables when a user gets deleted or is it a wordpress thing?

  • Keymaster
    (BuddyDev Team)
    Posts: 25513
    Brajesh Singh on #55239

    Hi Josh,
    Thank you for the reply.

    It is definitely a plugin bug. Not cleaning notifications on user delete is related to how that plugin uses notification and not related to BuddyPress. BuddyPress has no idea what is in secondary_item_id.

    You will need to use delete_user or deleted_user hook.

    Regards
    Brajesh

  • Participant
    Level: Initiated
    Posts: 18
    Josh on #55309

    I also have a lot of JS errors with this plugin.
    Do you have resources to write a better plugin which is free of bugs and well maintained? I am willing to pay for it.
    Or do you know a well programmed plugin which offers the opportunity to rate any other user on buddypress?

    My website is about dancers and I would like to have the option that dancers can rate the skills of any other dancers in case of their experience and then show a rating list in a widget.

  • Keymaster
    (BuddyDev Team)
    Posts: 25513
    Brajesh Singh on #55333

    Hi Josh,
    I am sorry, I was moving from one place to another and did not pay much attention to forums last week.

    I am sorry, I lack the time to write similar plugin currently.

    Regards
    Brajesh

You must be logged in to reply to this topic.

This topic is: not resolved