<?
/**
 * CitySearch Places API 
 * Sumeet 5/26/2011
 * Version 2.1
 *
 * @Array   All parameter should be passed in an array
 * Array[KEY]=>[VALUE]
 */

/***** USAGE ****** 
$data = array(	"what" => urlencode($search),   // Eg: pizza, sporting%20goods
				"where" => urlencode($place),	// Eg:	Pasadena,%20CA 	    or  91011					
				"rpp" => $rpp,	  // Default 10
				"page" => $Page,	
			  );
*/


#########################################
#		YELLOWBOOK LISTING SEARCH		#
#########################################
function CitySearchPlacesSearch($data, $timeout = 3){

	##### FETCH INPUT
	if (!$data['rpp']){		$data['rpp'] = 10;	}
	if (!$data['page']){		$data['page'] = 11;	}
	if (!$data['sort']){		$data['sort'] = "dist";	}
	if (!$data['publisher']){		$data['publisher'] = "local_pages";	}
	if (!$data['format']){		$data['format'] = "xml";	}

	foreach ($data as $key => $value)
		$Param .= $key.'='.$value.'&'; 

	###### INIT DOM XML #####
	$CSFeed = new DomDocument();
	$CSFeedUrl = "http://api.citygridmedia.com/content/places/v2/search/where?".$Param;
	if($_GET['debug'] == 'msa123')
		echo '<hr>'.$CSFeedUrl;

	###### CURL & PARSE XML #####
	$CurlData = array(	"url" => $CSFeedUrl,
						"timeout" => $timeout);

	$CSFeed->loadXML(curl_get_contents($CurlData));

	########### PARSING SERVING LISTING #######
	$Listing = $CSFeed->getElementsByTagName("location"); 
	for($i = 0;$i < 10; $i++){ 
		if($Listing->item($i))	{
			$BizResult[$i]['business_id'] =  $Listing->item($i)->getAttribute('id');
			$BizResult[$i]['business_name'] =  $Listing->item($i)->getElementsByTagName("name")->item(0)->nodeValue;
			$BizResult[$i]['street'] =  $Listing->item($i)->getElementsByTagName("street")->item(0)->nodeValue;
			$BizResult[$i]['city'] =  $Listing->item($i)->getElementsByTagName("city")->item(0)->nodeValue;
			$BizResult[$i]['state'] =  $Listing->item($i)->getElementsByTagName("state")->item(0)->nodeValue;
			$BizResult[$i]['postal_code'] =  $Listing->item($i)->getElementsByTagName("postal_code")->item(0)->nodeValue;
			$BizResult[$i]['neighborhood'] =  $Listing->item($i)->getElementsByTagName("neighborhood")->item(0)->nodeValue;
			$BizResult[$i]['latitude'] =  $Listing->item($i)->getElementsByTagName("latitude")->item(0)->nodeValue;
			$BizResult[$i]['longitude'] =  $Listing->item($i)->getElementsByTagName("longitude")->item(0)->nodeValue;
			$BizResult[$i]['distance'] =  $Listing->item($i)->getElementsByTagName("distance")->item(0)->nodeValue;
			$BizResult[$i]['image'] =  $Listing->item($i)->getElementsByTagName("image")->item(0)->nodeValue;
			$BizResult[$i]['phone_number'] =  $Listing->item($i)->getElementsByTagName("phone_number")->item(0)->nodeValue;
			$BizResult[$i]['fax_number '] =  $Listing->item($i)->getElementsByTagName("fax_number ")->item(0)->nodeValue;
			$BizResult[$i]['rating'] =  $Listing->item($i)->getElementsByTagName("rating")->item(0)->nodeValue;
			$BizResult[$i]['profile'] =  $Listing->item($i)->getElementsByTagName("profile")->item(0)->nodeValue;
			$BizResult[$i]['profile'] =  $Listing->item($i)->getElementsByTagName("profile")->item(0)->nodeValue;
			$BizResult[$i]['has_video'] =  $Listing->item($i)->getElementsByTagName("has_video")->item(0)->nodeValue;
			$BizResult[$i]['has_offers'] =  $Listing->item($i)->getElementsByTagName("has_offers")->item(0)->nodeValue;
			$BizResult[$i]['user_review_count'] =  $Listing->item($i)->getElementsByTagName("user_review_count")->item(0)->nodeValue;
			$BizResult[$i]['sample_categories'] =  $Listing->item($i)->getElementsByTagName("sample_categories")->item(0)->nodeValue;
			$BizResult[$i]['impression_id'] =  $Listing->item($i)->getElementsByTagName("impression_id")->item(0)->nodeValue;
			$BizResult[$i]['public_id'] =  $Listing->item($i)->getElementsByTagName("public_id")->item(0)->nodeValue;
			$BizResult[$i]['profile'] =  $Listing->item($i)->getElementsByTagName("profile")->item(0)->nodeValue;
		}
	}
	return $BizResult;
}

/*
/***** USAGE ****** 
$data = array(	"listing_id" => urlencode($search),   // Eg: 3151050
				"client_ip" => $ipaddress

			  );
*/


function CitySearchPlacesDetail($data, $timeout = 3){

	##### FETCH INPUT
	if (!$data['publisher']){		$data['publisher'] = "local_pages";	}
	if (!$data['format']){		$data['format'] = "xml";	}


	foreach ($data as $key => $value)
		$Param .= $key.'='.$value.'&'; 

	###### INIT DOM XML #####
	$CSFeed = new DomDocument();
	$CSFeedUrl = "http://api.citygridmedia.com/content/places/v2/detail?".$Param;
	if($_GET['debug'] == 'msa123')
		echo '<hr>'.$CSFeedUrl;

	###### CURL & PARSE XML #####
	$CurlData = array(	"url" => $CSFeedUrl,
						"timeout" => $timeout);

	$CSFeed->loadXML(curl_get_contents($CurlData));
	########### PARSING SERVING LISTING #######
	$Listing = $CSFeed->getElementsByTagName("location"); 
	if($Listing->item(0))	{

		$BizResult['business_name'] =  $Listing->item(0)->getElementsByTagName("name")->item(0)->nodeValue;
		$BizResult['business_id'] =  $Listing->item(0)->getElementsByTagName('id')->item(0)->nodeValue;
		$BizResult['street'] =  $Listing->item(0)->getElementsByTagName('street')->item(0)->nodeValue;
		$BizResult['city'] =  $Listing->item(0)->getElementsByTagName('city')->item(0)->nodeValue;
		$BizResult['state'] =  $Listing->item(0)->getElementsByTagName('state')->item(0)->nodeValue;
		$BizResult['postal_code'] =  $Listing->item(0)->getElementsByTagName('postal_code')->item(0)->nodeValue;
		$BizResult['latitude'] =  $Listing->item(0)->getElementsByTagName('latitude')->item(0)->nodeValue;
		$BizResult['longitude'] =  $Listing->item(0)->getElementsByTagName('longitude')->item(0)->nodeValue;
		$BizResult['display_phone'] =  $Listing->item(0)->getElementsByTagName('display_phone')->item(0)->nodeValue;
		$BizResult['display_url'] =  $Listing->item(0)->getElementsByTagName('display_url')->item(0)->nodeValue;
		$BizResult['market'] =  $Listing->item(0)->getElementsByTagName('market')->item(0)->nodeValue;
		$BizResult['profile_url'] =  $Listing->item(0)->getElementsByTagName('profile_url')->item(0)->nodeValue;
		$BizResult['reviews_url'] =  $Listing->item(0)->getElementsByTagName('reviews_url')->item(0)->nodeValue;
		$BizResult['website_url'] =  $Listing->item(0)->getElementsByTagName('website_url')->item(0)->nodeValue;
		$BizResult['map_url'] =  $Listing->item(0)->getElementsByTagName('map_url')->item(0)->nodeValue;
		$BizResult['send_to_friend_url'] =  $Listing->item(0)->getElementsByTagName('send_to_friend_url')->item(0)->nodeValue;
		$BizResult['customer_message_url'] =  $Listing->item(0)->getElementsByTagName('customer_message_url')->item(0)->nodeValue;
		$BizResult['editorial_title'] =  $Listing->item(0)->getElementsByTagName('editorial_title')->item(0)->nodeValue;
		$BizResult['editorial_url'] =  $Listing->item(0)->getElementsByTagName('editorial_url')->item(0)->nodeValue;
		$BizResult['editorial_author'] =  $Listing->item(0)->getElementsByTagName('editorial_author')->item(0)->nodeValue;
		$BizResult['editorial_title'] =  $Listing->item(0)->getElementsByTagName('editorial_title')->item(0)->nodeValue;
		$BizResult['editorial_review'] =  $Listing->item(0)->getElementsByTagName('editorial_review')->item(0)->nodeValue;
		$BizResult['editorial_date'] =  $Listing->item(0)->getElementsByTagName('editorial_date')->item(0)->nodeValue;

	}
	return $BizResult;
}


?>