I did PM vauge requesting permission to update his mod as many people were having difficulty implementing it, but s/he hasn't been online in several months and didn't respond to my PM for over a week now, so I decided to go ahead and post the mod.
This mod will allow forum members to add their blog's RSS feed URLs to their profile and have the forum display a link to their latest blog post next to their username every time they post in the forum.
I had been using nevetS's CaRP mod for this for a long time, but the Magpie RSS reader is actually more powerful (can parse Atom feeds too) and flexible. Also, I don't know if anyone can find the free download for CaRP anymore.
Installation:
Download Magpie RSS and install on your server. Magpie is a free, open source RSS reader with caching. It consists of 4 .php files plus one external library file. I recommend you create a directory called magpie in your domain's root directory and upload the files there.
Be sure when installing to create a cache sub-directory inside the magpie directory and CHMOD it to 777.
In your vB ACP, add a new user profile field. I used the following:
Quote:
Title: Blog Feed
Description: Do you write a blog? Post the RSS/XML feed for the blog here and a link to your latest blog post will show in the forums next to your name with every post.
Max Length: 200
Type: Single Line
Required: No
Editable: Yes
Private: No * Must be No if you want guests and registered members to see the blog links
Searchable/Shown on memberlist: No
After saving, go to the User Profile Field Manager and note what the Name column displays for your new field. It should be field5 or field6 or something like that.
Open the attached magpierss.xml file in your favorite text editor and modify the paths for the MAGPIE_DIR and MAGPIE_CACHE_DIR variables to match your server's directory structure. You can adjust the value for the MAGPIE_CACHE_AGE if you like. It's set to update the cache every 4 hours by default. Last, update the field5 to your field # in two places in the postbit_display_start section. Save the file.
Import your updated magpierss.xml file using the Add/Import Product link in the Manage Products page.
Edit your postbit template. Find $template_hook[postbit_userinfo_left] and add just before it:
You should change the field # in that code to match your field # of course. You can also add rel="nofollow" to the link code if you are so inclined.
That's it.
P.S. Updated per Marco van Herwaarden's suggestions for better performance and security.
P.P.S. If anyone knows how to fix the XML file so that it injects the template code into the postbit_userinfo_left hook so folks don't have to make a manual template edit, by all means please share.
P.P.P.S Unfortunately, there appears to be a conflict with the magpie code and vBulletin's AJAX code which is beyond my coding skills to fix. See page two of this thread for more details.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Will this work with the vBulletin blog or is there an easier way to set this up? I'd rather it be done automatically and not have users be responsible for adding their RSS feed (which most probably won't do).
This was designed to let users who have their own blogs on their own sites display the latest blog post by their name. From what I saw of the vB Blog announcment, it offers RSS feeds, so it could be used to display the latest vB Blog post, but users would need to put the blog feed URL in their profile.
I imagine that vB will update their vB Blog at some point to include this feature, but as far as I can tell, right now it just shows a number indicating the number of blog posts instead of a title/link to the latest post.
Yes, I made a boo boo in the instructions (fixed now) . In your profile manager, change the Blog Feed field Privacy setting to No and all users who are allowed to see the thread/post will see the blog link.
I couldn't see the profile page - it requires being a logged in member. Are you using the default template for that page? I haven't noticed any problems in the profiles on my forums.