Jump to content

Feed Maker


designsubway

Recommended Posts

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
Share on other sites

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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.