"; echo "
"; echo ''; echo ""; } else { $emailAddr = $_POST['email_address']; // represents the contact list identification number(s) $contactListId = 1; $contactListId = (!is_array($contactListId)) ? array($contactListId) : $contactListId; $post = new SimpleXMLElement(''); $post->addAttribute('xmlns', 'http://www.w3.org/2005/Atom'); $title = $post->addChild('title', ""); $title->addAttribute('type', 'text'); $post->addChild('updated', date('c')); $post->addChild('author', ""); $post->addChild('id', 'data:,none'); $summary = $post->addChild('summary', 'Contact'); $summary->addAttribute('type', 'text'); $content = $post->addChild('content'); $content->addAttribute('type', 'application/vnd.ctct+xml'); $contact = $content->addChild('Contact'); $contact->addAttribute('xmlns', 'http://ws.constantcontact.com/ns/1.0/'); $contact->addChild('EmailAddress', $emailAddr); $contact->addChild('OptInSource', 'ACTION_BY_CUSTOMER'); $contactlists = $contact->addChild('ContactLists'); // loop through each of the defined contact lists foreach($contactListId AS $listId) { $contactlist = $contactlists->addChild('ContactList'); $contactlist->addAttribute('id', 'http://api.constantcontact.com/ws/customers/' . $ccuser . '/lists/' . $listId); } $posturl = "https://api.constantcontact.com/ws/customers/{$ccuser}/contacts"; $authstr = $cckey . '%' . $ccuser . ':' . $ccpass; echo $post->asXML(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $posturl); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, $authstr); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post->asXML()); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/atom+xml")); // curl_setopt($ch, CURLOPT_HEADER, false); // Do not return headers // curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // If you set this to 0, it will take you to a page with the http response $response = curl_exec($ch); echo'
';
	print_r( $response );
	curl_close($ch);


	$arr = array(
		'status' => 'OK',
		'response' => $response
	);

	if (!strpos($response, 'ACTION_BY_CUSTOMER'))
		$arr['status'] = 'ERROR';

	die(json_encode($arr));
}