View Single Post
  #4  
Old 12-03-2012, 04:49 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, you said you managed to find the code for the stats and use it in a new template, so it sounds like you've figured out some of it. Creating a plugin isn't hard, the instructions are in the manual (which is under "Support" on vbulletin.com). It's really just a matter of going to Plugins & Products in the admincp and clicking on "Add new Plugin" and filling in the fields.

There's an article here about templates: https://vborg.vbsupport.ru/showthread.php?t=228078.

You can check for other articles in the article forum but I don't know if there's any comprehensive "here's how to write plugins for vbulletin" article. Plugins are really just pieces of code that get executed at certain points in the vbulletin scripts, so I think it's really difficult to write one without reading the vbulletin php files and seeing what's going on, and which hook locations are useful. I have the vbulletin code on my local computer and I use an application to search across all files, so I usually recommend that (although I know it's probably not practical to non programmers or casual programmers).

As for what you're trying to do, I suggested the hook location parse_templates because I know it will be called once before the header and footer templates are rendered, so if you want to add something to either of those it's a good choice. It's in includes/class_bootstrap.php around line 430, if you want to see what's going on there. The line that calls the plugin code looks like this:

Code:
($hook = vBulletinHook::fetch_hook('parse_templates')) ? eval($hook) : false;
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01032 seconds
  • Memory Usage 1,765KB
  • 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
  • (1)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