Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 11-13-2007, 05:16 PM
sof-guild sof-guild is offline
 
Join Date: Jul 2006
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default MySQL DB query from BBCode possible?

I have a separate DB on the same server as my forum, and would like to offer my users the ability to query that DB from BBCode in their posts.

It's a gaming site, and we maintain a database of the skills in the game, and then frequently post builds on the forums. So ideally, a user would be able to write [skill]Sprint[/skill] and this would be parsed in the post as the icon, description, cost etc.

Is this possible? I haven't been able to figure out how to get PHP into the custom BBCodes. Can anyone point me in a good direction to learn about this?

Thanks,
-Daniel
Reply With Quote
  #2  
Old 11-13-2007, 10:36 PM
King Kovifor's Avatar
King Kovifor King Kovifor is offline
 
Join Date: Nov 2004
Location: PA
Posts: 3,872
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You would have to use one off the bbcode hooks (I believe). I haven't tried this, but that would be it if it was anywhere.
Reply With Quote
  #3  
Old 11-14-2007, 02:44 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Been there, done that. I run a gaming site, and that's pretty much how I use bbcode.

Can't tell you how to do it with hooks, since I don't use them, but if you look at how the class is structured, its pretty easy to write a callback that does a db call
Reply With Quote
  #4  
Old 11-14-2007, 03:42 AM
sof-guild sof-guild is offline
 
Join Date: Jul 2006
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Eikinskjaldi View Post
Been there, done that. I run a gaming site, and that's pretty much how I use bbcode.

Can't tell you how to do it with hooks, since I don't use them, but if you look at how the class is structured, its pretty easy to write a callback that does a db call
Would you mind posting the code you used, please? I'm sure I could reverse-engineer it from that. Or even just what files need adapting....
Reply With Quote
  #5  
Old 11-14-2007, 03:51 AM
Adrian Schneider's Avatar
Adrian Schneider Adrian Schneider is offline
 
Join Date: Jul 2004
Posts: 2,528
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just remember the posts are cached, so after it's queried once it will remain as-is for around 7 days, depending on your settings.
Reply With Quote
  #6  
Old 11-14-2007, 01:55 PM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think you can disable caching on a per-post basis, so you can disable it for any posts that contain this BBCode.
Reply With Quote
  #7  
Old 11-15-2007, 12:35 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The caching is a good thing. Within this context, the content of the expanded tag is not going to change.

Quote:
Would you mind posting the code you used, please? I'm sure I could reverse-engineer it from that. Or even just what files need adapting....
The file that needs changing is class_bbcode.php. Other than that, I am afraid I consider my implementation a trade secret. Gotta have some edge over the competition. I was basically just posting to let you know it is possible
Reply With Quote
  #8  
Old 11-15-2007, 05:20 AM
sof-guild sof-guild is offline
 
Join Date: Jul 2006
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, I was able to sort it out. After some studying of the class_bbcode.php file, it was (as you said) surprisingly easy. It's all about formatting from here on out.
Reply With Quote
Reply


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 08:17 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04071 seconds
  • Memory Usage 2,225KB
  • Queries Executed 13 (?)
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_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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_postinfo_query
  • fetch_postinfo
  • 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