Thread: sql help needed
View Single Post
  #2  
Old 05-06-2008, 04:29 PM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you are going to want the code tag to always be encapsulated by the hide tag, perhaps you might modify the code tag? But, yes, you could use the mySQL replace function to update the posts.

Here's the code you would probably use (untested, so use at your own risk and backup your data):

[sql]UPDATE post
SET pagetext = REPLACE(REPLACE(REPLACE(REPLACE(pagetext,'
Code:
','[HIDE]
Code:
'),'
','
[/HIDE]'),'
Code:
','[hide]
Code:
'),'
','
[/hide]')
WHERE pagetext LIKE '%
Code:
%' AND pagetext LIKE '%
%';[/sql]

Note that the mySQL replace function is case sensitive, so this will replace anything that is either tagged in all uppercase or all lower case. It will not find tags with mixed case...

Because vBulletin stores a cache of parsed posts, you'll most likely need to clear this cache before you see the posts updated. You can do that by executing this SQL:

[SQL]TRUNCATE TABLE postparsed;[/SQL]

Following that you can rebuild the post cache if you wish or let it rebuild on its own. If you want to rebuild it, in the AdminCP goto Maintenance -> Update Counters -> Rebuild Post Cache


EDIT: That's annoying... Note that vBulletin automatically lowered the capitilzation in that SQL query to "prevent shouting." So, when you execute it, be sure to make the first 4 instances of the word "code" uppercase.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01509 seconds
  • Memory Usage 1,766KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete