Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

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
  #242  
Old 04-05-2004, 01:59 AM
Seby Seby is offline
 
Join Date: Apr 2002
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Boofo sent me instructions on how to fix the percentage problems and it worked out nicely, expect a fix soon

Reply With Quote
  #243  
Old 04-05-2004, 11:53 AM
Owen Owen is offline
 
Join Date: Jan 2002
Posts: 163
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ah cool, I am in need of that too.
Reply With Quote
  #244  
Old 04-05-2004, 11:58 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PM me and I'll give you the code. I would like to test it on yours, too, to make sure it is right.
Reply With Quote
  #245  
Old 04-05-2004, 12:49 PM
Owen Owen is offline
 
Join Date: Jan 2002
Posts: 163
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just go ahead and PM me I'll check it out.
Reply With Quote
  #246  
Old 04-05-2004, 01:35 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No, because I need you to test it out as soon as you get it so we can put it back like it was before it messes anything up if it doesn't work. When you're ready, let me know. I need your full attention while we are doing this.
Reply With Quote
  #247  
Old 04-05-2004, 01:39 PM
Owen Owen is offline
 
Join Date: Jan 2002
Posts: 163
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am on msn, you dont seem to be online though...
Reply With Quote
  #248  
Old 04-05-2004, 01:41 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You'll have to give me a few minutes. I'm right in the middle of helping someone with a hack.
Reply With Quote
  #249  
Old 04-05-2004, 10:07 PM
blakkboy's Avatar
blakkboy blakkboy is offline
 
Join Date: Aug 2003
Location: Baltimore
Posts: 251
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i just updated to 2.2 and now i get this

please help me
Reply With Quote
  #250  
Old 04-06-2004, 02:27 AM
Nj?rd Eriksson Nj?rd Eriksson is offline
 
Join Date: Jul 2003
Location: Midg?rd
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
You'll have to give me a few minutes. I'm right in the middle of helping someone with a hack.
Great hack, Boofo, but ...

... percentages still don't work (yes, I applied the changes you suggested.)

... I have a style-problem. The stats window is displayed in some sort of default vBulletin style in all my six styles to which I applied the modified FORUMHOME template (see screenshot.)

Do you have a fix for this?
Reply With Quote
  #251  
Old 04-06-2004, 07:25 AM
Nj?rd Eriksson Nj?rd Eriksson is offline
 
Join Date: Jul 2003
Location: Midg?rd
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Nj?rd Eriksson
Great hack, Boofo, but ...

... percentages still don't work (yes, I applied the changes you suggested.)

... I have a style-problem. The stats window is displayed in some sort of default vBulletin style in all my six styles to which I applied the modified FORUMHOME template (see screenshot.)

Do you have a fix for this?
1. Fix for my style problem (might not be universal but did the job for me):

In the FORUMHOME template, replace:
HTML Code:
<tbody id="collapseobj_forumhome_stats" style="$vbcollapse[collapseobj_forumhome_stats]">
<tr>
	<td class="panelsurround" align="center" colspan="6">

	<table class="panel" cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
	<tr>
		<td align="$stylevar[left]">
			<fieldset class="fieldset" style="margin:0px">
With:
HTML Code:
<tbody id="collapseobj_forumhome_stats" style="$vbcollapse[collapseobj_forumhome_stats]">
<tr>
	<td class="alt2"><img src="$stylevar[imgdir_misc]/stats.gif" alt="<phrase 1="$vboptions[bbtitle]">$vbphrase[x_statistics]</phrase>" border="0" /></td> 
      <td class="alt1" align="center" colspan="6">

	<table class="alt1" cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
	<tr>
		<td align="$stylevar[left]">
			<fieldset class="alt1" style="margin:0px">
2. Fix for the incorrect displayed percentages (not universal, works probably only for certain larger boards):

This fix is a modification of Boofo's modification which you can find here:
https://vborg.vbsupport.ru/showpost....&postcount=208

In index.php replace:
PHP Code:
$statscache['topposterpercent'] = round(100 * ($topposter[posts] / ($totalthreads $totalposts)), 2); 
$statscache['topthreadspercent'] = round(100 * ($topstarter[count] / $totalthreads), 2); 
With:
PHP Code:
$statscache['topposterpercent'] = vb_number_format(($topposter[posts] / ($totalthreads $totalposts)) * 100 1000) . '%'
$statscache['topthreadspercent'] = vb_number_format(($topstarter[count] / $totalthreads) * 100 1000) . '%'
And delete this:
PHP Code:
// Ditch the 2 decimal zeros on a whole percent ... 
if (($statscache['topposterpercent'] % 10) == 0
$statscache['topposterpercent'] = vb_number_format($statscache['topposterpercent']) . '%'
else 
$statscache['topposterpercent'] = vb_number_format($statscache['topposterpercent'], 2) . '%'

// Ditch the 2 decimal zeros on a whole percent ... 
if (($statscache['topthreadspercent'] % 10) == 0
$statscache['topthreadspercent'] = vb_number_format($statscache['topthreadspercent']) . '%'
else 
$statscache['topthreadspercent'] = vb_number_format($statscache['topthreadspercent'], 2) . '%'
Reply With Quote
  #252  
Old 04-06-2004, 07:39 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I had a fix for the percentage code but yours might actually be better. Let's have a few of the larger boards try it and see if that fixes it for sure. If it works for the rest of you, I will update the hack with both changes. Thank you, sir.

Nj?rd, where were you when I was tearing what little hair I have left out coming up with a fix for the percentages? You could have saved me some hair.
Reply With Quote
  #253  
Old 04-06-2004, 09:58 AM
Nj?rd Eriksson Nj?rd Eriksson is offline
 
Join Date: Jul 2003
Location: Midg?rd
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Ok, I had a fix for the percentage code but yours might actually be better. Let's have a few of the larger boards try it and see if that fixes it for sure. If it works for the rest of you, I will update the hack with both changes. Thank you, sir.

Nj?rd, where were you when I was tearing what little hair I have left out coming up with a fix for the percentages? You could have saved me some hair.
This is not really an acceptable fix I fear ... I just removed the if ... else conditionals from your solution because it didn't work for me. If for anyone then mine will just work for larger boards. :|
Reply With Quote
  #254  
Old 04-06-2004, 03:50 PM
djohn djohn is offline
 
Join Date: Feb 2004
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What exactly does 1 Uncached Template mean?
Does that uncashed template do any good/bad to my board?
Reply With Quote
  #255  
Old 04-06-2004, 04:21 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

An uncached template adds an extra query. Which template is uncached? If you followed the instructions in the very first part of the hack, then the templates are cached for this hack. You might want to recheck it.
Reply With Quote
  #256  
Old 04-06-2004, 05:48 PM
BarBeQue's Avatar
BarBeQue BarBeQue is offline
 
Join Date: Nov 2001
Location: The Netherlands
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sweet hack boofo!

Always wanted stats but never liked the amount of queries it added (you load them 10x a day and only view them like once....) but this solves it!

Gonna read the whole thread so i'll be back with questions/suggestions later prolly

[high]* BarBeQue clicks install![/high]
Reply With Quote
Reply


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 04: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.05937 seconds
  • Memory Usage 2,392KB
  • Queries Executed 30 (?)
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
  • (3)bbcode_php
  • (3)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
  • (2)pagenav_pagelinkrel
  • (16)post_thanks_box
  • (16)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (16)post_thanks_postbit_info
  • (15)postbit
  • (16)postbit_onlinestatus
  • (16)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