Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 07-06-2013, 01:24 AM
RuneCentre RuneCentre is offline
 
Join Date: Jun 2012
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Not outputting top buyers?

I've wanted to have a custom bit of PHP on my custom template for a while now, and just decided to look up the plugin feature for vBulletin. I've wrote a small bit of PHP, and set it to hook to global_start. It is activated.

Plugin objective: Load a custom PHP page I have that displays the top 10 buyers.
Plugin code:

Code:
$ch = curl_init('topbuyers.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$topbuyers = curl_exec($ch);
curl_close($ch);
What I have included in my custom template:

Code:
{vb:raw topbuyers}
I'm really new to vBulletin. First time using, sorry if I'm making a basic mistake somewhere.

If necessary, here's the custom PHP file topbuyers.php: http://paste2.org/gmBKetZ9
Reply With Quote
  #2  
Old 07-06-2013, 01:09 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If topbuyers.php is in your forum directory, you could just include it instead of using curl, like:
Code:
ob_start();
include('topbuyers.php');
$topbuyers = ob_get_contents();
ob_end_clean();

I looked at the link to topbuyers.php, and if that's the entire file I don't understand how it would work since it seems to depend on a pre-existing $database variable.

In any case, you also need to register your variable to the template, like this:
Code:
vB_Template::preRegister('template_name', array('topbuyers' => $topbuyers));
Reply With Quote
  #3  
Old 07-06-2013, 07:24 PM
RuneCentre RuneCentre is offline
 
Join Date: Jun 2012
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
If topbuyers.php is in your forum directory, you could just include it instead of using curl, like:
Code:
ob_start();
include('topbuyers.php');
$topbuyers = ob_get_contents();
ob_end_clean();

I looked at the link to topbuyers.php, and if that's the entire file I don't understand how it would work since it seems to depend on a pre-existing $database variable.

In any case, you also need to register your variable to the template, like this:
Code:
vB_Template::preRegister('template_name', array('topbuyers' => $topbuyers));
The $database variable is already created on vBulletin startup.

This seems to have worked. Didn't know about registering the variables.

Thank you! Very much appreciated.
Reply With Quote
Reply

Thread Tools
Display Modes

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 01:06 PM.


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