Kimmo Posted May 15 Posted May 15 Hi! We are going to 'restart' our very old forum, which has been open but not managed during last few years. We have thousands of spam members and we would like to get rid of them. Is there any way how to bulk delete them, as taking them off one by one will take too much time?
Kimmo Posted May 15 Author Posted May 15 I found out from old post, that there is no bulk delete, so you can delete this post, I didn't find a place from where delete this by myself.
Gary Posted May 16 Posted May 16 Hi @Kimmo, You can only delete one member at a time via the AdminCP. It might seem monotonous, but it will prevent making any mistakes by deleting someone that may potentially be a regular member. You can always force your members, or only specific groups on your community, to have their password reset as a first step. Any members that don't change their passwords and/or continue to post spam can then be deleted. You can do this in your AdminCP -> Members -> Force Password Reset -> then select the applicable groups you'd like this to be performed on. There are other parameters you can toggle to fine-tune this action too. Members cannot delete their own posts here on Invision Community, but I'm sure it will be marked as solved/locked once a team member is active. Kimmo 1
Marc Posted May 16 Posted May 16 Actually you can, but only if you have a criteria in which to search. Just be careful what you select. What you can do is to click the cog icon to do a search in the members section of the admin CP. Enter the criteria of the member you want to remove, then once you have them and have checked, select the "Prune" button Always ensure you take a backup first What I tend to do personally is use the "move" option to a new group first. I can then go through those members and make sure they are correct, then delete the people who are member of that group Gary and Platinumwealth.co.za 2
Platinumwealth.co.za Posted May 24 Posted May 24 On 5/16/2024 at 11:12 AM, Marc Stridgen said: Actually you can, but only if you have a criteria in which to search. Just be careful what you select. What you can do is to click the cog icon to do a search in the members section of the admin CP. Enter the criteria of the member you want to remove, then once you have them and have checked, select the "Prune" button Always ensure you take a backup first What I tend to do personally is use the "move" option to a new group first. I can then go through those members and make sure they are correct, then delete the people who are member of that group I don't see this option? Can you give the exact steps?
Marc Posted May 24 Posted May 24 32 minutes ago, Platinumwealth.co.za said: I don't see this option? Can you give the exact steps? You wont see it until you have done a search. So you need to click the cog icon, set some criteria, and search Platinumwealth.co.za 1
Platinumwealth.co.za Posted May 24 Posted May 24 (edited) Sweet, what does Prune do? Delete posts and the user? I suppose a "Flag as spammer" would be better otherwise they can just register again? EDIT: Now all of their posts show as "Guest" FML. What a useless function. Edited May 24 by Platinumwealth.co.za
Marc Posted May 24 Posted May 24 Im a little confused by your statement there. You used the prune function, and it pruned those members.
Platinumwealth.co.za Posted May 24 Posted May 24 It's pruned the users, whatever that means, seems it did not delete the content associated with them like "flag as spammer" does. So now the spammer accounts are deleted but the content is still there.
Marc Posted May 24 Posted May 24 Yes, that is correct. It prunes only the users, not the content. While I understand its not what you wanted to do there, it does do exactly what it states. If this is an issue for you, you would be best to revert to backup. Its worth mentioning here, you appear to be blaming the tools that do what they say, when using a function which wasnt suggested and not awaiting an answer from ourselves when you asked the question.
Platinumwealth.co.za Posted May 24 Posted May 24 (edited) Wow. I am so over this. Is there a way to delete all guest posts? Please god just give me the SQL queries then I can fix this headache of software. 7 minutes ago, Marc Stridgen said: It prunes only the users, not the content. I don't know how on earth this is a function that passed QA. What even would be the purpose of this to deliberately introduce orphaned posts? Not a bug but a logical error on Invision's part, IMO. And the mess passed on to me is how it feels. Edited May 24 by Platinumwealth.co.za
Platinumwealth.co.za Posted May 24 Posted May 24 (edited) Client of >6 years and paid a lot of money to Invision over the years and this is how we part ways as I cannot fix this on my own. Edited May 24 by Platinumwealth.co.za
Marc Posted May 24 Posted May 24 34 minutes ago, Platinumwealth.co.za said: Please god just give me the SQL queries then I can fix this headache of software. I am not a developer on the platform personally, so could not provide these. I moved your other ticket to our developer connection forum to see if someone can assist you. 34 minutes ago, Platinumwealth.co.za said: I don't know how on earth this is a function that passed QA. What even would be the purpose of this to deliberately introduce orphaned posts? It has not produced orphaned posts. It has left the posts as guest posts, as the members have been deleted. This has been the same functionality for multiple decades on the platform, and is used on many occasions by our users who do not wish to remove posts when they delete a user. As I mentioned above, I understand it may not have been your intention, however this does not make the function incorrect. I completely understand your frustration here, but unfortunately you are trying to do things quicker than anyone can possibly assist you in any way. You have had a post moved to the developer section to see if someone can assist. In the meantime you have gone ahead and done Something that has caused you unintended consequences. If I can offer one bit of advise, it would be to slow down a little. For example, you have typed 1 response, edited that response with more, and posted another reply, all while I am typing a single response to you.
Platinumwealth.co.za Posted May 24 Posted May 24 1 minute ago, Marc Stridgen said: I am not a developer on the platform personally, so could not provide these. I moved your other ticket to our developer connection forum to see if someone can assist you. 10 minutes ago, Platinumwealth.co.za said: I appreciate it. This is now my only hope.
Marc Posted May 24 Posted May 24 35 minutes ago, Platinumwealth.co.za said: Is there a way to delete all guest posts? If you go to Members->Content Moderation->Spam Prevention, you can delete all guests posts there. Note, this will be ALL guest posts, not just the ones you have just introduced
Platinumwealth.co.za Posted May 24 Posted May 24 1 hour ago, Marc Stridgen said: If you go to Members->Content Moderation->Spam Prevention, you can delete all guests posts there. Note, this will be ALL guest posts, not just the ones you have just introduced Thank you. Perfect (We do not allow guest posts, so this should be sufficient). Unsure what to fill in here, instinctively I want to enter "Guest", but knowing Invision I suspect the obvious instinct is the wrong one.
Marc Posted May 24 Posted May 24 It works only on named guests. But going from your screenshot there, they all look to have been responses to the same topics which are actually using a named guest of Guest yisol88030 . So if you enter that, it will delete the topics there (of course including the replies
Platinumwealth.co.za Posted May 24 Posted May 24 (edited) There is >1000 users who got pruned. This won't work. Please can they just connect in to my forum and run the required SQL query(s) to do this? As the GUI offers no functional features to fix it. There are over 1000 guests (pruned users) each with 1 to 5 posts and topics, >4000 orphaned posts. This will take months of manual work. Edited May 24 by Platinumwealth.co.za
Marc Posted May 24 Posted May 24 This is not something we would offer as a service, no. Its worth noting, it's a feature you wish to have, not something that is broken here, unfortunately. There isnt really a simple way of going about this, unfortunately
Platinumwealth.co.za Posted May 24 Posted May 24 dude, I am 100% sure one of the devs have an SQL query locally for this as this is something that is extremely common by design. Instead of gaslighting your clients, can I ask you to please ask the developer team the following: Please provide a SQL query to delete all guest posts. It is already possible to delete guests posts WHERE the user is named, so all I am asking for is the SQL query without the WHERE clause for the name. Please. That is all I am asking, they will know what is needed and it will safe me literal months. Whatever Query is built here behind the scenes will help /** * Delete Guest Content * * @return void */ public function deleteGuestContent() { \IPS\Dispatcher::i()->checkAcpPermission( 'membertools_delete' ); $form = new \IPS\Helpers\Form; $form->add( new \IPS\Helpers\Form\Text( 'guest_name_to_delete', NULL, TRUE ) ); if ( $values = $form->values() ) { $classes = array(); foreach ( \IPS\Content::routedClasses( FALSE, TRUE ) as $class ) { if ( isset( $class::$databaseColumnMap['author'] ) and isset( $class::$databaseColumnMap['author_name'] ) ) { \IPS\Task::queue( 'core', 'MemberContent', array( 'member_id' => 0, 'name' => $values['guest_name_to_delete'], 'class' => $class, 'action' => 'delete' ) ); } } \IPS\Session::i()->log( 'acplog__deleted_guest_content', array( $values['guest_name_to_delete'] => FALSE ) ); \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=moderation&controller=spam&searchResult=guest_captcha" ), 'deleted' ); } \IPS\Output::i()->output = $form; }
Marc Posted May 24 Posted May 24 11 minutes ago, Platinumwealth.co.za said: dude, I am 100% sure one of the devs have an SQL query locally for this as this is something that is extremely common by design. Instead of gaslighting your clients, can I ask you to please ask the developer team the following: Please provide a SQL query to delete all guest posts. It is already possible to delete guests posts WHERE the user is named, so all I am asking for is the SQL query without the WHERE clause for the name. Please. That is all I am asking, they will know what is needed and it will safe me literal months. Whatever Query is built here behind the scenes will help /** * Delete Guest Content * * @return void */ public function deleteGuestContent() { \IPS\Dispatcher::i()->checkAcpPermission( 'membertools_delete' ); $form = new \IPS\Helpers\Form; $form->add( new \IPS\Helpers\Form\Text( 'guest_name_to_delete', NULL, TRUE ) ); if ( $values = $form->values() ) { $classes = array(); foreach ( \IPS\Content::routedClasses( FALSE, TRUE ) as $class ) { if ( isset( $class::$databaseColumnMap['author'] ) and isset( $class::$databaseColumnMap['author_name'] ) ) { \IPS\Task::queue( 'core', 'MemberContent', array( 'member_id' => 0, 'name' => $values['guest_name_to_delete'], 'class' => $class, 'action' => 'delete' ) ); } } \IPS\Session::i()->log( 'acplog__deleted_guest_content', array( $values['guest_name_to_delete'] => FALSE ) ); \IPS\Output::i()->redirect( \IPS\Http\Url::internal( "app=core&module=moderation&controller=spam&searchResult=guest_captcha" ), 'deleted' ); } \IPS\Output::i()->output = $form; } Please feel free to add this information to your topic in the developer connection forum. You now have 2 topics open on the same item, along with commenting on this one.
Platinumwealth.co.za Posted May 24 Posted May 24 Request Background: I pruned >1000s of users, their topics are now orphaned as guest posts. My Ask: May I please be given support or the SQL query needed to do the following: delete all the guest posts in one shot.
Management Matt Posted May 24 Management Posted May 24 That's not really in the scope of our support unfortunately. We would not give you raw SQL commands to run as this could lead to data loss. If you would like to engage a third party developer to help you with this issue, then may I direct you to our provider's directoy.
Platinumwealth.co.za Posted May 24 Posted May 24 I understand that Matt, hopefully one of your experienced developers can run it for me if you do not want to expose raw SQL. Bottom line is, we need to figure out a way to delete all the guest posts.
Management Matt Posted May 24 Management Posted May 24 As mentioned above, none of our team is able to run custom jobs like that for you. It's beyond the scope of support for Invision Community. SeNioR- 1
Recommended Posts