vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=194)
-   -   Statistics Modifications - Top Thank Earners (monthly stats) for non-vb pages (https://vborg.vbsupport.ru/showthread.php?t=146277)

LBmtb 05-01-2007 10:00 PM

Top Thank Earners (monthly stats) for non-vb pages
 
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>

vbSEO URLs and caching the queries are both optional. By default they are not used. Please see #3 of the instructions.

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
// 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";
?>

4) Wherever you want a top thank earners table to appear, put in the following code and configure it a bit (look over the comments):

PHP Code:

<?php

// NOTE: "$thisMonth" variable should be different for each table you're making (each instance of thanks class)

    
$thisMonth = new thanks($start_epoch,$end_epoch); 
    
/*    
         $start_epoch (optional): Epoch timestamp of time for earliest thanks (beginning of month usually). Defaults to beginning of current month.
         $end_epoch (optional): Epoch timestamp of time for latest thanks (end of month usually). Defaults to end of current month.
    */
    
    
$thisMonth->grab_n_sort($string,$vbseo_url,$cached_technique); 
    
/*
        $string (required): Any variable name in form of a string (should be different for each table) 
    */
    
    
$thisMonth->print_chart($top_x,$table_summary); 
    
/*
        $top_x: is top x thanks earners to show in number format
        $table_summary: for the table's summary attribute
    */
?>

The previous make a table for the current month. For months other then the current month...
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:

$start_epoch mktime(000, (date(m)-2), 1date(Y));  // epoch for beginning of month
    
$end_epoch mktime(23590, (date(m)-1), 0date(Y));  // epoch for end of month

    
$twoMonthsAgo = new thanks($start_epoch,$end_epoch); 

Example 2: For stats one month ago:

PHP Code:

$start_epoch mktime(000, (date(m)-1), 1date(Y)); // beginning of month epoch ex. 01/01/07 12:00 AM
    
$end_epoch mktime(23590, (date(m)), 0date(Y)); // end of month epoch ex. 01/31/07 11:59 PM

    
$oneMonthAgo = new thanks($start_epoch,$end_epoch); 


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

LBmtb 05-02-2007 08:29 AM

1st post reserved just in case.

Frapegliko 05-02-2007 03:18 PM

what i want! perfect

tanyeri24 05-02-2007 06:58 PM

nice hack but doesnt work for me

LBmtb 05-02-2007 07:09 PM

Quote:

Originally Posted by tanyeri24 (Post 1239985)
nice hack but doesnt work for me

Any error? Where are you stuck?

tanyeri24 05-02-2007 07:30 PM

i getting this error on my self created php file:

Code:

Warning: mkdir(/usr/www/users/xxx/db_cache/): Keine Berechtigung in /usr/local/lib/php/Cache/Container/file.php on line 339

Fatal error: Call to undefined function: query() in /usr/local/lib/php/Cache/DB.php on line 189


LBmtb 05-02-2007 08:05 PM

The first part of your error is the script running into a problem when trying to make the db_cache folder. It creates that folder inside of the directory that your using the script and it holds the files with the cached queries. I actually also ran into the problem too and instead of f'ing with it, I just created it myself. That's probably the easiest thing to do. And then I chmod'd it 777.

The second part of your error has to do with the query. Might be fixed after the db_cache folder is made.

Would you or anyone else want an option to use the regular (non-caching) way of querying the database? It'll avoid that db_cache folder problem.

tanyeri24 05-02-2007 09:42 PM

hi thanks for yer message. I created the folder (and chmod), now the error message is reduced:
Code:

Fatal error: Call to undefined function: query() in /usr/local/lib/php/Cache/DB.php on line 189

maharajah 05-02-2007 11:47 PM

Possible to put this in the forumhome somehow ?

.

RMS-Chef 05-03-2007 11:23 PM

What kind of queries are involved here and can I alter it to update cache like every 12 hours instead? I just get a little worried since I have over 1.3 million "thanks" issued on my board. Thanks for any advice you may be able to give.


All times are GMT. The time now is 09:57 PM.

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.01069 seconds
  • Memory Usage 1,774KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (1)bbcode_html_printable
  • (4)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete