Back to vBulletin 3.0 Add-Ons

vb3 Latest Forum Post Hack
Mod Version: 1.00, by EH-Jay

This modification is in the archives.
vB Version: 3.0.7 Rating: (0 vote - 0 average) Installs: 6
Released: 28 Feb 2005 Last Update: Never Downloads: 0
Not Supported  

Sorry for making all these hack posts but I'm all about the layout this hack is originally made by NTLDR, well that's what it says in the file. I'm pretty much using everything that he used, which you will see in the credits and in the coding. The only thing different from his hack and mine, is how it's displayed. Instead of at the bottom of the page under the statistics content, it's above all forums, where the Guest message is shown.. Anyway lets get started.

I'll go over the basics from the installation file.

Code:
Open index.php
Find 
'forumhome_subforumseparator_post'
Replace with
// [START HACK='Latest Threads On Forum Home' AUTHOR='NTLDR' VERSION='1.0.0' CHANGEID= 1 ]
'forumhome_subforumseparator_post',
'forumhome_latestthreadbit'
// [END HACK='Latest Threads On Forum Home' AUTHOR='NTLDR' VERSION='1.0.0' CHANGEID= 1 ]
Find
// ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ###
Add above it
--DO NOT INCLUDE IN BELOW CODING--
Note: Change 5 in this part of the query to change the number of threads to show: DESC LIMIT 5
Change ORDER BY lastpost to ORDER BY dateline to stop it showing threads with new posts.
--DO NOT INCLUDE IN BELOW CODING--
// [START HACK='Latest Threads On Forum Home' AUTHOR='NTLDR' VERSION='1.0.0' CHANGEID= 2 ]
// #################### PROCESS LATEST THREADS #######################
// fetch the permissions for each forum
$forumperms = array();
foreach($forumcache AS $forum) {
	$forumperms["$forum[forumid]"] = fetch_permissions($forum['forumid']);
	// ## HIDE FORUMS WITHOUT THE CANVIEW OR CANVIEWOTHERS PERMISSION ##
	if (!($forumperms["$forum[forumid]"] & CANVIEW) || !($forumperms["$forum[forumid]"] & CANVIEWOTHERS)) {
		$limitfids .= ','.$forum['forumid'];
	}
}
unset($forum);
if ($vboptions['threadpreview'] > 0) {
	$previewfield = ', post.pagetext AS preview';
	$previewjoin = 'LEFT JOIN '.TABLE_PREFIX.'post AS post ON(post.postid = thread.firstpostid)';
}
$getthreads = $DB_site->query("
	## GET LATEST THREADS ##
	SELECT thread.*,thread.iconid AS threadiconid $previewfield
	FROM ".TABLE_PREFIX."thread AS thread
	LEFT JOIN ".TABLE_PREFIX."deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND type = 'thread')
	$previewjoin
	WHERE open = '1'
	AND forumid NOT IN (0$limitfids)
	AND thread.visible = '1'
	AND deletionlog.primaryid IS NULL
	ORDER BY lastpost
	DESC LIMIT 5");
while($thread = $DB_site->fetch_array($getthreads)) {
	$threads = true;
	$thread['title'] = fetch_censored_text(fetch_trimmed_title(unhtmlspecialchars($thread['title']), 22));
	$thread['date'] = vbdate($vboptions['dateformat'], $thread['lastpost'], 1);
	$thread['time'] = vbdate($vboptions['timeformat'], $thread['lastpost']);
	$thread['preview'] = preg_replace('#\[quote(=("|"|\'|).*\\2)?\](.*)\[/quote\]#siU', '', $thread['preview']);
	$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode(fetch_censored_text($thread['preview']), false, true), $vboptions['threadpreview']));
	$thread['replycount'] = vb_number_format($thread['replycount']);
	$thread['views'] = vb_number_format($thread['views']);
	// thread icon
	$show['icon'] = false;
  $icon = fetch_iconinfo($thread['iconid']);
  if (is_array($icon)) {
      $show['icon'] = true;
      $thread['threadiconpath'] = $icon['iconpath'];
      $thread['threadicontitle'] = $icon['title'];
  }
	// show goto new post
	$show['firstnew'] = false;
	$bbforumview = fetch_bbarray_cookie('forum_view', $thread['forumid']);
	if ($bbforumview > $bbuserinfo['lastvisit']) {
		$lastread = $bbforumview;
	} else {
		$lastread = $bbuserinfo['lastvisit'];
	}
	if ($thread['lastpost'] > $lastread) {
		$threadview = fetch_bbarray_cookie('thread_lastview', $thread['threadid']);
		if ($thread['lastpost'] > $threadview) {
			$show['firstnew'] = true;
			$show['icon'] = false;
		}
	}
	exec_switch_bg();
	eval("\$threadbits .= \"".fetch_template('forumhome_latestthreadbit')."\";");
}
if ($threads) {
	$show['latestthreads'] = true;
}
// memory saving
unset($thread, $threads);
$DB_site->free_result($getthreads);
// [END HACK='Latest Threads On Forum Home' AUTHOR='NTLDR' VERSION='1.0.0' CHANGEID= 2 ]
Create the following phrase
section: GLOBAL
name: latest_threads
text: Latest Threads
All that above was created by NTLDR and let all know that he owns that coding. Onto my revisions.

Code:
Open template FORUMHOME
Find
$forumbits
Above this add
<!-- remodded by Jay -->
<!-- [START HACK='Latest Threads On Forum Home' AUTHOR='NTLDR' VERSION='1.0.0' CHANGEID= 1 ] -->
<!-- latest threads -->
<if condition="$show['latestthreads']">
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
	<tr>
		<td class="tcat" colspan="2">$vbphrase[latest_threads]</td>
	</tr>
</thead>
<tbody>
	<tr>
		<td class="thead" colspan="2">
			<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_latestthreads')"><img id="collapseimg_forumhome_latestthreads" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_latestthreads].gif" alt="" border="0" /></a>
			Last 5 posts on our forums
		</td>
	</tr>
</tbody>
<tbody id="collapseobj_forumhome_latestthreads" style="$vbcollapse[collapseobj_forumhome_latestthreads]">
	<tr>
		<td class="alt1"><div class="smallfont">$threadbits</div></td>
	</tr>
</tbody>
</table>
<br>
</if>
<!-- /latest threads -->
<!-- [END HACK='Latest Threads On Forum Home' AUTHOR='NTLDR' VERSION='1.0.0' CHANGEID= 1 ] -->
<!-- remodded by Jay -->
Create a new template called forumhome_latestthreadbit
Insert this coding
<div class="smallfont">
	<if condition="$show['firstnew']">
		<a href="showthread.php?$session[sessionurl]threadid=$thread[threadid]&goto=newpost"><img src="$stylevar[imgdir_button]/firstnew.gif" alt="$vbphrase[go_to_first_new_post]" border="0" /></a>
	</if>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td width="30%"><div class="smallfont"><a href="showthread.php?$session[sessionurl]threadid=$thread[threadid]" title="$thread[preview]"><strong>$thread[title]</strong></a></div></td>
<td width="30%"><div class="smallfont"><em>$vbphrase[last_post]:</em> $thread[date] <if condition="$vboptions['yestoday'] != 2"><span class="time">$thread[time]</span></if></div></td>
<td width="16%"><div class="smallfont"><phrase 1="member.php?$session[sessionurl]find=lastposter&threadid=$thread[threadid]" 2="$thread[lastposter]">$vbphrase[by_x]</phrase></div></td>
<td width="12%"><div class="smallfont">$vbphrase[replies]: $thread[replycount]</div></td>
<td width="12%"><div class="smallfont">$vbphrase[views]: $thread[views]</div></td>
</tr>
</table>
</div>
Done. Easy as that. It SHOULD work but you won't for sure until everything is installed. Like I said throughout I just remodded a already hack. Good luck.

Download

No files for download.


vblts.ru supports vBulletin®, 2022-2024