<?php
function createRssHeader() { return "<rss version=\"2.0\">" . "<channel>" . "<title>My Great Feed</title>" . "<link>http://www.example.com/feed.xml</link>" . "<description>The best feed in the world</description>" . "<language>en-us</language>" . "<pubDate>Tue, 20 Oct 2008 10:00:00 GMT</pubDate>" . "<lastBuildDate>Tue, 20 Oct 2008 10:00:00 GMT</lastBuildDate>" . "<docs>http://www.example.com/rss</docs>" . "<generator>MyFeed Generator</generator>" . "<managingEditor>editor@example.com</managingEditor>" . "<webMaster>webmaster@example.com</webMaster>" . "<ttl>5</ttl>"; }
function createRssFooter() { return "</channel></rss>"; }
function createRssItem($title, $link, $desc, $date, $guid) { $item .= "<item>"; $item .= "<title>" . $title . "</title>"; $item .= "<link>" . $link . "</link>"; $item .= "<description> " . $description . "</description>"; $item .= "<pubDate>" . $date . "</pubDate>"; $item .= "<guid>" . $guid . "</guid>"; $item .= "</item>"; return $item; }
function getUserMaxStories($db_link, $default) { $perfsQuery = sprintf("SELECT max_stories FROM user_perfs WHERE user= ''%s''", mysql_real_escape_string($user));
$result = mysql_query($perfsQuery, $db_link);
$max_stories = $default;
if ($row = mysql_fetch_assoc($result)) { $max_stories = $row[''max_stories'']; }
return $max_stories; }
function writeRssFeed($user) { // Get the DB connection information $settings = parse_ini_file("rss_server.ini");
// look up the user''s preferences... $link = mysql_connect($settings[''db_host''], $settings[''user''], $settings[''password'']) OR die(mysql_error());
$max_stories = getUserMaxStories($link, 25);
// go get my data $newsQuery = sprintf("SELECT * FROM stories WHERE post_date = ''%s''", mysql_real_escape_string(time()));
$result = mysql_query($newsQuery, $link);
$feed = createRssHeader();
$i = 0; // build the feed... while ($row = mysql_fetch_assoc($result)) { if ($i < $max_stories) { $title = $row[''title'']; $link = $row[''link'']; $description = $row[''description'']; $date = $row[''date'']; $guid = $row[''guid''];
$feed .= createRssItem($title, $link, $description, $date, $guid);
$i++; } else { break; } }
mysql_close($link);
$feed .= createRssFooter();
// write the feed out to the server... echo($feed); } ?>
|