sobrenome Posted October 6, 2013 Posted October 6, 2013 In the current ips software we have the option to exclude a member and delete all its posts. But we still have members' comments, articles, databases records, events, blogs entries, galleries, etc. The new system should give the admin the power to delete all this data when a member is about to be excluded from the community.
Adriano Faria Posted October 6, 2013 Posted October 6, 2013 In the current ips software we have the option to exclude a member and delete all its posts. But we still have members' comments, articles, databases records, events, blogs entries, galleries, etc. The new system should give the admin the power to delete all this data when a member is about to be excluded from the community. Actually, it doesn't delete posts; it changes the ownership of topics, posts, attachments, polls, etc,. to member_id = 0. When you prune a member (IPSMember::remove()), you'll delete data from following tables: core_share_links_log mobile_device_map core_like core_like_cache profile_ratings profile_portal profile_portal_views profile_friends profile_friends_flood dnames_change mobile_notifications pfields_content members_partial moderators sessions search_sessions upgrade_sessions members_warn_logs members_warn_logs member_status_actions member_status_replies member_status_updates admin_permission_rows core_sys_cp_sessions core_sys_login message_topic_user_map ignored_users inline_notifications core_item_markers core_item_markers_storage rc_modpref rc_reports_index reputation_cache reputation_index validating members But I agree that this should be more efficient and delete (or at least change ownership of) data from 3rd party Apps or even IPS Apps. That could be done via extension, like we use for IP Address Lookups on Apps: http://www.invisionpower.com/support/guides/_/advanced-and-developers/application/supporting-ip-address-lookups-r191 Something like: <?php class myapplication_memberData { /** * Return member data tables * * @access public * @return array Table */ public function getTables() { return array( 'mytable1' => 'mid', 'mytable2' => 'member_id', ); } } That way we would inform which tables has data to delete to the framework when prunning members.
Saiga Posted October 6, 2013 Posted October 6, 2013 You can already do that with memberSync Adriano. I think the OP was referring to the "delete all this members posts" function.
Adriano Faria Posted October 6, 2013 Posted October 6, 2013 You can already do that with memberSync Adriano. OnDeleteAccount or something like that? If so, still requires manual script for my app. Still there are data on Official app. An extension would do that better. Anyway, I may have misunderstood. :)
Michael Posted October 7, 2013 Posted October 7, 2013 The memberSync extensions already do all of this stuff. Every IPS app has one with the exception of Chat, which has no use for it. When you delete a member's account, the onDelete function in every application's memberSync file will execute and either delete the associated content or mark it unapproved, or something similar.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.