Archive for the ‘Feed’ Category

Error messages for abnormal feeds in FeedBurner API and cURL functions

February 18, 2009

I used FeedBurner API in my last project (FeedRoll). I needed to know error number for abnormal feeds.  FeedBurner API returns below error numbers:

1: Feed Not Found
2: This feed does not permit Awareness API access
5: Missing required parameter (URI)
6: Malformed parameter (DATES)

I used cURL (Client URL Library Functions) for Perform a cURL session and next Parsed XML via SimpleXML Class. But didn’t available data for feed that didn’t permit Awareness API access. Because cURL was Unauthorized.
In this case we can use HTTP code that corresponding to ‘http_code’ index of the array returned by curl_getinfo. I write below code for it:

< ?php
$twodayago = date('Y-m-d', strtotime('-2 days', time()));
$onedayago = date('Y-m-d', strtotime('-1 days', time()));
$today = date('Y-m-d');

$api = "$feedid&dates=$twodayago,$onedayago";

//Initialize a cURL session
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $api);
$data = curl_exec($ch);
$base_code = curl_getinfo($ch);

if ($base_code&#91;'http_code'&#93;=='401'){
	$burner_count_circulation = 'This feed does not permit Awareness API access';
	$burner_date = $today;
} else {

	$xml = new SimpleXMLElement($data); //Parse XML via SimpleXML Class
	$bis = $xml->attributes();  //Bis Contain first attribute, It usually is ok or fail in FeedBurner

	if ($bis=='ok'){
		foreach ($xml->feed as $feed) {
			if ($feed->entry[1]['circulation']=='0'){
				$burner_count_circulation = $feed->entry[0]['circulation'];
				$burner_date  =  $feed->entry[0]['date'];
			} else {
				$burner_count_circulation = $feed->entry[1]['circulation'];
				$burner_date  =  $feed->entry[1]['date'];

	if ($bis=='fail'){
		switch ($xml->err['code']) {
			case 1:
				$burner_count_circulation = 'Feed Not Found';
			case 5:
				$burner_count_circulation = 'Missing required parameter (URI)';
			case 6:
				$burner_count_circulation = 'Malformed parameter (DATES)';
		$burner_date = $today;


echo $burner_count_circulation.' @ '.$burner_date;

CSS Support is Poor in RSS Feed Readers

July 9, 2006

Once upon a time, different Web browsers supported different forms of HTML markup or “tags.” It was difficult or impossible to make a Web site look good in different browsers. Beginning a few years ago, fortunately, browsers started adopting some common markup styles, loosely known as “Web standards.” Web sites now look roughly the same in different browsers. Users said, “Yea, verily, it is good.” Read this article here .