Archive for the ‘PHP’ 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 = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=$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);
curl_close($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';
				break;
			case 5:
				$burner_count_circulation = 'Missing required parameter (URI)';
				break;
			case 6:
				$burner_count_circulation = 'Malformed parameter (DATES)';
				break;
		}
		$burner_date = $today;
	}

}

echo $burner_count_circulation.' @ '.$burner_date;
 ?>

PHP and CSS Tricks

February 12, 2006

Combine CSS with PHP is useful. For example we can resolve our hack or create a style (.css) file with php codes. We know css is a client side no server side (similar JavaScript) in fact using php between css elements allows us applied css in base of dynamic format. What more do you want! It’s well enough to put in practice.

+ No More CSS Hacks
+ Time Sensitive CSS

Alternative syntax for PHP control structures

November 10, 2005

Alternative syntax for PHP control structures! For control structures in straight PHP this seems a little heavy-handed but makes for far more legible code when embedded in HTML. No more counting closing curly brackets! And no more alliteration!