Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
  #1  
Old 06-16-2004, 02:43 AM
Zacharicus Zacharicus is offline
 
Join Date: Jun 2004
Location: Melbourne Australia
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Hot forum topics on forumhome

I'm running vB3.0.1 and I would love to be able to have hot topic listing like shown on the attached jpg image on my forumhome.

Is this feasible? Is there anything out there similar?

Thanks guys


Zacharicus
www.intelligencenetwork.net
www.mindsofintelligence.com
Attached Images
File Type: jpg hotforumtopics.jpg (17.9 KB, 0 views)
Reply With Quote
  #2  
Old 06-16-2004, 05:37 AM
MindTrix's Avatar
MindTrix MindTrix is offline
 
Join Date: Apr 2002
Location: United Kingdom
Posts: 1,833
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

<a href="https://vborg.vbsupport.ru/showthread.php?t=60544&highlight=recent+threads" target="_blank">https://vborg.vbsupport.ru/showt...recent+threads</a>

that one shows the last 10 threads made
Reply With Quote
  #3  
Old 08-07-2004, 07:24 PM
rharbison rharbison is offline
 
Join Date: Apr 2002
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Instead of just showing the last 10 threads made, any way to show the 10 most active, based on number of posts in X days, with X being set by the mod?
Reply With Quote
  #4  
Old 08-10-2005, 03:35 AM
aranthorn's Avatar
aranthorn aranthorn is offline
 
Join Date: Jun 2004
Location: Chicago
Posts: 137
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I modified NTLDR's 'Latest Threads On Forum Home' hack to do it
In Index.php
PHP Code:
// #################### 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)';
}
$datecut2 TIMENOW - (7*24*60*60);
$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 thread.dateline > 
$datecut2
    AND open = '1'
    AND forumid NOT IN (0
$limitfids)
    AND thread.visible = '1'
    AND deletionlog.primaryid IS NULL
    ORDER BY replycount
    DESC LIMIT 50"
);

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(=(&quot;|"|\'|).*\\2)?\](.*)\[/quote\]#siU'''$thread['preview']);
    
$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode(fetch_censored_text($thread['preview']), falsetrue), $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(
"\$dungeonbit2 .= \"".fetch_template('dungeonbit_2')."\";");
}
if (
$threads) {
    
$show['latestthreads'] = true;
}
// memory saving
unset($thread$threads);
$DB_site->free_result($getthreads); 
Then made a template called 'dungeonbit_2'
HTML Code:
<div class="smallfont">
	<if condition="$show['firstnew']">
		<a href="showthread.php?$session[sessionurl]threadid=$thread[threadid]&goto=newpost"><img src="$thread[threadiconpath]" alt="$thread[threadicontitle]" border="0" /></a>
	</if>
	<if condition="$show['icon'] && !$show['firstnew']">
		<img src="$thread[threadiconpath]" border="0" alt="$thread[threadicontitle]" title="$thread[threadicontitle]" style="vertical-align: text-middle" /> 
	</if>
	<a href="showthread.php?$session[sessionurl]threadid=$thread[threadid]" title="$thread[preview]"><strong>$thread[title]</strong></a>
	</if> <phrase 1="member.php?$session[sessionurl]find=lastposter&threadid=$thread[threadid]" 2="$thread[postusername]">$vbphrase[by_x]</phrase>
</div>
Then just plopped the $dungeonbit2 string on the FORUMHOME template where I wanted it.
Reply With Quote
  #5  
Old 09-16-2005, 03:24 AM
PennylessZ28 PennylessZ28 is offline
 
Join Date: Mar 2002
Location: North America
Posts: 737
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by aranthorn
Well, I modified NTLDR's 'Latest Threads On Forum Home' hack to do it
In Index.php
PHP Code:
// #################### 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)';
}
$datecut2 TIMENOW - (7*24*60*60);
$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 thread.dateline > 
$datecut2
    AND open = '1'
    AND forumid NOT IN (0
$limitfids)
    AND thread.visible = '1'
    AND deletionlog.primaryid IS NULL
    ORDER BY replycount
    DESC LIMIT 50"
);

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(=(&quot;|"|\'|).*\\2)?\](.*)\[/quote\]#siU'''$thread['preview']);
    
$thread['preview'] = htmlspecialchars_uni(fetch_trimmed_title(strip_bbcode(fetch_censored_text($thread['preview']), falsetrue), $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(
"\$dungeonbit2 .= \"".fetch_template('dungeonbit_2')."\";");
}
if (
$threads) {
    
$show['latestthreads'] = true;
}
// memory saving
unset($thread$threads);
$DB_site->free_result($getthreads); 
Then made a template called 'dungeonbit_2'
HTML Code:
<div class="smallfont">
	<if condition="$show['firstnew']">
		<a href="showthread.php?$session[sessionurl]threadid=$thread[threadid]&goto=newpost"><img src="$thread[threadiconpath]" alt="$thread[threadicontitle]" border="0" /></a>
	</if>
	<if condition="$show['icon'] && !$show['firstnew']">
		<img src="$thread[threadiconpath]" border="0" alt="$thread[threadicontitle]" title="$thread[threadicontitle]" style="vertical-align: text-middle" /> 
	</if>
	<a href="showthread.php?$session[sessionurl]threadid=$thread[threadid]" title="$thread[preview]"><strong>$thread[title]</strong></a>
	</if> <phrase 1="member.php?$session[sessionurl]find=lastposter&threadid=$thread[threadid]" 2="$thread[postusername]">$vbphrase[by_x]</phrase>
</div>
Then just plopped the $dungeonbit2 string on the FORUMHOME template where I wanted it.

Not to dig up an old thread, but what if you wanted to do both The Latest Threads, and Hot Threads?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:04 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04115 seconds
  • Memory Usage 2,329KB
  • Queries Executed 14 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_html
  • (2)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (1)postbit_attachment
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete