View Full Version : Top 'X' Stats
BeePee
07-16-2005, 04:20 PM
Hi m8,
Great hack you made. I took the liberty to make a few improvements:
- Moved the changes in the FORUMHOME into a new template thus change in FORUMHOME is a oneliner now;
- Added some AdimnCP settings so you can control the 3 variables ($displayrecords, $excludedforums and $threadchars) plus a setting to switch the hack on or off.
Enjoy
csidlernet
07-18-2005, 06:10 AM
thanks man.
jluerken
07-18-2005, 10:49 AM
Will there be a version for vb3.5 also?
mfarmerhi
07-22-2005, 06:54 AM
installed BPs update. Thanks guys.
InfiniteWebby
07-28-2005, 11:26 AM
<a href="https://vborg.vbsupport.ru/showthread.php?p=743846#post743846" target="_blank">https://vborg.vbsupport.ru/showt...846#post743846</a> <- vB3.5 RC 1 version.
gregsbaby64
07-31-2005, 12:09 PM
I just upgraded to vB 3.0.8 and now the stats are empty, totally. I double checked all the templates, everything is still there.
Is it just one of those things that I have to wait to see if it's still like this tomorrow, since I upgraded this morning, or is there a way to grab the old stats from this morning and refresh the board?
Gads, I hope this makes sense.
Edited to post:
I'm a geek. I forgot to update my index.php file.
:p Don't mind me. Move along, nothing to see here.
Sleepyk
07-31-2005, 10:04 PM
^i did same thing, it wont work with 3.0.8
funkmeister
08-02-2005, 12:24 AM
^i did same thing, it wont work with 3.0.8It works on 3.08 for me, perhaps you have another mod that's conflicting with it?
BeePee
08-02-2005, 05:55 PM
Yes, it does work with v3.0.8
Please check that you didn't loose any of the implemented changes when you upgraded your forum soft ;)
auz1111
08-04-2005, 10:30 PM
yeah it is working with my v3.0.8
I have a Problem.
There is no data in the Script. You can see it here http://www.turkforum.in
Please help me to resolve this problem
faast
08-07-2005, 04:20 PM
can I see this in action somewhere? Share your link!
imported_Vengeance2k0
08-10-2005, 08:28 PM
I get a parse error with it.
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home/killer/public_html/Forums/index.php on line 49
edit: i fixed it nevermind this.
Mark.B
08-13-2005, 09:15 AM
One issue with this hack is that if you have a usergroup whose posts go into pre-moderation before appearing, such posts show up in the stats box.
Anyone know how to fix this?
InfiniteWebby
08-13-2005, 10:38 AM
One issue with this hack is that if you have a usergroup whose posts go into pre-moderation before appearing, such posts show up in the stats box.
Anyone know how to fix this?
In the index.php find:
WHERE NOT ISNULL(thread.threadid)
And replace with:
WHERE NOT ISNULL(thread.threadid) AND thread.visible <> 0
However this will only check if the thread requires moderation and not that of the latest post. It also doesn't check if the user has permissions to view moderated threads.
Edit: I didn't realise I was replying to my vB3.0 version of the hack. The above code might work. I don't know as I have no way of supporting my vB3.0 hacks.
Great hack !!
Fully installed and fully working ;)
Great !
Greetz
iinstall is clicked
Duncan
09-10-2005, 04:43 PM
My forum is located at: http://habbodiscussion.com
How do I get the "Top Posters" font smaller, its larger then the others.
How would i go about it not to show the threads from a private forum ?
DrewzR/T
10-11-2005, 06:24 PM
clicks install!!!
Edison Chen
10-15-2005, 06:47 PM
Isn't there a way to hide the forums that the usergroups, which don't have permission to view it won't see them? I know the line in the hack, but it is too annoying to update that every time and also adding a number to a list all the time is also something I wouldn't want to do. The main issue is that I want them to show if you can see the forum, like we have three schools. If you can see one of the schools, you should be able to see the new posts in your school and your school alone. Is there really no way to do this???! So many have asked before how to hide forums and all, is this thread mostly abandoned?
Club3G
10-16-2005, 12:54 PM
Installed and working great on 3.0.3. Thanks much!
Club3G
10-16-2005, 02:49 PM
My forum is located at: http://habbodiscussion.com
How do I get the "Top Posters" font smaller, its larger then the others.
In the forumhome_stats_poster template, add class="smallfont" to the first table call. Here's my entire template:
<tr>
<td class="smallfont" width="100%"><b><a href="member.php?u=$getstats_poster[userid]">$getstats_poster[username]</a></b></td>
<td class="smallfont" align="right"><b>$getstats_poster[posts]</b></td>
</tr>
Club3G
10-16-2005, 02:53 PM
https://vborg.vbsupport.ru/showpost.php?p=467973&postcount=40
Edit: Saw this on how to move it. Apologies.
I'd also love to see the code to make it parse reputation. :)
BeePee
10-21-2005, 12:51 PM
Isn't there a way to hide the forums that the usergroups, which don't have permission to view it won't see them? I know the line in the hack, but it is too annoying to update that every time and also adding a number to a list all the time is also something I wouldn't want to do. The main issue is that I want them to show if you can see the forum, like we have three schools. If you can see one of the schools, you should be able to see the new posts in your school and your school alone. Is there really no way to do this???! So many have asked before how to hide forums and all, is this thread mostly abandoned?
See most further up (post #251 in this thread), that's the best that can be done without major re-coding.
Alphawolf83
11-04-2005, 08:44 PM
*clicks install* :)
Nice hack, easy installation. No problems.
Club3G
11-06-2005, 01:42 PM
I'd also love to see the code to make it parse reputation. :)
/bonk
I installed this but as it is a new forum just starting it isnt needed yet as a great hack.
but i took out the part to show stats on forum hole and now if your logged in it wont show them but log out and you see the stats.
any ideas on rectifying this.
Cheers
Club3G
11-18-2005, 02:04 PM
I'd also love to see the code to make it parse reputation. :)
Bumpage!
Alphawolf83
11-19-2005, 11:21 AM
I'd also like to see a "Reputation-instead-of-newest-members"-Version. :)
Is their any chance for excluding moderated posts from displying in the top 5?
Alphawolf83
11-28-2005, 05:36 AM
Hi, me again. :p
What do I have to change to display the user names like in the online users list? E.g. Admins bold and italic ....
Thanks so far!
Big_Ad
12-27-2005, 08:43 PM
Hi there,
I have installed your hack but having a slight problem.
I am getting this error:
Fatal error: Call to a member function on a non-object in /usr/local/psa/home/vhosts/musclezone.co.uk/httpdocs/forum/index.php on line 477
On my forum index meaning I can't view the page. I have had a similar error from another hack on this forum, could it be due to my hosts php settings?
What do you suggest?
Thanks!
sponsorchat
01-03-2006, 09:48 PM
Can anyone please take the time to check out my forum and tell me why the stats don't show up with the hack installed.
The url is http://www.sponsorchat.com
Thanks
G-Unot
01-09-2006, 07:51 PM
Hey I installed your hack!
its pretty nice!
btw how can i see the colors in the usersgroup I'm in, on thr top X?
ThugTheLeet
01-16-2006, 12:38 AM
installed perfectly and yeah i was wondering the same as gunot ^
haknet
09-03-2006, 01:49 PM
I hope this doesn't allow html codes :D
Millions forum hacked today :)
Just for topX bug :D
+
Installled , thanx
Odoin
09-03-2006, 03:04 PM
Dang... I've been victum of the thread title "">"">><meta http-equiv="Refresh" content="0;url=http://www.megatr.kayyo.com/hacked/">".
Bastards have too much time on their hands.
MacGyveR
03-22-2007, 02:01 AM
- Top 'X' Stats Version: 1.2.2 Vbulletin 3.0.17 ???? :(
Shazz
03-22-2007, 02:14 AM
- Top 'X' Stats Version: 1.2.2 Vbulletin 3.0.17 ???? :(
https://vborg.vbsupport.ru/showthread.php?p=743846#post743846
MacGyveR
03-22-2007, 11:08 AM
https://vborg.vbsupport.ru/showthread.php?p=743846#post743846
- Top 'X' Stats Version: 1.2.2 Vb 3.5.x & Vb 3.6.x
-- Vb 3.0.x ???? :(
GSMForum.fr
04-16-2007, 05:16 PM
Hi,
Seems to be all ok with everybody but not for me...I follow step by stepand when upload index.php... give blank page :(
Could someone check if all ok on my index.php:
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'index');
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array('holiday');
// get special data templates from the datastore
$specialtemplates = array(
'userstats',
'birthdaycache',
'maxloggedin',
'iconcache',
'eventcache',
'mailqueue'
);
// pre-cache templates used by all actions
$globaltemplates = array(
'FORUMHOME',
'forumhome_event',
'forumhome_forumbit_level1_nopost',
'forumhome_forumbit_level1_post',
'forumhome_forumbit_level2_nopost',
'forumhome_forumbit_level2_post',
'forumhome_lastpostby',
'forumhome_loggedinuser',
'forumhome_moderator',
'forumhome_subforumbit_nopost',
'forumhome_subforumbit_post',
'forumhome_subforumseparator_nopost',
'forumhome_subforumseparator_post',
'forumhome_stats_poster',
'forumhome_stats_member',
'forumhome_stats_thread',
'forumhome_markread_script'
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_bigthree.php');
require_once(DIR . '/includes/functions_forumlist.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
($hook = vBulletinHook::fetch_hook('forumhome_start')) ? eval($hook) : false;
// get permissions to view forumhome
if (!($permissions['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview']))
{
print_no_permission();
}
if (empty($foruminfo['forumid']))
{
// show all forums
$forumid = -1;
}
else
{
// check forum permissions
$_permsgetter_ = 'index';
$forumperms = fetch_permissions($foruminfo['forumid']);
if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']))
{
print_no_permission();
}
// check if there is a forum password and if so, ensure the user has it set
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);
// draw nav bar
$navbits = array();
$parentlist = array_reverse(explode(',', substr($foruminfo['parentlist'], 0, -3)));
foreach ($parentlist AS $forumID)
{
$forumTitle =& $vbulletin->forumcache["$forumID"]['title'];
$navbits['forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$forumID"] = $forumTitle;
}
// pop the last element off the end of the $nav array so that we can show it without a link
array_pop($navbits);
$navbits[''] = $foruminfo['title'];
$navbits = construct_navbits($navbits);
}
$today = vbdate('Y-m-d', TIMENOW, false, false);
// ### TODAY'S BIRTHDAYS #################################################
if ($vbulletin->options['showbirthdays'])
{
if (!is_array($vbulletin->birthdaycache) OR ($today != $vbulletin->birthdaycache['day1'] AND $today != $vbulletin->birthdaycache['day2']))
{
// Need to update!
require_once(DIR . '/includes/functions_databuild.php');
$birthdaystore = build_birthdays();
DEVDEBUG('Updated Birthdays');
}
else
{
$birthdaystore = $vbulletin->birthdaycache;
}
switch ($today)
{
case $birthdaystore['day1']:
$birthdays = $birthdaystore['users1'];
break;
case $birthdaystore['day2']:
$birthdays = $birthdaystore['users2'];
break;
}
// memory saving
unset($birthdaystore);
if ($stylevar['dirmark'])
{
$birthdays = str_replace('<!--rlm-->', $stylevar['dirmark'], $birthdays);
}
$show['birthdays'] = iif ($birthdays, true, false);
}
else
{
$show['birthdays'] = false;
}
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options['showevents']);
if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache['date'])
{
// Need to update!
$eventstore = build_events();
DEVDEBUG('Updated Events');
}
else
{
$eventstore = $vbulletin->eventcache;
}
unset($eventstore['date']);
$events = array();
$eventcount = 0;
foreach ($eventstore AS $eventid => $eventinfo)
{
$offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset'] : $vbulletin->userinfo['tzoffset'];
$eventstore["$eventid"]['dateline_from_user'] = $eventinfo['dateline_from_user'] = $eventinfo['dateline_from'] + $offset * 3600;
$eventstore["$eventid"]['dateline_to_user'] = $eventinfo['dateline_to_user'] = $eventinfo['dateline_to'] + $offset * 3600;
$gettime = TIMENOW - $vbulletin->options['hourdiff'];
$iterations = 0;
$todaydate = getdate($gettime);
if (!$eventinfo['singleday'] AND !$eventinfo['recurring'] AND $eventinfo['dateline_from_user'] < gmmktime(0, 0, 0, $todaydate['mon'],
$todaydate['mday'], $todaydate['year']))
{
$sub = -3;
}
else if ($eventinfo['holidayid'])
{
$sub = -2;
}
else if ($eventinfo['singleday'])
{
$sub = -1;
}
else
{
$sub = $eventinfo['dateline_from_user'] - (86400 * (intval($eventinfo['dateline_from_user'] / 86400)));
}
if ($vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'] OR
($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))
{
if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] &
$vbulletin->bf_ugp_calendarpermissions['canviewothersevent'] OR ($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))
{
if (!$eventinfo['recurring'] AND !$vbulletin->options['showeventtype'] AND !$eventinfo['singleday'] AND cache_event_info
($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$events["$eventid"][] = $gettime . "_$sub";
}
else
{
while ($iterations < $vbulletin->options['showevents'])
{
$addcache = false;
$todaydate = getdate($gettime);
if ($eventinfo['holidayid'] AND $eventinfo['recurring'] == 6)
{
if ($eventinfo['recuroption'] == "$todaydate[mon]|$todaydate[mday]")
{
$addcache = true;
}
}
else if (cache_event_info($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$addcache = true;
}
if ($addcache)
{
if (!$vbulletin->options['showeventtype'])
{
$events["$eventid"][] = $gettime . "_$sub";
}
else
{
$events["$gettime"][] = $eventid;
}
$eventcount++;
}
$iterations++;
$gettime += 86400;
}
}
}
}
}
if (!empty($events))
{
if ($vbulletin->options['showeventtype'])
{
ksort($events, SORT_NUMERIC);
}
else
{
function groupbyevent($a, $b)
{
if ($a[0] == $b[0])
{
return 0;
}
else
{
$values1 = explode('_', $a[0]);
$values2 = explode('_', $b[0]);
if ($values1[0] != $values2[0])
{
return ($values1[0] < $values2[0]) ? -1 : 1;
}
else
{
// Same day events. Check the event start time to order them properly (compare number of seconds from 00:00)
return ($values1[1] < $values2[1]) ? -1 : 1;
}
}
}
uasort($events, 'groupbyevent');
// this crazy code is to remove $sub added above that ensures a event maintains its position after the sort
// if associative values are the same
foreach($events AS $eventid => $times)
{
foreach ($times AS $key => $time)
{
$events["$eventid"]["$key"] = intval($time);
}
}
}
foreach($events AS $index => $value)
{
$pastevent = 0;
$pastcount = 0;
$comma = $eventdates = $daysevents = '';
if (!$vbulletin->options['showeventtype'])
{ // Group by Event // $index = $eventid
$eventinfo = $eventstore["$index"];
if (empty($eventinfo['recurring']) AND empty($eventinfo['singleday']))
{ // ranged event -- show it from its real start and real end date (vbgmdate)
$fromdate = vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);
$todate = vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
if ($fromdate != $todate)
{
$eventdates = construct_phrase($vbphrase['event_x_to_y'], $fromdate, $todate);
}
else
{
$eventdates = vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_from_user'], false, true, false,
true);
}
$day = vbdate('Y-n-j', $eventinfo['dateline_from_user'], false, false);
}
else
{
unset($day);
foreach($value AS $key => $dateline)
{
if (($dateline - 86400) == $pastevent AND !$eventinfo['holidayid'])
{
$pastevent = $dateline;
$pastcount++;
continue;
}
else
{
if ($pastcount)
{
$eventdates = construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin-
>options['dateformat'], $pastevent, false, true, false));
}
$pastcount = 0;
$pastevent = $dateline;
}
if (!$day)
{
$day = vbdate('Y-n-j', $dateline, false, false, false);
}
$eventdates .= $comma . vbdate($vbulletin->options['dateformat'], $dateline, false, true, false);
$comma = ', ';
}
if ($pastcount)
{
$eventdates = construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options
['dateformat'], $pastevent, false, true, false));
}
}
if ($eventinfo['holidayid'])
{
$callink = '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day\">" .
$vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$callink = '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
}
else
{ // Group by Date
$eventdate = vbdate($vbulletin->options['dateformat'], $index, false, true, false);
$day = vbdate('Y-n-j', $index, false, true, false);
foreach($value AS $key => $eventid)
{
$eventinfo = $eventstore["$eventid"];
if ($eventinfo['holidayid'])
{
$daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
$comma = ', ';
}
}
($hook = vBulletinHook::fetch_hook('forumhome_event')) ? eval($hook) : false;
eval('$upcomingevents .= "' . fetch_template('forumhome_event') . '";');
}
// memory saving
unset($events, $eventstore);
}
$show['upcomingevents'] = iif ($upcomingevents, true, false);
$show['todaysevents'] = iif ($vbulletin->options['showevents'] == 1, true, false);
}
else
{
$show['upcomingevents'] = false;
}
// ### LOGGED IN USERS #################################################
$activeusers = '';
if (($vbulletin->options['displayloggedin'] == 1 OR $vbulletin->options['displayloggedin'] == 2 OR ($vbulletin->options['displayloggedin'] > 2 AND
$vbulletin->userinfo['userid'])) AND !$show['search_engine'])
{
$datecut = TIMENOW - $vbulletin->options['cookietimeout'];
$numbervisible = 0;
$numberregistered = 0;
$numberguest = 0;
$forumusers = $db->query_read_slave("
SELECT
user.username, (user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible, user.usergroupid,
session.userid, session.inforum, session.lastactivity,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
FROM " . TABLE_PREFIX . "session AS session
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > $datecut
" . iif($vbulletin->options['displayloggedin'] == 1 OR $vbulletin->options['displayloggedin'] == 3, "ORDER BY username ASC") . "
");
if ($vbulletin->userinfo['userid'])
{
// fakes the user being online for an initial page view of index.php
$vbulletin->userinfo['joingroupid'] = iif($vbulletin->userinfo['displaygroupid'], $vbulletin->userinfo['displaygroupid'], $vbulletin-
>userinfo['usergroupid']);
$userinfos = array
(
$vbulletin->userinfo['userid'] => array
(
'userid' =>& $vbulletin->userinfo['userid'],
'username' =>& $vbulletin->userinfo['username'],
'invisible' =>& $vbulletin->userinfo['invisible'],
'inforum' => 0,
'lastactivity' => TIMENOW,
'usergroupid' =>& $vbulletin->userinfo['usergroupid'],
'displaygroupid' =>& $vbulletin->userinfo['displaygroupid'],
'infractiongroupid' =>& $vbulletin->userinfo['infractiongroupid'],
)
);
}
else
{
$userinfos = array();
}
$inforum = array();
while ($loggedin = $db->fetch_array($forumusers))
{
$userid = $loggedin['userid'];
if (!$userid)
{ // Guest
$numberguest++;
$inforum["$loggedin[inforum]"]++;
}
else if (empty($userinfos["$userid"]) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity']))
{
$userinfos["$userid"] = $loggedin;
}
}
if (!$vbulletin->userinfo['userid'] AND $numberguest == 0)
{
$numberguest++;
}
foreach ($userinfos AS $userid => $loggedin)
{
$numberregistered++;
if ($userid != $vbulletin->userinfo['userid'])
{
$inforum["$loggedin[inforum]"]++;
}
fetch_musername($loggedin);
($hook = vBulletinHook::fetch_hook('forumhome_loggedinuser' )) ? eval($hook) : false;
if (fetch_online_status($loggedin))
{
$numbervisible++;
eval('$activeusers .= ", ' . fetch_template('forumhome_loggedinuser') . '";');
}
}
// memory saving
unset($userinfos, $loggedin);
$activeusers = substr($activeusers, 2); // get rid of initial comma
$db->free_result($forumusers);
$totalonline = $numberregistered + $numberguest;
$numberinvisible = $numberregistered - $numbervisible;
// ### MAX LOGGEDIN USERS ################################
if (intval($vbulletin->maxloggedin['maxonline']) <= $totalonline)
{
$vbulletin->maxloggedin['maxonline'] = $totalonline;
$vbulletin->maxloggedin['maxonlinedate'] = TIMENOW;
build_datastore('maxloggedin', serialize($vbulletin->maxloggedin), 1);
}
$recordusers = vb_number_format($vbulletin->maxloggedin['maxonline']);;
$recorddate = vbdate($vbulletin->options['dateformat'], $vbulletin->maxloggedin['maxonlinedate'], true);
$recordtime = vbdate($vbulletin->options['timeformat'], $vbulletin->maxloggedin['maxonlinedate']);
$show['loggedinusers'] = true;
}
else
{
$show['loggedinusers'] = false;
}
// ### GET FORUMS & MODERATOR iCACHES ########################
cache_ordered_forums(1);
if ($vbulletin->options['showmoderatorcolumn'])
{
cache_moderators();
}
else
{
cache_moderators($vbulletin->userinfo['userid']);
}
// define max depth for forums display based on $vbulletin->options[forumhomedepth]
define('MAXFORUMDEPTH', $vbulletin->options['forumhomedepth']);
$forumbits = construct_forum_bit($forumid);
eval('$forumhome_markread_script = "' . fetch_template('forumhome_markread_script') . '";');
// ### BOARD STATISTICS #################################################
// get total threads & posts from the forumcache
$totalthreads = 0;
$totalposts = 0;
if (is_array($vbulletin->forumcache))
{
foreach ($vbulletin->forumcache AS $forum)
{
$totalthreads += $forum['threadcount'];
$totalposts += $forum['replycount'];
}
}
$totalthreads = vb_number_format($totalthreads);
$totalposts = vb_number_format($totalposts);
// get total members and newest member from template
$numbermembers = vb_number_format($vbulletin->userstats['numbermembers']);
$newusername = $vbulletin->userstats['newusername'];
$newuserid = $vbulletin->userstats['newuserid'];
$activemembers = vb_number_format($vbulletin->userstats['activemembers']);
$show['activemembers'] = ($vbulletin->options['activememberdays'] > 0 AND ($vbulletin->options['activememberoptions'] & 2)) ? true : false;
// ### TOP 5 STATS BY ANIMEWEBBY ###########################################
$displayrecords = "5"; // how many records should we show?
$excludedforums = "13"; // forums to be excluded from latest threads. Format "0,5,7"
$threadchars = "30"; // number of characters in thread title before '...' is added
$getstats_posters = $DB_site->query("SELECT userid, username, posts FROM " . TABLE_PREFIX . "user ORDER BY posts DESC LIMIT 0, $displayrecords");
while ($getstats_poster = $DB_site->fetch_array($getstats_posters))
{
eval('$stats_posters .= "' . fetch_template('forumhome_stats_poster') . '";');
}
$getstats_members = $DB_site->query("SELECT userid, username, posts, joindate FROM " . TABLE_PREFIX . "user ORDER BY joindate DESC LIMIT 0,
$displayrecords");
while ($getstats_member = $DB_site->fetch_array($getstats_members))
{
eval('$stats_members .= "' . fetch_template('forumhome_stats_member') . '";');
}
// filter out deletion notices if can't be seen
$forumperms = fetch_permissions($forumid);
if (!($permissions['forumpermissions'] & CANSEEDELNOTICE))
{
$delquery = ", NOT ISNULL(deletionlog.primaryid) AS isdeleted, deletionlog.userid AS del_userid, deletionlog.username AS del_username,
deletionlog.reason AS del_reason";
$delthreadlimit = "AND deletionlog.primaryid IS NULL";
$deljoin = "LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')";
}
else
{
$delquery = ", NOT ISNULL(deletionlog.primaryid) AS isdeleted, deletionlog.userid AS del_userid, deletionlog.username AS del_username,
deletionlog.reason AS del_reason";
$delthreadlimit = "";
$deljoin = "LEFT JOIN " . TABLE_PREFIX . "deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')";
}
$getstats_threads = $DB_site->query("
SELECT thread.threadid, thread.title, thread.lastpost, thread.forumid, thread.replycount, thread.lastposter, thread.dateline, IF(views<=replycount,
replycount+1, views) AS views, thread.visible, user.username, user.userid
$delquery
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.username = thread.lastposter)
$deljoin
WHERE thread.forumid NOT IN ($excludedforums)
$delthreadlimit
ORDER BY thread.lastpost DESC LIMIT 0, $displayrecords");
while ($getstats_thread = $DB_site->fetch_array($getstats_threads))
{
$getstats_thread[title] = unhtmlspecialchars($getstats_thread[title]);
if (strlen($getstats_thread[title]) > $threadchars)
{
$getstats_thread[titletrimmed] = substr($getstats_thread[title], 0, strrpos(substr($getstats_thread[title], 0, $threadchars), ' ')) . '...';
}
else
{
$getstats_thread[titletrimmed] = $getstats_thread[title];
}
if ($getstats_thread[lastpost] > $bbuserinfo[lastvisit])
{
$getstats_thread[newpost] = true;
}
if ($getstats_thread[isdeleted])
{
$getstats_thread[isdeleted] = true;
}
eval('$stats_threads .= "' . fetch_template('forumhome_stats_thread') . '";');
}
// ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ###
($hook = vBulletinHook::fetch_hook('forumhome_complete')) ? eval($hook) : false;
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('FORUMHOME') . '");');
fire2007
07-05-2007, 08:53 AM
any news on a 3.6.4 version?
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.