PDA

View Full Version : Integration with vBulletin - LBmtb's Recent Topics on Non-VB Pages (vbSEO edition)


LBmtb
12-21-2006, 10:00 PM
This mod does the same thing as my original recent topics mod (https://vborg.vbsupport.ru/showthread.php?t=134320) 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:

<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 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.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
################################################## ########################
// RECENT TOPICS (vbSEO edition) by LBmtb
// 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.

// 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

LBmtb
12-22-2006, 02:01 AM
Reserved

s0b
12-22-2006, 05:06 AM
Great work LBmtb, very much thanks

Installed

Hornstar
12-22-2006, 05:33 AM
Thanks, this is the version I was after. donated.

Hornstar
12-22-2006, 08:21 AM
Just a thought, I know we can include or not include certain forums, however I was thinking it would be much better if it could automatically not include any forums who that user does not have permission too.

for example. I want to see the staff section posts, but I dont want other users seeing them. I'm sure this is possible, what do you think?

projectego
12-22-2006, 08:22 AM
Awesome! Exactly what I needed. :)

LBmtb
12-22-2006, 02:03 PM
Great work LBmtb, very much thanks

Installed
You're very welcome :)
Thanks, this is the version I was after. donated.
Got the donation, its nice to know the work is appreciated. THANKS!
Just a thought, I know we can include or not include certain forums, however I was thinking it would be much better if it could automatically not include any forums who that user does not have permission too.

for example. I want to see the staff section posts, but I dont want other users seeing them. I'm sure this is possible, what do you think?
I can't promise that I'll commit to it because of time. But I did notice someone had an access control mod for non vb pages. Maybe I'll get in touch with him and see what we can do.
Awesome! Exactly what I needed. :)
You're welcome. Hope it helps out your site. :cool:

sensimilla
12-23-2006, 07:33 AM
Great stuff , thanks alot!

Hornstar
12-24-2006, 11:31 AM
You're very welcome :)

Got the donation, its nice to know the work is appreciated. THANKS!

I can't promise that I'll commit to it because of time. But I did notice someone had an access control mod for non vb pages. Maybe I'll get in touch with him and see what we can do.

You're welcome. Hope it helps out your site. :cool:


Cool, because if you guys could work together and make some awesome mods for non vb pages, I would seriously be thrilled :)

letsjoy
12-24-2006, 07:51 PM
Cooooooool thanks

cobradude
12-27-2006, 07:20 AM
LBmtb, this looks great, though my needs might not fit the great work you've done here. Do you know a way to do this?

I have category > sub forum > sub forum. So basically I have forum areas that in forumdisplay have additional sub forums. I would like to show latest threads for just those particular sub forums....thoughts?

Kihon Kata
12-27-2006, 03:51 PM
Pmed you yesterday.

LBmtb
12-27-2006, 04:09 PM
LBmtb, this looks great, though my needs might not fit the great work you've done here. Do you know a way to do this?

I have category > sub forum > sub forum. So basically I have forum areas that in forumdisplay have additional sub forums. I would like to show latest threads for just those particular sub forums....thoughts?
Go into your vBulletin adminCP > forums and moderators > forum manager. Then click on the subforum you're talking about. At the top of the page it'll say something like "Forum: General Discussion (id: 48)." Write down the ID #'s for the forums you want to include.

Now in the CUSTOMIZE THE FOLLOWING section of the script find

// 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
Insert your forum ID's into fidi_raw. If your ID's were 10 and 15 your line would be
$fidi_raw = "10,15"; // ONLY include threads from these forums. seperate each ID with a comma
This will make it pull threads from only those forums you want.

cobradude
12-27-2006, 07:51 PM
LBmtb, I was actually hoping to use this in the forumdisplay area for those forums which have only subforums....I'll have to tinker a bit.

Brew
12-31-2006, 12:09 AM
Can someone tell me where to get vbSEO for this?

Thanks!

LBmtb
12-31-2006, 12:31 AM
Can someone tell me where to get vbSEO for this?

Thanks!
http://www.vbseo.com/ It's not free, btw. But a lot of people have said it's well worth it. I've only had it on my boards for a short period of time so I haven't noticed a HUGE difference in traffic yet.

SaN-DeeP
12-31-2006, 01:59 AM
Will this hack work fine if embedded under another portal system templates ?

category
12-31-2006, 04:26 PM
I kinda dont understand lets say i set it up right on .php page but how do i use it on .html page?

smoknz28
12-31-2006, 04:56 PM
I'm not a coder by any means....but is there a higher potential of being hacked or someone getting your database password using this code on pages?

LBmtb
12-31-2006, 08:38 PM
I kinda dont understand lets say i set it up right on .php page but how do i use it on .html page?
Try this thread: http://www.vbulletin.com/forum/showthread.php?t=3006
Or you can also google "parse php htaccess html" for more info.
I'm not a coder by any means....but is there a higher potential of being hacked or someone getting your database password using this code on pages?
Sort of but not really. PHP stuff get processed on the server so as long as you don't insert "echo $db_pw" or something along those lines a user won't see it. The only way someone can see it is if they have FTP or SSH access to your server, then they can just download the actual file and look at it. But if someone already has FTP or SSH access they can also go into your vB directory and download includes/config.php and get that info there.

Mastar
01-03-2007, 01:49 AM
Thanks for this, is there any way to make this get the recent post from ReviewPost Pro (http://www.reviewpost.com/)

LBmtb
01-03-2007, 06:24 AM
Thanks for this, is there any way to make this get the recent post from ReviewPost Pro (http://www.reviewpost.com/)
Probably but I don't have reviewpost . . .

HTGN-Lizard
01-23-2007, 05:48 PM
Id love to be able to use this but it only displays the copyright info at the bottom ... example is http://www.wrathradio.com/test.php and I would have no problem donating what ever it takes to get this working along with being able to have users login to my vb forums from the same non vb pages.

LBmtb
01-24-2007, 03:49 PM
Id love to be able to use this but it only displays the copyright info at the bottom ... example is http://www.wrathradio.com/test.php and I would have no problem donating what ever it takes to get this working along with being able to have users login to my vb forums from the same non vb pages.
Hi lizard,

Most likely cause of the threads not showing up is that something is wrong with the mysql query which means one of the database settings is off. I'm guessing the table prefix (most common). If you want to double check it, open vBulletin's /includes/config.php and compare the table prefix, database username & password, and database name to what you entered in this script.

On your test page I get a login screen. That would be a cool idea for non-vb pages also but I don't have much free time right now.

tank14
02-07-2007, 10:12 PM
Can you add this to show osme text also?

thompson
08-28-2007, 12:23 PM
thanks.

feroxltd
10-08-2007, 12:54 PM
Will this work with ZointsSEO as well?