Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 4 Articles

Reply
 
Thread Tools
Using your User Profile Fields in your postbit templates (w/ all plugin method)
Lynne's Avatar
Lynne
Join Date: Sep 2004
Posts: 41,180

 

California/Idaho
Show Printable Version Email this Page Subscription
Lynne Lynne is offline 09-12-2010, 10:00 PM

This article is written with the assumption that you have already created your own User Profile Fields in the User Profile Field Manager. If you need help with this, you may read about it in the manual here - http://www.vbulletin.com/docs/html/profile

For the Purposes of this article, I will be referring to "fieldx" as the name of your profile field. Your real name will be found in the User Profile Manager in the "Name" column - field1, field2, etc.

Adding the Profile Field to your postbit (or postbit_legacy) template

For Single-Line Text Box, Multiple-Line Text Box, Single-Selection Radio Buttons, and Single-Selection Menu

Method 1
- Modifying the Template
Open the postbit or postbit_legacy template and find the area you want to add it to. For instance, to add it right after the user post count, find this:
Code:
<dt>{vb:rawphrase 'posts'}</dt> <dd>{vb:raw post.posts}</dd>
And then, add this underneath:
Code:
<vb:if condition="$post['fieldx']"><dt>My FieldX</dt> <dd>{vb:raw post.fieldx}</dd></vb:if>
Change "fieldx" to your actual field name and the green field to whatever you want. Notice the html I used is similar to the html used for the text above me new field.
Method 2 - Using a template_hook
I have always found it easier to just use the existing $template_hooks in the template and write a plugin to add these. In this case, there is a $template_hook right where we want it, after the user post count:
Code:
{vb:raw template_hook.postbit_userinfo_right_after_posts}
So, we would create a plugin with these specifications:
? hook location - postbit_display_complete
? Title - Add User Profile Fields to Postbit Templates
? Plugin is Active - Yes
? Plugin PHP Code -
Code:
if ($post['fieldx'])
{
    $template_hook['postbit_userinfo_right_after_posts'] .= '<dt>My FieldX</dt> <dd>' .$post[fieldx]. '</dd>';
}
Change "fieldx" to your actual field name and the green field to whatever you want. Again, notice the html I used is similar to the html used for the text above me new field. Whichever template_hook you use, you should look at the template to see what sort of html is being used around the hook so that you may use similar, proper html also.
For Multiple-Selection Menu and Multiple-Selection Checkbox

It is a bit more complicated for these two types of selections since the options selected are stored as a binary number. If you just display the field using the method above, you will get a number, not a list of options selected. So, in order to use these types of fields, you will have to use the method below. Here is a thead that will explain the binary scheme - http://www.vbulletin.com/forum/showt...To-The-Postbit

Method 1
- Modifying the Template
Open the template and find the area you want to add it to. For instance, to add it right after the user post count, find this:
Code:
<dt>{vb:rawphrase 'posts'}</dt> <dd>{vb:raw  post.posts}</dd>
And then add this underneath (this is assuming the field has 5 options):
Code:
<vb:if condition="$post['fieldx']"><dt>My FieldX</dt><dd>
<vb:if condition="$post['fieldx'] & 1">Your 1rst option</vb:if>
<vb:if condition="$post['fieldx'] & 2">Your 2nd option</vb:if>
<vb:if condition="$post['fieldx'] & 4">Your 3rd option</vb:if>
<vb:if condition="$post['fieldx'] & 8">Your 4th option</vb:if>
<vb:if condition="$post['fieldx'] & 16">Your 5th option</vb:if>
</dd>
</vb:if>
Change "fieldx" to your actual field name and the green field to whatever you want. Notice the html I used is similar to the html used for the text above me new field.
Method 2 - Using a template_hook
Find the template_hook you want to use. In this case, there is a $template_hook right where we want it, after the user post count:
Code:
{vb:raw template_hook.postbit_userinfo_right_after_posts}
So, we would create a plugin with these specifications:
? hook location - postbit_display_complete
? Title - Add User Profile Fields to Postbit Templates
? Plugin is Active - Yes
? Plugin PHP Code -
Code:
if ($post['fieldx'])
{
    $template_hook['postbit_userinfo_right_after_posts'] .= '<dt>My FieldX</dt> <dd>';
    
    if ($post['fieldx'] & 1)  $template_hook['postbit_userinfo_right_after_posts'] .= 'Your 1rst option';
    if ($post['fieldx'] & 2)  $template_hook['postbit_userinfo_right_after_posts'] .= 'Your 2nd option';
    if ($post['fieldx'] & 4)  $template_hook['postbit_userinfo_right_after_posts'] .= 'Your 3rd option';
    if ($post['fieldx'] & 8)  $template_hook['postbit_userinfo_right_after_posts'] .= 'Your 4th option';
    if ($post['fieldx'] & 16)  $template_hook['postbit_userinfo_right_after_posts'] .= 'Your 5th option';
    
    $template_hook['postbit_userinfo_right_after_posts'] .= '</dd>';
}
Change "fieldx" to your actual field name and the green field to whatever you want. Again, notice the html I used is similar to the html used for the text above me new field. Whichever template_hook you use, you should look at the template to see what sort of html is being used around the hook so that you may use similar, proper html also.
More Advanced

If you like everything to be 'automatic' - meaning you don't have to supply any text at all, just use everything already stored in the database - then you can use a few of plugins to do the work for you.

Plugin 1
- This plugin is used to get the phrasegroup "cprofilefield" added for use in the page so that you may use $vbphrase[fieldx_title] to get the Profile Field Title you entered in the User Profile Field Manager.
? hook location - init_startup
? Title - Add User Profile Fields to Postbit Templates - 1
? Plugin is Active - Yes
? Plugin PHP Code -
Code:
if (THIS_SCRIPT == 'showthread') $GLOBALS['phrasegroups'][] = 'cprofilefield';
Plugin 2 - This plugin is used to get the fields you defined for the profile in the User Profile Field Manager.
? hook location - showthread_postbit_create
? Title - Add User Profile Fields to Postbit Templates - 2
? Plugin is Active - Yes
? Plugin PHP Code -
Code:
if (THIS_SCRIPT == 'showthread') {
    $profilefieldx =  $vbulletin->db->query_first("SELECT profilefieldid, data, type  FROM " . TABLE_PREFIX . "profilefield WHERE profilefieldid = x");
    $post['profilefieldx'] = $profilefieldx;
}
Plugin 3 - This plugin simply spits the data out into the postbit using the template_hook and using the phrase for the Title and the Options are all spit out with commas between them (if needed) into the postbit.
? hook location - postbit_display_complete
? Title - Add User Profile Fields to Postbit Templates - 3
? Plugin is Active - Yes
? Plugin PHP Code -
Code:
// for single-line fields - using fieldy
if ($post['fieldy']) {
     $template_hook['postbit_userinfo_right_after_posts'] .= '<dt>' .$vbphrase[fieldy_title]. '</dt> <dd>' .$post[fieldy]. '</dd>';
 }

// for multiple-selection fields - using filedx
if ($post['fieldx'])
{
    $fieldarrayx = $post['profilefieldx'];
    fetch_profilefield_display($fieldarrayx, $post['fieldx']);
    $template_hook['postbit_userinfo_right_after_posts'] .= '<dt>' .$vbphrase[fieldx_title]. '</dt> <dd>' .$fieldarrayx['value']. '</dd>'; 
}
Change "fieldx" to your actual field name and the orange, purple, and brown fields should 'match-up' and have the same names.
Reply With Quote
  #52  
Old 06-08-2012, 03:34 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Tri@de View Post
There's a way to use profile fields also in other pages like cms articles?
I'm sure there is, but this article is not about that, it is about using them in the postbit template.
Reply With Quote
  #53  
Old 07-09-2012, 09:08 PM
Cognitio Cognitio is offline
 
Join Date: Jun 2012
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've set this up using the advanced method but when it displays I only get the binary number and not the array of choices selected... what am I doing wrong?
Reply With Quote
  #54  
Old 07-09-2012, 11:47 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cognitio View Post
I've set this up using the advanced method but when it displays I only get the binary number and not the array of choices selected... what am I doing wrong?
I don't know. How about a screen shot of your admincp profile field set up and the exact code/hook for your plugin.
Reply With Quote
  #55  
Old 07-12-2012, 01:02 AM
Cognitio Cognitio is offline
 
Join Date: Jun 2012
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I actually altered this into another mod - Profile Intro. The mod adds a memberprofile header that displays custom profile fields defined from the usercp. The mod itself displays input and textarea fields fine, but when it comes to multi_select fields they only display the binary code. I searched through and found this article and attempted to alter it into the Profile Intro mod, the basic function that would require a template modification every time I change a custom field works fine, but I rather have the more advanced option work for ease of use.

Here's the template code I used:
PHP Code:
<template name="memberinfo_block_intro" templatetype="template" date="1321436160" username="phpdesk" version="1.0.3"><![CDATA[    <div class="collapse intro_block">
        <
vb:if condition="$userinfo[$introtitle]"><h2><span><a href="http://{vb:raw userinfo.$introlink}">{vb:raw userinfo.$introtitle}</a> | ({vb:raw userinfo.$introloc})</span></h2></vb:if>
        <
div class="text<vb:if condition="$userinfo[$introtitle]"> noborder</vb:if>"><p>Skills: {vb:raw userinfo.$introtypedef2} | 
            <
vb:if condition="$userinfo[$introtype] & 1"> {vb:raw userinfo.$introtype}-1,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 2"> {vb:raw userinfo.$introtype}-2,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 4"> {vb:raw userinfo.$introtype}-3,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 8"> {vb:raw userinfo.$introtype}-4,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 16"> {vb:raw userinfo.$introtype}-5,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 32"> {vb:raw userinfo.$introtype}-6,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 64"> {vb:raw userinfo.$introtype}-7,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 128"> {vb:raw userinfo.$introtype}-8,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 256"> {vb:raw userinfo.$introtype}-9,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 512"> {vb:raw userinfo.$introtype}-10,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 1024"> {vb:raw userinfo.$introtype}-11,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 2048"> {vb:raw userinfo.$introtype}-12,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 4096"> {vb:raw userinfo.$introtype}-13,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 8192"> {vb:raw userinfo.$introtype}-14,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 16384"> {vb:raw userinfo.$introtype}-15,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 32768"> {vb:raw userinfo.$introtype}-16,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 65536"> {vb:raw userinfo.$introtype}-17,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 131072"> {vb:raw userinfo.$introtype}-18,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 262144"> {vb:raw userinfo.$introtype}-19,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 524288"> {vb:raw userinfo.$introtype}-20,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 1048576"> {vb:raw userinfo.$introtype}-21,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 2097152"> {vb:raw userinfo.$introtype}-22,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 4194304"> {vb:raw userinfo.$introtype}-23,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 8388608"> {vb:raw userinfo.$introtype}-24,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 16777216"> {vb:raw userinfo.$introtype}-25,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 33554432"> {vb:raw userinfo.$introtype}-26,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 67108864"> {vb:raw userinfo.$introtype}-27,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 134217728"> {vb:raw userinfo.$introtype}-28,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 268435456"> {vb:raw userinfo.$introtype}-29,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 536870912"> {vb:raw userinfo.$introtype}-30,</vb:if>
            <
vb:if condition="$userinfo[$introtype] & 1073741824"> {vb:raw userinfo.$introtype}-31</vb:if>
        </
p></div>
        <
div class="text<vb:if condition="$userinfo[$introtitle]"> noborder</vb:if>"><p>{vb:raw userinfo.$introtext}</p></div>
    </
div>]]></template
and here's the plugins code I used (profileintro_typefield is defined as the profilefieldid already):
PHP Code:
<plugin active="1" executionorder="5">
            <
title>Add User Profile Fields to Postbit Templates 1</title>
            <
hookname>init_startup</hookname>
            <
phpcode><![CDATA[if (THIS_SCRIPT == 'member'$GLOBALS['phrasegroups'][] = 'cprofilefield';]]></phpcode>
        </
plugin>
        <
plugin active="1" executionorder="5">
            <
title>Add User Profile Fields to Postbit Templates 2</title>
            <
hookname>member_build_blocks_start</hookname>
            <
phpcode><![CDATA[if (THIS_SCRIPT == 'member')
{
    
$typefielddef $vbulletin->options['profileintro_typefield'];
    
$profilefieldx =  $vbulletin->db->query_first("SELECT profilefieldid, type, data  FROM " TABLE_PREFIX "profilefield` WHERE profilefieldid = $typefielddef");
    
$userinfo['profilefieldx'] = $profilefieldx;
}]]></
phpcode>
        </
plugin>
        <
plugin active="1" executionorder="5">
            <
title>CacheProfile Intro Templates</title>
            <
hookname>cache_templates</hookname>
            <
phpcode><![CDATA[if (THIS_SCRIPT == 'member')
{
    
$cache[] = 'memberinfo_block_intro';
}


if(
THIS_SCRIPT=='css')
{
    
$cache[] = 'profile-intro.css';
}]]></
phpcode>
        </
plugin>
        <
plugin active="1" executionorder="5">
            <
title>ProfileDisplay Intro Block</title>
            <
hookname>member_build_blocks_start</hookname>
            <
phpcode><![CDATA[if (
    
$vbulletin->options['profileintro']
    && 
is_member_of$userinfoexplode','$vbulletin->options['profileintro_groups'] ) )
)
{
    
$introtitle 'field' $vbulletin->options['profileintro_titlefield'];
    
$introtype 'field' $vbulletin->options['profileintro_typefield'];
    
$introtext 'field' $vbulletin->options['profileintro_textfield'];
    
$introlink 'field' $vbulletin->options['profileintro_linkfield'];
    
$introloc 'field' $vbulletin->options['profileintro_locfield'];
    
    if ( 
$introtype )
    {
        
$fieldarrayx $userinfo['profilefieldx'];
        
fetch_profilefield_display($fieldarrayx$introtype);
        
$introtypedef2 $fieldarrayx["value"]; 
    }

    if ( 
$userinfo["$introtext"] )
    {
        
$userinfo["$introtitle"] = addslashes($userinfo["$introtitle"]);

        
// parse bbcode
        
require_once(DIR '/includes/class_bbcode.php');
        
$bbcode_parser = new vB_BbCodeParser($vbulletinfetch_tag_list());
        
$userinfo["$introtext"] = $bbcode_parser->parse(addslashes($userinfo["$introtext"]),0true);

        if (
$vbulletin->versionnumber '4.0.8')
        {
            
$template '<div class="member_tabs">';
        }
        else
        {
            
$template '<div class="tabbackground" id="profile_tabs">';
        }

        
$templater vB_Template::create('memberinfo_block_intro');
        
$templater->register('introtitle'$introtitle);
        
$templater->register('introtype'$introtype);
        
$templater->register('introtext'$introtext);
        
$templater->register('introlink'$introlink);
        
$templater->register('introloc'$introloc);
        
$templater->register('userinfo'$userinfo);
        
$templater->register('introtypedef2'$introtypedef2);

        
$vbulletin->templatecache['MEMBERINFO'] = str_replace(
            
$template$template $templater->render(),
            
$vbulletin->templatecache['MEMBERINFO']
        );
    }
    
    
}]]></
phpcode>
        </
plugin
Attached are two screen shots, the first is of the display results of the Profile Intro mod within the member.php, and the second screen shot is of the admincp of the customfields as requested. As seen in the first screen shot, the array is correctly shown in the 'About Me' section (which I couldn't find the coding on what to copy to project in the mod), but in the Profile Intro mod it's the binary code and the text I supplied within the coding to define each multi_select option.
Attached Images
File Type: png Screenshot1.png (55.0 KB, 0 views)
File Type: png Screenshot2.png (43.7 KB, 0 views)
Reply With Quote
  #56  
Old 08-02-2012, 02:59 PM
Cognitio Cognitio is offline
 
Join Date: Jun 2012
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm just going to assume I'm being ignored...
Reply With Quote
  #57  
Old 09-09-2012, 08:49 AM
TheSupportForum TheSupportForum is offline
 
Join Date: Jan 2007
Posts: 1,158
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hi need help converting this into a plugin for postbit_legacy for the following template hook

$template_hook['postbit_userinfo_right_after_posts']


HTML Code:
<vb:if condition="$post['field5']">
  <dt>eRepublik</dt> <dd><a href="http://www.erepublik.com/en/citizen/profile/{vb:raw post.field5}"><img src="http://www.legijastranaca.com/images/erep/citizen.png" alt="Citizen link" width="25" height="24" border="0"></a><a href="http://www.erepublik.com/en/main/messages-compose/{vb:raw post.field5}"><img src="http://www.legijastranaca.com/images/erep/message.png" alt="Message Citizen on eRepublik" width="24" height="24" border="0"></a><a href="http://www.erepublik.com/en/economy/donate-items/{vb:raw post.field5}"><img src="http://www.legijastranaca.com/images/erep/donate.png" alt="Donate Items" width="24" height="24" border="0"></a></vb:if>
Reply With Quote
  #58  
Old 09-09-2012, 02:55 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you try converting it using this as an example?
PHP Code:
if ($post['fieldx'])
{
    
$template_hook['postbit_userinfo_right_after_posts'] .= '<dt>My FieldX</dt> <dd>' .$post[fieldx]. '</dd>';

Reply With Quote
  #59  
Old 09-25-2012, 09:45 AM
omega79 omega79 is offline
 
Join Date: Sep 2012
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is there any plugin to download to just simply change it without adding code to some templates?
Reply With Quote
  #60  
Old 09-25-2012, 02:37 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by omega79 View Post
is there any plugin to download to just simply change it without adding code to some templates?
Under the More Advanced section of my post, I posted the plugin codes. I cannot write a plugin for you to download since you need to enter the fieldid.
Reply With Quote
  #61  
Old 09-25-2012, 06:57 PM
TheSupportForum TheSupportForum is offline
 
Join Date: Jan 2007
Posts: 1,158
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
Did you try converting it using this as an example?
PHP Code:
if ($post['fieldx'])
{
    
$template_hook['postbit_userinfo_right_after_posts'] .= '<dt>My FieldX</dt> <dd>' .$post[fieldx]. '</dd>';

Lynee i always have issues inserting hyperlinks

i want to do something like this


PHP Code:
if ($post['fieldx'])
{
    
$template_hook['postbit_userinfo_right_after_posts'] .= '<dt>My FieldX</dt> <dd>' http://www.domain.com/ .$post[fieldx]. '>link</a></dd>';

Reply With Quote
Reply

Thread Tools

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 10:34 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.04660 seconds
  • Memory Usage 2,478KB
  • Queries Executed 26 (?)
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
  • (11)bbcode_code
  • (1)bbcode_html
  • (5)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (7)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_attachment
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete