Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases

Reply
 
Thread Tools
vB3 Forumhome Stats Cache Serialize hack v2.2 Details »»
vB3 Forumhome Stats Cache Serialize hack v2.2
Version: 1.00, by Boofo Boofo is offline
Developer Last Online: Jun 2012 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 02-10-2004 Last Update: Never Installs: 108
 
No support by the author.

vB3 Forumhome Stats Cache Serialize hack
Version 2.2
(By Boofo)

What does this hack do?
This hack will add some forum statistics to your forumhome that will be cached (to reduce the query load) for a certain amount of time that can be set to whatever you want. This covers most of the stats any forum Admin would use on his site.

Note: This is the setting for the time interval (in minutes) that you want the cache to be updated on. The default value is 10 minutes. The following code is in the index.php part of this hack.

$updatetime = 10;

Once you install the Admin CP setting (at the end of this file), you will be able to update this from the Admin CP vBulletin Options settings.

Credits:
I want to thank Tigga for the original Forumhome Statistics Cache hack for vB2, partly on what this hack is based. I also want to thank EvilLS1 for his time and patience in helping put this hack together. Another thank you goes out to Mike Gaidin for testing this thoroughly while I was putting together this install file. And, finally, thank you goes out to NTLDR, for helping me track down a very stupid mistake on my part which I had overlooked.

Version 2.0 credits go out to g-force2k2 for getting me started on the datastore version of this hack and guiding me through some of the rough parts in the beginning. And also to KirbyDE for answering all of my dummy questions while writing this version and verifying the code when I figured out all of my mistakes. This is my first attempt at using the datastore function but it seems to work better and be easier to code than the older way of doing things.

Version Information:
Version 1.0
--Initial release
Version 2.0 --Completely rewritten using the datastore function for vB3. It now uses "serialize" to store the data and "unserialize" to retrieve the data. There is also now 1 less query when reading from the cache.
Version 2.1 --Combined the "new threads since last visit" and "new posts since last visit" queries into 1 query, thus eliminating another query on cache hits. Thanks goes out to g_force2k2 for this one. Also added Admin CP setting code so you can change the time interval between cache updates via the Forum Display Option setting in the vBulletin Option in the Admin CP. That code to add is at the end of this file.
Version 2.2 --Added "Top Reputation" statistic (requested by rinkrat ) and totally re-did the template. It looks cleaner now.

New Installation:
Do all of the steps in this file.

To Update Version 1.0 to Version 2.0:
To update this hack you will need to do everything in this file over again except the second query (Query #2). After you have this hack up and running again and you have made sure it is running to your satisfaction, you can drop the statscache table (from version one of this hack) completely. It is no longer needed.

To Update Version 2.0 to Version 2.1:
You will need to re-add the code for the index.php and go to the end of this file and add the setting for the Admin CP.

To Update Version 2.1 to Version 2.2:
You will need to re-add the code for the index.php and replace the code for the forumhome template.

Installation overview:
Queries to run:
(2)
Files to edit: (2)
--index.php
--member.php
Templates to edit: (1)
--forumhome
Settings to add: (1)
--forumhomecachetime

vB3 Arcade hack stats addon:
https://vborg.vbsupport.ru/showpost....&postcount=262

The first attachment shows the Guest loggedin and the second attachment show the Registered Member and above loggedin.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #412  
Old 03-07-2005, 10:03 PM
Moncal Moncal is offline
 
Join Date: Mar 2005
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
I have an update that fixes all of the percentage problems and is accurate and also has a few more items in it. I just haven't gotten the text file together yet to update it. I will try to get that going here shortly.
Okay, thanks.

Just our of curiosity, why does it only count the profile views after the hack has been installed. I mean, if I had 1000 profile views before I installed the hack it would only show up as 1 if someone viewed my profile. Or is this just because I updated vB and moved it to another directory so that the URL's changed?
Reply With Quote
  #413  
Old 03-07-2005, 10:37 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Moncal
Okay, thanks.

Just our of curiosity, why does it only count the profile views after the hack has been installed. I mean, if I had 1000 profile views before I installed the hack it would only show up as 1 if someone viewed my profile. Or is this just because I updated vB and moved it to another directory so that the URL's changed?
Because profile views aren't counted by default. They are only counted after you run the query and only for anyone other than who the profile belongs to. If it is your profile and you are viewing it, it doesn't get counted, only when someone else views it.
Reply With Quote
  #414  
Old 03-08-2005, 10:27 AM
Moncal Moncal is offline
 
Join Date: Mar 2005
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Because profile views aren't counted by default. They are only counted after you run the query and only for anyone other than who the profile belongs to. If it is your profile and you are viewing it, it doesn't get counted, only when someone else views it.
Okay, that makes sense. Thanks.
Reply With Quote
  #415  
Old 03-19-2005, 09:55 PM
vakvak vakvak is offline
 
Join Date: Mar 2005
Location: T?rkiye
Posts: 87
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
// add default special templates
        
$specialtemplates array_merge(array(
            
'options',
            
'cron',
            
'forumcache',
            
'usergroupcache',
            
'stylecache',
            
'statscache'
        
), $specialtemplates); 
Parse error: parse error, unexpected '}' in /home/pcteknik/public_html/forum/includes/init.php on line 644

help pls vb 3.0.7
Reply With Quote
  #416  
Old 03-20-2005, 02:46 PM
vakvak vakvak is offline
 
Join Date: Mar 2005
Location: T?rkiye
Posts: 87
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installation overview:
Queries to run: (2) i to apply no problem
Files to edit: (2) i to apply no problem
--index.php
--member.php
Templates to edit: (1) i to apply no problem
--forumhome
Settings to add: (1)not to know ?
--forumhomecachetime
Parse error: parse error, unexpected '}' in /home/pcteknik/public_html/forum/includes/init.php on line 644

help pls vb 3.0.7
Reply With Quote
  #417  
Old 03-20-2005, 04:43 PM
yinyang's Avatar
yinyang yinyang is offline
 
Join Date: May 2004
Location: Los Angeles
Posts: 580
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
I have an update that fixes all of the percentage problems and is accurate and also has a few more items in it. I just haven't gotten the text file together yet to update it. I will try to get that going here shortly.
any new update on when the new fix may be available?
Reply With Quote
  #418  
Old 03-26-2005, 04:41 PM
jamiepryer@hotm jamiepryer@hotm is offline
 
Join Date: Jan 2005
Location: Hove - UK
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

helpppppppppppppppppppppppp
not sure what i have done wrong, but need some serious help please!!

for starters i have the following error code on my forum:

Warning: Invalid argument supplied for foreach() in /includes/functions.php on line 2991

Warning: Invalid argument supplied for foreach() in /includes/functions.php on line 2991

Warning: Invalid argument supplied for foreach() in /includes/functions.php on line 2991

http://www.sussexcarz.com/forum/upload/


plus i cant seem to find this anywhere?

*****************************
Add stats to any page and header:
*****************************
In includes/init.php

Find:
*****************************

// add default special templates
$specialtemplates = array_merge(array(
'options',
'cron',
'forumcache',
'usergroupcache',
'stylecache'
), $specialtemplates);
Reply With Quote
  #419  
Old 03-26-2005, 06:18 PM
jamiepryer@hotm jamiepryer@hotm is offline
 
Join Date: Jan 2005
Location: Hove - UK
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this is my forum:

http://www.sussexcarz.com/forum/upload/
Reply With Quote
  #420  
Old 04-06-2005, 02:07 AM
dcarr dcarr is offline
 
Join Date: Dec 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How could I have the second top poster rather than the top poster shown? As I am admin...I have way more posts than anyone else. I would like to show the actual member with the top posts. Any idea? Thanks.
Reply With Quote
  #421  
Old 04-06-2005, 11:35 PM
red_baron2000's Avatar
red_baron2000 red_baron2000 is offline
 
Join Date: Jul 2002
Location: EU
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Ok, for those of you who have John's Excellent vB3 Arcade hack installed, here's a treat!

This addon will add a line to your Forumhome Stats to Display the Most Played Game (with a link directly to that game), the highest scorer in that game (the Champion) and his score.

Here we go!

In index.php, find:

PHP Code:
    // <!-- TOP REPUTATION -->
    
$toprep $DB_site->query_first("
        SELECT userid, username, reputation
        FROM " 
TABLE_PREFIX "user
        ORDER BY reputation
        DESC LIMIT 1
        "
); 
BELOW it add:

PHP Code:
    // <!-- TOP ARCADE GAME -->
    
$mostactive $DB_site->query_first("
            SELECT COUNT(*) as total, gamesessions.gamename, games.title, games.gameid, MAX(gamesessions.score) as score, user.username, user.userid
            FROM "
.TABLE_PREFIX."gamesessions
            INNER JOIN " 
TABLE_PREFIX "games AS games ON(gamesessions.gamename = games.shortname)
            INNER JOIN " 
TABLE_PREFIX "user AS user ON(games.highscorerid = user.userid)
            WHERE gamesessions.valid=1
            GROUP BY gamesessions.gamename
            ORDER BY total
            DESC LIMIT 0,1
        "
); 
Find:

PHP Code:
    $statscache['lastupdate'] = intval (TIMENOW); 
ABOVE it add:

PHP Code:
    $statscache['mostactivetotal'] = intval ($mostactive[total]);
    
$statscache['mostactivegamen'] = $mostactive[gamename];
    
$statscache['mostactivetitle'] = $mostactive[title];
    
$statscache['mostactivegameid'] = intval ($mostactive[gameid]);
    
$statscache['mostactivescore'] = intval ($mostactive[score]);
    
$statscache['mostactiveun'] = $mostactive[username];
    
$statscache['mostactiveid'] = intval ($mostactive[userid]); 
Find:

PHP Code:
    $statscache['topreprep'] = vb_number_format($statscache['topreprep']); 
BELOW it add:

PHP Code:
    $statscache['mostactivetotal'] = vb_number_format($statscache['mostactivetotal']);
    
$statscache['mostactivescore'] = vb_number_format($statscache['mostactivescore']); 
Save and upload.

In the forumhome template, find:

HTML Code:
				<if condition="$show['reputation']">
				<tr>
					<td nowrap="nowrap"><span class="smallfont">Top Reputation: <a href="member.php?$session[sessionurl]u=$statscache[toprepid]">$statscache[toprepun]</a> (<b>$statscache[topreprep]</b> Reputation Points)</span></td>
				</tr>
				</if>
BELOW it add:

HTML Code:
				<tr>
					<td nowrap="nowrap"><span class="smallfont">Most Active Arcade Game: <a href="$vboptions[bburl]/arcade.php?do=play&gameid=$statscache[mostactivegameid]">$statscache[mostactivetitle]</a> (<b>$statscache[mostactivetotal]</b> Total Plays -- Champion: <a href="member.php?$session[sessionurl]u=$statscache[mostactiveid]">$statscache[mostactiveun]</a> with <b>$statscache[mostactivescore]</b> Points)</span></td>
				</tr>
Save the template.

NOTE: Don't forget to set the update time to 0 and refresh the page so the cache can get updated with the new stats. And don't forget to set it back to what you had it set at after updating the cache.

You're done!
Enjoy!
any idea how to make it work also with ibproarcade? thank you
Reply With Quote
Reply

Thread Tools

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 08:01 AM.


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.07932 seconds
  • Memory Usage 2,345KB
  • Queries Executed 25 (?)
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
  • (2)bbcode_html
  • (7)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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_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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete