Version: 1.00, by cory_booth
Developer Last Online: Jun 2013
Category: vBulletin CMS Widgets -
Version: 4.0.2
Rating:
Released: 02-19-2010
Last Update: Never
Installs: 205
Re-useable Code Is in Beta Stage
No support by the author.
This is a simple widget to display some forum stats.
It would really like to see this combined with the Currently Online and Site Visitor's Widgets...
But until then, I am using this PHP Widget...
Feel free to use/hack/slash the code for your own needs...
Navigate to AdminCP -> CMS -> Widgets.
Create a PHP Type Widget and paste the below code.
PHP Code:
ob_start();
global $vbulletin, $db, $vbphrase;
//Begin Forum Stats
// forum stats start
$numbersmembers = $db->query_first("SELECT COUNT(*) AS users,MAX(userid) AS max FROM " . TABLE_PREFIX . "user");
$numbermembers = number_format($numbersmembers['users']);
$counter = $db->query_first("SELECT COUNT(postid) AS posts, COUNT(threadid) AS threads FROM " . TABLE_PREFIX . "post");
$totalposts=number_format($counter['posts']);
$countthreads = $db->query_first("SELECT COUNT(*) AS threads FROM " . TABLE_PREFIX . "thread");
$totalthreads=number_format($countthreads['threads']);
// forum stats end
// total online start
$datecut = TIMENOW - $vbulletin->options['cookietimeout'];
$headerguests=$db->query_first("SELECT COUNT(*) AS count FROM " . TABLE_PREFIX . "session WHERE userid=0 AND lastactivity>$datecut");
$headerusers=$db->query_first("SELECT COUNT(DISTINCT(userid)) AS count FROM " . TABLE_PREFIX . "session WHERE " . TABLE_PREFIX . "session.userid>0 AND " . TABLE_PREFIX . "session.lastactivity>$datecut");
$headerguests=$headerguests[count];
$headerusers=$headerusers[count];
$totalonline=$headerguests+$headerusers;
// total online end
// get newest member name and userid start
$getnewestmember=$db->query_first("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE userid=$numbersmembers[max]");
$newusername = $getnewestmember['username'];
$newuserid = $getnewestmember['userid'];
// get newest member name and userid end
//End Forum Status
//SideBar - Begin forum Stats
$sb_stats='
<table width="100%" align="center"> <tr> <td class="" align="left"> <div class="smallfont"> <strong>Number of Members: </strong> '.$numbermembers.'<br /> <strong>Total Threads: </strong>'. $totalthreads.'<br /> <strong>Total Posts: </strong>'. $totalposts.'<br /> <strong>Currently Online: </strong>'. $totalonline.'<br /> <br /> <strong>Newest Member:</strong> <a href="'.$vboptions[bburl].'/member.php?u='.$newuserid.'"><b>'.$newusername.'</b></a> </td> </tr> </table>';
//SideBar = End forum Status
echo $sb_stats;
$output=ob_get_contents();
ob_end_clean();
1. The total number of members shown in the widget does not correspond with the total number shown on the forumhome page.
I am experiencing the same issue. I have a private forum that I do not want included in the Total Posts. I would like to know how to get the widget to display the same number of posts as the Forum Home displays.
I am experiencing the same issue. I have a private forum that I do not want included in the Total Posts. I would like to know how to get the widget to display the same number of posts as the Forum Home displays.
You can change the first few lines to get more accurate thread and post counts (and to display the same numbers as the stats block on the forumhome):
PHP Code:
// forum stats start
$vboptions[bburl] = $vbulletin->options[bburl];
$numbersmembers = $db->query_first("SELECT COUNT(*) AS users,MAX(userid) AS max FROM " . TABLE_PREFIX . "user");
$numbermembers = number_format($numbersmembers['users']);
$counter=$db->query_first("SELECT sum(replycount) as posts FROM " . TABLE_PREFIX . "forum");
$totalposts=number_format($counter['posts']);
$counter=$db->query_first("SELECT sum(threadcount) as threads FROM " . TABLE_PREFIX . "forum");
$totalthreads=number_format($counter['threads']);
You can change the first few lines to get more accurate thread and post counts (and to display the same numbers as the stats block on the forumhome):
PHP Code:
// forum stats start $vboptions[bburl] = $vbulletin->options[bburl]; $numbersmembers = $db->query_first("SELECT COUNT(*) AS users,MAX(userid) AS max FROM " . TABLE_PREFIX . "user"); $numbermembers = number_format($numbersmembers['users']);
$counter=$db->query_first("SELECT sum(replycount) as posts FROM " . TABLE_PREFIX . "forum"); $totalposts=number_format($counter['posts']);
$counter=$db->query_first("SELECT sum(threadcount) as threads FROM " . TABLE_PREFIX . "forum"); $totalthreads=number_format($counter['threads']);