Thread: Top 'X' Stats
View Single Post
  #40  
Old 01-25-2004, 04:37 AM
InfiniteWebby InfiniteWebby is offline
 
Join Date: Nov 2001
Location: Downunda.
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

to get this to work in the header or footer templates

Add to the phpinclude_start template:
PHP Code:
// ### 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], 0strrpos(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') . '";');

And add to the header or footer where you want the stats:
HTML Code:
<!-- top statistics box -->
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
	<tr>
		<td class="tcat" colspan="3">
			<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_statistics')"><img id="collapseimg_forumhome_statistics" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_forumhome_statistics].gif" alt="" border="0" /></a>
			Statistics - Top $displayrecords</td>
	</tr>
</thead>
<tbody id="collapseobj_forumhome_statistics" style="$vbcollapse[collapseobj_forumhome_statistics]">
	<tr>
		<td class="thead" width="23%" align="$stylevar[left]" nowrap>Top Posters</td>
		<td class="thead" width="22%" align="$stylevar[left]" nowrap>Newest Members</td>
		<td class="thead" width="55%" nowrap>Newest Replies
		</td>
	</tr>
	<tr>
		<td class="alt2" width="23%" valign="top">
		<table>
			<tr>
				<td class="smallfont" width="100%">Member:</td>
				<td class="smallfont" align="right" nowrap>Posts:</td>
			</tr>
			$stats_posters
		</table>
		</td>
		<td class="alt1" width="22%" valign="top">
		<table>
			<tr>
				<td class="smallfont" width="100%" nowrap>Member:</td>
				<td class="smallfont" align="right" nowrap>Posts:</td>
			</tr>
			$stats_members
		</table>
		</td>
		<td class="alt2" width="55%" valign="top">
		<table>
			<tr>
				<td class="smallfont" width="70%" nowrap>Thread:</td>
				<td class="smallfont" width="30%" nowrap>Last Poster:</td>
				<td class="smallfont" align="right" nowrap>Views:</td>
				<td class="smallfont" align="right" nowrap>Replies:</td>


			</tr>
			$stats_threads
		</table>
		</td>
	</tr>
</tbody>
</table>
<br />
<br />
<!-- end top statistics box -->
then add all the extra templates as instructed.

THIS HAS NOT BEEN TESTED BUT SHOULD WORK NICELY.

As for showthread instead of adding the above codes to phpinclude and the head or footer add them to showthread.php and the showthread template where you want them. i am not completely sure as to where but trial and error is always the best way to learn.

DO THESE AT YOUR OWN RISK AS I WILL BE PROVIDING LIMITED SUPPORT.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01311 seconds
  • Memory Usage 1,843KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_html
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete