designsubway Posted January 29, 2010 Share Posted January 29, 2010 Hi all. First of all I must say I am not a php developer so I am afraid I don't know much about it. I am using the bloging software on my site called Super Simple Blog. This software includes a file called feed_maker.php which I have posted below: <?php /******************************************** feed_maker.php This class is used for generating an RSS feed. ********************************************/ class GenerateFeed{ var $TABLENAME; var $websiteRoot; var $pageTitle; var $rssDesc; var $rssLink; var $rssFileName; var $blogPageName; function makeFeed($table, $webroot, $title, $desc, $link, $rssfile){ $this->TABLENAME = $table; $this->websiteRoot = $webroot; $this->pageTitle = $title; $this->rssDesc = $desc; $this->rssLink = $link; $this->rssFileName = $rssfile; //empty array which will be pushed all of the //possible images for the home page. //These are displayed when the page loads. $spl = array(); // Query the database. $query = "SELECT * FROM $this->TABLENAME ORDER BY uid DESC"; $result = mysql_query ($query); //init a counter $i = 0; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $spl[$i] = $row; $i++; $ima = split(", ", $row['image']); //build array out of images list $com = nl2br($row['comment']); //if there is more than 1 image per entry for($h=0; $h<count($ima); $h++){ $j = $h+1; if($imagesPerEntry != 1){ if(substr($ima[$h],-4) != '.pdf'){ //filter out PDFs $com = str_replace("[$j]", "<img src=\"$this->websiteRoot/blogImages/$ima[$h]\" />", $com); } } if($imagesPerEntry == 1){ if(!empty($ima[$h])) { if(substr($ima[$h],-4) != '.pdf'){ //filter out PDFs $com = str_replace("[$j]", "<img src=\"$this->websiteRoot/blogImages/$ima[$h]\" />", $com); } } } } //output the database //each row will be 1 item $addBlock .= "\n\n<item> \n <title>{$row['title']}</title> \n <link>$this->rssLink?entry={$row['uid']}</link> \n <description><![CDATA[$com]]></description> \n </item>\n\n"; } // Write the three blocks to file //this is the file that we are writing $fileT = $this->rssFileName; $fileT = fopen($fileT, "w"); //start off every feed with this $startBlock = <<<EOR <?xml version="1.0"?> <rss version="2.0"> <channel> <title>$this->pageTitle</title> <description>$this->rssDesc</description> <link>$this->rssLink</link> EOR; //end every feed with this $endBlock = "</channel>\n\n</rss>"; fwrite($fileT, $startBlock); fwrite($fileT, $addBlock); fwrite($fileT, $endBlock); fclose($fileT); //end of method } //end of class } ?> This file creates an rss feed from my blog. My question is; would it be possible to add some code to this file which would give each item in the feed its own time and date stamp, for example; <pubDate>Fri, 15 Jan 2010 12:00:00 +0000</pubDate> I can't find any support for this feed_maker.php file so that is why I have come here. Thanks in advance. Link to comment https://forums.phpfreaks.com/topic/190221-feed-maker/ Share on other sites More sharing options...
ignace Posted January 29, 2010 Share Posted January 29, 2010 Try this don't forget to change {$row['pubDate']} to the appropriate column name maybe even calling an appropriate function to properly format the output $addBlock .= "\n\n<item> \n <title>{$row['title']}</title> \n <link>$this->rssLink?entry={$row['uid']}</link> \n <pubDate>{$row['pubDate']}</pubDate> \n <description><![CDATA[$com]]></description> \n </item>\n\n"; Link to comment https://forums.phpfreaks.com/topic/190221-feed-maker/#findComment-1003666 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.