This mod does the same thing as
my original recent topics mod but vbSEO'izes the URL's. You MUST have vbSEO installed for this one to work. Otherwise use the original one.
RECENT TOPICS (vbSEO edition) by LBmtb
Version 1.00
Last updated: Dec 21th 2006
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/general-discussion/4150-a-thread.html">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/general-discussion/4152-another-thread.html">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 email. Thanks in advance for understanding.
NEED CUSTOMIZATION OR PROFESSIONAL INSTALLATION?
Email me at email, PM me on vbulletin.org, or aim me at "lbmtb" to inquire about customizing this script or installation.
REVISION HISTORY
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 (vbSEO edition) by LBmtb
// email 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:
// http://www.vbulletin.org/forum/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.
// APPEARANCE OPTIONS
$separator = "@"; // 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"
// FORUM SOURCES FOR TOPICS
// use one or the other, not both. if left blank the script will return threads from any forum
$fidi_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
## VBSEO SETTINGS #####################################################
include_once "forum/includes/functions_vbseo.php"; // change this path to reflect where your forum is
vbseo_startup(); // if you have a vbSEO version under 3, comment this line and uncomment the next three
// vbseo_get_options();
// vbseo_prepare_seo_replace();
// get_forum_info();
## 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";
$fidi_array = explode (',', $fidi_raw);
$fidx_array = explode (',', $fidx_raw);
function forum_where($f_array,$which){
if ($which == "i") { $f_final .= "AND ("; }
if ($which == "x") { $f_final .= "AND NOT ("; }
foreach( $f_array as $key => $value){
if ($key == 0) { $f_final .= "forumid=".$value; }
else { $f_final .= " OR forumid=".$value; }
}
$f_final .= ")";
return $f_final;
}
if ($fidi_raw) { $fidi_final = forum_where($fidi_array,"i"); }
if ($fidx_raw) { $fidx_final = forum_where($fidx_array,"x"); }
$thread_sql = mysql_query("SELECT threadid,title,lastpost,lastposter,forumid FROM ".$db_prefix."thread WHERE visible=1 AND open=1 $fidi_final $fidx_final ORDER BY lastpost desc LIMIT $limit");
while($thread_get=@mysql_fetch_array($thread_sql))
{
$lastpost = $thread_get['lastpost'];
$poster = $thread_get['lastposter'];
$tid = $thread_get['threadid'];
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); }
$threadurl = vbseo_thread_url_row($thread_get, $pagenum);
echo "<li><a href=\"$forum_url/$threadurl\">$thread_get[title]</a> <span class=\"$recent_poster\">($poster $separator $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!
NOTES:
This is my first (second now?) mod/script so be nice, please
.
DEMO's:
"Stock" script: http://www.socaltrailriders.org/latest_posts.php
with vbSEO URL's: http://www.socaltrailriders.org/latest_posts_vbseo.php