vb3 Latest Forum Post Hack
This modification is in the archives.
Sorry for making all these hack posts but I'm all about the layout
![]() 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 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> Download No files for download. |