The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Top Thank Earners (monthly stats) for non-vb pages Details »» | |||||||||||||||||||||||||||
Top Thank Earners (monthly stats) for non-vb pages
Developer Last Online: Aug 2015
Top Thank Earners (monthly stats) for non-vb pages
Version: 1.02 Author: LBmtb[/email] Last updated: May 3nd, 2007 DESCRIPTION: This displays the top X thank earners in X month. The X's are configurable. You can have multiple tables in a single page. For example: you can have "Top 20 in May 2007" and have "Top 5 in April 2007" or any other combination you can think of. The table it produces is a plain jane table but can be styled with CSS. The table's class is "top_thanks" and the rows have alternating classes ("odd" and "even") in case you want to do alternating colors for the rows. Here's what it looks like: HTML Code:
<table width="100%" cellpadding="0" cellspacing="0" summary="two months ago" class="top_thanks"> <th scope="col">Position</th><th scope="col">Username</th><th scope="col">Thanks Earned</th> <tr class="odd"> <td scope="row">1</td> <td><a href="http://localhost/forum/member.php?u=610">Winston</a></td> <td><a href="http://localhost/forum/search.php?do=findthanks&u=610">97</a></td> </tr> <tr class="even"> <td scope="row">2</td> <td><a href="http://localhost/forum/member.php?u=191">LBmtb</a></td> <td><a href="http://localhost/forum/search.php?do=findthanks&u=191">71</a></td> </tr> </table> If using the caching technique ... the queries are cached for an hour to speed up the page and reduce server load. For more on the PEAR cacheing stuff, read this: http://books.google.com/books?id=iUf...rRRQ#PPA272,M1 A basic understanding of PHP (or be able to follow directions very well) will help a lot here. VERSION HISTORY: 1.00: Initial release 1.01: Made using the cached technique optional. 1.02: Cleaned stuff up. Made it a bit easier to use and configure. REQUIREMENTS: 1) Pear must be setup on your server to use the cached technique. You MIGHT need to do an ini_set() to get the Cache/DB.php available to you. 2) vbSEO is optional. See instructions for how to get vbSEO'ized member urls. 3) Abe's Post Thank You Hack. You may download it here: https://vborg.vbsupport.ru/showthread.php?t=122944 4) The page you use this on needs to have a php extension or if it's html, parse it as php (you can set this in htaccess) INSTALLATION INSTRUCTIONS: 1) Open thanks1-02.php and fill in variables under "FILL IN STUFF BELOW, mk?" 2) Upload thanks1-02.php to your site (same directory where your top thank earner page will be) 3) On the stats page, add the following somewhere before the stats and change first two variables if you'd like: PHP Code:
PHP Code:
thanks() takes two optional arguments. Those arguments are epoch values for the beginning and end of a different month. Example 1: For stats from two months ago, do this: PHP Code:
PHP Code:
DEMO: http://www.socaltrailriders.org/top-thanks.php HELP/TROUBLESHOOTING: I will try and support this mod as much as time allows on the vBulletin.org thread. Customizations to your own website can be done for a fee. PM me about that if necessary. COPYRIGHT: Please do not remove the copyright from the script. DONATE: If you use and appreciate this script, please say thank you by donating something: Donate Show Your Support
|
Comments |
#12
|
|||
|
|||
Its working for you?
|
#13
|
|||
|
|||
I made a new version of it. Hopefully it's easier to use and configure. By default vbSEO URLs and using the cached queries technique is turned off. Make sure you read the instructions.
Let me know if that works for ya! |
#14
|
|||
|
|||
Quote:
Code:
SELECT p.username, p.userid FROM {$this->db_prefix}post_thanks t INNER JOIN {$this->db_prefix}post p ON t.postid = p.postid WHERE t.date BETWEEN ". $this->beginning ." AND ". $this->end_month ." ORDER BY date DESC Let me know if you need help with that. Good luck! |
#15
|
|||
|
|||
hey nice work, i always like to see more hacks for non vb pages. ill give this a go another day tho. thanks.
|
#16
|
|||
|
|||
Quote:
Code:
Fatal error: Cannot instantiate non-existent class: thanks in /usr/www/users/xxx/xxx.php on line 5 |
#17
|
|||
|
|||
Got it working for 1 month, however I'm experiencing probs when i want to display 2 months or more (PHP NOOB here )
Code for 1 month (working) Code:
<?php // change to true if you wish to use either of the following ... $vbseo_urls = false; $cached_technique = false; if ($cached_technique) { require 'Cache/DB.php'; } if ($vbseo_urls) { include_once "forum/includes/functions_vbseo.php"; } require "thanks1-02.php"; ?> <?php // NOTE: "$thisMonth" variable should be different for each table you're making (each instance of thanks class) // $string (required): Any variable name in form of a string (should be different for each table) // 2 months ago $start_epoch = mktime(0, 0, 0, (date(m)-2), 1, date(Y)); // epoch for beginning of month $end_epoch = mktime(23, 59, 0, (date(m)-1), 0, date(Y)); // epoch for end of month $twoMonthsAgo = new thanks($start_epoch,$end_epoch); $twoMonthsAgo ->grab_n_sort($string,$vbseo_url,$cached_technique); $twoMonthsAgo ->print_chart(10,$table_summary); ?> Code:
<?php // change to true if you wish to use either of the following ... $vbseo_urls = false; $cached_technique = false; if ($cached_technique) { require 'Cache/DB.php'; } if ($vbseo_urls) { include_once "forum/includes/functions_vbseo.php"; } require "thanks1-02.php"; ?> <?php // NOTE: "$thisMonth" variable should be different for each table you're making (each instance of thanks class) // $string (required): Any variable name in form of a string (should be different for each table) // 2 months ago $start_epoch = mktime(0, 0, 0, (date(m)-2), 1, date(Y)); // epoch for beginning of month $end_epoch = mktime(23, 59, 0, (date(m)-1), 0, date(Y)); // epoch for end of month $twoMonthsAgo = new thanks($start_epoch,$end_epoch); $twoMonthsAgo ->grab_n_sort($string,$vbseo_url,$cached_technique); $twoMonthsAgo ->print_chart(10,$table_summary); // 1 month ago $start_epoch = mktime(0, 0, 0, (date(m)-1), 1, date(Y)); // beginning of month epoch ex. 01/01/07 12:00 AM $end_epoch = mktime(23, 59, 0, (date(m)), 0, date(Y)); // end of month epoch ex. 01/31/07 11:59 PM $oneMonthAgo = new thanks($start_epoch,$end_epoch); $oneMonthsAgo ->grab_n_sort($string,$vbseo_url,$cached_technique); $oneMonthsAgo ->print_chart(10,$table_summary); ?> I guess it has something to do with the $string ? What should i use in stead of $string for the other months,....? tia |
#18
|
|||
|
|||
Solved like this,
is this a good code? Code:
// This month $string = 'thismonth'; $thisMonth = new thanks($start_epoch,$end_epoch); $thisMonth->grab_n_sort($string,$vbseo_url,$cached_technique); $thisMonth->print_chart(10,$table_summary); // 1 month ago $start_epoch = mktime(0, 0, 0, (date(m)-1), 1, date(Y)); // epoch for beginning of month $end_epoch = mktime(23, 59, 0, (date(m)), 0, date(Y)); // epoch for end of month $string = 'oneMonthsAgo'; $twoMonthsAgo = new thanks($start_epoch,$end_epoch); $twoMonthsAgo ->grab_n_sort($string,$vbseo_url,$cached_technique); $twoMonthsAgo ->print_chart(10,$table_summary); // 2 months ago $start_epoch = mktime(0, 0, 0, (date(m)-2), 1, date(Y)); // epoch for beginning of month $end_epoch = mktime(23, 59, 0, (date(m)-1), 0, date(Y)); // epoch for end of month $string = 'twoMonthsAgo'; $oneMonthsAgo = new thanks($start_epoch,$end_epoch); $oneMonthsAgo ->grab_n_sort($string,$vbseo_url,$cached_technique); $oneMonthsAgo ->print_chart(10,$table_summary); |
#19
|
||||
|
||||
nice
|
#20
|
||||
|
||||
when it'll be in alpha stage?
|
#21
|
||||
|
||||
no alpha yet?
|
Thread Tools | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|