PDA

View Full Version : Integration with vBulletin - Replacment of External.php with FeedBurner


mccollin
10-31-2007, 10:00 PM
I am frustrated with the fact that vBulletin 3.6.x does not limit the RSS feeds and so your entire posts are going out for someone to load into their site, thus eliminating the need for them to come to your site at all. Upon investigating this, I discovered FeedBurner's vast capabilities so I have tried to replace the built-in RSS capabilities of vBulletin's external.php with FeedBurner.

The modification is a simple template change, and renaming one file.

1. First you need to go to feedburner.com and get yourself an account setup.

2. Copy your /forums/external.php file to some other name such as /forums/feedburner.php. (you will eventually want to hide external.php, so this is a preliminary step)

3. Next go into AdminCP and print out a list of all your forums. Then, by using the "hover" over the names of the forums, record the forum IDs from the URL in the browser's status window on your list.

4. Create a new feed at feedburner.com using the url of http://yourforumurl.com/yourforumdirectory/fbget.php?type=RSS2 (where /yourforumurl.com/yourforumdirectory/ is the path to your forum, and fbget.php is what you copied external.php to).

5. Using the tools at Feedburner.com to create links to your feed, determine the url to your Feedburner feed and make a note of it. It will most likely be something like this... http://feeds.feedburner.com/yourforumurlcom .

6. Test the feed to make sure it works.

7. Now you will need to manually create a new feed for any forum which you want to have a feed fore. Go into Feedburner.com and the new feed dialog. Re-enter the url used above to create another feed, and append to the end of it the code for forumid. Use the chart you created and start at the top. You will need to create a feed for each forum you wish to have a feed to. The url for forum ID 47 would be http://yourforumurl.com/yourforumdirectory/fbget.php?type=RSS2&forumid=47 . Feedburner should create the title of the feed for you based on your forum title, and I recommend you don't change it here. The reason is that if you have a lot of forums, you will have a lot of feeds and your only easy way to identify them is by their names. You want them to match. Another tip is that for parent forums, I used the feature of external.php to aggregate forumids with commas. In these cases, I would list all the child forums into one feed.

8. Repeat this process for all forums you wish to have feeds for, making sure that the url used in each case is exactly the same except for the forumid. This is very important.

9. Now to integrate this into your forum, you need to make a change to the headinclude template. Find the following code:

<if condition="$vboptions['externalrss']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] RSS Feed" href="external.php?type=RSS2" />
<if condition="$show['foruminfo'] OR $show['threadinfo']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] - $foruminfo[title_clean] - RSS Feed"

href="external.php?type=RSS2&amp;forumids=$foruminfo[forumid]" />
</if>

And replace it with the following code, replacing the urls with the ones that feedburner created for your feeds. Note that you replace the forumid part of the url with $foruminfo[forumid].

<if condition="$vboptions['externalrss']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] RSS Feed"

href="http://feeds.feedburner.com/yourforumurlcom" />
<if condition="$show['foruminfo'] OR $show['threadinfo']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] - $foruminfo[title_clean] - RSS Feed"

href="http://feeds.feedburner.com/yourforumurlcom-$foruminfo[forumid]" />
</if>

10. Once you are sure that its working, you can rename external.php to something else. If you ever want to reverse this, you simply need to replace your old template, and rename external.php back.

Brandon Sheley
11-01-2007, 02:09 AM
interesting idea :)

yoyoyoyo
11-01-2007, 03:30 AM
nice one - I was also frustrated by the rss feeds in vb being too explicit and considered doing this myself, but you did all of the legwork for me - thanks :)

mccollin
11-01-2007, 04:08 AM
Its not hard... just time consuming. I did about 1/4 of my forums so far... the ones I figured people would care about. I'll try to do the rest as time permits. Feedburner has a ton of tools to help exploit the RSS feeds that I hope to get into. The thing is though that I've not found a way to easily change all the feeds at the same time, which is a pain. They need a way to make a global change to add something to a feed.

yoyoyoyo
11-02-2007, 02:53 AM
<a href="https://vborg.vbsupport.ru/showthread.php?t=125100" target="_blank">https://vborg.vbsupport.ru/showthread.php?t=125100</a>

mccollin
11-02-2007, 04:39 AM
Yes... I'm aware of that but it doesn't work with 3.6.5 or newer. That's why I went looking for something else. The thing is that Feedburner brings a lot more to the table. I also just found out that I can even have Feedburner use my url... like feeds.mysite.com... I just need to setup the zone file correctly.

FleaBag
11-06-2007, 09:07 PM
This looks really cool. I'm planning to take a look. Thanks for sharing. :)

yoyoyoyo
11-08-2007, 02:29 AM
Yes... I'm aware of that but it doesn't work with 3.6.5 or newer. That's why I went looking for something else.Yes it does, you have to enable it in the ACP, and select the number of characters to display, and it works just fine. I am using 3.6.8 PL2 and it works as advertised.

Milad
11-13-2007, 06:27 PM
you may replace external.php with a file that send 301 redirecting http header. to redirect users who are already subscribed to your feeds.

cihangir
11-15-2007, 12:05 PM
nice job, this is what i have been waiting for years :). thanks a lot.

mexicanpizza
11-16-2007, 03:38 AM
In the case of parent-subforums, where you've made a feedburner feed that aggregates all of a set of subforums (/external.php?type=RSS2&forumids=3,4,5,6)....I can't see how the above will work with your code modification to display one feedburner feed for all 4 of the forums. In your second to last line:

href="http://feeds.feedburner.com/yourforumurlcom-$foruminfo[forumid]" />

That won't work, right? If you've done what I described above (aggregating with forumids=3,4,5,6, and creating a feedburner feed of that)...your modification will break when it generates the link above....as the feedburner link will be http://feeds.feedburner.com/yourforumurlcom-3456 if you left the default.

For example, you're viewing forumid=5, your code above generates a link to http://feeds.feedburner.com/yourforumurlcom-5 for which there is no separate feedburner feed....

ack I'm so confused. :D

coolgus
11-16-2007, 07:49 PM
exactly my question too. Every feed I create for seperate forums, has different feedburner url. I couldn't find a way to link the original feed with the other forums from feedburner.com tools.

And in the last step, do we have to enter only the original feed ? (http://feeds.feedburner.com/yourforumurlcom )

mccollin
11-16-2007, 08:28 PM
In the case of parent-subforums, where you've made a feedburner feed that aggregates all of a set of subforums (/external.php?type=RSS2&forumids=3,4,5,6)....I can't see how the above will work with your code modification to display one feedburner feed for all 4 of the forums. In your second to last line:

href="http://feeds.feedburner.com/yourforumurlcom-$foruminfo[forumid]" />

That won't work, right? If you've done what I described above (aggregating with forumids=3,4,5,6, and creating a feedburner feed of that)...your modification will break when it generates the link above....as the feedburner link will be http://feeds.feedburner.com/yourforumurlcom-3456 if you left the default.

For example, you're viewing forumid=5, your code above generates a link to http://feeds.feedburner.com/yourforumurlcom-5 for which there is no separate feedburner feed....

ack I'm so confused. :D

Well you didn't do it exactly the way I did. I use the parent forum-id, which allows the header code to work, but when I create the feed in Feedburner, THERE I insert the list of feeds that I want to show for that parent forum-id. This doesn't actually work with the normal external.php approach, which is why I started looking for an alternative in the first place. For example, I have a News Archive parent forum, and within it there are five different category news forums. What I wanted, was that if someone subscribed to the News Archive, that they'd get all the news. With external.php, it doesn't work that way.... unless you create the forum as a category... which I don't do because of a little problem with formatting. In any event, this will work if you use the parent forum's forumID, and then make sure to associate it properly with the name of the feed in Feedburner.

Coop1979
12-11-2007, 10:08 PM
I'm somewhat dense and new to vbulletin, so could someone help me out? I'm looking to add about 30 feedburner links to take the place of my standard rss links. How do I adjust this code for the multiple feeds?

<if condition="$vboptions['externalrss']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] RSS Feed"

href="http://feeds.feedburner.com/yourforumurlcom" />
<if condition="$show['foruminfo'] OR $show['threadinfo']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] - $foruminfo[title_clean] - RSS Feed"

href="http://feeds.feedburner.com/yourforumurlcom-$foruminfo[forumid]" />
</if>

Do I do this:

<if condition="$vboptions['externalrss']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] RSS Feed"

href="http://feeds.feedburner.com/yourforumurlcom" />
<if condition="$show['foruminfo'] OR $show['threadinfo']">
<link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] - $foruminfo[title_clean] - RSS Feed"

href="http://feeds.feedburner.com/yourforumurlcom-1"
href="http://feeds.feedburner.com/yourforumurlcom-2"
href="http://feeds.feedburner.com/yourforumurlcom-3"/>
</if>

I'm guessing not since it's not working for me :)

Coop1979
12-12-2007, 07:05 PM
I'm stupid, please ignore my post. I figured it out :)

gbeebani
08-09-2009, 05:02 AM
This is great! It did require me to change some things int he code and also in the Feedburner uri. But that was not very hard... I have NEVER done any coding and was able to figure things out on my own :-P

Naijasite
06-24-2013, 08:22 PM
please how do i get it to work for 4.2.1

tbworld
06-24-2013, 08:38 PM
please how do i get it to work for 4.2.1

What steps have you tried yourself?

Naijasite
06-25-2013, 09:11 PM
i have attempted it just wanted to be sure if it will work