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

Reply
 
Thread Tools Display Modes
  #1  
Old 09-13-2012, 04:40 PM
SOFDrew SOFDrew is offline
 
Join Date: Jan 2012
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default BBCode and variables

I am trying to create BBCode that will look up information from my DB. The forums already pull information that looks like this:

$forumInfo['AffiliateLink']

It is a table variable that is set by forum. Is there any way to use that type of link in BBCode? When I use it now it comes through as you see it above
Reply With Quote
  #2  
Old 09-13-2012, 04:46 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can't do that just by defining a bbcode, you'd need to write a plugin of some kind.
Reply With Quote
  #3  
Old 09-13-2012, 04:50 PM
SOFDrew SOFDrew is offline
 
Join Date: Jan 2012
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A plugin is already written to bring the information INTO the forums. It's just the BBCode that I am trying to get working now.

In the templates I can use that just fine.

--------------- Added [DATE]1347558765[/DATE] at [TIME]1347558765[/TIME] ---------------

I better explain more...

The BBCode is a set of HTML that I am using. I want to use it like this:

[Advert=284]Program Name[/Advert]

I have a bunch of HTML that takes the option and parameter and places it into the HTML appropriately. However - I have 1 piece of information it needs to get from the tables.. The AffiliateLink. that information is already defined and used in the templates. I'm just not sure how to get AT IT in the BBCode.

--------------- Added [DATE]1347558854[/DATE] at [TIME]1347558854[/TIME] ---------------

Added:

It would be no different than trying to get at the PostID from within BBCode. How do I address that?
Reply With Quote
  #4  
Old 09-13-2012, 04:57 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by SOFDrew View Post
A plugin is already written to bring the information INTO the forums. It's just the BBCode that I am trying to get working now.

In the templates I can use that just fine.
OK, but the problem is that defining a custom bbcode in the bbcode manager only lets you specify html as the replacement. It's not a template so you cannot use variables or template tags (like vb:if, etc).

But there is this mod: https://vborg.vbsupport.ru/showthread.php?t=264896 (which I'm surprised hasn't been more popular). It will let you use php in the bbcode definition, so you should be able to use your variables if they're global. One thing that I'm not sure of though is about caching. The final html code for a post is normally cached to avoid doing work (like the bbcode processing) over and over when it always comes out the same. But if you want to define a bbcode that you would expect to look different sometimes (for different users or something like that), then it might not work as expected. Then you might need to do something like use a str_replace() in a plugin at hook postbit_display_complete to insert your variable.


Quote:
Originally Posted by SOFDrew View Post
It would be no different than trying to get at the PostID from within BBCode. How do I address that?
You can't do that either, with a normal custom bbcode, unless of course the postid is included as the parameter (which I think may be how some of the bbcodes work). There is no variable that can be used in the replacement that will give you the current postid (or anything else, except the option and parameter).


Edit: I missed this addition to your post:
Quote:
Originally Posted by SOFDrew View Post
I have a bunch of HTML that takes the option and parameter and places it into the HTML appropriately. However - I have 1 piece of information it needs to get from the tables.. The AffiliateLink. that information is already defined and used in the templates. I'm just not sure how to get AT IT in the BBCode.

Then it sounds like the mod I mentioned above might work for you.
Reply With Quote
  #5  
Old 09-14-2012, 12:13 PM
SOFDrew SOFDrew is offline
 
Join Date: Jan 2012
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That mod worked! thank you very much I had to re-formulate the bbcode a bit (i.e., lose the HTML and put it into a variable), because inserting the php in the middle did nothing However, once I figured that out - was easy.

Thanks again.
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 06:13 AM.


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.04508 seconds
  • Memory Usage 2,200KB
  • 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
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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