Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
LBmtb's Recent Topics on Non-VB Pages Details »»
LBmtb's Recent Topics on Non-VB Pages
Version: 1.03, by LBmtb LBmtb is offline
Developer Last Online: Aug 2015 Show Printable Version Email this Page

Category: Integration with vBulletin - Version: 3.6.4 Rating:
Released: 12-18-2006 Last Update: 03-26-2007 Installs: 64
 
No support by the author.

RECENT TOPICS by LBmtb
Version 1.03
Last updated: March 27th, 2007

DESCRIPTION
This script will display the topics with the most recent posts on a non-vb page (any HTML page). The page it's on must have a .php extension or you should setup apache to parse the page correctly. The threads with the latest posts are on top. The output is a clean list in this format:

HTML Code:
<ul class="vb_topics">
<li><a href="http://www.yourdomain.com/forum/showthread.php?t=4150">This is the latest thread</a> <span class="vb_last_post">(user1 @ 12/18/06 05:58 PM)</span></li>
<li><a href="http://www.yourdomain.com/forum/showthread.php?t=4138">Another recent thread</a> <span class="vb_last_post">(user2 @ 12/18/06 05:58 PM)</span></li>
</ul>
Customizable options include:
  • forum ID - choose to only include or exclude certain forums
  • number of topics displayed
  • CSS class names for the topic name/url and last poster/date
  • and a few others
COPYRIGHT
There is a copyright line. I am releasing this script on the condition that you do not remove this line unless you send $5 via paypal to webmaster@socaltrailriders.org. Thanks in advance for understanding.

NEED CUSTOMIZATION OR PROFESSIONAL INSTALLATION?
Email me at webmaster@socaltrailriders.org, PM me on vbulletin.org, or aim me at "lbmtb" to inquire about customizing this script or installation.

REVISION HISTORY
Version 1.03: Adds small preview of first post when the user rolls over the links
Version 1.02: option to exclude certain forums
Version 1.01: option to only include certain forums
Version 1.0: Initial Release

INSTRUCTIONS:
1) Copy and paste the following code where you want the list to appear and adjust the values in the section "CUSTOMIZE THE FOLLOWING":

PHP Code:
<?php 
##########################################################################
// RECENT TOPICS by LBmtb
// Version 1.03
// webmaster@socaltrailriders.org OR aim: LBmtb
//
// Do not remove copyright unless you donate $5 via paypal
// to the above email address, thanks
// CUSTOMIZED from a www.phase1media.com script found here:
// https://vborg.vbsupport.ru/showpost.php?p=589067&postcount=7
##########################################################################

## CUSTOMIZE THE FOLLOWING    ##############################################

// DATABASE & URL SETTINGS
$db_host "localhost"// Change this if your MySQL database host is different.
$db_name "db_name"// Change this to the name of your database.
$db_user "db_username"// Change this to your database username.
$db_pw "db_password"// Change this to your database password.
$db_prefix "vb_"// Change to your tables' prefix. Usually vb_
$forum_url "http://www.yourdomain.com/forum"// Change this to reflect to your forum's URL.

// APEARANCE OPTIONS
$seperator "@"// this goes between last poster and date
$limit "10"// Number of posts displayed
$post_date_format "1"// leave as 1 for "12/18/06 05:26 PM" or change to 2 for "05:26 PM"

// use one or the other, not both. if left blank the script will return threads from any forum
$fid_raw ""// ONLY include threads from these forums. seperate each ID with a comma
$fidx_raw ""// Exclude threads from these forum. seperate each ID with a comma

// CSS CLASSES    
$recent_topics "vb_topics"// you can use CSS to adjust the presentation of the list 
$recent_poster "vb_last_post";  // you can use CSS to adjust the presentation the last poster and date

## NO NEED TO TOUCH ANYTHING BELOW    #####################################
#############################################################################

if (!($recent_topics_connection mysql_connect("$db_host""$db_user""$db_pw")))
die (
"could not connect"); 
if (!(
mysql_select_db("$db_name"$recent_topics_connection)))
mysql_error(); 
echo 
"<ul class=\"$recent_topics\">\n";
$fid_array explode (','$fid_raw);
if (
$fid_raw)  {
    
$fid_final .= "AND (";
    foreach( 
$fid_array as $key => $value){
        if (
$key == 0) { $fid_final .= "t.forumid=".$value; }
        else { 
$fid_final .= " OR t.forumid=".$value; }
    }
    
$fid_final .= ")";
}
$fidx_array explode (','$fidx_raw);
if (
$fidx_raw)  {
    
$fidx_final .= "AND NOT (";
    foreach( 
$fidx_array as $key => $value){
        if (
$key == 0) { $fidx_final .= "t.forumid=".$value; }
        else { 
$fidx_final .= " OR t.forumid=".$value; }
    }
    
$fidx_final .= ")";
}
$thread_sql mysql_query("SELECT SQL_CACHE t.threadid,t.title,t.lastpost,t.lastposter,t.forumid,substring(p.pagetext,1,90) as post_text
    FROM "
.$GLOBALS['db_prefix']."thread t
    INNER JOIN "
.$GLOBALS['db_prefix']."post p
    ON t.firstpostid = p.postid
    WHERE t.visible=1 
    AND t.open=1 
$fidi_final $fidx_final 
    ORDER BY t.lastpost desc 
    LIMIT 
$limit");
while(
$thread_get=@mysql_fetch_array($thread_sql))
{
    
$lastpost $thread_get['lastpost'];
    
$poster $thread_get['lastposter'];
    
$tid $thread_get['threadid'];
$text $thread_get['post_text'];
    if (
$post_date_format == "1") { $date2 date ("m/d/y h:i A" ,$lastpost); }
    elseif (
$post_date_format == "2") { $date2 date ("h:i A" ,$lastpost); }
    else { 
$date2 date ("m/d/y h:i A" ,$lastpost); }
        echo 
"<li><a href=\"$forum_url/showthread.php?t=$tid\" title=\"".$text."\">$thread_get[title]</a> <span class=\"$recent_poster\">($poster $seperator $date2)</span></li>\n";
}
echo 
"</ul>\n<div style=\"font-size: .9em;\">recent topics by <a href=\"http://www.socaltrailriders.org/\"><acronym title=\"Southern California Trail Riders\">SocalTrailRiders.org</acronym></a></div>";
mysql_close($recent_topics_connection);
?>
2) Go back to the vbulletin.org thread where you found this and click on "Mark as Installed"
3) Enjoy!
4) Donate (this step optional)


UPGRADE INSTRUCTIONS (from 1.02 to 1.03):


FIND:
Code:
$thread_sql = mysql_query("SELECT threadid,title,lastpost,lastposter FROM ".$db_prefix."thread WHERE visible=1 AND open=1 $fid_final $fidx_final ORDER BY lastpost desc LIMIT $limit");
REPLACE WITH:
Code:
$thread_sql = mysql_query("SELECT SQL_CACHE t.threadid,t.title,t.lastpost,t.lastposter,t.forumid,substring(p.pagetext,1,90) as post_text
    FROM ".$GLOBALS['db_prefix']."thread t
    INNER JOIN ".$GLOBALS['db_prefix']."post p
    ON t.firstpostid = p.postid
    WHERE t.visible=1 
    AND t.open=1 $fidi_final $fidx_final 
    ORDER BY t.lastpost desc 
    LIMIT $limit");
FIND:
Code:
    $tid = $thread_get['threadid'];
AFTER, ADD:
Code:
    $text = $thread_get['post_text'];
FIND AND REPLACE:
Code:
forumid=".$value
WITH:
Code:
t.forumid=".$value
FIND:
Code:
    echo "<li><a href=\"$forum_url/showthread.php?t=$tid\">$thread_get[title]</a> <span class=\"$recent_poster\">($poster $seperator $date2)</span></li>\n";
REPLACE WITH:
Code:
    echo "<li><a href=\"$forum_url/showthread.php?t=$tid\" title=\"".$text."\">$thread_get[title]</a> <span class=\"$recent_poster\">($poster $seperator $date2)</span></li>\n";


UPGRADE INSTRUCTIONS (from 1.01 to 1.02):

FIND:
PHP Code:
// APEARANCE OPTIONS
$seperator "@"// this goes between last poster and date
$fid_raw ""// If you want to restrict to specific forums, enter the forum id(s) here. seperate them with a comma. Otherwise, leave it blank.
$limit "10"// Number of posts displayed
$post_date_format "1"// leave as 1 for "12/18/06 05:26 PM" or change to 2 for "05:26 PM" 
REPLACE WITH:
PHP Code:
// APEARANCE OPTIONS
$seperator "@"// this goes between last poster and date
$limit "10"// Number of posts displayed
$post_date_format "1"// leave as 1 for "12/18/06 05:26 PM" or change to 2 for "05:26 PM"

// use one or the other, not both. if left blank the script will return threads from any forum
$fid_raw ""// ONLY include threads from these forums. seperate each ID with a comma
$fidx_raw ""// Exclude threads from these forum. seperate each ID with a comma 
REPLACE EVERYTHING BELOW:
PHP Code:
## NO NEED TO TOUCH ANYTHING BELOW    ######################################
########################################################################## 
With everything below that same line in 1.02

NOTES:
This is my first mod/script so be nice, please

DEMO:
http://www.socaltrailriders.org/latest_posts.php

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #62  
Old 10-17-2007, 09:42 AM
ahmedbehiry ahmedbehiry is offline
 
Join Date: Nov 2001
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

grate hack.. but I also can't use it to show posts from specific forums.. hopefully this will be fixed soon as I really need to install it
Reply With Quote
  #63  
Old 10-22-2007, 07:03 PM
Tomzl Tomzl is offline
 
Join Date: Jan 2006
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I recently updated the script from 1.02 to 1.03 and some problems occured.

I changed the default code to suit my needs (utf-8, different style, max 30 chars in topic title etc.). I applied the same changes that worked in 1.02 to 1.03 but now every once in a while there are two arrows in front of one topic title. I added an arrow .gif in front of every topic title so it links to the newpost in that topic. For some reason this arrow is doubled by one of the topics on the list. It is not always the same topic and I can't find a rule that triggers this behaviour.

Below is my modified code. Help would be much appreciated.

Code:
## NO NEED TO TOUCH ANYTHING BELOW    ##################################### 
############################################################################# 

if (!($recent_topics_connection = mysql_connect("$db_host", "$db_user", "$db_pw"))) 
die ("could not connect");  
if (!(mysql_select_db("$db_name", $recent_topics_connection))) 
mysql_error();
mysql_query('set names utf8');
mysql_query('set character set utf8');
$fid_array = explode (',', $fid_raw); 
if ($fid_raw)  { 
    $fid_final .= "AND ("; 
    foreach( $fid_array as $key => $value){ 
        if ($key == 0) { $fid_final .= "t.forumid=".$value; } 
        else { $fid_final .= " OR t.forumid=".$value; } 
    } 
    $fid_final .= ")"; 
} 
$fidx_array = explode (',', $fidx_raw); 
if ($fidx_raw)  { 
    $fidx_final .= "AND NOT ("; 
    foreach( $fidx_array as $key => $value){ 
        if ($key == 0) { $fidx_final .= "t.forumid=".$value; } 
        else { $fidx_final .= " OR t.forumid=".$value; } 
    } 
    $fidx_final .= ")"; 
} 
$thread_sql = mysql_query("SELECT SQL_CACHE t.threadid,t.title,t.lastpost,t.lastposter,t.forumid,substring(p.pagetext,1,200) as post_text 
    FROM ".$GLOBALS['db_prefix']."thread t 
    INNER JOIN ".$GLOBALS['db_prefix']."post p 
    ON t.firstpostid = p.postid 
    WHERE t.visible=1  
    AND t.open=1 $fidi_final $fidx_final  
    ORDER BY t.lastpost desc  
    LIMIT $limit"); 
while($thread_get=@mysql_fetch_array($thread_sql)) 
{ 
    $lastpost = $thread_get['lastpost']; 
    $poster = $thread_get['lastposter']; 
    $tid = $thread_get['threadid']; 
$text = $thread_get['post_text']; 
    if ($post_date_format == "1") { $date2 = date ("m/d/y h:i A" ,$lastpost); } 
    elseif ($post_date_format == "2") { $date2 = date ("h:i A" ,$lastpost); } 
    else { $date2 = date ("m/d/y h:i A" ,$lastpost); } 
        echo "&nbsp;<a href=\"$forum_url/showthread.php?t=$tid&goto=newpost\" class=\"povezava\" target=\"_parent\"><img src=\"arrow.gif\" border=\"0\" align=\"absmiddle\">&nbsp;</a>"; 
		echo "&nbsp;<a href=\"$forum_url/showthread.php?t=$tid\" class=\"povezava\" target=\"_parent\" title=\"".$text."\">";
		if (strlen($thread_get[title])>30) echo substr($thread_get[title],0,30)."...";
		else echo $thread_get[title];
		echo "</a><br />\n";
} 
mysql_close($recent_topics_connection); 
?>
Reply With Quote
  #64  
Old 10-22-2007, 07:32 PM
Tomzl Tomzl is offline
 
Join Date: Jan 2006
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The problem occurs when the preview text of the topic includes " in the text. This seems to mess up the output.
Reply With Quote
  #65  
Old 02-26-2008, 08:45 AM
ceint ceint is offline
 
Join Date: Jul 2002
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do I go about making the the links to the topics SEO friendly? My forum is using Zoints SEO.
Reply With Quote
  #66  
Old 02-26-2008, 04:24 PM
martinc126 martinc126 is offline
 
Join Date: Dec 2004
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

How would i make it so the time is GMT, The forum is set to us GMT but the script wont show the time the forum is showing.

Martin
Reply With Quote
  #67  
Old 03-08-2008, 09:05 PM
tspore tspore is offline
 
Join Date: Jan 2006
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A very nice script - I was wondering it looks like - ORDER BY t.lastpost desc
shows the last comments. Can I change it so that it would order by the original post time in the thread. So that the order is from what I post time, and when people comment on an item it doesn't mess up the ordering that I had them in.
Reply With Quote
  #68  
Old 03-13-2008, 07:32 AM
umusic2000 umusic2000 is offline
 
Join Date: Oct 2007
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This works well but how do you get the links to open up in a new window or the parent window using an iframe?
Reply With Quote
  #69  
Old 09-09-2008, 07:49 AM
LBmtb LBmtb is offline
 
Join Date: Jan 2006
Posts: 115
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Posted an update here: https://vborg.vbsupport.ru/showthread.php?t=190425

thanks,
Reply With Quote
  #70  
Old 09-13-2008, 08:14 AM
microdot microdot is offline
 
Join Date: May 2008
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi this is a great mod, thank you! I have to use this one because my site is php4 so I wonder.. is there anyway to give it an offset, so it can exclude the most recent 5 topics?

This is will allow for a 2 or 3 column layout.

Thanks again
Reply With Quote
  #71  
Old 09-26-2008, 02:36 PM
microdot microdot is offline
 
Join Date: May 2008
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK.. so offset then.

Is it possible to display a group of boards.. for example I have board 5 with sub boards inside it.. it is possible to display the main board AND the sub boards?

Thanks for your help, looking forward to using this.
Reply With Quote
Reply


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 11:17 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.05278 seconds
  • Memory Usage 2,365KB
  • Queries Executed 26 (?)
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
  • (9)bbcode_code
  • (1)bbcode_html
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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_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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete