Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
VSa - Advanced Forum Statistics (AJAX) Details »»
VSa - Advanced Forum Statistics (AJAX)
Version: 7.1, by Valter Valter is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Statistics Modifications - Version: 4.x.x Rating:
Released: 02-13-2010 Last Update: 08-01-2012 Installs: 2514
DB Changes Uses Plugins Auto-Templates
 
No support by the author.

Info:
AJAX Forum Statistics:
-Latest Posts
-Latest Forum News
-Most Viewed Threads
-Hottest Threads
-Most Popular Forums
-Latest Classified Ads
-Latest Blog Entries
-Latest Group Posts
-Newest Members
-Top Posters
-Top Thread Starters
-Top Referrers
-Top Reputations
-Top Thanked
-Top Infractions
-Profile Visits
-Latest Social Groups
-Latest Donations

You can turn on/off individual stats, count data from last x days for some of them if you wish, trim titles/usernames to save page space, make several other functionality/make-up customizations... See screenshots.

You can have Main Stats box shown on several pages...
It's shown by default on forumhome (to disable it set "Main Top Stats box on ForumHome" to "None")
To activate another location:
a) add THIS_SCRIPT name to "Stats on pages" field in product options
b) add template name to "Stats in templates" field in product options
c) add "{vb:raw vsatopstats}" to the template you added Stats to


Notes:
-To set options go to: vBulletin Options > VSa - Advanced Forum Statistics
-"Top Thanked" requires Abe1's "Post Thanks" or Scandal's "Thumbs Up?" products to work
-"Latest Donations" requires "VSa - PayPal Donate" hack to work
-To move Top Stats box somewhere else on forumhome: 1.-Set placement setting to "None" 2.-Add "index" to "Stats on pages" setting 3.-Add "FORUMHOME" to "Stats in templates" setting 4.-Add "{vb:raw vsatopstats}" wherever you wish in FORUMHOME template.
-If Top Stats box is messed up because of long usernames or thread/forum titles be noted that you can trim them in ACP options.
-When forum/thread titles or usernames are trimmed, mouse-over will show you full version.

Installation:
-Import XML file (as product) through AdminCP: Plugin System > Manage Products > [Add/Import Product]

Versions:
v1.0 - Jun 12. 2006.
-First release
v6.6.1 - May 14. 2009.
-Latest vB 3.x version
v7.0 - Feb 14. 2010.
-First vB4 release
-Fixed some previous version bugs, optimized code
v7.0.1 - Feb 16. 2010.
-Fixed: Newpost/lastpost linking in 'Latest Posts'
-Fixed: Errors with PHP 5.3
-Fixed: AFS table messed up in footer
-Fixed: Several style errors, including XHTML incompatibilities
-New: Auto-insert on forumhome location - Below Forums
v7.0.2 - Feb 22. 2010.
-Fixed: Several style issues for unregistered users
-Fixed: 'Latest Donations' issues
-Fixed: Import error on some configs
-Fixed: Minor bugs
v7.0.3 - Apr 12. 2010.
-Fixed security bug (user able to set number of results manually)
v7.0.4 - Jan 14. 2012.
-Fixed: Status icons must be GIFs
-Fixed: Status icon overlay problems in Chrome and Safari
-Fixed: Drop-down menu items invisible until highlighted
-Fixed: Last unread post links not compatible with vBSEO
-Fixed: Search Member's posts shows results as threads
-Added: Rich thread prefix support
-Improved: CSS compatibility
-Minor bugs fixed
v7.0.5 - Jan 15. 2012.
-Links in Latest Posts are now fully SEO compatible
-New option: Automatically disable auto-refresh if server load is higher than X
v7.0.6 - Jan 17. 2012.
-Fixed: Prefixes linked in some thread stats
v7.0.7 - Jan 22. 2012.
-New: Show Stats in selected forum only
-Fixed: Some style issues
-Improved: Product menu style
-Improved: Menu disappears on click
-Changed background color variable: 'editor_background' used for better compatibility with custom styles
v7.0.8 - May 27. 2012.
-Fixed: QL Enable Stats link in vB 4.2
v7.0.9 - Jul 07. 2012.
-Fixed: Hide on misc.php requests not related to Stats
v7.1 - Avg 02. 2012.
-New: Top Thanked now works with "Thumbs Up?" system by Scandal
-Note: Above still works with "Post Thanks" system by Abe

Download Now

File Type: zip VSa - Advanced Forum Statistics v7.1.zip (22.2 KB, 7884 views)

Screenshots

File Type: jpg stats1.jpg (178.7 KB, 0 views)
File Type: jpg stats2.jpg (153.8 KB, 0 views)
File Type: jpg menu.jpg (65.4 KB, 0 views)
File Type: jpg more.jpg (73.7 KB, 0 views)
File Type: jpg acp1.jpg (109.4 KB, 0 views)
File Type: jpg acp2.jpg (117.0 KB, 0 views)

Show Your Support

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

Comments
  #342  
Old 05-10-2010, 10:21 PM
Xencored Xencored is offline
 
Join Date: Sep 2008
Location: UK, Scuny
Posts: 1,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome thanks works fine
Reply With Quote
  #343  
Old 05-12-2010, 07:31 PM
vespillo vespillo is offline
 
Join Date: Jan 2009
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by vespillo View Post
First, TYVM for a great mod! But I would like to second this vote for limiting which stats appear.

For example, on my boards we don't care at all about newest members or their rankings. In fact, some of our members find the idea a bit offensive :X So I would love to be able to say "Don't fetch user stats, just display Latest posts" (or maybe make the 2nd column only show something like Forum News).

Would this require a major update on your part?
For anyone that wants to do this manually, you need to go into the Valter templates for your theme, find vsa_topstats_stats and gut it.

I used Chrome's 'inspect element' option to figure out what I didn't want and remove it from there.. but if you're feeling lazy you can try using what I did (pretty fresh so no guarantee that it doesnt have issues..):

PHP Code:
    <table cellpadding="0" cellspacing="0" border="0" width="100%" align="center"><tr><td><br />
        <
div class="blockhead" style="height:16px;padding-{vb:stylevar right}:{vb:math {vb:stylevar padding}/2-1};font-weight:bold">
            <
a name="vsa_stats" class="collapse" style="position:static" id="collapse_vsa_fh_stats" href="javascript:void(0);"><img src="{vb:stylevar imgdir_button}/collapse{vb:raw vbcollapse.collapseimg_vsa_fh_sts}_40b.png" alt="" border="0" /></a>
            <
vb:if condition="(($vsacb_canviewmore AND ($_REQUEST['do']!='vsastats')) OR ($bbuserinfo[userid] AND $vsastats_show))">
            <
div class="popupmenu" style="float:{vb:stylevar left}">
                <
a href="javascript://" class="popupctrl">{vb:rawphrase vsa_top_x_stats, {vb:raw vsacb_resnr}}&nbsp;</a>
                <
ul class="popupbody popuphover" style="margin-top:5px;">
                    <
vb:if condition="($vsacb_canviewmore AND ($_REQUEST['do']!='vsastats'))">
                        <
li><a href="misc.php?{vb:raw session.sessionurl}do=vsastats" rel="nofollow">{vb:rawphrase vsa_afs_more_stats}</a></li>
                    </
vb:if>
                    <
vb:if condition="($bbuserinfo[userid] AND $vsastats_show)">
                        <
li><a href="misc.php?{vb:raw session.sessionurl}do=disablestats" rel="nofollow">{vb:rawphrase vsa_afs_turnoff_stats}</a></li>
                    </
vb:if>
                </
ul>
            </
div>
            <
vb:else />
                {
vb:rawphrase vsa_top_x_stats, {vb:raw vsacb_resnr}}
            </
vb:if>
        </
div>
        <
div id="vsa_fh_stats" class="content blockrow" style="padding:0;">
            <
table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
                <
vb:if condition="($vboptions[vsatopstats_layout]==1)">
                {
vb:raw vsastats_singlerow}
                <
vb:else />
                    <
tr valign="top">
                        <
td class="blocksubhead" align="{vb:stylevar left}" width="100%" colspan="3">{vb:rawphrase vsa_latest_posts}</td>
                    </
tr>
                    <
tr valign="top" style="height:100%">
                        <
td class="blockrow" width="100%" id="vsastats_lpdiv" style="padding:0px;margin:0px;border-top:0px;border-bottom:0px;border-{vb:stylevar left}:0px;border-{vb:stylevar right}:0px" <vb:if condition="$vsatopstats_blocksec_enabled">rowspan="3"</vb:if>><span>{vb:rawphrase vsastats_loading}</span></td>
                    </
tr>
                </
vb:if>
            </
table>
            <
div class="blocksubhead"><vb:if condition="$bbuserinfo[userid]"><span id="vsatopstats_lprel_area" style="float:{vb:stylevar right}"><a href="javascript:void(0);" onclick="Cas_getLPStats('reload');" rel="nofollow">{vb:rawphrase reload}</a></span></vb:if><span id="vsa_stats_status">&nbsp;</span>
            </
div>
        </
div>
    <
br /></td></tr></table>

    <
script language="JavaScript" type="text/javascript">
    <!--
        <
vb:if condition="($bbuserinfo[userid] AND ($vboptions[vsatopstats_refresh_interval]>0))">
        
Cas_ResetLoad null;
        </
vb:if>

        function 
Cas_getLPStats(rel)
        {
            <
vb:if condition="($bbuserinfo[userid] AND ($vboptions[vsatopstats_refresh_interval]>0))">
            
document.getElementById("vsa_stats_status").innerHTML "{vb:rawphrase vsastats_loading}";
            
clearTimeout(Cas_ResetLoad);
            </
vb:if>
            
            if (
rel=='reload')
            {
                
document.getElementById("vsatopstats_lprel_area").style.display "none";
            }

            
Cas_AFStats_LP = new vB_AJAX_Handler(true);
            
Cas_AFStats_LP.onreadystatechange(Cas_updateStatsLP);
            
Cas_AFStats_LP.send('misc.php?show=latestposts&vsacb_resnr={vb:raw vsacb_resnr}');
        }

        function 
Cas_updateStatsLP()
        {
            if (
Cas_AFStats_LP)
            {
                if (
Cas_AFStats_LP.handler.readyState == && Cas_AFStats_LP.handler.status == 200 && Cas_AFStats_LP.handler.responseText)
                {
                    
Cas_AFStats_LPDiv fetch_object('vsastats_lpdiv');
                    
Cas_AFStats_LPDiv.innerHTML '<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center" height="100%">' Cas_AFStats_LP.handler.responseText '</table>';
                }
            }
            <
vb:if condition="($bbuserinfo[userid] AND ($vboptions[vsatopstats_refresh_interval]>0))">
            
document.getElementById("vsa_stats_status").innerHTML "{vb:rawphrase vsastats_loading_interval}: {vb:raw vboptions.vsatopstats_refresh_interval}s";
            </
vb:if>
            
setTimeout('document.getElementById("vsatopstats_lprel_area").style.display = "inline";', ({vb:raw vboptions.vsatopstats_reload_interval} * 1000));
        }

        function 
Cas_getStats(statidsecstat)
        {
            <
vb:if condition="($bbuserinfo[userid] AND ($vboptions[vsatopstats_refresh_interval]>0))">
            
document.getElementById("vsa_stats_status").innerHTML "{vb:rawphrase vsastats_loading}";
            
clearTimeout(Cas_ResetLoad);
            </
vb:if>

            if (
statid!='cs_blockfir')
            {
                
Cas_AFStats_F = new vB_AJAX_Handler(true);
                
Cas_AFStats_F.vsacurr_f statid;
                
Cas_AFStats_F.onreadystatechange(Cas_updateStats);
                switch(
statid)
                {
                    case 
'latestnews'Cas_AFStats_F.send('misc.php?show=latestnews&vsacb_resnr={vb:raw vsacb_resnr}'); break;
                    
                    default: 
Cas_AFStats_F.send('misc.php?show=hottestforums&vsacb_resnr={vb:raw vsacb_resnr}'); break;
                }
            }

            <
vb:if condition="$vsatopstats_blocksec_enabled">
            if (
secstat!='cs_blocksec')
            {
                
Cas_AFStats_U = new vB_AJAX_Handler(true);
                
Cas_AFStats_U.vsacurr_u secstat;
                
Cas_AFStats_U.onreadystatechange(Cas_updateStats);
                switch(
secstat)
                {
                    case 
'latestnews'Cas_AFStats_U.send('misc.php?show=latestnews&vsacb_resnr={vb:raw vsacb_resnr}'); break;
                    
                    default: 
Cas_AFStats_U.send('misc.php?show=newestmembers&vsacb_resnr={vb:raw vsacb_resnr}'); break;
                }
            }
            <
vb:else />
                
vsacurr_u 'badadmin';
            </
vb:if>
        }

        function 
Cas_updateStats()
        {
            if (
Cas_AFStats_F)
            {
                if (
Cas_AFStats_F.handler.readyState == && Cas_AFStats_F.handler.status == 200 && Cas_AFStats_F.handler.responseText)
                {
                    
Cas_AFStats_FDiv fetch_object('vsastats_fdiv');
                    
vsacurr_f Cas_AFStats_F.vsacurr_f;
                    
vsatarea_f document.getElementById("vsatopstats_ltitle_area");
                    switch(
vsacurr_f)
                    {
                        case 
'latestnews'vsatarea_f.innerHTML "{vb:rawphrase vsa_latest_news} {vb:raw vsastats_latestnews_tcenabled}"; break;
                        default: 
vsatarea_f.innerHTML "{vb:rawphrase vsa_top_forums} {vb:raw vsastats_hottestforums_tcenabled}"; break;
                    }
                    
Cas_AFStats_FDiv.innerHTML '<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">' Cas_AFStats_F.handler.responseText '</table>';
                }
            }

            <
vb:if condition="$vsatopstats_blocksec_enabled">
            if (
Cas_AFStats_U)
            {
                if (
Cas_AFStats_U.handler.readyState == && Cas_AFStats_U.handler.status == 200 && Cas_AFStats_U.handler.responseText)
                {
                    
Cas_AFStats_UDiv fetch_object('vsastats_udiv');
                    
vsacurr_u Cas_AFStats_U.vsacurr_u;
                    
vsatarea_u document.getElementById("vsatopstats_rtitle_area");
                    switch(
vsacurr_u)
                    {
                        case 
'latestnews'vsatarea_u.innerHTML "{vb:rawphrase vsa_latest_news} {vb:raw vsastats_latestnews_tcenabled}"; break;
                        default: 
vsatarea_u.innerHTML "{vb:rawphrase vsa_newest_members} {vb:raw vsastats_newestmembers_tcenabled}"; break;
                    }
                    
                    
Cas_AFStats_UDiv.innerHTML '<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">' Cas_AFStats_U.handler.responseText '</table>';
                }
            }
            <
vb:else />
                
vsacurr_u 'badadmin';
            </
vb:if>
            <
vb:if condition="($bbuserinfo[userid] AND ($vboptions[vsatopstats_refresh_interval]>0))">
            
document.getElementById("vsa_stats_status").innerHTML "{vb:rawphrase vsastats_loading_interval}: {vb:raw vboptions.vsatopstats_refresh_interval}s";
            
Cas_ResetLoad setTimeout('Cas_getStats(vsacurr_f, vsacurr_u);Cas_getLPStats();', ({vb:raw vboptions.vsatopstats_refresh_interval} * 1000));
            </
vb:if>
        }
        
Cas_getLPStats("startup");
        
Cas_getStats("{vb:raw vsatopstats_init_fstat}""{vb:raw vsatopstats_init_ustat}");
    -->
    </
script
Reply With Quote
  #344  
Old 05-12-2010, 11:23 PM
Craig Ross Craig Ross is offline
 
Join Date: Feb 2008
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

All i can say is WOW great mod.

I have a slight problem but i am finding it hard to believe i am the only one with this problem and trust me i have read all the posts on this thread to see and it seems i am.

i ran the tests to see what it could do and on the link "view more" and "turn off" i choose turn off to see how that worked, it works great.

BUT WHERE THE HECK DO YOU TURN IT BACK ON
Reply With Quote
  #345  
Old 05-14-2010, 04:26 AM
dbigras dbigras is offline
 
Join Date: Jul 2008
Posts: 51
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is it possible to have it automatically minimized for new visitors? By default, it's always opened.

Also, when will the vbseo problem be fixed? It's affecting my search engine optimizations..
Reply With Quote
  #346  
Old 05-14-2010, 04:27 AM
dbigras dbigras is offline
 
Join Date: Jul 2008
Posts: 51
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Craig Ross View Post
BUT WHERE THE HECK DO YOU TURN IT BACK ON
Enable Top stats, in your Quick links
Reply With Quote
  #347  
Old 05-14-2010, 09:02 AM
Craig Ross Craig Ross is offline
 
Join Date: Feb 2008
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by dbigras View Post
Enable Top stats, in your Quick links
thanks for that, worked a treat
Reply With Quote
  #348  
Old 05-14-2010, 10:58 AM
Taurus MFF Taurus MFF is offline
 
Join Date: Feb 2010
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nice mod, installed

I'd love to have the ability to leave out latest posts and have four columns of stats (ie: newest members, top posters, top thread starters, top referrers). any chance of giving us more control over customization like this Valter?
Reply With Quote
  #349  
Old 05-18-2010, 12:06 AM
Craig Ross Craig Ross is offline
 
Join Date: Feb 2008
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

members are loving this, how would i go about adding another option "top clicked reputation" to show the order of the most clicked?
Reply With Quote
  #350  
Old 05-18-2010, 06:44 PM
Valter Valter is offline
 
Join Date: Aug 2005
Location: Sarajevo
Posts: 2,432
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Because 'Post Thanks' add-on has no 'find thanked' feature enabled atm, you may wish to disable links in 'Top Thanked' to avoid database errors:

Replace:
Code:
<a href="post_thanks.php?do=findthanks&u={vb:raw getstats_thx.userid}">{vb:raw getstats_thx.post_thanks_thanked_times}</a>
with:
Code:
{vb:raw getstats_thx.post_thanks_thanked_times}
in 'vsa_topstats_thanks' template.

Don't forget to undo changes once Abe1 fixes this.
Reply With Quote
  #351  
Old 05-18-2010, 10:35 PM
BobbyBig BobbyBig is offline
 
Join Date: Mar 2006
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Forumstats is placed above forum announces which indeed should not be done. Please fix it. thx
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 06:37 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.13978 seconds
  • Memory Usage 2,494KB
  • Queries Executed 26 (?)
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_code
  • (1)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (37)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (7)postbit_attachment
  • (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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete