Helpful Information
 
 
Category: vBulletin 4 Articles
vB4 Hook Locations

These locations are as of vBulletin 4 Beta 4 vBulletin 4.0.2, and will be updated as necessary.



Template Hooks

This list was generated by the following command using /install/vbulletin-style.xml:

For new style hooks:
grep -o "{vb:raw template_hook.*\?}" vbulletin-style.xml > thooks.txt

To find any old:
grep -o "template_hook\[.*\?\]" vbulletin-style.xml > thooks2.txt

{vb:raw template_hook.albumbit_start}
{vb:raw template_hook.albumbit_end}
{vb:raw template_hook.album_overview_before_latest}
{vb:raw template_hook.album_overview_after_latest}
{vb:raw template_hook.album_overview_user_start_col}
{vb:raw template_hook.album_overview_user_end_column}
{vb:raw template_hook.album_overview_after_user}
{vb:raw template_hook.forumdisplay_above_subforums}
{vb:raw template_hook.forumdisplay_below_subforums}
{vb:raw template_hook.forumdisplay_above_threadlist}
{vb:raw template_hook.inlinemod_thread_bottom}
{vb:raw template_hook.forumdisplay_below_threadlist}
{vb:raw template_hook.forumhome_above_forums}
{vb:raw template_hook.forumhome_below_forums}
{vb:raw template_hook.forumhome_wgo_pos1}
{vb:raw template_hook.forumhome_wgo_pos2}
{vb:raw template_hook.forumhome_wgo_pos3}
{vb:raw template_hook.forumhome_wgo_pos4}
{vb:raw template_hook.forumhome_wgo_stats}
{vb:raw template_hook.forumhome_wgo_pos5}
{vb:raw template_hook.profile_sidebar_first}
{vb:raw template_hook.profile_sidebar_stats}
{vb:raw template_hook.profile_sidebar_friends}
{vb:raw template_hook.profile_sidebar_albums}
{vb:raw template_hook.profile_sidebar_groups}
{vb:raw template_hook.profile_sidebar_last}
{vb:raw template_hook.profile_tabs_first}
{vb:raw template_hook.profile_tabs_last}
{vb:raw template_hook.profile_tabs}
{vb:raw template_hook.profile_stats_first}
{vb:raw template_hook.profile_stats_pregeneral}
{vb:raw template_hook.profile_stats_last}
{vb:raw template_hook.profile_ministats_list}
{vb:raw template_hook.profile_stats_first}
{vb:raw template_hook.profile_stats_pregeneral}
{vb:raw template_hook.profile_stats_last}
{vb:raw template_hook.usercp_options_start}
{vb:raw template_hook.usercp_options_privacy}
{vb:raw template_hook.usercp_options_messaging}
{vb:raw template_hook.usercp_options_threadview}
{vb:raw template_hook.usercp_options_datetime}
{vb:raw template_hook.usercp_options_other}
{vb:raw template_hook.usercp_options_end}
{vb:raw template_hook.navtab_start}
{vb:raw template_hook.navbar_start}
{vb:raw template_hook.navbar_after_getnew}
{vb:raw template_hook.navbar_after_pm}
{vb:raw template_hook.navbar_after_faq}
{vb:raw template_hook.navbar_after_calendar}
{vb:raw template_hook.navbar_community_menu_start}
{vb:raw template_hook.navbar_community_menu_end}
{vb:raw template_hook.navbar_after_community}
{vb:raw template_hook.navbar_quick_links_menu_pos1}
{vb:raw template_hook.navbar_quick_links_menu_pos2}
{vb:raw template_hook.navbar_quick_links_menu_pos3}
{vb:raw template_hook.navbar_quick_links_menu_pos4}
{vb:raw template_hook.navbar_end}
{vb:raw template_hook.navbar_start}
{vb:raw template_hook.navbar_after_getnew}
{vb:raw template_hook.navbar_after_pm}
{vb:raw template_hook.navbar_after_faq}
{vb:raw template_hook.navbar_after_calendar}
{vb:raw template_hook.navbar_community_menu_start}
{vb:raw template_hook.navbar_community_menu_end}
{vb:raw template_hook.navbar_after_community}
{vb:raw template_hook.navbar_quick_links_menu_pos1}
{vb:raw template_hook.navbar_quick_links_menu_pos2}
{vb:raw template_hook.navbar_quick_links_menu_pos3}
{vb:raw template_hook.navbar_quick_links_menu_pos4}
{vb:raw template_hook.navbar_end}
{vb:raw template_hook.navtab_middle}
{vb:raw template_hook.navbar_getnew_menu}
{vb:raw template_hook.navbar_getdaily_menu}
{vb:raw template_hook.navtab_end}
{vb:raw template_hook.postbit_userinfo_left}
{vb:raw template_hook.postbit_userinfo_right_after_posts}
{vb:raw template_hook.postbit_userinfo_right}
{vb:raw template_hook.postbit_messagearea_start}
{vb:raw template_hook.postbit_signature_start}
{vb:raw template_hook.postbit_signature_end}
{vb:raw template_hook.postbit_controls}
{vb:raw template_hook.postbit_end}
{vb:raw template_hook.postbit_start}
{vb:raw template_hook.postbit_userinfo_left}
{vb:raw template_hook.postbit_userinfo_right_after_posts}
{vb:raw template_hook.postbit_userinfo_right}
{vb:raw template_hook.postbit_messagearea_start}
{vb:raw template_hook.postbit_signature_start}
{vb:raw template_hook.postbit_signature_end}
{vb:raw template_hook.postbit_controls}
{vb:raw template_hook.postbit_end}
{vb:raw template_hook.search_results_top}
{vb:raw template_hook.showthread_above_posts}
{vb:raw template_hook.inlinemod_post_bottom}
{vb:raw template_hook.showthread_after_activeusers}
{vb:raw template_hook.showthread_below_posts}
{vb:raw template_hook.group_categorylist_start_col}
{vb:raw template_hook.group_categorylist_end_col}
{vb:raw template_hook.group_categorybit_start}
{vb:raw template_hook.group_categorybit_end}
{vb:raw template_hook.group_discussionbit_start}
{vb:raw template_hook.group_discussionbit_end}
{vb:raw template_hook.group_discuss_before_messages}
{vb:raw template_hook.group_discuss_after_messages}
{vb:raw template_hook.group_discuss_after_action_links}
{vb:raw template_hook.group_discuss_after_bookmarks}
{vb:raw template_hook.group_discuss_after_quick_reply}
{vb:raw template_hook.group_discussionbit_start}
{vb:raw template_hook.group_discussionbit_end}
{vb:raw template_hook.group_discussionbit_start}
{vb:raw template_hook.group_discussionbit_end}
{vb:raw template_hook.group_after_mygroups_bit}
{vb:raw template_hook.group_after_groups_bit}
{vb:raw template_hook.group_after_newgroup_bit}
{vb:raw template_hook.group_overview_start}
{vb:raw template_hook.group_own_group_info}
{vb:raw template_hook.group_after_groups_bit}
{vb:raw template_hook.usercp_main_pos1}
{vb:raw template_hook.usercp_main_pos2}
{vb:raw template_hook.usercp_main_pos3}
{vb:raw template_hook.usercp_main_pos4}
{vb:raw template_hook.usercp_main_pos5}
{vb:raw template_hook.usercp_main_pos6}
{vb:raw template_hook.usercp_navbar_profile}
{vb:raw template_hook.usercp_navbar_myaccount}
{vb:raw template_hook.usercp_navbar_networking}
{vb:raw template_hook.usercp_navbar_miscellaneous}
{vb:raw template_hook.usercp_navbar_bottom}
{vb:raw template_hook.postbit_start}
{vb:raw template_hook.footer_links}
{vb:raw template_hook.footer_javascript}
{vb:raw template_hook.header_userinfo}
{vb:raw template_hook.headinclude_javascript}
{vb:raw template_hook.custom_css_links}
{vb:raw template_hook.custom_css_list}
{vb:raw template_hook.headinclude_css}
{vb:raw template_hook.headinclude_bottom_css}
{vb:raw template_hook.memberaction_dropdown_items}
template_hook[memberinfo_css]




PHP/File Hooks

This list was generated by the following command while in the vB 4 root upload folder:
find . | xargs grep -o "fetch_hook('.*\?')" > hooks.txt

It is output in the format of: ./{filename}:fetch_hook({hook})

The list is attached, as it is way too long to post here.

Just the thing I was looking for. TY

It is output in the format of: {filename}:{hook}

That's not correct.

The format is
./usernote.php:fetch_hook('usernote_start')
what means

.({filename}:fetch_hook{hook}

so you should maybe delete the .( and fetch_hook ;)


Also what's the benefit from this lists?
How should they make the developer's life easier?*g*

For plugin hooks, why don't just open includes/hooks_vbulletin.xml? I always look for useful hooks from that file and guess the script where that hook should be placed. Or, of course, do a quick file search if no guessing matched :D

You also see them on the pluginspage(if they are "registered in the hook xml file;)

Nice List this has came in handy a few times.

Is there any easy way to find out in what order the hooks are executed for a certain page? Sure I can activate debug mode, but that just shows me the hooks that are active and called, not all of them.

(Debug mode is activated by inserting the following in config.php)

$config['Misc']['debug'] = true;

Which is the hook location for a plugin that send output for:
ad_showthread_firstpost template?

Does anybody know the hook location for adding a field to the newthread template form?

Thanks you so much, this is so far my favorit... Need this for creating..

I have tried every reasonable hook for an automatic login of an externally authenticated user and they all either crash the system or fall into a login_redirect loop.

Global_complete worked under 3.8 but I have not been able to get this to work at all under V4+.

The desired behavior is that when someone navigates to the site (by any means) their authentication cooky is seen and then validated to be still active by the foreign authentication server and then they are logged in without needing to click on any buttons or links.

I have been working on this for over 6 months now off and on.

---------------------------------------------------------------------------------------

And finally this afternoon, I noticed that bbsessionshash was now bb_sessionhash. Did I edit the prefix when I installed v4 or did vB contribute the underscore.

The session cookie (and others) changed to gain the underscore in vB 4.0.1 or 4.0.2, I dont recall which. Interestingly, it gets removed again in vB5,

Thought this might be worth updating...

{vb:raw template_hook.activitystream_filter}
{vb:raw template_hook.albumbit_start}
{vb:raw template_hook.albumbit_end}
{vb:raw template_hook.album_overview_before_latest}
{vb:raw template_hook.album_overview_after_latest}
{vb:raw template_hook.album_overview_user_start_col}
{vb:raw template_hook.album_overview_user_end_column}
{vb:raw template_hook.album_overview_after_user}
{vb:raw template_hook.forumdisplay_above_subforums}
{vb:raw template_hook.forumdisplay_below_subforums}
{vb:raw template_hook.forumdisplay_above_threadlist}
{vb:raw template_hook.inlinemod_thread_bottom}
{vb:raw template_hook.forumdisplay_below_threadlist}
{vb:raw template_hook.forumdisplay_filters}
{vb:raw template_hook.forumhome_above_forums}
{vb:raw template_hook.forumhome_below_forums}
{vb:raw template_hook.forumhome_wgo_pos1}
{vb:raw template_hook.forumhome_wgo_pos2}
{vb:raw template_hook.forumhome_wgo_pos6}
{vb:raw template_hook.forumhome_wgo_pos3}
{vb:raw template_hook.forumhome_wgo_pos4}
{vb:raw template_hook.forumhome_wgo_stats}
{vb:raw template_hook.forumhome_icon_legend}
{vb:raw template_hook.forumhome_wgo_pos5}
{vb:raw template_hook.memberinfo_css}
{vb:raw template_hook.profile_sidebar_first}
{vb:raw template_hook.profile_sidebar_stats}
{vb:raw template_hook.profile_sidebar_friends}
{vb:raw template_hook.profile_sidebar_albums}
{vb:raw template_hook.profile_sidebar_groups}
{vb:raw template_hook.profile_sidebar_last}
{vb:raw template_hook.profile_tabs_first}
{vb:raw template_hook.profile_tabs_last}
{vb:raw template_hook.profile_tabs}
{vb:raw template_hook.profile_ministats_list}
{vb:raw template_hook.profile_stats_first}
{vb:raw template_hook.profile_stats_pregeneral}
{vb:raw template_hook.profile_stats_last}
{vb:raw template_hook.usercp_options_start}
{vb:raw template_hook.usercp_options_privacy}
{vb:raw template_hook.usercp_options_messaging}
{vb:raw template_hook.usercp_options_threadview}
{vb:raw template_hook.usercp_options_datetime}
{vb:raw template_hook.usercp_options_other}
{vb:raw template_hook.usercp_options_end}
{vb:raw template_hook.navtab_start}
{vb:raw template_hook.navtab_end}
{vb:raw template_hook.navbar_advanced_search}
{vb:raw template_hook.navbar_after_sublinks}
{vb:raw template_hook.navbar_after_links}
{vb:raw template_hook.postbit_start}
{vb:raw template_hook.postbit_userinfo_left}
{vb:raw template_hook.postbit_userinfo_right_after_posts}
{vb:raw template_hook.postbit_userinfo_right}
{vb:raw template_hook.postbit_messagearea_start}
{vb:raw template_hook.postbit_signature_start}
{vb:raw template_hook.postbit_signature_end}
{vb:raw template_hook.postbit_controls}
{vb:raw template_hook.postbit_end}
{vb:raw template_hook.postbit_start}
{vb:raw template_hook.postbit_userinfo_left}
{vb:raw template_hook.postbit_userinfo_right_after_posts}
{vb:raw template_hook.postbit_userinfo_right}
{vb:raw template_hook.postbit_messagearea_start}
{vb:raw template_hook.postbit_signature_start}
{vb:raw template_hook.postbit_signature_end}
{vb:raw template_hook.postbit_controls}
{vb:raw template_hook.postbit_end}
{vb:raw template_hook.search_results_top}
{vb:raw template_hook.showthread_above_posts}
{vb:raw template_hook.threadtoolbar}
{vb:raw template_hook.showthread_adminoptions}
{vb:raw template_hook.inlinemod_post_bottom}
{vb:raw template_hook.showthread_after_activeusers}
{vb:raw template_hook.showthread_whoread_readers}
{vb:raw template_hook.showthread_after_whoread}
{vb:raw template_hook.showthread_below_posts}
{vb:raw template_hook.group_categorylist_start_col}
{vb:raw template_hook.group_categorylist_end_col}
{vb:raw template_hook.group_categorybit_start}
{vb:raw template_hook.group_categorybit_end}
{vb:raw template_hook.group_discussionbit_start}
{vb:raw template_hook.group_discussionbit_end}
{vb:raw template_hook.group_discuss_before_messages}
{vb:raw template_hook.group_discuss_after_messages}
{vb:raw template_hook.group_discuss_after_action_links}
{vb:raw template_hook.group_discuss_after_bookmarks}
{vb:raw template_hook.group_discuss_after_quick_reply}
{vb:raw template_hook.group_discussionbit_start}
{vb:raw template_hook.group_discussionbit_end}
{vb:raw template_hook.group_discussionbit_start}
{vb:raw template_hook.group_discussionbit_end}
{vb:raw template_hook.group_after_mygroups_bit}
{vb:raw template_hook.group_after_groups_bit}
{vb:raw template_hook.group_after_newgroup_bit}
{vb:raw template_hook.group_overview_start}
{vb:raw template_hook.group_own_group_info}
{vb:raw template_hook.group_after_groups_bit}
{vb:raw template_hook.usercp_main_pos1}
{vb:raw template_hook.usercp_main_pos2}
{vb:raw template_hook.usercp_main_pos3}
{vb:raw template_hook.usercp_main_pos4}
{vb:raw template_hook.usercp_main_pos5}
{vb:raw template_hook.usercp_main_pos6}
{vb:raw template_hook.usercp_navbar_profile_list}
{vb:raw template_hook.usercp_navbar_profile}
{vb:raw template_hook.usercp_navbar_myaccount_list}
{vb:raw template_hook.usercp_navbar_myaccount}
{vb:raw template_hook.usercp_navbar_networking_list}
{vb:raw template_hook.usercp_navbar_networking}
{vb:raw template_hook.usercp_navbar_miscellaneous_list}
{vb:raw template_hook.usercp_navbar_miscellaneous}
{vb:raw template_hook.usercp_navbar_moderation_list}
{vb:raw template_hook.usercp_navbar_bottom}
{vb:raw template_hook.headinclude_javascript}
{vb:raw template_hook.custom_css_links}
{vb:raw template_hook.custom_css_list}}
{vb:raw template_hook.headinclude_css}
{vb:raw template_hook.header_userinfo}
{vb:raw template_hook.memberaction_dropdown_items}
{vb:raw template_hook.footer_links}
{vb:raw template_hook.footer_javascript}
{vb:raw template_hook.footer_copyright}
{vb:raw template_hook.headinclude_bottom_css}










privacy (GDPR)