Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 01-14-2013, 10:30 AM
X-or X-or is offline
 
Join Date: Nov 2005
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default SQL newbie looking for needed SQL queries

Hi,

I've had a lot of issues lately which could only be fixed with sql queries due to vbulletin software not being powerful enough, I have three requests which I'll detail further, thanks in advance for anyone willing to help.
1) prune spamers
2) delete spamers homepage info
3) force some option for all users

1) I have like 850 spam bots accounts to ban due to a massive attack of my forums by spamers who could go past all standard human verifications trials. Fortunately it's easy to spot them because I had some custom profile field with selector and they always select the first option in first field which is a very unusual option (country)

Now while vb can show them to be it won't let me mass move them to banned usergroup, the move/prune filters are kind of anemic, sql query seems to be the only way to go, here are the sql tables which matter

vb_user // userid // usergroupid
vb_userfield // userid // field2

should be something like this
UPDATE vb_user SET usergroupid="n" WHERE .... and that where I'm lost, it should be possible to ask that whenever you have userid=X and field2= a certain value then move the user with that userid in vb_user table to banned group

2) related, these spamers filled the homepage field to promote malicious websites, so I want to delete the homepage field of all spamers, it should be easy enough to cook a query and apply it on all users of banned usergroup once step 1) is done

3) unrelated, I had issues with default option at registration due to some addon, but I only noticed recently so I want to force the default options I really wanted to have on all users of the most common group (registered users)
Here are the options I want to force to Yes:
-Receive Private Messages
-Send Notification Email When a Private Message is Received
-Save a copy of sent messages in my Sent Items folder by default
-Enable Visitor Messaging
-Display Signatures
-Display Avatars
-Display Images
-Display Reputation

And also:
Automatic Thread Subscription Mode -> Instant email notification
Message Editor Interface -> Show Enhanced (WYSIWYG) Editor Toolbar

Please help, thank you very much.
Reply With Quote
  #2  
Old 01-14-2013, 01:57 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by X-or View Post
should be something like this
UPDATE vb_user SET usergroupid="n" WHERE .... and that where I'm lost, it should be possible to ask that whenever you have userid=X and field2= a certain value then move the user with that userid in vb_user table to banned group
Code:
UPDATE vb_user LEFT JOIN vb_userfield USING(userid)
  SET usergroupid=N WHERE field2=Y


Quote:
2) related, these spamers filled the homepage field to promote malicious websites, so I want to delete the homepage field of all spamers, it should be easy enough to cook a query and apply it on all users of banned usergroup once step 1) is done

Assuming step 1 has been done,

Code:
UPDATE vb_user set homepage='' WHERE usergroupid=N

'' is two single quotes, i.e. and empty string.


Quote:
3) unrelated, I had issues with default option at registration due to some addon, but I only noticed recently so I want to force the default options I really wanted to have on all users of the most common group (registered users)
Here are the options I want to force to Yes:
-Receive Private Messages
-Send Notification Email When a Private Message is Received
-Save a copy of sent messages in my Sent Items folder by default
-Enable Visitor Messaging
-Display Signatures
-Display Avatars
-Display Images
-Display Reputation

And also:
Automatic Thread Subscription Mode -> Instant email notification
Message Editor Interface -> Show Enhanced (WYSIWYG) Editor Toolbar

Please help, thank you very much.

A lot of those can be done by going to the admincp, Maintenance > Execute SQL Query and finding the query under "Automatic Queries" (you need to have your userid in the config.php file, in the $config['SpecialUsers']['canrunqueries'] variable, or else have the site in debug mode). If I have it right, that leaves:

-Save a copy of sent messages in my Sent Items folder by default
-Enable Visitor Messaging

that can't be set with an automatic query from that menu. When I get a chance I'll try to figure out what the queries would be for those.
Reply With Quote
  #3  
Old 01-14-2013, 01:59 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

...oh yeah, the usual warning: I haven't tested the queries I posted, and for safety you should have a backup of your database before you start changing it manually.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:08 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03876 seconds
  • Memory Usage 2,177KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete