[1+1=2]

OneAndOneIs2

« A cold & chilled waspAnyone out there know PHP? »

Sun, Nov 09, 2008

[Icon][Icon]The Blogroll code

• Post categories: Omni, FOSS, Technology, Programming

I think it's pretty much where I want it now, so here, for anyone who's interested, is the PHP that generates the dynamic blogroll in the sidebar. Feel free to steal it to put Magpie blogrolls onto your own sites :o)

Feedback is always welcome!

<?php

// Turn off error displays - we'll handle this ourselves later
ini_set('display_errors', 0);

require_once('../magpierss/rss_fetch.inc');

// Tell MagpieRSS where to find the RSS feed
$rss = fetch_rss('[RSS feed]');

// Put in a link to the blog with its favicon
echo "<img style=\"border: 0px solid ; width: 16px; height: 16px;\" alt='icon'
src=\"[Favicon]\" />
<a href=\"[Blog URL]\">
[Blog name]</a><br />";

// Now to process the actual RSS feed. If the feed is valid, grab the most recent item
if ( $rss) {
$short_items = array_slice($rss->items,0,1);

// To be polite, only update every half-hour (1800 secs)
define('magpie_cache_age', 1800);

// Tell Magpie to use UTF-8 encoding
define('magpie_output_encoding', 'utf-8');
define('magpie_input_encoding', 'utf-8');
define('magpie_detect_encoding', 'false');


foreach ($short_items as $item) {
$title = $item['title'];
$href = $item['link'];
$longdesc = $item['description'];
$desc = trim(strip_tags($longdesc));
$title = trim(strip_tags($title));

// Keep things a reasonable length: 60 character headings and 300 characters from the articles
if (strlen($desc) >= 300)
{
$desc = substr($desc,0,299)."...";
}
if (strlen($title) >= 60)
{ $title = substr($title,0,59)."..."; }

// Insert a "Link" icon that will link (duh) to the most recent post:
echo "<a href=\"$href\"><img alt='[Link]' title=\"";

// To prevent double-quote issues, use htmlentities (Thanks Cosmin!)
echo htmlentities($desc);
echo "\" src=\"[Link icon]\" /></a>
<font size=\"1\">$title</font><br />";
}
}

// In case of an error fetching the RSS feed, 'fess up
else {
echo "<font color=red><font size=\"1\">Unable to fetch RSS</font></font><br />";
}
?>

No feedback yet

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)
This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)
 

[Links][icon] My links

[Icon][Icon] Hmm.. new look for twitter? I hope it gets less "Ick! Change! Put it back!" nonsense than Facebook..
08/02/12

[Icon][Icon] Facebook Syndication Error
11/02/12

[Icon][Icon] I last listened to:
Johann Pachelbel - Canon in D major

[Icon][Icon] Most recent photo:
Submersible houseboat

[Icon][Icon]About Me

[Icon][Icon]About this blog

[Icon][Icon]My LQ profile

[Icon][Icon]My /. profile

[Icon][Icon]My Wishlist

[Icon]MyCommerce

[FSF Associate Member]


February 2012
Mon Tue Wed Thu Fri Sat Sun
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29        

Search

User tools

XML Feeds

eXTReMe Tracker

Valid XHTML 1.0 Transitional

Valid CSS!

[Valid RSS feed]

powered by b2evolution