<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>code</title>
	<atom:link href="http://www.codeevolution.com.au/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codeevolution.com.au/code</link>
	<description>Web, online marketing, marketing automation, digital marketing and demand generation solutions at the right price - Melbourne Australia</description>
	<lastBuildDate>Tue, 16 Aug 2011 05:36:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Eloqua and jQuery &#8211; 5 star product ratings</title>
		<link>http://www.codeevolution.com.au/code/2011/07/eloqua-and-jquery-5-star-productdocument-rating-system/</link>
		<comments>http://www.codeevolution.com.au/code/2011/07/eloqua-and-jquery-5-star-productdocument-rating-system/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 04:31:44 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Eloqua]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=477</guid>
		<description><![CDATA[While on assignment with Intel Australia I was given the task to tidy up their product download ordering system. The ordering system included a product rating system. The rating system is a great tool to add to your download reports. Determining the popularity of a document based on downloads and ratings. The solution that was [...]]]></description>
			<content:encoded><![CDATA[<p>While on assignment with Intel Australia I was given the task to tidy up their <a href="http://www.codeevolution.com.au/sample/" rel="external">product download ordering system</a>. The ordering system included a <a href="http://www.codeevolution.com.au/sample/" rel="external">product rating system</a>. The rating system is a great tool to add to your download reports. Determining the popularity of a document based on downloads and ratings.</p>
<p><img src="http://www.codeevolution.com.au/code/wp-content/uploads/2011/07/Sample.jpg" alt="Sample" title="Sample" width="434" height="150" class="size-full wp-image-512" /></p>
<p>The solution that was used was something I had not seen with any other Eloqua clients and showed innovation in the usage of Eloqua and jQuery.</p>
<p>After cleaning up the way it was done I decided to share it with other Eloqua users.</p>
<p>The jQuery plugin that was used in this <a href="http://www.fyneworks.com/jquery/star-rating/" rel="external">http://www.fyneworks.com/jquery/star-rating/</a>.</p>
<p>It&#8217;s a simple enough plugin, however without a database the results cannot be maintained for new and returning visitors. To enable the average results to display when a user returns to the page the results can be saved to Eloqua and returned using a simple web lookup.</p>
<p><strong>Let&#8217;s take a look.</strong></p>
<p>I have created an example version here <a href="http://www.codeevolution.com.au/sample/" rel="external">http://www.codeevolution.com.au/sample/</a></p>
<p>There are plenty of ways to go about the storing of values and in the example below I decided to use the prospect record.</p>
<p>
<strong>1). Create the fields necessary to maintain the required data.</strong></p>
<p>
<img title="Example 1" src="http://www.codeevolution.com.au/code/wp-content/uploads/2011/07/1.jpg" alt="Example 1" width="405" height="222" />
</p>
<p>I chose to save 3 fields per product/document. I also chose to prefix the 3 fields with the product name. You could chose to save only 2 fields depending on how many prospect fields you have available and how many products/documents you are rating. I liked the idea of 3 as the monthly reports would require no manual calculations.</p>
<p><strong>Count: The total amount of times the rating was clicked</strong><br />
<strong>Total: The total of all ratings combined</strong><br />
<strong>Average: The average rating (Total/Count)</strong></p>
<p>
<strong><br />
2). Create a dummy prospect (requires a dummy email address).</strong></p>
<p>We will continue to overide this prospect every time with the new values submitted by the blind form submit.</p>
<p><img title="Example 2" src="http://www.codeevolution.com.au/code/wp-content/uploads/2011/07/2.jpg" alt="Example 2" /></p>
<p><strong>3). Create a form to capture the rating.</strong></p>
<p>The form is really simple and it only requires one processing step (Update Existing Record or Data Object). The processing step needs to save the ratings for a specific product. Each product does not get rated at the same time so the fields need to only update if there is value passed through the form.</p>
<p><img title="Example 3" src="http://www.codeevolution.com.au/code/wp-content/uploads/2011/07/3.jpg" alt="Example 3" /></p>
<p><strong>4). Create the web data lookup.</strong></p>
<p>The web lookup will simply use the dummy prospect record to return the fields from the prospect record which contain the data.</p>
<p><img title="Example 4" src="http://www.codeevolution.com.au/code/wp-content/uploads/2011/07/4.jpg" alt="Example 4" /></p>
<p><strong>The code.</strong></p>
<p>The code sample is reasonably straight forward. You can get an idea how you may retro fit this for your own documents/products. Let&#8217;s take a look.</p>
<p><strong>1). The product html. </strong></p>
<p>The html below shows I have included the three hidden fields for the product as well as the 5 hidden fields for ratings.</p>
<pre class="php">
<span class="phpOperator">&lt;</span>div class=<span class="phpString">"product"</span><span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>div class=<span class="phpString">"label"</span><span class="phpOperator">&gt;</span>Rate Document <span class="phpNumber">1</span><span class="phpOperator">:</span><span class="phpOperator">&lt;</span>/div<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>div class=<span class="phpString">"rating"</span><span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>input id<span class="phpOperator">=</span><span class="phpString">"product1_count"</span> type=<span class="phpString">"hidden"</span> name=<span class="phpString">"product1_count"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input id<span class="phpOperator">=</span><span class="phpString">"product1_total"</span> type=<span class="phpString">"hidden"</span> name=<span class="phpString">"product1_total"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input id<span class="phpOperator">=</span><span class="phpString">"product1_average"</span> type=<span class="phpString">"hidden"</span> name=<span class="phpString">"product1_average"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input class=<span class="phpString">"star"</span> type=<span class="phpString">"radio"</span> name=<span class="phpString">"product1"</span> value=<span class="phpString">"<span class="phpNumber">1</span>"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input class=<span class="phpString">"star"</span> type=<span class="phpString">"radio"</span> name=<span class="phpString">"product1"</span> value=<span class="phpString">"<span class="phpNumber">2</span>"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input class=<span class="phpString">"star"</span> type=<span class="phpString">"radio"</span> name=<span class="phpString">"product1"</span> value=<span class="phpString">"<span class="phpNumber">3</span>"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input class=<span class="phpString">"star"</span> type=<span class="phpString">"radio"</span> name=<span class="phpString">"product1"</span> value=<span class="phpString">"<span class="phpNumber">4</span>"</span> /<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>input class=<span class="phpString">"star"</span> type=<span class="phpString">"radio"</span> name=<span class="phpString">"product1"</span> value=<span class="phpString">"<span class="phpNumber">5</span>"</span> /<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>/div<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>/div<span class="phpOperator">&gt;</span>
</pre>
<p><strong>2). The data lookup scripts.</strong></p>
<p>The data lookup scripts are pretty straight forward. When the page loads the lookup is performed usimg the web data lookup key and the email address of the dummy user. The data returned is passed into the hidden fields and the average checkbox/star is checked.</p>
<pre class="php">
<span class="phpOperator">&lt;</span>script type=<span class="phpString">"text/javascript"</span> src=<span class="phpString">"elqNow/elqCfg<span class="phpOperator">.</span>js"</span><span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>/script<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>script type=<span class="phpString">"text/javascript"</span> src=<span class="phpString">"elqNow/elqImg<span class="phpOperator">.</span>js"</span><span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>/script<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>script type=<span class="phpString">"text/javascript"</span><span class="phpOperator">&gt;</span>
<span class="phpComment">// <span class="phpOperator">&lt;</span><span class="phpOperator">!</span><span class="phpOperator">[</span>CDATA<span class="phpOperator">[</span>
</span>>var elqPPS <span class="phpOperator">=</span> <span class="phpString">'50'</span><span class="phpText">;</span>
<span class="phpKeyword">
var </span>elqDLKey <span class="phpOperator">=</span> escape<span class="phpOperator">(</span><span class="phpString">'d0c4544a541d4e8cb1cd633ed886629a'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
var </span>elqDLLookup <span class="phpOperator">=</span> <span class="phpString">'<span class="phpOperator">&lt;</span>P_EmailAddress<span class="phpOperator">&gt;</span>rating@codeevolution<span class="phpOperator">.</span>com<span class="phpOperator">.</span>au<span class="phpOperator">&lt;</span>/P_EmailAddress<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
<span class="phpComment"><span class="phpComment">// <span class="phpOperator">]</span><span class="phpOperator">]</span></span><span class="phpOperator">&gt;</span>
</span><span class="phpOperator">&lt;</span>/script<span class="phpOperator">&gt;</span>
<span class="phpOperator">&lt;</span>script type=<span class="phpString">"text/javascript"</span> src=<span class="phpString">"elqNow/elqCPers<span class="phpOperator">.</span>js"</span><span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>/script<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>script type=<span class="phpString">"text/javascript"</span><span class="phpOperator">&gt;</span>
<span class="phpComment">// <span class="phpOperator">&lt;</span><span class="phpOperator">!</span><span class="phpOperator">[</span>CDATA<span class="phpOperator">[</span>
</span>$<span class="phpOperator">(</span>document<span class="phpOperator">)</span>.ready<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
	   $<span class="phpOperator">(</span><span class="phpString">'body'</span><span class="phpOperator">)</span>.append<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">&lt;</span>iframe id<span class="phpOperator">=</span><span class="phpString">"my_iframe"</span><span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span>/iframe<span class="phpOperator">&gt;</span>'</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   rating1<span class="phpOperator">=</span>Number<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product1_Average1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span>-<span class="phpNumber">1</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">'input<span class="phpOperator">[</span>name=product1<span class="phpOperator">]</span><span class="phpOperator">:</span>eq<span class="phpOperator">(</span>'</span><span class="phpOperator">+</span>rating1<span class="phpOperator">+</span><span class="phpString">'<span class="phpOperator">)</span>'</span><span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">'checked'</span>, <span class="phpString">'checked'</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">"#product1_average"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product1_Average1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">"#product1_count"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product1_Count1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">"#product1_total"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product1_Total1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   rating2<span class="phpOperator">=</span>Number<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product2_Average1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span>-<span class="phpNumber">1</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">'input<span class="phpOperator">[</span>name=product2<span class="phpOperator">]</span><span class="phpOperator">:</span>eq<span class="phpOperator">(</span>'</span><span class="phpOperator">+</span>rating2<span class="phpOperator">+</span><span class="phpString">'<span class="phpOperator">)</span>'</span><span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">'checked'</span>, <span class="phpString">'checked'</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">"#product2_average"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product2_Average1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">"#product2_count"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product2_Count1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   $<span class="phpOperator">(</span><span class="phpString">"#product2_total"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>GetElqContentPersonalizationValue<span class="phpOperator">(</span><span class="phpString">"P_Product2_Total1"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment"><span class="phpComment">// <span class="phpOperator">]</span><span class="phpOperator">]</span></span><span class="phpOperator">&gt;</span>
</span><span class="phpOperator">&lt;</span>/script<span class="phpOperator">&gt;</span>
</pre>
<p><strong>3). The star rating system.</strong></p>
<p>The star rating system needs to be included with some tweaks to what happens when the user clicks on a star. The rating system cosists of 3 files.</p>
<p>A css file &#8211; Left unchanged<br />
A star.js file &#8211; Left unchanged<br />
A javscript file &#8211; Minor tweaks.</p>
<p>The biggest modification that was required was to the rating javascript file. It required an onClick event to pass the rating to Eloqua via a blind form submit. I decided the simplest way to do this was placing an iframe on the page and changing the iframe src to the Eloqua form.</p>
<pre class="php">
<span class="phpOperator">.</span>click<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpKeyword">
var </span>current_name <span class="phpOperator">=</span> $<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">"name"</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
var </span>current_rating <span class="phpOperator">=</span> $<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">"value"</span><span class="phpOperator">)</span><span class="phpText">;</span>
count<span class="phpOperator">=</span>Number<span class="phpOperator">(</span>$<span class="phpOperator">(</span><span class="phpString">"#"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_count"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">+</span><span class="phpNumber">1</span><span class="phpText">;</span>
$<span class="phpOperator">(</span><span class="phpString">"#"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_count"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>count<span class="phpOperator">)</span><span class="phpText">;</span>
total=Number<span class="phpOperator">(</span>$<span class="phpOperator">(</span><span class="phpString">"#"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_total"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">+</span>Number<span class="phpOperator">(</span>current_rating<span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">(</span><span class="phpString">"#"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_total"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>total<span class="phpOperator">)</span><span class="phpText">;</span>
average=Math<span class="phpOperator">.</span><span class="phpFunction">round</span><span class="phpOperator">(</span>total/count<span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">(</span><span class="phpString">"#"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_average"</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>average<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
var </span>post <span class="phpOperator">=</span> current_name<span class="phpOperator">+</span><span class="phpString">"_count<span class="phpOperator">=</span>"</span><span class="phpOperator">+</span>count<span class="phpOperator">+</span><span class="phpString">"&#038;amp<span class="phpText">;</span>"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_total="</span><span class="phpOperator">+</span>total<span class="phpOperator">+</span><span class="phpString">"&#038;amp<span class="phpText">;</span>"</span><span class="phpOperator">+</span>current_name<span class="phpOperator">+</span><span class="phpString">"_average="</span><span class="phpOperator">+</span>average<span class="phpText">;</span>
$<span class="phpOperator">(</span><span class="phpString">'#my_iframe'</span><span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">'src'</span>,<span class="phpString">'http<span class="phpOperator">:</span><span class="phpComment">//now<span class="phpOperator">.</span>eloqua.com//e/f2<span class="phpOperator">.</span>aspx<span class="phpOperator">?</span>elqFormName=YourForm&#038;amp<span class="phpText">;</span>elqSiteID<span class="phpOperator">=</span>1111&#038;amp<span class="phpText">;</span>EmailAddress=rating@codeevolution<span class="phpOperator">.</span>com<span class="phpOperator">.</span>au&#038;amp<span class="phpText">;</span>'</span>
</span><span class="phpOperator">+</span>post<span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.rating<span class="phpOperator">(</span><span class="phpString">'fill'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.rating<span class="phpOperator">(</span><span class="phpString">'focus'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
return </span>>false<span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>The end result looks great and also provides us with some great reporting stats to go with our download reports</p>
<p><img src="http://www.codeevolution.com.au/code/wp-content/uploads/2011/07/5.jpg" alt="Example 5" title="Example 5" width="625" height="189" class="size-full wp-image-508" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2011/07/eloqua-and-jquery-5-star-productdocument-rating-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build an Eloqua Cloud Connector in PHP</title>
		<link>http://www.codeevolution.com.au/code/2011/03/build-an-eloqua-cloud-connector-in-php/</link>
		<comments>http://www.codeevolution.com.au/code/2011/03/build-an-eloqua-cloud-connector-in-php/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 11:32:20 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[Eloqua]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=455</guid>
		<description><![CDATA[I am in the final throws of development of an Eloqua Cloud Connector for MessageMedia. While digging around for documentation on this, I found absolutely zero information on how to get this done in PHP. I found that to be strange as a large percentage of Eloqua clients I have worked with predominantly build there [...]]]></description>
			<content:encoded><![CDATA[<p>I am in the final throws of development of an <a href="http://eloqua.blogspot.com/2010/06/eloqua-cloud-connectors.html">Eloqua Cloud Connector</a> for <a href="http://www.message-media.com/">MessageMedia</a>. While digging around for documentation on this, I found absolutely zero information on how to get this done in PHP. I found that to be strange as a large percentage of Eloqua clients I have worked with predominantly build there applications in PHP.</p>
<p>Not letting this stop me I plugged away at it and finally I have some information and code samples to share.</p>
<p>As the Cloud Connector requires use of the Eloqua API, I needed to write a client in PHP that could communicate with their various WSDL files. It didn&#8217;t take long before I found <a href="http://www.scottnichol.com/nusoapintro.htm">NuSoap</a>. With a few simple commands NuSoap allowed me to connect and start manipulating data.</p>
<p>One thing I needed to do frist was to check the NuSoap libraries to make sure that the encoding would not cause any of the calls to fall over. I found that NuSoap added some extra bits of encoding which caused the calls to contuously return &#8220;BAD CALL&#8221;. So in the nusoap.php file I removed these elements and things started to work correctly. The below peice of code is what I now have from line 707 &#8211; 712 in nusoap.php</p>
<pre class="php">
   $headers <span class="phpOperator">=</span> <span class="phpString">"<span class="phpOperator">&lt;</span>SOAP-ENV<span class="phpOperator">:</span>Header xmlns<span class="phpOperator">:</span>wsse=\"</span>http<span class="phpOperator">:</span><span class="phpComment"><span class="phpComment">//docs<span class="phpOperator">.</span>oasis-open<span class="phpOperator">.</span>org/wss/2004/01/oasis-200401-wss-wssecurity-secext-<span class="phpNumber">1</span><span class="phpOperator">.</span><span class="phpNumber">0</span><span class="phpOperator">.</span>xsd\<span class="phpString">"</span><span class="phpOperator">&gt;</span>"</span>.$headers<span class="phpOperator">.</span><span class="phpString">"<span class="phpOperator">&lt;</span>/SOAP-ENV<span class="phpOperator">:</span>Header<span class="phpOperator">&gt;</span>"</span><span class="phpText">;</span>
</span><span class="phpOperator">}</span>
<span class="phpComment">// serialize envelope
</span>>return
<span class="phpString">'<span class="phpOperator">&lt;</span><span class="phpOperator">?</span>xml version<span class="phpOperator">=</span><span class="phpString">"<span class="phpNumber">1</span><span class="phpOperator">.</span><span class="phpNumber">0</span>"</span> encoding<span class="phpOperator">=</span><span class="phpString">"'</span>.<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>soap_defencoding <span class="phpOperator">.</span><span class="phpString">'"</span><span class="phpOperator">?</span>'</span>.<span class="phpString">"<span class="phpOperator">&gt;</span>"</span>.
<span class="phpString">'<span class="phpOperator">&lt;</span>SOAP-ENV<span class="phpOperator">:</span>Envelope'</span>.$ns_string<span class="phpOperator">.</span><span class="phpString">" xmlns<span class="phpOperator">:</span>arr=\"</span>http<span class="phpOperator">:</span><span class="phpComment"><span class="phpComment">//schemas<span class="phpOperator">.</span>microsoft.com/2003/10/Serialization/Arrays\<span class="phpString">"</span><span class="phpOperator">&gt;</span>"</span>.
</span></pre>
<p>I have included the entire NuSoap lib so you can <a href="http://www.codeevolution.com.au/sample/lib.zip">download it here</a>.</p>
<p>To get started you will need to have a few little pieces of information.</p>
<ul>
<li>Location of Eloqua CloudConnector wsdl file</li>
<li>Location of Eloqua data manipulation wsdl file</li>
<li>Eloqua account name</li>
<li>Eloqua username</li>
<li>Eloqua password</li>
<li>Eloqua program step id</li>
</ul>
<p>For security reasons in the example code below I have changed the above elements.</p>
<p>Without spending hours analysing each strip of code. I will identify key elements in an evolving class. The code essentially grabs contacts from your specified program step, queries the contact record for key peices of information on that contact record, then passes the contacts into to function to run actions on them. After the actions are performed the contacts in program step are marked as being &#8220;complete&#8221;.</p>
<p>The code below establishes two connections to Eloqua via two separate wsdl files. One to perform eloqua program step actions (Cloud Connector wsdl), the other to perform key contact/entity actions.</p>
<pre class="php">
$cloudConnector <span class="phpOperator">=</span><span class="phpKeyword"> new </span>CloudConnector<span class="phpOperator">(</span>$EloquaAccount, $EloquaPassword<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>The code below grabs contacts from your Eloqua program step which have a status &#8220;AwaitingAction&#8221;.</p>
<pre class="php">
$programMembers <span class="phpOperator">=</span> $cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>listMembersInStepByStatus<span class="phpOperator">(</span>$EloquaStep<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>The code below retrieves key contact information from all the contacts returned from the program step.</p>
<pre class="php">
$membersInfo <span class="phpOperator">=</span> $cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>retrieve<span class="phpOperator">(</span>$programMembers, $EloquaStep<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>The code below runs your specific actions on the contacts.</p>
<pre class="php">
$cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>performActionOnContacts<span class="phpOperator">(</span>$membersInfo<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>The code below sets the contacts in the program step to complete allowing them to move to the next step in the program.</p>
<pre class="php">
$cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>setMemberStatus<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>The code below is the whole sample of class and functions used in my Cloud Connector. I will update this over the next couple weeks as I polish this code to get it working smoothly.</p>
<pre class="php">
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span>
<span class="phpKeyword">
require_once<span class="phpOperator">(</span></span><span class="phpString">'lib/nusoap.php'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$EloquaCompany<span class="phpOperator">=</span><span class="phpString">'YourEloquaAccountName'</span><span class="phpText">;</span>
$EloquaUsername=<span class="phpString">'Eloqua.Username'</span><span class="phpText">;</span>
$EloquaAccount<span class="phpOperator">=</span>$EloquaCompany<span class="phpOperator">.</span><span class="phpString">'\\'</span>.$EloquaUsername<span class="phpText">;</span>
$EloquaPassword<span class="phpOperator">=</span><span class="phpString">'Password'</span><span class="phpText">;</span>
$EloquaStep<span class="phpOperator">=</span>123;
$cloudConnector <span class="phpOperator">=</span><span class="phpKeyword"> new </span><span class="htmlText">CloudConnector</span><span class="phpOperator">(</span>$EloquaAccount, $EloquaPassword<span class="phpOperator">)</span><span class="phpText">;</span>
$programMembers <span class="phpOperator">=</span> $cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">listMembersInStepByStatus</span><span class="phpOperator">(</span>$EloquaStep<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
if<span class="phpOperator">(</span></span><span class="phpFunction">sizeof</span><span class="phpOperator">(</span>$programMembers<span class="phpOperator">)</span><span class="phpOperator">&gt;</span><span class="phpNumber">0</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
	$membersInfo <span class="phpOperator">=</span> $cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">retrieve</span><span class="phpOperator">(</span>$programMembers, $EloquaStep<span class="phpOperator">)</span><span class="phpText">;</span>
	$cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">performActionOnContacts</span><span class="phpOperator">(</span>$membersInfo<span class="phpOperator">)</span><span class="phpText">;</span>
	$cloudConnector<span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">setMemberStatus</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpKeyword">class </span><span class="htmlText">CloudConnector</span><span class="phpOperator">{</span>
<span class="phpKeyword">	protected </span>$cloudClient;
<span class="phpKeyword">	protected </span>$eloquaClient;
<span class="phpKeyword">	protected </span>$headers<span class="phpText">;</span>
<span class="phpKeyword">	protected </span>$stepMembers<span class="phpText">;</span>
<span class="phpKeyword">	public </span><span class="phpFunctionKeyword">function</span><span class="htmlText"> __construct</span><span class="phpOperator">(</span>$Eloqua_username, $Eloqua_password<span class="phpOperator">)</span><span class="phpOperator">{</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>headers=<span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'wsse<span class="phpOperator">:</span>Security'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'wsse<span class="phpOperator">:</span>UsernameToken'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'wsse<span class="phpOperator">:</span>Username'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$Eloqua_username,<span class="phpString">'wsse<span class="phpOperator">:</span>Password'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$Eloqua_password<span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient </span><span class="phpOperator">=</span><span class="phpKeyword"> new </span><span class="htmlText">nusoap_client</span><span class="phpOperator">(</span><span class="phpString">"https<span class="phpOperator">:</span><span class="phpComment">//location<span class="phpOperator">.</span><span class="htmlText">of</span><span class="phpOperator">.</span>eloqua.cloud<span class="phpOperator">.</span>wsdl"</span>, <span class="phpString">'wsdl'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</span>		$cloudErr <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getError</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
	<span class="phpKeyword">	if<span class="phpOperator">(</span></span>$cloudErr<span class="phpOperator">)</span><span class="phpOperator">{</span>
			<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'CloudConnector Constructor error'</span>, $cloudErr, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request,  <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
		<span class="phpOperator">}</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">setUseCurl</span><span class="phpKeyword"><span class="phpOperator">(</span><span class="htmlText">true</span><span class="phpOperator">)</span></span><span class="phpText">;</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">soap_defencoding </span><span class="phpOperator">=</span> <span class="phpString">'UTF-<span class="phpNumber">8</span>'</span><span class="phpText">;</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient </span><span class="phpOperator">=</span><span class="phpKeyword"> new </span><span class="htmlText">nusoap_client</span><span class="phpOperator">(</span><span class="phpString">"https<span class="phpOperator">:</span><span class="phpComment">//location<span class="phpOperator">.</span><span class="htmlText">of</span><span class="phpOperator">.</span>eloqua.actions<span class="phpOperator">.</span>wsdl"</span>, <span class="phpString">'wsdl'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</span>		$eloquaErr <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getError</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span> 
	<span class="phpKeyword">	if<span class="phpOperator">(</span></span>$eloquaErr<span class="phpOperator">)</span><span class="phpOperator">{</span>
			<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'EloquaConnector Constructor error'</span>, $eloquaErr, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
		<span class="phpOperator">}</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">setUseCurl</span><span class="phpKeyword"><span class="phpOperator">(</span><span class="htmlText">true</span><span class="phpOperator">)</span></span><span class="phpText">;</span>
		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">soap_defencoding </span><span class="phpOperator">=</span> <span class="phpString">'UTF-<span class="phpNumber">8</span>'</span><span class="phpText">;</span>
	<span class="phpOperator">}</span>
<span class="phpKeyword">	public </span><span class="phpFunctionKeyword">function</span><span class="htmlText"> error</span><span class="phpOperator">(</span>$type, $err=<span class="phpString">''</span>, $request<span class="phpOperator">=</span><span class="phpString">''</span>, $response=<span class="phpString">''</span>, $debug<span class="phpOperator">=</span><span class="phpString">''</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
		<span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span><span class="htmlText">h2</span><span class="phpOperator">&gt;</span>'</span>.$type.<span class="phpString">'<span class="phpOperator">&lt;</span>/h2<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
	<span class="phpKeyword">	if<span class="phpOperator">(</span></span>$err<span class="phpOperator">!</span><span class="phpOperator">=</span><span class="phpString">''</span><span class="phpOperator">)</span>
			<span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span><span class="htmlText">pre</span><span class="phpOperator">&gt;</span>'</span> <span class="phpOperator">.</span> $err <span class="phpOperator">.</span> <span class="phpString">'<span class="phpOperator">&lt;</span>/pre<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
	<span class="phpKeyword">	if<span class="phpOperator">(</span></span><span class="htmlText">is_</span><span class="phpFunction">array</span><span class="phpOperator">(</span>$debug<span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
			<span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span><span class="htmlText">h2</span><span class="phpOperator">&gt;</span><span class="htmlText">Result</span><span class="phpOperator">&lt;</span>/h2<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span><span class="htmlText">pre</span><span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span> <span class="phpFunction">print_r</span><span class="phpOperator">(</span>$debug<span class="phpOperator">)</span><span class="phpText">;</span> <span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span>/pre<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
		<span class="phpOperator">}</span>
	<span class="phpKeyword">	else<span class="phpOperator">{</span></span>
		<span class="phpKeyword">	if<span class="phpOperator">(</span></span>$request<span class="phpOperator">!</span><span class="phpOperator">=</span><span class="phpString">''</span><span class="phpOperator">)</span>
				<span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span><span class="htmlText">h2</span><span class="phpOperator">&gt;</span><span class="htmlText">Request</span><span class="phpOperator">&lt;</span>/h2<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span><span class="htmlText">pre</span><span class="phpOperator">&gt;</span>'</span> <span class="phpOperator">.</span> <span class="phpFunction">htmlspecialchars</span><span class="phpOperator">(</span>$request, <span class="phpConstant">ENT_QUOTES</span><span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">'<span class="phpOperator">&lt;</span>/pre<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
		   <span class="phpKeyword"> if<span class="phpOperator">(</span></span>$response<span class="phpOperator">!</span><span class="phpOperator">=</span><span class="phpString">''</span><span class="phpOperator">)</span>
				<span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span><span class="htmlText">h2</span><span class="phpOperator">&gt;</span><span class="htmlText">Response</span><span class="phpOperator">&lt;</span>/h2<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span><span class="htmlText">pre</span><span class="phpOperator">&gt;</span>'</span> <span class="phpOperator">.</span> <span class="phpFunction">htmlspecialchars</span><span class="phpOperator">(</span>$response, <span class="phpConstant">ENT_QUOTES</span><span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">'<span class="phpOperator">&lt;</span>/pre<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
		   <span class="phpKeyword"> if<span class="phpOperator">(</span></span>$debug<span class="phpOperator">!</span><span class="phpOperator">=</span><span class="phpString">''</span><span class="phpOperator">)</span>
				<span class="phpFunction">echo</span> <span class="phpString">'<span class="phpOperator">&lt;</span><span class="htmlText">h2</span><span class="phpOperator">&gt;</span><span class="htmlText">Debug</span><span class="phpOperator">&lt;</span>/h2<span class="phpOperator">&gt;</span><span class="phpOperator">&lt;</span><span class="htmlText">pre</span><span class="phpOperator">&gt;</span>'</span> <span class="phpOperator">.</span> <span class="phpFunction">htmlspecialchars</span><span class="phpOperator">(</span>$debug, <span class="phpConstant">ENT_QUOTES</span><span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">'<span class="phpOperator">&lt;</span>/pre<span class="phpOperator">&gt;</span>'</span><span class="phpText">;</span>
		<span class="phpOperator">}</span>
	<span class="phpOperator">}</span>
   <span class="phpKeyword"> public </span><span class="phpFunctionKeyword">function</span><span class="htmlText"> performActionOnContacts</span><span class="phpOperator">(</span>$contacts<span class="phpOperator">)</span><span class="phpOperator">{</span>
	<span class="phpKeyword">	foreach </span><span class="phpOperator">(</span>$contacts<span class="phpOperator">[</span><span class="phpString">'DynamicEntity'</span><span class="phpOperator">]</span><span class="phpKeyword"> as </span>$contact<span class="phpOperator">)</span> <span class="phpOperator">{</span>
    		    $contactData=<span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
    		   <span class="phpKeyword"> foreach<span class="phpOperator">(</span></span>$contact<span class="phpOperator">[</span><span class="phpString">'FieldValueCollection'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'EntityFields'</span><span class="phpOperator">]</span><span class="phpKeyword"> as </span>$field<span class="phpOperator">)</span><span class="phpOperator">{</span>
				$contactData<span class="phpOperator">[</span>$contact<span class="phpOperator">[</span><span class="phpString">'Id'</span><span class="phpOperator">]</span><span class="phpOperator">]</span><span class="phpOperator">[</span>$field<span class="phpOperator">[</span><span class="phpString">'InternalName'</span><span class="phpOperator">]</span><span class="phpOperator">]</span><span class="phpOperator">=</span>$field<span class="phpOperator">[</span><span class="phpString">'Value'</span><span class="phpOperator">]</span><span class="phpText">;</span>
    		    <span class="phpOperator">}</span>
    		   <span class="phpKeyword"> foreach<span class="phpOperator">(</span></span>$contactData<span class="phpKeyword"> as </span>$key<span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$contactFields<span class="phpOperator">)</span><span class="phpOperator">{</span>
    			<span class="phpComment">//Individual contact fields
</span><span class="htmlText">                        MessageMedia</span><span class="phpOperator">:</span><span class="phpOperator">:</span><span class="htmlText">sendSMS</span><span class="phpOperator">(</span>$contactFields<span class="phpOperator">[</span><span class="phpString">'C_EmailAddress'</span><span class="phpOperator">]</span>, $contactFields<span class="phpOperator">[</span><span class="phpString">'C_MobilePhone'</span><span class="phpOperator">]</span>, $contactFields<span class="phpOperator">[</span><span class="phpString">'C_Country'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpText">;</span>
	           <span class="phpOperator">}</span>
		<span class="phpOperator">}</span>
    <span class="phpOperator">}</span>
<span class="phpKeyword">	public </span><span class="phpFunctionKeyword">function</span><span class="htmlText"> listMembersInStepByStatus</span><span class="phpOperator">(</span>$stepId<span class="phpOperator">)</span><span class="phpOperator">{</span>
		$params <span class="phpOperator">=</span> <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'stepId'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$stepId,<span class="phpString">'status'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'AwaitingAction'</span>,<span class="phpString">'pageNumber'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpNumber">1</span>,<span class="phpString">'pageSize'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="htmlText">10</span><span class="phpOperator">)</span><span class="phpText">;</span>
		$result <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">call</span><span class="phpOperator">(</span><span class="phpString">'ListMembersInStepByStatus'</span>, $params,<span class="phpString">''</span>,<span class="phpString">''</span>,<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">headers</span><span class="phpOperator">)</span><span class="phpText">;</span>
	<span class="phpKeyword">	if </span><span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">fault</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
			<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'Fault <span class="phpOperator">(</span>Expect - The request contains an invalid SOAP body<span class="phpOperator">)</span>'</span>,<span class="phpString">''</span>, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
		<span class="phpKeyword">	return </span>>false<span class="phpText">;</span>
		<span class="phpOperator">}</span>
	<span class="phpKeyword">	else<span class="phpOperator">{</span></span>
			$err <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getError</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
		<span class="phpKeyword">	if </span><span class="phpOperator">(</span>$err<span class="phpOperator">)</span> <span class="phpOperator">{</span>
				<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'Error'</span>,$err, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
			<span class="phpKeyword">	return </span>>false<span class="phpText">;</span>
			<span class="phpOperator">}</span>
		<span class="phpOperator">}</span>
	<span class="phpKeyword">	return </span>$result<span class="phpOperator">[</span><span class="phpString">'ListMembersInStepByStatusResult'</span><span class="phpOperator">]</span><span class="phpText">;</span>
	<span class="phpOperator">}</span>
<span class="phpKeyword">	public </span><span class="phpFunctionKeyword">function</span><span class="htmlText"> retrieve</span><span class="phpOperator">(</span>$members, $stepId<span class="phpOperator">)</span><span class="phpOperator">{</span>
		$actionMembers=<span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
        $stepMembers=<span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
       <span class="phpKeyword"> foreach<span class="phpOperator">(</span></span>$members<span class="phpOperator">[</span><span class="phpString">'Member'</span><span class="phpOperator">]</span><span class="phpKeyword"> as </span>$member<span class="phpOperator">)</span><span class="phpOperator">{</span>
        <span class="phpKeyword">	if<span class="phpOperator">(</span></span>$member<span class="phpOperator">[</span><span class="phpString">'EntityId'</span><span class="phpOperator">]</span><span class="phpOperator">!</span><span class="phpOperator">=</span><span class="phpString">''</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
        		$actionMembers<span class="phpOperator">[</span><span class="phpOperator">]</span><span class="phpOperator">=</span>$member<span class="phpOperator">[</span><span class="phpString">'EntityId'</span><span class="phpOperator">]</span><span class="phpText">;</span>
        		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">stepMembers</span><span class="phpOperator">[</span><span class="phpString">'Member'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpOperator">]</span><span class="phpOperator">=</span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'EntityId'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$member<span class="phpOperator">[</span><span class="phpString">'EntityId'</span><span class="phpOperator">]</span>,<span class="phpString">'StepId'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$stepId,<span class="phpString">'EntityType'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$member<span class="phpOperator">[</span><span class="phpString">'EntityType'</span><span class="phpOperator">]</span>,<span class="phpString">'Id'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$member<span class="phpOperator">[</span><span class="phpString">'Id'</span><span class="phpOperator">]</span>,<span class="phpString">'Status'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$member<span class="phpOperator">[</span><span class="phpString">'Status'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpText">;</span>
        	<span class="phpOperator">}</span>
        <span class="phpOperator">}</span>
       <span class="phpKeyword"> if<span class="phpOperator">(</span></span><span class="phpOperator">!</span><span class="phpFunction">empty</span><span class="phpOperator">(</span>$actionMembers<span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
	        $params <span class="phpOperator">=</span> <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'entityType'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'ID'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'<span class="phpNumber">0</span>'</span>,<span class="phpString">'Name'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'Contact'</span>,<span class="phpString">'Type'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'Base'</span><span class="phpOperator">)</span>,<span class="phpString">'ids'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'int'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$actionMembers<span class="phpOperator">)</span>,<span class="phpString">'fieldNames'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'string'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'C_EmailAddress'</span>,<span class="phpString">'C_MobilePhone'</span>,<span class="phpString">'C_Country'</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	        $contacts <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">call</span><span class="phpOperator">(</span><span class="phpString">'Retrieve'</span>, $params,<span class="phpString">''</span>,<span class="phpString">''</span>,<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">headers</span><span class="phpOperator">)</span><span class="phpText">;</span>
	       <span class="phpKeyword"> if </span><span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">fault</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
	    		<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'Fault <span class="phpOperator">(</span>Expect - The request contains an invalid SOAP body<span class="phpOperator">)</span>'</span>, <span class="phpString">''</span>, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	    	<span class="phpKeyword">	return </span>>false<span class="phpText">;</span>
	        <span class="phpOperator">}</span>
	       <span class="phpKeyword"> else<span class="phpOperator">{</span></span>
		        $err <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getError</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
			<span class="phpKeyword">	if </span><span class="phpOperator">(</span>$err<span class="phpOperator">)</span> <span class="phpOperator">{</span>
					<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'Error'</span>,$err, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">eloquaClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
				<span class="phpKeyword">	return </span>>false<span class="phpText">;</span>
				<span class="phpOperator">}</span>
	        <span class="phpOperator">}</span>
	       <span class="phpKeyword"> return </span>$contacts<span class="phpOperator">[</span><span class="phpString">'RetrieveResult'</span><span class="phpOperator">]</span><span class="phpText">;</span>
		<span class="phpOperator">}</span>
       <span class="phpKeyword"> else
</span>
        <span class="phpKeyword">	return </span>>false<span class="phpText">;</span>
	<span class="phpOperator">}</span>
<span class="phpKeyword">	public </span><span class="phpFunctionKeyword">function</span><span class="htmlText"> setMemberStatus</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
		$params <span class="phpOperator">=</span> <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'members'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>stepMembers,<span class="phpString">'status'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'Complete'</span><span class="phpOperator">)</span><span class="phpText">;</span>
		$contacts <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">call</span><span class="phpOperator">(</span><span class="phpString">'SetMemberStatus'</span>, $params,<span class="phpString">''</span>,<span class="phpString">''</span>,<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">headers</span><span class="phpOperator">)</span><span class="phpText">;</span>
	   <span class="phpKeyword"> if </span><span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">fault</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
			<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'Fault <span class="phpOperator">(</span>Expect - The request contains an invalid SOAP body<span class="phpOperator">)</span>'</span>, <span class="phpString">''</span>, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
	    <span class="phpOperator">}</span>
	<span class="phpKeyword">	else<span class="phpOperator">{</span></span>
			$err <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getError</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
		<span class="phpKeyword">	if </span><span class="phpOperator">(</span>$err<span class="phpOperator">)</span> <span class="phpOperator">{</span>
				<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">error</span><span class="phpOperator">(</span><span class="phpString">'Error'</span>,$err, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>request, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>response, <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">cloudClient</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="htmlText">getDebug</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
			<span class="phpKeyword">	return </span>>false<span class="phpText">;</span>
			<span class="phpOperator">}</span>
		<span class="phpOperator">}</span>
	<span class="phpOperator">}</span>
<span class="phpOperator">}</span>
<span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2011/03/build-an-eloqua-cloud-connector-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 semantics are still a little ambiguous</title>
		<link>http://www.codeevolution.com.au/code/2011/01/html5-semantics-still-a-little-ambiguous/</link>
		<comments>http://www.codeevolution.com.au/code/2011/01/html5-semantics-still-a-little-ambiguous/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 00:18:39 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=419</guid>
		<description><![CDATA[In my pursuit for knowledge I decided this month I would tackle the new web markup HTML5. From all that I can gather HTML5 is the World Wide Web Consortium&#8217;s attempt to standardise web semantics (the way page elements are linked and structured in order to give a page meaning). In the web form this [...]]]></description>
			<content:encoded><![CDATA[<p>In my pursuit for knowledge I decided this month I would tackle the new web markup HTML5. From all that I can gather HTML5 is the World Wide Web Consortium&#8217;s attempt to standardise web semantics (the way page elements are linked and structured in order to give a page meaning). In the web form this is beneficial on many levels. I believe the main benefits are:</p>
<ul>
<li><a rel="external" href="http://en.wikipedia.org/wiki/Search_engine_optimization">SEO</a> (search engine optimisation).</li>
<li><a rel="external" href="http://www.w3.org/WAI/">Accessibility</a> (making websites usable by people of all abilities and disabilities)</li>
<li>Semantics (a clear and defined structure for HTML)</li>
</ul>
<p>For the most part with W3C&#8217;s XHTML this can achieved already. But for the every day developer XHTML can be a little difficult to understand as with a complex page it might be difficult to determine where each element starts and stops.</p>
<p>With the introduction of specific tags HTML5 tries to alleviate the confusion. Here are the new tags and their meaning.</p>
<ul>
<li><strong>section:</strong> A part or chapter in a book, a section in a chapter, or essentially anything that has its own heading in HTML 4</li>
<li><strong>header:</strong> The page header shown on the page; not the same as the head element</li>
<li><strong>footer:</strong> The page footer where the fine print goes; the signature in an e-mail message</li>
<li><strong>nav:</strong> A collection of links to other pages</li>
<li><strong>article:</strong> An independent entry in a blog, magazine, compendium, and so forth</li>
</ul>
<p>Introducing these new tags means we need to add some javascript to make sure your site is backwards compatible (the page still looks as it should in older browsers).</p>
<p>Viewing an example page layout you can clearly see that a page is reasonably easy to understand.</p>
<pre class="html">
<span class="htmlOtherTag">&lt;!DOCTYPE html&gt;</span>
<span class="htmlOtherTag">&lt;html lang=<span class="htmlAttributeValue">&quot;en&quot;</span>&gt;</span>
<span class="htmlOtherTag">&lt;head class=<span class="htmlAttributeValue">&quot;html5reset-bare-bones&quot;</span>&gt;</span>
	<span class="htmlOtherTag">&lt;meta charset=<span class="htmlAttributeValue">&quot;utf-8&quot;</span>&gt;</span>
	<span class="htmlOtherTag">&lt;title&gt;</span><span class="htmlOtherTag">&lt;/title&gt;</span>
	<span class="htmlOtherTag">&lt;meta name=<span class="htmlAttributeValue">&quot;description&quot;</span> content=<span class="htmlAttributeValue">&quot;&quot;</span>&gt;</span>
<span class="htmlOtherTag">&lt;/head&gt;</span>
<span class="htmlOtherTag">&lt;body&gt;</span>
<span class="htmlOtherTag">&lt;div&gt;</span>
	<span class="htmlOtherTag">&lt;header&gt;</span>
		<span class="htmlOtherTag">&lt;h1&gt;</span><span class="htmlOtherTag">&lt;/h1&gt;</span>
		<span class="htmlOtherTag">&lt;nav&gt;</span>
			<span class="htmlOtherTag">&lt;ul&gt;</span>
				<span class="htmlOtherTag">&lt;li&gt;</span><span class="htmlAnchorTag">&lt;a href=<span class="htmlAttributeValue">&quot;&quot;</span>&gt;</span><span class="htmlAnchorTag">&lt;/a&gt;</span><span class="htmlOtherTag">&lt;/li&gt;</span>
			<span class="htmlOtherTag">&lt;/ul&gt;</span>
		<span class="htmlOtherTag">&lt;/nav&gt;</span>
	<span class="htmlOtherTag">&lt;/header&gt;</span>
	<span class="htmlOtherTag">&lt;article&gt;</span><span class="htmlOtherTag">&lt;/article&gt;</span>
	<span class="htmlOtherTag">&lt;footer&gt;</span><span class="htmlOtherTag">&lt;/footer&gt;</span>
<span class="htmlOtherTag">&lt;/div&gt;</span>
<span class="htmlOtherTag">&lt;/body&gt;</span>
<span class="htmlOtherTag">&lt;/html&gt;</span>
</pre>
<p>For simple page layouts HTML5 is easy to implement and define. For complex pages HTML5 is still a little ambiguous.</p>
<p>The biggest issue is defining the standard page hierarchy between these new tags (nesting tags). From all the research over the past few days, developers structure these elements differently. I was able to validate the site you are on quite easily using HTML5 but my understanding and the understanding of others seems to differ from blog to blog.</p>
<p>Looking at the different tags there is no definition of what can be nested inside what. Some might determine everything can be nested inside everything. I think some make sense and some don&#8217;t.</p>
<p>Lets take the section tag. I think it seems logical that an article can belong in a section. I think its logical from articles and sections to belong inside aside tags. But from all the documentation that is around this is not clearly defined. And from all the examples around there seems to be varying opinions on this.</p>
<pre class="html">
<span class="htmlOtherTag">&lt;aside&gt;</span>
     <span class="htmlOtherTag">&lt;section&gt;</span>
          <span class="htmlOtherTag">&lt;article&gt;</span><span class="htmlOtherTag">&lt;/article&gt;</span>
     <span class="htmlOtherTag">&lt;/section&gt;</span>
<span class="htmlOtherTag">&lt;/aside&gt;</span>
</pre>
<p>So for now I think there is a little bit more that needs to be done with HTML5 before it becomes accepted and developed with similarity across all websites. In saying this the basis of HTML5 is a step forward for a structured language and I will continue to use it going forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2011/01/html5-semantics-still-a-little-ambiguous/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eloqua &amp; NetSuite OneWorld</title>
		<link>http://www.codeevolution.com.au/code/2010/12/eloqua-netsuite-oneworld/</link>
		<comments>http://www.codeevolution.com.au/code/2010/12/eloqua-netsuite-oneworld/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 03:10:10 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[Eloqua]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=410</guid>
		<description><![CDATA[There are very few integrations running between NetSuite OneWorld and Eloqua. Actually I think I might have completed the first one. This being the case while performing an integration for MessageMedia, I came across an issue with the Eloqua WSDL file. Essentially it does not include a field (Subsidiary) that is required for contacts to [...]]]></description>
			<content:encoded><![CDATA[<p>There are very few integrations running between NetSuite OneWorld and Eloqua. Actually I think I might have completed the first one. This being the case while performing an integration for MessageMedia, I came across an issue with the Eloqua WSDL file. Essentially it does not include a field (Subsidiary) that is required for contacts to be created in NetSuite. This meant we had a major issue with getting new contacts using the standard API integration rules.</p>
<p>This being the case, there was always going to be many ways around this problem using Eloqua. One that I came up with (which ended up proving to be usefull for another project) was to use NetSuite&#8217;s form capture component. By posting data using Eloqua&#8217;s form processing steps, I could get the basic contact information into a NetSuite instantly. Having the contact exist in both systems was the first step, we still needed to be able to maintain changes in contact data going forward. As the contact was newly created in NetSuite it would be synched into Eloqua on the next 2 hour data pull. The synch from NetSuite includes the contactid which would allow normal updates to continue going forward. Adding the new contact into my Eloqua-&gt;NetSuite integration program and adding a 2 hour wait step at the start, allowed enough time for the contactid to be added to the Eloqua contact record. All of the extra information we captured within Eloqua could now be passed across as normal.</p>
<p>This can also be useful when you want real time creation of leads in your CRM. Sometimes waiting for the 2 hour window is too long for sales to make the connection. Using this scenario will solve that, so long as your CRM handles capture of post data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2010/12/eloqua-netsuite-oneworld/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Eloqua &amp; SMS delivery reports to validate leads</title>
		<link>http://www.codeevolution.com.au/code/2010/10/using-eloqua-sms-delivery-reports-to-validate-leads/</link>
		<comments>http://www.codeevolution.com.au/code/2010/10/using-eloqua-sms-delivery-reports-to-validate-leads/#comments</comments>
		<pubDate>Sat, 30 Oct 2010 08:09:04 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Marketing Automation]]></category>
		<category><![CDATA[Marketing Qualification]]></category>
		<category><![CDATA[Online Marketing]]></category>
		<category><![CDATA[SMS Marketing]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=390</guid>
		<description><![CDATA[Recently while on assignment with MessageMedia (www.message-media.com), I took on the task to integrate their free trial system with Eloqua. MessageMedia provide B2C and B2B 2 way SMS messaging services throughout the globe. One of their biggest problems was the abundance of people attempting to use their system for personal use. Allowing people to free [...]]]></description>
			<content:encoded><![CDATA[<p>Recently while on assignment with <strong>MessageMedia</strong> (<a href="http://www.message-media.com" rel="external">www.message-media.com</a>), I took on the task to integrate their free trial system with <a href="http://www.eloqua.com" rel="external">Eloqua</a>.</p>
<p><a href="http://www.message-media.com">MessageMedia</a> provide B2C and B2B 2 way SMS messaging services throughout the globe.</p>
<p>One of their biggest problems was the abundance of people attempting to use their system for personal use. Allowing people to free trial with just the bare essentials (username &amp; email address) was adding huge overheads to the costs per lead.</p>
<p>Integrating the system with Eloqua meant I had immediate visibility into the validity of the email address entered into the free trial form. Doing this alone would have been enough to satisfy the process and allow the user to proceed with the trial. Thinking outside the box I decided to take this one step further. We would validate the users contact mobile/cell phone number as well. Seeing as the sales ability to contact the leads via phone was the main importance of the business, validating the mobile number was the perfect solution. Sending the message also acted as a great marketing experience. As this is basically what most users were expecting to use the system for.</p>
<p>MessageMedia uses a complex system that provides delivery reports for each message sent. Similar to Eloqua&#8217;s email delivery reports. Combining both of these together created a highly successful system. The sales team can utilise their time better by acting on those leads with valid mobile/cell and valid email address.</p>
<p>I definitely could see this working for many companies. Not just those in the sms/telecommunications industry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2010/10/using-eloqua-sms-delivery-reports-to-validate-leads/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Online marketing acceptance and success is based on small and subtle steps</title>
		<link>http://www.codeevolution.com.au/code/2010/08/the-key-to-online-marketing-acceptance-and-success-is-simplicity/</link>
		<comments>http://www.codeevolution.com.au/code/2010/08/the-key-to-online-marketing-acceptance-and-success-is-simplicity/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 04:19:19 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Marketing Automation]]></category>
		<category><![CDATA[Online Marketing]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=377</guid>
		<description><![CDATA[Almost every company that we have been engaged to implement marketing processes for, make the mistake in trying to implement dramatic changes to business processes too quickly. Margins have usually been set by key stakeholders and come hell or high water those targets will be met. Making significant business process changes quickly and without an [...]]]></description>
			<content:encoded><![CDATA[<p>Almost every company that we have been engaged to implement marketing processes for, make the mistake in trying to implement dramatic changes to business processes too quickly. Margins have usually been set by key stakeholders and come hell or high water those targets will be met.</p>
<p>
Making significant business process changes quickly and without an agile acceptance process, is a recipe for disaster. Even if changes turn out to be working for the marketing department, people won&#8217;t like dramatic change to the way they do things. This can curb confidence in the marketing departments role.
</p>
<p>
Although most online marketers will use best practices for your industry, not every model works for every organisation. There are so many variables in play that usually mean that model needs some tweaking. Using small implementations can allow you to learn where those tweaks need to be made. Using this rule marketers can still enjoy small wins. Small wins enable you to gain company wide acceptance and allow stakeholders to adapt to the changes easier. Implenting slowly also means the changes to the best practice models you are following are subtle. This allows the changes made will be rolled out quicker in the long run.
</p>
<p>
Using this as a rule of thumb we are finding a level of success we never have had before.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2010/08/the-key-to-online-marketing-acceptance-and-success-is-simplicity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Evolution 2.0 &#8211; Evolving rapidly into the tens</title>
		<link>http://www.codeevolution.com.au/code/2010/07/code-evolution-2-0-evolving-rapidly-into-the-tens/</link>
		<comments>http://www.codeevolution.com.au/code/2010/07/code-evolution-2-0-evolving-rapidly-into-the-tens/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 10:17:45 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=369</guid>
		<description><![CDATA[2010 is going fast but already it has been a massive year for Code Evolution. While all news reports make us believe we are in the middle of a financial crisis, work streams through the doors which is somewhat to the contrary. Moving the office from London to Melbourne might have seemed like a reason [...]]]></description>
			<content:encoded><![CDATA[<p>2010 is going fast but already it has been a massive year for Code Evolution.</p>
<p>While all news reports make us believe we are in the middle of a financial crisis, work streams through the doors which is somewhat to the contrary.</p>
<p>Moving the office from London to Melbourne might have seemed like a reason to drop the tools and spend more time relaxing and taking in the mild weather. Yet instead business is expanding, more and more exciting projects are under way.</p>
<p>Amongst all of the madness we decided that a new website was in order.</p>
<p> So many agencies get caught up in the dilemma of work overload that they neglect the one thing that represents them the best. So here it is.</p>
<p>If your looking for an agency that who has been there and done that. We can offer solutions for a fraction of the cost of the big players, so <a href="#contact">get in touch today</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2010/07/code-evolution-2-0-evolving-rapidly-into-the-tens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online bookings with Cars + &amp; WebRes</title>
		<link>http://www.codeevolution.com.au/code/2010/01/online-bookings-with-cars-plus-web-res/</link>
		<comments>http://www.codeevolution.com.au/code/2010/01/online-bookings-with-cars-plus-web-res/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 04:04:23 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.codeevolution.com.au/code/?p=361</guid>
		<description><![CDATA[Well for certain it has been a while since my last post. Picking up my life in London and planting it back in the home land has meant I have neglected to put anything worth looking at on my site for a while. &#160; In any case here I am again, hoping to help a [...]]]></description>
			<content:encoded><![CDATA[<p>Well for certain it has been a while since my last post. Picking up my life in London and planting it back in the home land has meant I have neglected to put anything worth looking at on my site for a while.</p>
<p>&nbsp;</p>
<p>In any case here I am again, hoping to help a few people out with some experiences I have had lately.</p>
<p>&nbsp;</p>
<p>I&#8217;m currently building a series of car &amp; truck rental websites for <a href="http://www.carlingfordauto.com.au/">Carlingford Fleet</a>. The sites I am developing use a booking engine called <a href="http://www.carsplus.com.au/">Cars+</a>, which is the same engine that most car rental companies use in Australia. The system has been developed by a company called <a href="http://www.carsplus.com.au/">Pearsons</a> and to be honest the system is prehistoric. I would imagine for such a highly used system that they would provide an API, but hey, if it&#8217;s not broken then don&#8217;t fix it.</p>
<p>&nbsp;</p>
<p>In any case I developed a few small work arounds that might help the next developer that tackles the beast. The system which manages bookings for Cars + has a front end component called WebRes. Basically this is a html shell created by Pearsons to allow companies such as Carlingford to embed their solution into their websites. Their solution is to use an iframe to load the WebRes solution into your own site. The biggest draw back of this is the html in the WebRes platform is appalling. It has large chunks of inline style and has no client side error control. I also feel that using an iframe really restricts the control you have over the look and feel.</p>
<p>&nbsp;</p>
<p>So I decided to take the WebRes solution and mould it into a solution I could work with. Basically instead of using an iframe I decided to return the data to a string using php. Using my quotation form, I make a request to my own php page (quote.php) which then uses standard post techniques to query the WebRes page for available cars. Once I have the data in a string, I then used a series of php string replace functions to strip back the data. Once I have the raw data I could then apply my own error handling functionality and style.</p>
<p>&nbsp;</p>
<pre class="php">
<span class="phpKeyword">
switch </span><span class="phpOperator">(</span><span class="phpScriptVar">$_POST</span><span class="phpOperator">[</span><span class="phpString">'action'</span><span class="phpOperator">]</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
   <span class="phpKeyword"> case </span><span class="phpString">"quote"</span><span class="phpOperator">:</span>
        $quote=get_quote<span class="phpOperator">(</span><span class="phpScriptVar">$_POST</span><span class="phpOperator">)</span><span class="phpText">;</span>
       <span class="phpKeyword"> break<span class="phpText">;</span></span>
<span class="phpOperator">}</span>
<span class="phpFunctionKeyword">function</span> get_quote<span class="phpOperator">(</span>$data<span class="phpOperator">)</span><span class="phpOperator">{</span>
    $quote=https_post<span class="phpOperator">(</span><span class="phpString">'https<span class="phpOperator">:</span><span class="phpComment">//secure.carsplus<span class="phpOperator">.</span>com<span class="phpOperator">.</span>au/webres/company/res2<span class="phpOperator">.</span>html'</span>,$data<span class="phpOperator">)</span><span class="phpText">;</span>
</span>    $quote=remove_style<span class="phpOperator">(</span>$quote<span class="phpOperator">)</span><span class="phpText">;</span>
   <span class="phpKeyword"> return </span>remove_footer<span class="phpOperator">(</span>$quote<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
</pre>
<p>&nbsp;</p>
<p>My $quote variable now contains data that I am happy with so I can just print that in the html file so it displays in a way that I am happy with (see below).</p>
<p>&nbsp;</p>
<pre class="php">
<span class="htmlOtherTag">&lt;body&gt;</span>
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span> <span class="phpFunction">print</span> $quote<span class="phpText">;</span><span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
<span class="htmlOtherTag">&lt;/body&gt;</span>
</pre>
<p>&nbsp;</p>
<p>And that&#8217;s it. Using this method I can basically do what I want. A little extra work but a much better solution that the iframe approach.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2010/01/online-bookings-with-cars-plus-web-res/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load Google AdWords from a flash application</title>
		<link>http://www.codeevolution.com.au/code/2009/06/load-google-adwords-from-a-flash-application/</link>
		<comments>http://www.codeevolution.com.au/code/2009/06/load-google-adwords-from-a-flash-application/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 17:14:57 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.codeevolution.co.uk/code/?p=327</guid>
		<description><![CDATA[Just this week we had a client complaining about the number of AdWord conversions that were occuring on their site from &#8220;bounced traffic&#8221; (people who arrive on the site but leave immediately). In normal circumstances (html sites) we could place the AdWord scripts on pages that are deeper than the home page and that would [...]]]></description>
			<content:encoded><![CDATA[<p>Just this week we had a client complaining about the number of AdWord conversions that were occuring on their site from &#8220;bounced traffic&#8221; (people who arrive on the site but leave immediately). In normal circumstances (html sites) we could place the AdWord scripts on pages that are deeper than the home page and that would solve the issue.</p>
<p>This case was quite unique however, as the website is purely flash (<a href="http://www.myknowledgeiq.com/">http://www.myknowledgeiq.com/</a>). So we had to come up with a way of loading the AdWord scripts after a certain section of the flash app had been completed. In this case after form submission.</p>
<p>The simple solution was to call a javascript function from the flash file. The javascript function then would load our analytics scripts behind the scenes.</p>
<p>Firstly I created html file which contained all the AdWords scripts. The file is called analytics.html (see below).</p>
<pre class="html">
<span class="htmlComment"><span class="htmlOtherTag">&lt;!-- Google Code for Lead Conversion Page --&gt;</span></span>
<span class="htmlScriptTag">&lt;script type=<span class="htmlAttributeValue">&quot;text/javascript&quot;</span> src=<span class="htmlAttributeValue">&quot;http://www.googleadservices.com/pagead/conversion.js&quot;</span>&gt;</span><span class="htmlScriptTag">&lt;/script&gt;</span>
</pre>
<p>The javascript function would then load the html file into an iframe.</p>
<pre class="html">
function google_track(){
	$(&#039;body&#039;).append(&#039;<span class="htmlOtherTag">&lt;iframe id=<span class="htmlAttributeValue">&quot;google&quot;</span>&gt;</span><span class="htmlOtherTag">&lt;/iframe&gt;</span>&#039;);
	$(&#039;#google&#039;).attr(&#039;src&#039;, &#039;https://www.mydomain.com/analytics.html&#039;);
}
</pre>
<p>And thats it. We are converting ads in the middle of the application and we are no longer paying for bounces. I&#8217;m never keen on creating iframe solutions, as they aren&#8217;t accessible. In this case the application was entirely written in flash and it want a requirement to make an alternate accessible version.<br />
&amp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2009/06/load-google-adwords-from-a-flash-application/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery remote server form submission</title>
		<link>http://www.codeevolution.com.au/code/2009/06/jquery-remote-server-form-submission/</link>
		<comments>http://www.codeevolution.com.au/code/2009/06/jquery-remote-server-form-submission/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 10:22:53 +0000</pubDate>
		<dc:creator>Founder</dc:creator>
				<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.codeevolution.co.uk/code/?p=315</guid>
		<description><![CDATA[Recently we developed a new site for Banner called adapt.b1.com. Francisco did a great job of creating the navigation with jQuery.scrollTo plug in. &#160; The website has two forms which needed to be submitted without refreshing the page. This was important as a page refresh would stuff the whole navigation component. So we started off [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we developed a new site for <a href="http://www.b1.com/">Banner</a> called <a href="http://adapt.b1.com">adapt.b1.com</a>. <a href="http://twitter.com/francisco">Francisco</a> did a great job of creating the navigation with <a href="http://demos.flesler.com/jquery/scrollTo/">jQuery.scrollTo</a> plug in. </p>
<p>&nbsp;</p>
<p>The website has two forms which needed to be submitted without refreshing the page. This was important as a page refresh would stuff the whole navigation component. So we started off using <a href="http://docs.jquery.com/Ajax/jQuery.post">standard jQuery post techniques</a>.  This is where we realised we had a bit of a problem. As the website had to be hosted within <a href="http://www.eloqua.com/">Eloqua</a>, standard post techniques (see jQuery example below) would not work. Basically from what I can tell $.post will not allow you to submit data to a remote server.</p>
<p>&nbsp;</p>
<pre class="html">
$(document).ready(function() {
	$(&quot;form&quot;).submit(function() {
             var post = $(&quot;form&quot;).serialize();
              $.post(&quot;http://now.eloqua.com/e/f2.aspx&quot;, post);
              return false;
        });
});
</pre>
<p>&nbsp;</p>
<p>
Now in normal circumstances our alternate solution would be to post the data to a local PHP file. This would allow us to use php methods to post the data to the remote server see below.</p>
<p>&nbsp;</p>
<pre class="html">
$(document).ready(function() {
	$(&quot;form&quot;).submit(function() {
             var post = $(&quot;form&quot;).serialize();
              $.post(&quot;local_file.php&quot;, post);
              return false;
        });
});
</pre>
<p>&nbsp;</p>
<p>local_file.php</p>
<p>&nbsp;</p>
<pre class="php">
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span>
<span class="phpComment">// Initialisation
</span>$ch=<span class="phpFunction">curl_init</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">// Set parameters
</span><span class="phpFunction">curl_setopt</span><span class="phpOperator">(</span>$ch, CURLOPT_URL, $url<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">// Return a variable instead of posting it directly
</span><span class="phpFunction">curl_setopt</span><span class="phpOperator">(</span>$ch, CURLOPT_RETURNTRANSFER, <span class="phpNumber">1</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">// Active the POST method
</span><span class="phpFunction">curl_setopt</span><span class="phpOperator">(</span>$ch, CURLOPT_POST, <span class="phpNumber">1</span><span class="phpOperator">)</span> <span class="phpText">;</span>
<span class="phpComment">// Request
</span><span class="phpFunction">curl_setopt</span><span class="phpOperator">(</span>$ch, CURLOPT_POSTFIELDS, $str_request<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpFunction">curl_setopt</span><span class="phpOperator">(</span>$ch, CURLOPT_SSL_VERIFYPEER, <span class="phpNumber">0</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpFunction">curl_setopt</span><span class="phpOperator">(</span>$ch, CURLOPT_SSL_VERIFYHOST, <span class="phpNumber">0</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">// execute the connexion
</span>$result <span class="phpOperator">=</span> <span class="phpFunction">curl_exec</span><span class="phpOperator">(</span>$ch<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">// Close it
</span><span class="phpFunction">curl_close</span><span class="phpOperator">(</span>$ch<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
return </span>$result;
<span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
</pre>
<p>&nbsp;</p>
<p>
This solution was also not possible as we were hosting the website within Eloqua, which doesn&#8217;t allow us to host local server side scripting pages.</p>
<p>&nbsp;</p>
<p>Our solution although at first didnt seem very pretty was quite effective and was perfect for this scenario.<br />
We decided that if we could use an iframe on the page. We could submit data to the remote server by changing the iframe source.<br />
As we develop all our pages to XHTML strict standard, we were reluctant to create an iframe solution. Due to the restrictions with hosting the site within Eloqua however, there really wasn&#8217;t any other choice. Using jQuery we were able to cheat a little bit by adding the iframe to the page onLoad. This meant the page would be accessible and allow us to validate it to W3C standards. Once the iframe is loaded we could use jquery to listen for form submission. Once the form is submitted we can capture all the form data and submit it to the iframe. And that worked a charm. See the jQuery code below.</p>
<p>&nbsp;</p>
<pre class="html">
jQuery(function( $ ){
        //add iframe to the page
	$(&#039;body&#039;).append(&#039;<span class="htmlOtherTag">&lt;iframe id=<span class="htmlAttributeValue">&quot;my_iframe&quot;</span>&gt;</span><span class="htmlOtherTag">&lt;/iframe&gt;</span>&#039;);
        $(&#039;#submit-button&#039;).click(function() {
              //capture all the form data
              var post = $(&#039;#my_form&#039;).serialize();
              //submit the data to the iframe src
              $(&#039;#my_iframe&#039;).attr(&#039;src&#039;, &#039;http://now.eloqua.com/e/f2.aspx?&#039;+post);
               // return false otherwise the page will reload
               return false;
        });
});
</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeevolution.com.au/code/2009/06/jquery-remote-server-form-submission/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

