<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/4.1.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>web notes - a blog</title>
		<link>http://web-notes.wirehopper.com/</link>
		<atom:link rel="self" type="application/rss+xml" href="http://web-notes.wirehopper.com/?tempskin=_rss2" />
		<description></description>
		<language>en-US</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=4.1.3"/>
		<ttl>60</ttl>
				<item>
			<title>Dynamic Banner - js and css</title>
			<link>http://web-notes.wirehopper.com/2012/05/07/dynamic-banner-js-and-css</link>
			<pubDate>Tue, 08 May 2012 01:23:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">dojo</category>			<guid isPermaLink="false">758@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://grepcode.com/file/repo1.maven.org/maven2/org.geomajas/geomajas-dojo-example-modules-shrinksafe/1.7.1/dojox/gfx/tests/test_linearGradient.html&quot;&gt;http://grepcode.com/file/repo1.maven.org/maven2/org.geomajas/geomajas-dojo-example-modules-shrinksafe/1.7.1/dojox/gfx/tests/test_linearGradient.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This post provides code to create a dynamic banner which sources images from Flickr.&lt;/p&gt;

&lt;p&gt;Using a dynamic banner has several advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The banner is assembled dynamically, it is more engaging&lt;/li&gt;
&lt;li&gt;The images aren&amp;#8217;t stored or managed on local servers&lt;/li&gt;
&lt;li&gt;The banner images can be changed by modifying the images at the source&lt;/li&gt;
&lt;li&gt;It would be possible to customize the source of the images for demonstrations&lt;/li&gt;
&lt;li&gt;Clicking on the banner displays the image credits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is an extension of the code listed in link above.  It is running nicely with dojo 1.3.0, tested under IE7, FF11&amp;amp;12, and Chrome 17.&lt;/p&gt;

&lt;p&gt;The banner is 160px high, and 1024px wide, it is overlaid with an image which includes a gradient to fade the banner images from full color to white, using transparency.  The banner includes an icon for the product on the far right.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;CSS:&lt;/p&gt;&lt;div class=&quot;codeblock amc_css amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_tags&quot;&gt;&lt;span class=&quot;amc_id&quot;&gt;#header&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; img,&lt;/span&gt;&lt;span class=&quot;amc_id&quot;&gt;#header&lt;/span&gt; a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;height&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;160px;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;overflow&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;hidden;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_tags&quot;&gt;&lt;span class=&quot;amc_id&quot;&gt;#gradient&lt;/span&gt;-overlay&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;background&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;transparent url(images/banner.png) no-repeat;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;height&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;160px;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;width&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;1024px;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;position&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;fixed;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_tags&quot;&gt;&lt;span class=&quot;amc_id&quot;&gt;#header&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;cursor&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;pointer;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;height&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;160px;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;width&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;100%;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;margin&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;25px;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_attribute&quot;&gt;overflow&lt;/span&gt;&lt;/span&gt;:&lt;span class=&quot;amc_string&quot;&gt;&lt;span class=&quot;amc_string&quot;&gt;hidden;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is the javascript to create the banner.  The remaining code should be collected from the link above.&lt;/p&gt;

&lt;p&gt;The image list received from flickr is accessed randomly, using the splice function.  This allows each banner to be created differently.  Images are added to the banner until the width exceeds 870px.  Padding is added to the last image in the banner to accommodate the icon.  The image credits are place in a dialog box.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_long&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;function gotItems(items, request){&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var i,list = dojo.byId(&quot;header&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if(list){&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var span=document.createElement(&quot;span&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;span.setAttribute(&quot;id&quot;,&quot;gradient-overlay&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list.appendChild(span);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var width,pick,credit_text=&#039;&#039;;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var MAX_WIDTH=870;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;width=0;i=0;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;while (width&amp;lt;MAX_WIDTH)&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;index=Math.floor(Math.random()*items.length);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;pick=items.splice(index,1);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if (pick.length&amp;gt;0)&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var item=pick[0];&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var a = document.createElement(&quot;a&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var image = document.createElement(&quot;img&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;a.setAttribute(&quot;href&quot;,flickrStore.getValue(item,&quot;link&quot;));&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;a.setAttribute(&quot;title&quot;, flickrStore.getValue(item, &quot;title&quot;));&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list.appendChild(a);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;a.appendChild(image);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;image.setAttribute(&quot;src&quot;, flickrStore.getValue(item, &quot;imageUrlMedium&quot;));&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;image.setAttribute(&quot;title&quot;, flickrStore.getValue(item, &quot;title&quot;));&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;image.setAttribute(&quot;alt&quot;, flickrStore.getValue(item, &quot;title&quot;));&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;width+=image.clientWidth;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;credit_text+=flickrStore.getValue(item,&quot;description&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;else&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;image.style.paddingRight=&#039;140px&#039;;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;var credit=document.createElement(&quot;div&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;new dijit.Dialog({&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&#039;id&#039;: &#039;dlgCredit&#039;,&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&#039;content&#039;:credit_text},&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&#039;credit&#039;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list.setAttribute(&#039;title&#039;,&#039;Click for image credits&#039;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list.setAttribute(&#039;onclick&#039;,&#039;dijit.byId(&quot;dlgCredit&quot;).show()&#039;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;list.appendChild(credit);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The HTML creates the flickrStore and sets up the header div.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;XML:&lt;/p&gt;&lt;div class=&quot;codeblock amc_xml amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;div&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;dojoType&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;dojox.data.FlickrStore&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;jsId&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;flickrStore&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;div&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;header&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This post courtesy of &lt;a href=&quot;http://mobiso.com&quot;&gt;Lyrix, Inc&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/05/07/dynamic-banner-js-and-css&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://grepcode.com/file/repo1.maven.org/maven2/org.geomajas/geomajas-dojo-example-modules-shrinksafe/1.7.1/dojox/gfx/tests/test_linearGradient.html">http://grepcode.com/file/repo1.maven.org/maven2/org.geomajas/geomajas-dojo-example-modules-shrinksafe/1.7.1/dojox/gfx/tests/test_linearGradient.html</a></p><p>This post provides code to create a dynamic banner which sources images from Flickr.</p>

<p>Using a dynamic banner has several advantages:</p>

<ul>
<li>The banner is assembled dynamically, it is more engaging</li>
<li>The images aren&#8217;t stored or managed on local servers</li>
<li>The banner images can be changed by modifying the images at the source</li>
<li>It would be possible to customize the source of the images for demonstrations</li>
<li>Clicking on the banner displays the image credits</li>
</ul>

<p>This is an extension of the code listed in link above.  It is running nicely with dojo 1.3.0, tested under IE7, FF11&amp;12, and Chrome 17.</p>

<p>The banner is 160px high, and 1024px wide, it is overlaid with an image which includes a gradient to fade the banner images from full color to white, using transparency.  The banner includes an icon for the product on the far right.</p>

<p class="amcode">CSS:</p><div class="codeblock amc_css amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_tags"><span class="amc_id">#header</span><span class="amc_default"> img,</span><span class="amc_id">#header</span> a</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_default"><span class="amc_attribute">{</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_default"><span class="amc_attribute">height</span></span>:<span class="amc_string"><span class="amc_string">160px;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">overflow</span></span>:<span class="amc_string"><span class="amc_string">hidden;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default">}</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_tags"><span class="amc_id">#gradient</span>-overlay</span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_default"><span class="amc_attribute">{</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_default"><span class="amc_attribute">background</span></span>:<span class="amc_string"><span class="amc_string">transparent url(images/banner.png) no-repeat;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">height</span></span>:<span class="amc_string"><span class="amc_string">160px;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">width</span></span>:<span class="amc_string"><span class="amc_string">1024px;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">position</span></span>:<span class="amc_string"><span class="amc_string">fixed;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default">}</span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_tags"><span class="amc_id">#header</span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_default"><span class="amc_attribute">{</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_default"><span class="amc_attribute">cursor</span></span>:<span class="amc_string"><span class="amc_string">pointer;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">height</span></span>:<span class="amc_string"><span class="amc_string">160px;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">width</span></span>:<span class="amc_string"><span class="amc_string">100%;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">margin</span></span>:<span class="amc_string"><span class="amc_string">25px;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc1"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default"><span class="amc_attribute"><span class="amc_string"><span class="amc_attribute">overflow</span></span>:<span class="amc_string"><span class="amc_string">hidden;</span></span></span></span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc2"></div></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_default">}</span></span></span></code></td></tr>
</table></div>

<p>This is the javascript to create the banner.  The remaining code should be collected from the link above.</p>

<p>The image list received from flickr is accessed randomly, using the splice function.  This allows each banner to be created differently.  Images are added to the banner until the width exceeds 870px.  Padding is added to the last image in the banner to accommodate the icon.  The image credits are place in a dialog box.</p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_long"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">function gotItems(items, request){</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;var i,list = dojo.byId("header");</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;if(list){</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var span=document.createElement("span");</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;span.setAttribute("id","gradient-overlay");</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;list.appendChild(span);</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var width,pick,credit_text='';</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var MAX_WIDTH=870;</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;width=0;i=0;</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;while (width&lt;MAX_WIDTH)</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;index=Math.floor(Math.random()*items.length);</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;pick=items.splice(index,1);</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (pick.length&gt;0)</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var item=pick[0];</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var a = document.createElement("a");</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var image = document.createElement("img");</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;a.setAttribute("href",flickrStore.getValue(item,"link"));</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;a.setAttribute("title", flickrStore.getValue(item, "title"));</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;list.appendChild(a);</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;a.appendChild(image);</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;image.setAttribute("src", flickrStore.getValue(item, "imageUrlMedium"));</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;image.setAttribute("title", flickrStore.getValue(item, "title"));</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;image.setAttribute("alt", flickrStore.getValue(item, "title"));</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;width+=image.clientWidth;</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;credit_text+=flickrStore.getValue(item,"description");</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc2"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;image.style.paddingRight='140px';</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var credit=document.createElement("div");</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;new dijit.Dialog({</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;'id': 'dlgCredit',</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;'content':credit_text},</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;'credit');</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;list.setAttribute('title','Click for image credits');</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc3"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;list.setAttribute('onclick','dijit.byId("dlgCredit").show()');</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc4"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;list.appendChild(credit);</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc4"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;}</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc4"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;}</span></code></td></tr>
</table></div>

<p>The HTML creates the flickrStore and sets up the header div.</p>

<p class="amcode">XML:</p><div class="codeblock amc_xml amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_keyword">&lt;div</span><span class="amc_default"> <span class="amc_attribute">dojoType</span>=<span class="amc_string">"dojox.data.FlickrStore"</span> <span class="amc_attribute">jsId</span>=<span class="amc_string">"flickrStore"</span>&gt;</span><span class="amc_keyword">&lt;/div&gt;</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_keyword">&lt;div</span><span class="amc_default"> <span class="amc_attribute">id</span>=<span class="amc_string">"header"</span>&gt;</span><span class="amc_keyword">&lt;/div&gt;</span></span></span></code></td></tr>
</table></div>

<p>This post courtesy of <a href="http://mobiso.com">Lyrix, Inc</a></p><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/05/07/dynamic-banner-js-and-css">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/05/07/dynamic-banner-js-and-css#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=758</wfw:commentRss>
		</item>
				<item>
			<title>dojox.data.FlickrStore - Source from favorites</title>
			<link>http://web-notes.wirehopper.com/2012/05/07/dojox-data-flickrstore-source-from</link>
			<pubDate>Mon, 07 May 2012 17:43:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">dojo</category>			<guid isPermaLink="false">757@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://grepcode.com/file/repo1.maven.org/maven2/net.java.dev.weblets/weblets-exampleweblet/1.1/org/dojo/dojox/data/demos/demo_FlickrStore.html&quot;&gt;http://grepcode.com/file/repo1.maven.org/maven2/net.java.dev.weblets/weblets-exampleweblet/1.1/org/dojo/dojox/data/demos/demo_FlickrStore.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I wanted to use a favorites list on Flickr (http://flickr.com) as a source for images.&lt;/p&gt;

&lt;p&gt;dojo 1.3.0&amp;#8217;s dojox.data.FlickrStore sources images from a public photo feed:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;codespan&quot;&gt;reg.register(&quot;default&quot;,function(_2f){return true;},_2d+&quot;photos_public.gne&quot;);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Since I only wanted to change the feed URL, I used the following code to indicate that the request should be made to the favorites feed.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;var reg=dojox.data.FlickrStore.urlRegistry;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;reg.unregister(&quot;default&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;reg.register(&quot;default&quot;,function(a){&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;return true;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;},&quot;http://api.flickr.com/services/feeds/photos_faves.gne&quot;);&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/05/07/dojox-data-flickrstore-source-from&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://grepcode.com/file/repo1.maven.org/maven2/net.java.dev.weblets/weblets-exampleweblet/1.1/org/dojo/dojox/data/demos/demo_FlickrStore.html">http://grepcode.com/file/repo1.maven.org/maven2/net.java.dev.weblets/weblets-exampleweblet/1.1/org/dojo/dojox/data/demos/demo_FlickrStore.html</a></p><p>I wanted to use a favorites list on Flickr (http://flickr.com) as a source for images.</p>

<p>dojo 1.3.0&#8217;s dojox.data.FlickrStore sources images from a public photo feed:</p>

<p><code class="codespan">reg.register("default",function(_2f){return true;},_2d+"photos_public.gne");</code></p>

<p>Since I only wanted to change the feed URL, I used the following code to indicate that the request should be made to the favorites feed.</p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">var reg=dojox.data.FlickrStore.urlRegistry;</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default">&#160;&#160;reg.unregister("default");</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">&#160;&#160;reg.register("default",function(a){</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;return true;</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;},"http://api.flickr.com/services/feeds/photos_faves.gne");</span></code></td></tr>
</table></div><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/05/07/dojox-data-flickrstore-source-from">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/05/07/dojox-data-flickrstore-source-from#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=757</wfw:commentRss>
		</item>
				<item>
			<title>Google OAuth and Contacts API - PHP Curl Examples</title>
			<link>http://web-notes.wirehopper.com/2012/04/26/google-oauth-and-contacts-api</link>
			<pubDate>Thu, 26 Apr 2012 22:02:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">PHP</category>
<category domain="alt">Zend Framework</category>			<guid isPermaLink="false">754@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;This code uses Zend Framework&amp;#8217;s Zend_Json::decode method, however you can use json_decode if it is available on your version of PHP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create the authorization link&lt;/strong&gt;&lt;br /&gt;
When this link is clicked, the site visitor is presented with a page from Google asking if they would like to allow your application access to their data.  If they accept, Google will give them a code, which can then be used on the next request.  This is run as an installed application, because there are times when data will be requested without user interaction.&lt;/p&gt;
&lt;p class=&quot;amcode&quot;&gt;PHP:&lt;/p&gt;&lt;div class=&quot;codeblock amc_php amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$sAuthURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;AUTH_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$aParms&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;a href=&quot;http://www.php.net/function.array&quot; title=&quot; Read the PHP.net documentation for : array() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;array&lt;/a&gt;(&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;response_type&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;RESPONSE_TYPE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;client_id&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CLIENT_ID&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;redirect_uri&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;REDIRECT_URI&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;scope&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;SCOPE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$sLink&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sAuthURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;?&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.http_build_query&quot; title=&quot; Read the PHP.net documentation for : http_build_query() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;http_build_query&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$aParms&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Request an access and refresh token&lt;/strong&gt;&lt;/p&gt;
&lt;p class=&quot;amcode&quot;&gt;PHP:&lt;/p&gt;&lt;div class=&quot;codeblock amc_php amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;require_once&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;Zend/Json.php&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sTokenURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TOKEN_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$aParms&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;a href=&quot;http://www.php.net/function.array&quot; title=&quot; Read the PHP.net documentation for : array() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;array&lt;/a&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;code&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$_POST&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;code&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;],&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;client_id&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CLIENT_ID&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;client_secret&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CLIENT_SECRET&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;redirect_uri&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;REDIRECT_URI&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;grant_type&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;AUTHORIZATION_CODE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_init&quot; title=&quot; Read the PHP.net documentation for : curl_init() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_init&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sTokenURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_SSL_VERIFYPEER&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_POST&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_RETURNTRANSFER&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_POSTFIELDS&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$aParms&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;Zend_Json&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;decode&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.trim&quot; title=&quot; Read the PHP.net documentation for : trim() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;trim&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_exec&quot; title=&quot; Read the PHP.net documentation for : curl_exec() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_exec&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)));&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_close&quot; title=&quot; Read the PHP.net documentation for : curl_close() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_close&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sAccessToken&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;access_token&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sRefreshToken&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;refresh_token&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Use the refresh_token to request a new access_token&lt;/strong&gt;&lt;/p&gt;
&lt;p class=&quot;amcode&quot;&gt;PHP:&lt;/p&gt;&lt;div class=&quot;codeblock amc_php amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$sTokenURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TOKEN_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$aParms&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;a href=&quot;http://www.php.net/function.array&quot; title=&quot; Read the PHP.net documentation for : array() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;array&lt;/a&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;refresh_token&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sRefreshToken&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;client_id&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CLIENT_ID&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;client_secret&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CLIENT_SECRET&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;grant_type&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;REFRESH_TOKEN&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_init&quot; title=&quot; Read the PHP.net documentation for : curl_init() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_init&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sTokenURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_SSL_VERIFYPEER&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_POST&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_RETURNTRANSFER&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_POSTFIELDS&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$aParms&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;require_once&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;Zend/Json.php&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;Zend_Json&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;decode&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.trim&quot; title=&quot; Read the PHP.net documentation for : trim() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;trim&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_exec&quot; title=&quot; Read the PHP.net documentation for : curl_exec() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_exec&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)));&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sError&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_error&quot; title=&quot; Read the PHP.net documentation for : curl_error() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_error&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_close&quot; title=&quot; Read the PHP.net documentation for : curl_close() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_close&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sAccessToken&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;access_token&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt; &lt;br /&gt;
&lt;strong&gt;Request the contact data&lt;/strong&gt;&lt;/p&gt;
&lt;p class=&quot;amcode&quot;&gt;PHP:&lt;/p&gt;&lt;div class=&quot;codeblock amc_php amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$sContactsURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CONTACTS_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;?access_token=&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sAccessToken&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_init&quot; title=&quot; Read the PHP.net documentation for : curl_init() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_init&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_URL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sContactsURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_setopt&quot; title=&quot; Read the PHP.net documentation for : curl_setopt() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_setopt&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;CURLOPT_RETURNTRANSFER&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.trim&quot; title=&quot; Read the PHP.net documentation for : trim() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;trim&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_exec&quot; title=&quot; Read the PHP.net documentation for : curl_exec() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_exec&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$sError&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_error&quot; title=&quot; Read the PHP.net documentation for : curl_error() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_error&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.curl_close&quot; title=&quot; Read the PHP.net documentation for : curl_close() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;curl_close&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cURL&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Parse the data from Google&lt;/strong&gt;&lt;br /&gt;
This code also Zend_Gdata to handle the parsing.&lt;/p&gt;
&lt;p class=&quot;amcode&quot;&gt;PHP:&lt;/p&gt;&lt;div class=&quot;codeblock amc_php amc_long&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$phone_only&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;nbsp;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;include&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;Zend/Gdata.php&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;nbsp;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$gdata&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=new&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;Zend_Gdata&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;$feed&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$gdata&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;importString&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$cResponse&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;nbsp;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;foreach&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$feed&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;as&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)&amp;nbsp;{&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_comment&quot;&gt;//&amp;nbsp;Thanks&amp;nbsp;to:&amp;nbsp;&amp;lt;a&amp;nbsp;href=&quot;http://www.ibm.com/developerworks/opensource/library/x-phpgooglecontact/index.html&quot;&amp;gt;http://www.ibm.com/developerworks/opensource/library/x-phpgooglecontact/index.html&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_comment&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$xml&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.simplexml_load_string&quot; title=&quot; Read the PHP.net documentation for : simplexml_load_string() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;simplexml_load_string&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;getXML&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;());&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;stdClass&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;id&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;===(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$iSlash&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.strpos&quot; title=&quot; Read the PHP.net documentation for : strpos() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;strpos&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;/&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)))&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;else&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.substr&quot; title=&quot; Read the PHP.net documentation for : substr() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;substr&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$entry&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$iSlash&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if&amp;nbsp;(empty(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;))&amp;nbsp;continue;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.explode&quot; title=&quot; Read the PHP.net documentation for : explode() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;explode&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;&amp;nbsp;&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;first_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;middle_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;last_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;switch&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.count&quot; title=&quot; Read the PHP.net documentation for : count() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;count&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;case&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;first_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;case&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;first_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;last_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;case&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;first_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;middle_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;last_name&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;break;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;phoneNumber&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;a href=&quot;http://www.php.net/function.array&quot; title=&quot; Read the PHP.net documentation for : array() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;array&lt;/a&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;phone&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;a href=&quot;http://www.php.net/function.array&quot; title=&quot; Read the PHP.net documentation for : array() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;array&lt;/a&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;foreach&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$xml&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;phoneNumber&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;as&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$p&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;{&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$type&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.preg_replace&quot; title=&quot; Read the PHP.net documentation for : preg_replace() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;preg_replace&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;/^[^#]+#(.*)$/&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;\1&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,(string)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$p&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;rel&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;]);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;phoneNumber&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[]&amp;nbsp;=&amp;nbsp;(string)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$p&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;&amp;nbsp;(&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;)&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;phone&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;]&amp;nbsp;=&amp;nbsp;array&amp;nbsp;(&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;phone&#039;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.preg_replace&quot; title=&quot; Read the PHP.net documentation for : preg_replace() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;preg_replace&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;/\D/&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;&#039;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;,(string)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$p&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;),&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_string&quot;&gt;&#039;type&#039;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;=&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.strtolower&quot; title=&quot; Read the PHP.net documentation for : strtolower() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;strtolower&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$type&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)&amp;nbsp;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;if&amp;nbsp;(empty(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;phone&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$phone_only&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;)&amp;nbsp;continue;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$results&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;last_name&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;]&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$obj&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;;&amp;#160;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_html&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;a href=&quot;http://www.php.net/function.ksort&quot; title=&quot; Read the PHP.net documentation for : ksort() &quot; target=&quot;_blank&quot; class=&quot;codeblock_external_link&quot;&gt;ksort&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt;$results&lt;/span&gt;&lt;span class=&quot;amc_keyword&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;&lt;br /&gt;
This post courtesy of Lyrix, Inc.  &lt;a href=&quot;http://mobiso.com&quot;&gt;http://mobiso.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/04/26/google-oauth-and-contacts-api&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>This code uses Zend Framework&#8217;s Zend_Json::decode method, however you can use json_decode if it is available on your version of PHP.</p>

<p><strong>Create the authorization link</strong><br />
When this link is clicked, the site visitor is presented with a page from Google asking if they would like to allow your application access to their data.  If they accept, Google will give them a code, which can then be used on the next request.  This is run as an installed application, because there are times when data will be requested without user interaction.</p>
<p class="amcode">PHP:</p><div class="codeblock amc_php amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_html"><span class="amc_default">$sAuthURL</span><span class="amc_keyword">=</span><span class="amc_default">AUTH_URL</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_html"><span class="amc_default">$aParms</span><span class="amc_keyword">=<a href="http://www.php.net/function.array" title=" Read the PHP.net documentation for : array() " target="_blank" class="codeblock_external_link">array</a>(</span><span class="amc_string">'response_type'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">RESPONSE_TYPE</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'client_id'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">CLIENT_ID</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'redirect_uri'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">REDIRECT_URI</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'scope'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">SCOPE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_html"><span class="amc_default">$sLink</span><span class="amc_keyword">=</span><span class="amc_default">$sAuthURL</span><span class="amc_keyword">.</span><span class="amc_string">'?'</span><span class="amc_keyword">.</span><span class="amc_default"><a href="http://www.php.net/function.http_build_query" title=" Read the PHP.net documentation for : http_build_query() " target="_blank" class="codeblock_external_link">http_build_query</a></span><span class="amc_keyword">(</span><span class="amc_default">$aParms</span><span class="amc_keyword">);</span></span></code></td></tr>
</table></div>

<p><strong>Request an access and refresh token</strong></p>
<p class="amcode">PHP:</p><div class="codeblock amc_php amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_html"><span class="amc_keyword">require_once&nbsp;</span><span class="amc_string">'Zend/Json.php'</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$sTokenURL</span><span class="amc_keyword">=</span><span class="amc_default">TOKEN_URL</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$aParms</span><span class="amc_keyword">=<a href="http://www.php.net/function.array" title=" Read the PHP.net documentation for : array() " target="_blank" class="codeblock_external_link">array</a>(</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'code'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">$_POST</span><span class="amc_keyword">[</span><span class="amc_string">'code'</span><span class="amc_keyword">],</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'client_id'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">CLIENT_ID</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'client_secret'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">CLIENT_SECRET</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'redirect_uri'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">REDIRECT_URI</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'grant_type'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">AUTHORIZATION_CODE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$cURL</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.curl_init" title=" Read the PHP.net documentation for : curl_init() " target="_blank" class="codeblock_external_link">curl_init</a></span><span class="amc_keyword">();</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_URL</span><span class="amc_keyword">,</span><span class="amc_default">$sTokenURL</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_SSL_VERIFYPEER</span><span class="amc_keyword">,</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_POST</span><span class="amc_keyword">,&nbsp;</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_RETURNTRANSFER</span><span class="amc_keyword">,&nbsp;</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_POSTFIELDS</span><span class="amc_keyword">,</span><span class="amc_default">$aParms</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$cResponse</span><span class="amc_keyword">=</span><span class="amc_default">Zend_Json</span><span class="amc_keyword">::</span><span class="amc_default">decode</span><span class="amc_keyword">(</span><span class="amc_default"><a href="http://www.php.net/function.trim" title=" Read the PHP.net documentation for : trim() " target="_blank" class="codeblock_external_link">trim</a></span><span class="amc_keyword">(</span><span class="amc_default"><a href="http://www.php.net/function.curl_exec" title=" Read the PHP.net documentation for : curl_exec() " target="_blank" class="codeblock_external_link">curl_exec</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">)));</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_close" title=" Read the PHP.net documentation for : curl_close() " target="_blank" class="codeblock_external_link">curl_close</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$sAccessToken</span><span class="amc_keyword">=</span><span class="amc_default">$cResponse</span><span class="amc_keyword">[</span><span class="amc_string">'access_token'</span><span class="amc_keyword">];</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$sRefreshToken</span><span class="amc_keyword">=</span><span class="amc_default">$cResponse</span><span class="amc_keyword">[</span><span class="amc_string">'refresh_token'</span><span class="amc_keyword">];</span></span></code></td></tr>
</table></div>

<p><strong>Use the refresh_token to request a new access_token</strong></p>
<p class="amcode">PHP:</p><div class="codeblock amc_php amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_html"><span class="amc_default">$sTokenURL</span><span class="amc_keyword">=</span><span class="amc_default">TOKEN_URL</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$aParms</span><span class="amc_keyword">=<a href="http://www.php.net/function.array" title=" Read the PHP.net documentation for : array() " target="_blank" class="codeblock_external_link">array</a>(</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'refresh_token'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">$sRefreshToken</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'client_id'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">CLIENT_ID</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'client_secret'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">CLIENT_SECRET</span><span class="amc_keyword">,</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_string">'grant_type'</span><span class="amc_keyword">=&gt;</span><span class="amc_default">REFRESH_TOKEN</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$cURL</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.curl_init" title=" Read the PHP.net documentation for : curl_init() " target="_blank" class="codeblock_external_link">curl_init</a></span><span class="amc_keyword">();</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_URL</span><span class="amc_keyword">,</span><span class="amc_default">$sTokenURL</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_SSL_VERIFYPEER</span><span class="amc_keyword">,</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_POST</span><span class="amc_keyword">,&nbsp;</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_RETURNTRANSFER</span><span class="amc_keyword">,&nbsp;</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_POSTFIELDS</span><span class="amc_keyword">,</span><span class="amc_default">$aParms</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;require_once&nbsp;</span><span class="amc_string">'Zend/Json.php'</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$cResponse</span><span class="amc_keyword">=</span><span class="amc_default">Zend_Json</span><span class="amc_keyword">::</span><span class="amc_default">decode</span><span class="amc_keyword">(</span><span class="amc_default"><a href="http://www.php.net/function.trim" title=" Read the PHP.net documentation for : trim() " target="_blank" class="codeblock_external_link">trim</a></span><span class="amc_keyword">(</span><span class="amc_default"><a href="http://www.php.net/function.curl_exec" title=" Read the PHP.net documentation for : curl_exec() " target="_blank" class="codeblock_external_link">curl_exec</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">)));</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$sError</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.curl_error" title=" Read the PHP.net documentation for : curl_error() " target="_blank" class="codeblock_external_link">curl_error</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_close" title=" Read the PHP.net documentation for : curl_close() " target="_blank" class="codeblock_external_link">curl_close</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$sAccessToken</span><span class="amc_keyword">=</span><span class="amc_default">$cResponse</span><span class="amc_keyword">[</span><span class="amc_string">'access_token'</span><span class="amc_keyword">];</span></span></code></td></tr>
</table></div>
<p> <br />
<strong>Request the contact data</strong></p>
<p class="amcode">PHP:</p><div class="codeblock amc_php amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_html"><span class="amc_default">$sContactsURL</span><span class="amc_keyword">=</span><span class="amc_default">CONTACTS_URL</span><span class="amc_keyword">.</span><span class="amc_string">'?access_token='</span><span class="amc_keyword">.</span><span class="amc_default">$sAccessToken</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$cURL</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.curl_init" title=" Read the PHP.net documentation for : curl_init() " target="_blank" class="codeblock_external_link">curl_init</a></span><span class="amc_keyword">();</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_URL</span><span class="amc_keyword">,</span><span class="amc_default">$sContactsURL</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_setopt" title=" Read the PHP.net documentation for : curl_setopt() " target="_blank" class="codeblock_external_link">curl_setopt</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">,</span><span class="amc_default">CURLOPT_RETURNTRANSFER</span><span class="amc_keyword">,&nbsp;</span><span class="amc_default">TRUE</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$cResponse</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.trim" title=" Read the PHP.net documentation for : trim() " target="_blank" class="codeblock_external_link">trim</a></span><span class="amc_keyword">(</span><span class="amc_default"><a href="http://www.php.net/function.curl_exec" title=" Read the PHP.net documentation for : curl_exec() " target="_blank" class="codeblock_external_link">curl_exec</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">));</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$sError</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.curl_error" title=" Read the PHP.net documentation for : curl_error() " target="_blank" class="codeblock_external_link">curl_error</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default"><a href="http://www.php.net/function.curl_close" title=" Read the PHP.net documentation for : curl_close() " target="_blank" class="codeblock_external_link">curl_close</a></span><span class="amc_keyword">(</span><span class="amc_default">$cURL</span><span class="amc_keyword">);</span></span></code></td></tr>
</table></div>

<p><strong>Parse the data from Google</strong><br />
This code also Zend_Gdata to handle the parsing.</p>
<p class="amcode">PHP:</p><div class="codeblock amc_php amc_long"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_html"><span class="amc_default">$phone_only</span><span class="amc_keyword">=</span><span class="amc_default">false</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code>&nbsp;</code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_html"><span class="amc_keyword">include&nbsp;</span><span class="amc_string">'Zend/Gdata.php'</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code>&nbsp;</code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_html"><span class="amc_default">$gdata</span><span class="amc_keyword">=new&nbsp;</span><span class="amc_default">Zend_Gdata</span><span class="amc_keyword">();</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_html"><span class="amc_default">$feed</span><span class="amc_keyword">=</span><span class="amc_default">$gdata</span><span class="amc_keyword">-&gt;</span><span class="amc_default">importString</span><span class="amc_keyword">(</span><span class="amc_default">$cResponse</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code>&nbsp;</code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_html"><span class="amc_keyword">foreach&nbsp;(</span><span class="amc_default">$feed&nbsp;</span><span class="amc_keyword">as&nbsp;</span><span class="amc_default">$entry</span><span class="amc_keyword">)&nbsp;{</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_comment">//&nbsp;Thanks&nbsp;to:&nbsp;&lt;a&nbsp;href="http://www.ibm.com/developerworks/opensource/library/x-phpgooglecontact/index.html"&gt;http://www.ibm.com/developerworks/opensource/library/x-phpgooglecontact/index.html&lt;/a&gt;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_comment">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$xml&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default"><a href="http://www.php.net/function.simplexml_load_string" title=" Read the PHP.net documentation for : simplexml_load_string() " target="_blank" class="codeblock_external_link">simplexml_load_string</a></span><span class="amc_keyword">(</span><span class="amc_default">$entry</span><span class="amc_keyword">-&gt;</span><span class="amc_default">getXML</span><span class="amc_keyword">());</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj&nbsp;</span><span class="amc_keyword">=&nbsp;new&nbsp;</span><span class="amc_default">stdClass</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">id&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$entry</span><span class="amc_keyword">-&gt;</span><span class="amc_default">id</span><span class="amc_keyword">-&gt;</span><span class="amc_default">text</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&nbsp;(</span><span class="amc_default">false</span><span class="amc_keyword">===(</span><span class="amc_default">$iSlash</span><span class="amc_keyword">=</span><span class="amc_default"><a href="http://www.php.net/function.strpos" title=" Read the PHP.net documentation for : strpos() " target="_blank" class="codeblock_external_link">strpos</a></span><span class="amc_keyword">(</span><span class="amc_default">$entry</span><span class="amc_keyword">-&gt;</span><span class="amc_default">title</span><span class="amc_keyword">-&gt;</span><span class="amc_default">text</span><span class="amc_keyword">,</span><span class="amc_string">'/'</span><span class="amc_keyword">)))</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">name</span><span class="amc_keyword">=</span><span class="amc_default">$entry</span><span class="amc_keyword">-&gt;</span><span class="amc_default">title</span><span class="amc_keyword">-&gt;</span><span class="amc_default">text</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default"><a href="http://www.php.net/function.substr" title=" Read the PHP.net documentation for : substr() " target="_blank" class="codeblock_external_link">substr</a></span><span class="amc_keyword">(</span><span class="amc_default">$entry</span><span class="amc_keyword">-&gt;</span><span class="amc_default">title</span><span class="amc_keyword">-&gt;</span><span class="amc_default">text</span><span class="amc_keyword">,</span><span class="amc_default">0</span><span class="amc_keyword">,</span><span class="amc_default">$iSlash</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&nbsp;(empty(</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">name</span><span class="amc_keyword">))&nbsp;continue;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default"><a href="http://www.php.net/function.explode" title=" Read the PHP.net documentation for : explode() " target="_blank" class="codeblock_external_link">explode</a></span><span class="amc_keyword">(</span><span class="amc_string">'&nbsp;'</span><span class="amc_keyword">,</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">name</span><span class="amc_keyword">,</span><span class="amc_default">3</span><span class="amc_keyword">);</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc1"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">first_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">middle_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">last_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_string">''</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;switch&nbsp;(</span><span class="amc_default"><a href="http://www.php.net/function.count" title=" Read the PHP.net documentation for : count() " target="_blank" class="codeblock_external_link">count</a></span><span class="amc_keyword">(</span><span class="amc_default">$name</span><span class="amc_keyword">))</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case&nbsp;</span><span class="amc_default">1</span><span class="amc_keyword">:&nbsp;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">first_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">name</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case&nbsp;</span><span class="amc_default">2</span><span class="amc_keyword">:&nbsp;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">first_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$name</span><span class="amc_keyword">[</span><span class="amc_default">0</span><span class="amc_keyword">];</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">last_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$name</span><span class="amc_keyword">[</span><span class="amc_default">1</span><span class="amc_keyword">];</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc2"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case&nbsp;</span><span class="amc_default">3</span><span class="amc_keyword">:</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">first_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$name</span><span class="amc_keyword">[</span><span class="amc_default">0</span><span class="amc_keyword">];</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">middle_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$name</span><span class="amc_keyword">[</span><span class="amc_default">1</span><span class="amc_keyword">];</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">last_name&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default">$name</span><span class="amc_keyword">[</span><span class="amc_default">2</span><span class="amc_keyword">];</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">phoneNumber&nbsp;</span><span class="amc_keyword">=&nbsp;<a href="http://www.php.net/function.array" title=" Read the PHP.net documentation for : array() " target="_blank" class="codeblock_external_link">array</a>();</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">phone&nbsp;</span><span class="amc_keyword">=&nbsp;<a href="http://www.php.net/function.array" title=" Read the PHP.net documentation for : array() " target="_blank" class="codeblock_external_link">array</a>();</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foreach&nbsp;(</span><span class="amc_default">$xml</span><span class="amc_keyword">-&gt;</span><span class="amc_default">phoneNumber&nbsp;</span><span class="amc_keyword">as&nbsp;</span><span class="amc_default">$p</span><span class="amc_keyword">)&nbsp;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"><div class="amc3"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$type&nbsp;</span><span class="amc_keyword">=&nbsp;</span><span class="amc_default"><a href="http://www.php.net/function.preg_replace" title=" Read the PHP.net documentation for : preg_replace() " target="_blank" class="codeblock_external_link">preg_replace</a></span><span class="amc_keyword">(</span><span class="amc_string">'/^[^#]+#(.*)$/'</span><span class="amc_keyword">,</span><span class="amc_string">'\1'</span><span class="amc_keyword">,(string)&nbsp;</span><span class="amc_default">$p</span><span class="amc_keyword">[</span><span class="amc_string">'rel'</span><span class="amc_keyword">]);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">phoneNumber</span><span class="amc_keyword">[]&nbsp;=&nbsp;(string)&nbsp;</span><span class="amc_default">$p</span><span class="amc_keyword">.</span><span class="amc_string">'&nbsp;('</span><span class="amc_keyword">.</span><span class="amc_default">$type</span><span class="amc_keyword">.</span><span class="amc_string">')'</span><span class="amc_keyword">;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">phone</span><span class="amc_keyword">[</span><span class="amc_default">$type</span><span class="amc_keyword">]&nbsp;=&nbsp;array&nbsp;(</span><span class="amc_string">'phone'&nbsp;</span><span class="amc_keyword">=&gt;&nbsp;</span><span class="amc_default"><a href="http://www.php.net/function.preg_replace" title=" Read the PHP.net documentation for : preg_replace() " target="_blank" class="codeblock_external_link">preg_replace</a></span><span class="amc_keyword">(</span><span class="amc_string">'/\D/'</span><span class="amc_keyword">,</span><span class="amc_string">''</span><span class="amc_keyword">,(string)&nbsp;</span><span class="amc_default">$p</span><span class="amc_keyword">),&nbsp;</span><span class="amc_string">'type'&nbsp;</span><span class="amc_keyword">=&gt;&nbsp;</span><span class="amc_default"><a href="http://www.php.net/function.strtolower" title=" Read the PHP.net documentation for : strtolower() " target="_blank" class="codeblock_external_link">strtolower</a></span><span class="amc_keyword">(</span><span class="amc_default">$type</span><span class="amc_keyword">)&nbsp;);</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&nbsp;(empty(</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">phone</span><span class="amc_keyword">)&nbsp;&amp;&amp;&nbsp;</span><span class="amc_default">$phone_only</span><span class="amc_keyword">)&nbsp;continue;</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span class="amc_default">$results</span><span class="amc_keyword">[</span><span class="amc_default">$obj</span><span class="amc_keyword">-&gt;</span><span class="amc_default">last_name</span><span class="amc_keyword">]&nbsp;=&nbsp;</span><span class="amc_default">$obj</span><span class="amc_keyword">;&#160;&#160;</span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_keyword">}</span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc4"></div></div></td><td><code><span class="amc_html"><span class="amc_default"><a href="http://www.php.net/function.ksort" title=" Read the PHP.net documentation for : ksort() " target="_blank" class="codeblock_external_link">ksort</a></span><span class="amc_keyword">(</span><span class="amc_default">$results</span><span class="amc_keyword">);</span></span></code></td></tr>
</table></div>
<p><em><br />
This post courtesy of Lyrix, Inc.  <a href="http://mobiso.com">http://mobiso.com</a></em></p><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/04/26/google-oauth-and-contacts-api">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/04/26/google-oauth-and-contacts-api#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=754</wfw:commentRss>
		</item>
				<item>
			<title>Apache IE8 HTML entities filter</title>
			<link>http://web-notes.wirehopper.com/2012/03/17/apache-ie8-html-entities-filter</link>
			<pubDate>Sat, 17 Mar 2012 19:27:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">LAMP</category>			<guid isPermaLink="false">750@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/3322820/find-replace-htmlentities-using-the-standard-linux-toolchain&quot;&gt;http://stackoverflow.com/questions/3322820/find-replace-htmlentities-using-the-standard-linux-toolchain&lt;/a&gt;&lt;/p&gt;&lt;p&gt;One of the pages in a web application displays text log file output in popup browser windows.&lt;/p&gt;

&lt;p&gt;If that output includes this statement:&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;XML:&lt;/p&gt;&lt;div class=&quot;codeblock amc_xml amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;IE8 will try to parse the content as XML, and it will show an error:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The XML page cannot be displayed&lt;br /&gt;
Cannot view XML input using style sheet. &lt;br /&gt;
Please correct the error and then click the Refresh button, or try again later.&lt;br /&gt;
Invalid at the top level of the document. Error processing resource:&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I didn&amp;#8217;t want to add any scripting to the pages, since they&amp;#8217;re text, and I didn&amp;#8217;t want to make any coding changes.  One solution is to use an Apache output filter to convert the text into HTML entities, and force the document type to text/html.  &lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;ExtFilterDefine htmlentities mode=output cmd=&quot;/usr/bin/php -R &#039;echo htmlentities(fgets(STDIN));&#039;&quot;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&amp;nbsp;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;lt;FilesMatch &quot;\.txt$&quot;&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;ForceType text/html&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;SetOutputFilter htmlentities&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;lt;/FilesMatch&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is definitely a quick solution that may not be ideal for every situation, or could be refined.&lt;/p&gt;

&lt;p&gt;The documents aren&amp;#8217;t HTML, they are text.  They don&amp;#8217;t have any tags in them, and those that are there should not be treated as tags, but as text.  Forcing the type to text/plain didn&amp;#8217;t work.  &lt;/p&gt;

&lt;p&gt;Regardless, this is one way you can convert characters into HTML entities without modifying your code.  &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
Different solutions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extend the filter to add the HTML tags necessary for a true text/html document&lt;/li&gt;
&lt;li&gt;Modify the code to convert the document to HTML&lt;/li&gt;
&lt;li&gt;Install recode (see link above)&lt;/li&gt;
&lt;li&gt;Do something entirely different&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/03/17/apache-ie8-html-entities-filter&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://stackoverflow.com/questions/3322820/find-replace-htmlentities-using-the-standard-linux-toolchain">http://stackoverflow.com/questions/3322820/find-replace-htmlentities-using-the-standard-linux-toolchain</a></p><p>One of the pages in a web application displays text log file output in popup browser windows.</p>

<p>If that output includes this statement:</p>

<p class="amcode">XML:</p><div class="codeblock amc_xml amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default"><span class="amc_keyword">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span></span></code></td></tr>
</table></div>

<p>IE8 will try to parse the content as XML, and it will show an error:</p>

<blockquote><p>The XML page cannot be displayed<br />
Cannot view XML input using style sheet. <br />
Please correct the error and then click the Refresh button, or try again later.<br />
Invalid at the top level of the document. Error processing resource:</p></blockquote>

<p>I didn&#8217;t want to add any scripting to the pages, since they&#8217;re text, and I didn&#8217;t want to make any coding changes.  One solution is to use an Apache output filter to convert the text into HTML entities, and force the document type to text/html.  </p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">ExtFilterDefine htmlentities mode=output cmd="/usr/bin/php -R 'echo htmlentities(fgets(STDIN));'"</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code>&nbsp;</code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">&lt;FilesMatch "\.txt$"&gt;</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default">&#160;&#160;ForceType text/html</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default">&#160;&#160;SetOutputFilter htmlentities</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_default">&lt;/FilesMatch&gt;</span></code></td></tr>
</table></div>

<p>This is definitely a quick solution that may not be ideal for every situation, or could be refined.</p>

<p>The documents aren&#8217;t HTML, they are text.  They don&#8217;t have any tags in them, and those that are there should not be treated as tags, but as text.  Forcing the type to text/plain didn&#8217;t work.  </p>

<p>Regardless, this is one way you can convert characters into HTML entities without modifying your code.  <br />
<strong><br />
Different solutions:</strong></p>

<ul>
<li>Extend the filter to add the HTML tags necessary for a true text/html document</li>
<li>Modify the code to convert the document to HTML</li>
<li>Install recode (see link above)</li>
<li>Do something entirely different</li>
</ul><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/03/17/apache-ie8-html-entities-filter">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/03/17/apache-ie8-html-entities-filter#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=750</wfw:commentRss>
		</item>
				<item>
			<title>Image - Round corners, add a credit</title>
			<link>http://web-notes.wirehopper.com/2012/03/15/image-round-corners-add-a</link>
			<pubDate>Thu, 15 Mar 2012 11:27:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">ImageMagick</category>			<guid isPermaLink="false">748@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://www.imagemagick.org/Usage/thumbnails/#rounded&quot;&gt;http://www.imagemagick.org/Usage/thumbnails/#rounded&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A script that uses ImageMagick to round the corners of an image, apply a credit, and optionally resize it.  This script leaves the interim images, you could also delete them.  The image credit is also written to a text file.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/76029035@N02/6829467731/sizes/s/in/photostream/&quot;&gt;Original image&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://web-notes.wirehopper.com/young_woman.credited.jpg&quot; alt=&quot;Credited Image&quot; title=&quot;Credited Image&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;if [ &quot;$#&quot; -lt 2 ]; then&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;echo &quot;usage: $0 &amp;lt;image file&amp;gt; &amp;lt;credit&amp;gt; [&amp;lt;resize&amp;gt;]&quot;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;else&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;ORIGINAL_IMAGE=$1&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;BASE_FILENAME=`basename $1 .jpg`&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;echo &quot;$2&quot; &amp;gt; $BASE_FILENAME.credit&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;convert $BASE_FILENAME.jpg \( +clone -alpha extract -draw &#039;fill black polygon 0,0 0,5 5,0 fill white circle 5,5, 5,0&#039; \( +clone -flip \) \&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-compose Multiply -composite \( +clone -flop \) -compose Multiply -composite \) -alpha off&amp;#160;&amp;#160;\&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc0&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;-compose CopyOpacity -composite $BASE_FILENAME.rounded.png&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;convert -background white $BASE_FILENAME.rounded.png&amp;#160;&amp;#160;+flatten $BASE_FILENAME.rounded.jpg&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;convert -background &#039;#00000080&#039; -pointsize 12 -fill white label:&quot;$2&quot; miff:- | \&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;composite -gravity south -geometry +0+3 - \&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$BASE_FILENAME.rounded.jpg $BASE_FILENAME.credited.jpg&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;if [ &quot;$#&quot; -gt 2 ]; then&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;mogrify -resize $3 $BASE_FILENAME.credited.jpg&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;fi&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;fi&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Tested with:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;convert -version&lt;br /&gt;
Version: ImageMagick 6.5.4-2 2009-07-08 Q16 OpenMP &lt;a href=&quot;http://www.imagemagick.org&quot;&gt;http://www.imagemagick.org&lt;/a&gt;&lt;br /&gt;
Copyright: Copyright &amp;#169; 1999-2009 ImageMagick Studio LLC&lt;/p&gt;

&lt;/blockquote&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/03/15/image-round-corners-add-a&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://www.imagemagick.org/Usage/thumbnails/#rounded">http://www.imagemagick.org/Usage/thumbnails/#rounded</a></p><p>A script that uses ImageMagick to round the corners of an image, apply a credit, and optionally resize it.  This script leaves the interim images, you could also delete them.  The image credit is also written to a text file.</p>

<p><a href="http://www.flickr.com/photos/76029035@N02/6829467731/sizes/s/in/photostream/">Original image</a></p>

<p><img src="http://web-notes.wirehopper.com/young_woman.credited.jpg" alt="Credited Image" title="Credited Image" /></p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">#!/bin/bash</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default">if [ "$#" -lt 2 ]; then</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo "usage: $0 &lt;image file&gt; &lt;credit&gt; [&lt;resize&gt;]"</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default">else</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default">ORIGINAL_IMAGE=$1</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_default">BASE_FILENAME=`basename $1 .jpg`</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_default">echo "$2" &gt; $BASE_FILENAME.credit</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_default">convert $BASE_FILENAME.jpg \( +clone -alpha extract -draw 'fill black polygon 0,0 0,5 5,0 fill white circle 5,5, 5,0' \( +clone -flip \) \</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;-compose Multiply -composite \( +clone -flop \) -compose Multiply -composite \) -alpha off&#160;&#160;\</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc0"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;-compose CopyOpacity -composite $BASE_FILENAME.rounded.png</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc1"><div class="amc1"></div></div></td><td><code><span class="amc_default">convert -background white $BASE_FILENAME.rounded.png&#160;&#160;+flatten $BASE_FILENAME.rounded.jpg</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"><div class="amc1"></div></div></td><td><code><span class="amc_default">convert -background '#00000080' -pointsize 12 -fill white label:"$2" miff:- | \</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;composite -gravity south -geometry +0+3 - \</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;$BASE_FILENAME.rounded.jpg $BASE_FILENAME.credited.jpg</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"><div class="amc1"></div></div></td><td><code><span class="amc_default">if [ "$#" -gt 2 ]; then</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"><div class="amc1"></div></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;mogrify -resize $3 $BASE_FILENAME.credited.jpg</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"><div class="amc1"></div></div></td><td><code><span class="amc_default">fi</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"><div class="amc1"></div></div></td><td><code><span class="amc_default">fi</span></code></td></tr>
</table></div>

<p>Tested with:</p>

<blockquote><p>convert -version<br />
Version: ImageMagick 6.5.4-2 2009-07-08 Q16 OpenMP <a href="http://www.imagemagick.org">http://www.imagemagick.org</a><br />
Copyright: Copyright &#169; 1999-2009 ImageMagick Studio LLC</p>

</blockquote><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/03/15/image-round-corners-add-a">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/03/15/image-round-corners-add-a#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=748</wfw:commentRss>
		</item>
				<item>
			<title>CentOS Firefox 10 HTML5 Audio</title>
			<link>http://web-notes.wirehopper.com/2012/03/09/centos-firefox-10-html5-audio</link>
			<pubDate>Fri, 09 Mar 2012 17:24:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">HTML / CSS</category>			<guid isPermaLink="false">747@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://www.w3schools.com/html5/html5_audio.asp&quot;&gt;http://www.w3schools.com/html5/html5_audio.asp&lt;/a&gt;&lt;/p&gt;&lt;p&gt;These tags allow you to specify that audio be played through &lt;a href=&quot;http://www.interoperabilitybridges.com/windows-media-player-firefox-plugin-download&quot;&gt;Windows Media Player Plugin&lt;/a&gt; if it is available, and if it isn&amp;#8217;t, use an HTML5 audio tag.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;XML:&lt;/p&gt;&lt;div class=&quot;codeblock amc_xml amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;object&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;id&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;wmp_p&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;data&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;audio.wav&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;application/x-ms-wmp&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;width&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;175&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;height&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;75&quot;&lt;/span&gt; &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;param&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;autostart&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;true&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;param&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;volume&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;10&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;param&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;name&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;uiMode&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;value&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;mini&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;audio&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;autoplay&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;autoplay&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;controls&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;controls&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;style&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;height:75px;width:175px&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc6&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;source&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;src&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;audio.wav&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;type&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;audio/wav&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc7&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;No audio player available, download &lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;a&lt;/span&gt;&lt;span class=&quot;amc_default&quot;&gt; &lt;span class=&quot;amc_attribute&quot;&gt;href&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;audio.wav&quot;&lt;/span&gt; &lt;span class=&quot;amc_attribute&quot;&gt;title&lt;/span&gt;=&lt;span class=&quot;amc_string&quot;&gt;&quot;Download audio&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;audio.wav&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc8&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc9&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;span class=&quot;amc_keyword&quot;&gt;&amp;lt;/object&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This was tested under CentOS 5.4, with Firefox 10.0.2, and it worked nicely.  It may also work well with Chrome under Linux, as well as under Windows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different browser support different audio formats with the tag.&lt;/li&gt;
&lt;li&gt;There may be subtle coding differences between the tags and attributes.  Test thoroughly and carefully.&lt;/li&gt;
&lt;li&gt;There may be layout issues across different browsers, again, test thoroughly and carefully.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Audio encoding that works well under CentOS/Firefox 10.0.2 &lt;/p&gt;

&lt;p&gt;sox -V input.wav -u -b -r 8000 -c 1 output.wav&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;sox: Writing Wave file: Microsoft PCM format, 1 channel, 8000 samp/sec&lt;br /&gt;
sox:         8000 byte/sec, 1 block align, 8 bits/samp&lt;/p&gt;&lt;/blockquote&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/03/09/centos-firefox-10-html5-audio&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://www.w3schools.com/html5/html5_audio.asp">http://www.w3schools.com/html5/html5_audio.asp</a></p><p>These tags allow you to specify that audio be played through <a href="http://www.interoperabilitybridges.com/windows-media-player-firefox-plugin-download">Windows Media Player Plugin</a> if it is available, and if it isn&#8217;t, use an HTML5 audio tag.</p>

<p class="amcode">XML:</p><div class="codeblock amc_xml amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default"><span class="amc_default"><span class="amc_keyword">&lt;object</span><span class="amc_default"> <span class="amc_attribute">id</span>=<span class="amc_string">"wmp_p"</span> <span class="amc_attribute">data</span>=<span class="amc_string">"audio.wav"</span> <span class="amc_attribute">type</span>=<span class="amc_string">"application/x-ms-wmp"</span> <span class="amc_attribute">width</span>=<span class="amc_string">"175"</span> <span class="amc_attribute">height</span>=<span class="amc_string">"75"</span> &gt;</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;<span class="amc_keyword">&lt;param</span><span class="amc_default"> <span class="amc_attribute">name</span>=<span class="amc_string">"autostart"</span> <span class="amc_attribute">value</span>=<span class="amc_string">"true"</span> /&gt;</span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;<span class="amc_keyword">&lt;param</span><span class="amc_default"> <span class="amc_attribute">name</span>=<span class="amc_string">"volume"</span> <span class="amc_attribute">value</span>=<span class="amc_string">"10"</span> /&gt;</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;<span class="amc_keyword">&lt;param</span><span class="amc_default"> <span class="amc_attribute">name</span>=<span class="amc_string">"uiMode"</span> <span class="amc_attribute">value</span>=<span class="amc_string">"mini"</span> /&gt;</span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;<span class="amc_keyword">&lt;audio</span><span class="amc_default"> <span class="amc_attribute">autoplay</span>=<span class="amc_string">"autoplay"</span> <span class="amc_attribute">controls</span>=<span class="amc_string">"controls"</span> <span class="amc_attribute">style</span>=<span class="amc_string">"height:75px;width:175px"</span>&gt;</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc6"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;&#160;&#160;<span class="amc_keyword">&lt;source</span><span class="amc_default"> <span class="amc_attribute">src</span>=<span class="amc_string">"audio.wav"</span> <span class="amc_attribute">type</span>=<span class="amc_string">"audio/wav"</span> /&gt;</span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc7"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;&#160;&#160;No audio player available, download <span class="amc_keyword">&lt;a</span><span class="amc_default"> <span class="amc_attribute">href</span>=<span class="amc_string">"audio.wav"</span> <span class="amc_attribute">title</span>=<span class="amc_string">"Download audio"</span>&gt;</span>audio.wav<span class="amc_keyword">&lt;/a&gt;</span></span></span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc8"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;<span class="amc_keyword">&lt;/audio&gt;</span></span></span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc9"></div></td><td><code><span class="amc_default"><span class="amc_default">&#160;&#160;&#160;&#160;<span class="amc_keyword">&lt;/object&gt;</span></span></span></code></td></tr>
</table></div>

<p>This was tested under CentOS 5.4, with Firefox 10.0.2, and it worked nicely.  It may also work well with Chrome under Linux, as well as under Windows.</p>

<p><strong>Notes</strong></p>

<ul>
<li>Different browser support different audio formats with the tag.</li>
<li>There may be subtle coding differences between the tags and attributes.  Test thoroughly and carefully.</li>
<li>There may be layout issues across different browsers, again, test thoroughly and carefully.</li>
</ul>

<p>Audio encoding that works well under CentOS/Firefox 10.0.2 </p>

<p>sox -V input.wav -u -b -r 8000 -c 1 output.wav</p>

<blockquote><p>sox: Writing Wave file: Microsoft PCM format, 1 channel, 8000 samp/sec<br />
sox:         8000 byte/sec, 1 block align, 8 bits/samp</p></blockquote><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/03/09/centos-firefox-10-html5-audio">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/03/09/centos-firefox-10-html5-audio#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=747</wfw:commentRss>
		</item>
				<item>
			<title>dojox.grid.DataGrid - Search for item</title>
			<link>http://web-notes.wirehopper.com/2012/03/05/dojox-grid-datagrid-search-for</link>
			<pubDate>Mon, 05 Mar 2012 18:25:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="main">dojo</category>			<guid isPermaLink="false">746@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://dojotoolkit.org/api/1.3/dojox/grid/DataGrid&quot;&gt;http://dojotoolkit.org/api/1.3/dojox/grid/DataGrid&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This is one way to search a dojox DataGrid for an item.&lt;/p&gt;

&lt;p&gt;In this case, the id is used, but other attributes can be searched as well.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;function already_in_the_grid(id)&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;{&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return dojo.some(member_store._getItemsArray(),(function(item){if (item.id==member_id) return true}));&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/03/05/dojox-grid-datagrid-search-for&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://dojotoolkit.org/api/1.3/dojox/grid/DataGrid">http://dojotoolkit.org/api/1.3/dojox/grid/DataGrid</a></p><p>This is one way to search a dojox DataGrid for an item.</p>

<p>In this case, the id is used, but other attributes can be searched as well.</p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">function already_in_the_grid(id)</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default">{</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return dojo.some(member_store._getItemsArray(),(function(item){if (item.id==member_id) return true}));</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default">}</span></code></td></tr>
</table></div><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/03/05/dojox-grid-datagrid-search-for">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/03/05/dojox-grid-datagrid-search-for#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=746</wfw:commentRss>
		</item>
				<item>
			<title>Some Apache RewriteRules for Improved Security</title>
			<link>http://web-notes.wirehopper.com/2012/02/23/some-apache-rewriterules-for-improved</link>
			<pubDate>Thu, 23 Feb 2012 12:53:00 +0000</pubDate>			<dc:creator>elvis</dc:creator>
			<category domain="alt">LAMP</category>
<category domain="main">Security</category>			<guid isPermaLink="false">743@http://web-notes.wirehopper.com/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html&quot;&gt;http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A set of Apache RewriteRules, including &lt;em&gt;curl&lt;/em&gt; commands to test them.  Always test the rules, using a browser if possible, and curl.  The curl output has been edited to make it easier to read.&lt;/p&gt;

&lt;p&gt;Remember to write the rules carefully so you don&amp;#8217;t deny access for valid requests, and use an appropriate 403 page, so real (good) people that arrive there have an opportunity to understand what happened and what they can do to request access.  This may mean the rules blocked a valid request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Route admin access through HTTPS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the prevalence of laptops and WiFi, HTTPS is important for site security.  This rule assumes the site is administered through a subdomain (admin.domain.com), and routes any request where the server name begins with admin through HTTPS.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteCond %{SERVER_NAME} ^admin&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteCond %{HTTPS} =off [NC]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteRule .* &lt;a href=&quot;https://admin.domain.com&quot;&gt;https://admin.domain.com&lt;/a&gt; [L]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Test&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;[user@localhost Backup]$ curl -i &lt;a href=&quot;http://admin.domain.com&quot;&gt;http://admin.domain.com&lt;/a&gt;&lt;br /&gt;
HTTP/1.1 302 Found&lt;br /&gt;
Location: &lt;a href=&quot;https://admin.domain.com&quot;&gt;https://admin.domain.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Block Probing Requests, XSS Injection, and Unwelcome Referrers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even if your server doesn&amp;#8217;t have these scripts or URLs, it is good to block the requests.  People or servers that are requesting them are not visiting your site, they&amp;#8217;re attacking it.&lt;/p&gt;

&lt;p&gt;This includes referrers that simply don&amp;#8217;t make sense, or are seen in the logs or stats requesting content they shouldn&amp;#8217;t.&lt;/p&gt;

&lt;p class=&quot;amcode&quot;&gt;Code:&lt;/p&gt;&lt;div class=&quot;codeblock amc_code amc_short&quot;&gt;&lt;table&gt;&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc1&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteCond %{REQUEST_URI} (\.aspx?|\.php)$ [NC,OR]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc2&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteCond %{REQUEST_URI} php\-?myadmin|scripts|mysql|wp\-login [NC,OR]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc3&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteCond %{QUERY_STRING} mouseover [NC,OR]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_even&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc4&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteCond %{HTTP_REFERER} \.(ru|ua|tv)$ [NC]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;amc_code_odd&quot;&gt;&lt;td class=&quot;amc_line&quot;&gt;&lt;div class=&quot;amc5&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;&lt;span class=&quot;amc_default&quot;&gt;RewriteRule ^.*&amp;#160;&amp;#160;- [F]&lt;/span&gt;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Tests&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RewriteCond %{REQUEST_URI} (\.aspx?|\.php)$ [NC,OR]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This site is a PHP site which routes requests through RewriteRules, there should not be any direct requests for .php.  Since it&amp;#8217;s a PHP application, requests for .asp and .aspx should never be received either.&lt;/p&gt;

&lt;p&gt;[user@localhost ~]$ curl -I &lt;a href=&quot;http://domain.com/login.aspx&quot;&gt;http://domain.com/login.aspx&lt;/a&gt;&lt;br /&gt;
HTTP/1.1 403 Forbidden&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RewriteCond %{HTTP_REFERER} \.(ru|ua|tv)$ [NC]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After too many requests from referrers ending in .ru, .ua, and .tv, I decided to block them.&lt;/p&gt;

&lt;p&gt;[user@localhost ~]$ curl -I -e &amp;#8216;http://some.ru&amp;#8217; &lt;a href=&quot;http://domain.com&quot;&gt;http://domain.com&lt;/a&gt;&lt;br /&gt;
HTTP/1.1 403 Forbidden&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RewriteCond %{QUERY_STRING} mouseover [NC,OR]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This rule is in response to some sort of XSS injection attack which included &lt;em&gt;onmouseover&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;[user@localhost ~]$ curl -I &lt;a href=&quot;http://domain.com/?onmouseover&quot;&gt;http://domain.com/?onmouseover&lt;/a&gt;&lt;br /&gt;
HTTP/1.1 403 Forbidden&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RewriteCond %{REQUEST_URI} php\-?myadmin|scripts|mysql|wp\-login [NC,OR]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These are all common requests for variations of phpmyadmin, utility scripts, access to mysql and the login for WordPress.  They should not be received by this server.&lt;/p&gt;

&lt;p&gt;[user@localhost ~]$ curl -I &lt;a href=&quot;http://domain.com/scripts&quot;&gt;http://domain.com/scripts&lt;/a&gt;&lt;br /&gt;
HTTP/1.1 403 Forbidden&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Checking the latest visitors log verified the rules are working properly.&lt;/strong&gt;  &lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;Host: 113.53.253.77 &lt;/p&gt;

&lt;p&gt;/index.php  			HTTP Response: 403 	Date: Feb 24 07:46:56 	Bytes: 629&lt;br /&gt;
/admin/index.php  		HTTP Response: 403 	Date: Feb 24 07:46:57 	Bytes: 633&lt;br /&gt;
/admin/pma/index.php  		HTTP Response: 403 	Date: Feb 24 07:46:58 	Bytes: 636&lt;br /&gt;
/admin/phpmyadmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:46:59 	Bytes: 639&lt;br /&gt;
/db/index.php  			HTTP Response: 403 	Date: Feb 24 07:47:01 	Bytes: 631&lt;br /&gt;
/dbadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:02 	Bytes: 634&lt;br /&gt;
/myadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:03 	Bytes: 634&lt;br /&gt;
/mysql/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:04 	Bytes: 634&lt;br /&gt;
/mysqladmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:05 	Bytes: 637&lt;br /&gt;
/typo3/phpmyadmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:06 	Bytes: 640&lt;br /&gt;
/phpadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:07 	Bytes: 635&lt;br /&gt;
/phpmyadmin1/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:10 	Bytes: 637&lt;br /&gt;
/phpmyadmin2/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:11 	Bytes: 637&lt;br /&gt;
/pma/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:12 	Bytes: 632&lt;br /&gt;
/web/phpMyAdmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:13 	Bytes: 640&lt;br /&gt;
/xampp/phpmyadmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:14 	Bytes: 641&lt;br /&gt;
/web/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:15 	Bytes: 632&lt;br /&gt;
/websql/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:17 	Bytes: 634&lt;br /&gt;
/phpmyadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:18 	Bytes: 636&lt;br /&gt;
/phpMyAdmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:20 	Bytes: 637&lt;br /&gt;
/phpMyAdmin-2/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:21 	Bytes: 639&lt;br /&gt;
/php-my-admin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:22 	Bytes: 638&lt;br /&gt;
/phpMyAdmin-2.2.3/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:23 	Bytes: 642&lt;br /&gt;
/phpMyAdmin-2.2.6/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:24 	Bytes: 643&lt;br /&gt;
/phpMyAdmin-2.5.1/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:24 	Bytes: 642&lt;br /&gt;
/phpMyAdmin-2.5.4/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:25 	Bytes: 643&lt;br /&gt;
/phpMyAdmin-2.5.5-rc1/index.php HTTP Response: 403 	Date: Feb 24 07:47:31 	Bytes: 646&lt;br /&gt;
/phpMyAdmin-2.5.5-rc2/index.php HTTP Response: 403 	Date: Feb 24 07:47:32 	Bytes: 646&lt;br /&gt;
/phpMyAdmin-2.5.5/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:32 	Bytes: 643&lt;br /&gt;
/phpMyAdmin-2.5.5-pl1/index.php HTTP Response: 403 	Date: Feb 24 07:47:33 	Bytes: 646&lt;br /&gt;
/phpMyAdmin-2.5.6-rc1/index.php HTTP Response: 403 	Date: Feb 24 07:47:34 	Bytes: 646&lt;br /&gt;
/phpMyAdmin-2.5.6-rc2/index.php HTTP Response: 403 	Date: Feb 24 07:47:35 	Bytes: 646&lt;br /&gt;
/phpMyAdmin-2.5.6/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:36 	Bytes: 643&lt;br /&gt;
/phpMyAdmin-2.5.7/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:37 	Bytes: 643&lt;br /&gt;
/phpMyAdmin-2.5.7-pl1/index.php HTTP Response: 403 	Date: Feb 24 07:47:38 	Bytes: 646    &lt;/p&gt;&lt;/blockquote&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://web-notes.wirehopper.com/2012/02/23/some-apache-rewriterules-for-improved&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html</a></p><p>A set of Apache RewriteRules, including <em>curl</em> commands to test them.  Always test the rules, using a browser if possible, and curl.  The curl output has been edited to make it easier to read.</p>

<p>Remember to write the rules carefully so you don&#8217;t deny access for valid requests, and use an appropriate 403 page, so real (good) people that arrive there have an opportunity to understand what happened and what they can do to request access.  This may mean the rules blocked a valid request.</p>

<p><strong>Route admin access through HTTPS</strong></p>

<p>With the prevalence of laptops and WiFi, HTTPS is important for site security.  This rule assumes the site is administered through a subdomain (admin.domain.com), and routes any request where the server name begins with admin through HTTPS.</p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">RewriteCond %{SERVER_NAME} ^admin</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default">RewriteCond %{HTTPS} =off [NC]</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">RewriteRule .* <a href="https://admin.domain.com">https://admin.domain.com</a> [L]</span></code></td></tr>
</table></div>

<p><em>Test</em></p>

<p>[user@localhost Backup]$ curl -i <a href="http://admin.domain.com">http://admin.domain.com</a><br />
HTTP/1.1 302 Found<br />
Location: <a href="https://admin.domain.com">https://admin.domain.com</a></p>

<p><strong>Block Probing Requests, XSS Injection, and Unwelcome Referrers</strong></p>

<p>Even if your server doesn&#8217;t have these scripts or URLs, it is good to block the requests.  People or servers that are requesting them are not visiting your site, they&#8217;re attacking it.</p>

<p>This includes referrers that simply don&#8217;t make sense, or are seen in the logs or stats requesting content they shouldn&#8217;t.</p>

<p class="amcode">Code:</p><div class="codeblock amc_code amc_short"><table><tr class="amc_code_odd"><td class="amc_line"><div class="amc1"></div></td><td><code><span class="amc_default">RewriteCond %{REQUEST_URI} (\.aspx?|\.php)$ [NC,OR]</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc2"></div></td><td><code><span class="amc_default">RewriteCond %{REQUEST_URI} php\-?myadmin|scripts|mysql|wp\-login [NC,OR]</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc3"></div></td><td><code><span class="amc_default">RewriteCond %{QUERY_STRING} mouseover [NC,OR]</span></code></td></tr>
<tr class="amc_code_even"><td class="amc_line"><div class="amc4"></div></td><td><code><span class="amc_default">RewriteCond %{HTTP_REFERER} \.(ru|ua|tv)$ [NC]</span></code></td></tr>
<tr class="amc_code_odd"><td class="amc_line"><div class="amc5"></div></td><td><code><span class="amc_default">RewriteRule ^.*&#160;&#160;- [F]</span></code></td></tr>
</table></div>

<p><em>Tests</em></p>

<p><strong>RewriteCond %{REQUEST_URI} (\.aspx?|\.php)$ [NC,OR]</strong></p>

<p>This site is a PHP site which routes requests through RewriteRules, there should not be any direct requests for .php.  Since it&#8217;s a PHP application, requests for .asp and .aspx should never be received either.</p>

<p>[user@localhost ~]$ curl -I <a href="http://domain.com/login.aspx">http://domain.com/login.aspx</a><br />
HTTP/1.1 403 Forbidden</p>

<p><strong>RewriteCond %{HTTP_REFERER} \.(ru|ua|tv)$ [NC]</strong></p>

<p>After too many requests from referrers ending in .ru, .ua, and .tv, I decided to block them.</p>

<p>[user@localhost ~]$ curl -I -e &#8216;http://some.ru&#8217; <a href="http://domain.com">http://domain.com</a><br />
HTTP/1.1 403 Forbidden</p>

<p><strong>RewriteCond %{QUERY_STRING} mouseover [NC,OR]</strong></p>

<p>This rule is in response to some sort of XSS injection attack which included <em>onmouseover</em>.</p>

<p>[user@localhost ~]$ curl -I <a href="http://domain.com/?onmouseover">http://domain.com/?onmouseover</a><br />
HTTP/1.1 403 Forbidden</p>

<p><strong>RewriteCond %{REQUEST_URI} php\-?myadmin|scripts|mysql|wp\-login [NC,OR]</strong></p>

<p>These are all common requests for variations of phpmyadmin, utility scripts, access to mysql and the login for WordPress.  They should not be received by this server.</p>

<p>[user@localhost ~]$ curl -I <a href="http://domain.com/scripts">http://domain.com/scripts</a><br />
HTTP/1.1 403 Forbidden</p>

<p><strong>Checking the latest visitors log verified the rules are working properly.</strong>  </p>

<blockquote>

<p>Host: 113.53.253.77 </p>

<p>/index.php  			HTTP Response: 403 	Date: Feb 24 07:46:56 	Bytes: 629<br />
/admin/index.php  		HTTP Response: 403 	Date: Feb 24 07:46:57 	Bytes: 633<br />
/admin/pma/index.php  		HTTP Response: 403 	Date: Feb 24 07:46:58 	Bytes: 636<br />
/admin/phpmyadmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:46:59 	Bytes: 639<br />
/db/index.php  			HTTP Response: 403 	Date: Feb 24 07:47:01 	Bytes: 631<br />
/dbadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:02 	Bytes: 634<br />
/myadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:03 	Bytes: 634<br />
/mysql/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:04 	Bytes: 634<br />
/mysqladmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:05 	Bytes: 637<br />
/typo3/phpmyadmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:06 	Bytes: 640<br />
/phpadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:07 	Bytes: 635<br />
/phpmyadmin1/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:10 	Bytes: 637<br />
/phpmyadmin2/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:11 	Bytes: 637<br />
/pma/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:12 	Bytes: 632<br />
/web/phpMyAdmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:13 	Bytes: 640<br />
/xampp/phpmyadmin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:14 	Bytes: 641<br />
/web/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:15 	Bytes: 632<br />
/websql/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:17 	Bytes: 634<br />
/phpmyadmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:18 	Bytes: 636<br />
/phpMyAdmin/index.php  		HTTP Response: 403 	Date: Feb 24 07:47:20 	Bytes: 637<br />
/phpMyAdmin-2/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:21 	Bytes: 639<br />
/php-my-admin/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:22 	Bytes: 638<br />
/phpMyAdmin-2.2.3/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:23 	Bytes: 642<br />
/phpMyAdmin-2.2.6/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:24 	Bytes: 643<br />
/phpMyAdmin-2.5.1/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:24 	Bytes: 642<br />
/phpMyAdmin-2.5.4/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:25 	Bytes: 643<br />
/phpMyAdmin-2.5.5-rc1/index.php HTTP Response: 403 	Date: Feb 24 07:47:31 	Bytes: 646<br />
/phpMyAdmin-2.5.5-rc2/index.php HTTP Response: 403 	Date: Feb 24 07:47:32 	Bytes: 646<br />
/phpMyAdmin-2.5.5/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:32 	Bytes: 643<br />
/phpMyAdmin-2.5.5-pl1/index.php HTTP Response: 403 	Date: Feb 24 07:47:33 	Bytes: 646<br />
/phpMyAdmin-2.5.6-rc1/index.php HTTP Response: 403 	Date: Feb 24 07:47:34 	Bytes: 646<br />
/phpMyAdmin-2.5.6-rc2/index.php HTTP Response: 403 	Date: Feb 24 07:47:35 	Bytes: 646<br />
/phpMyAdmin-2.5.6/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:36 	Bytes: 643<br />
/phpMyAdmin-2.5.7/index.php  	HTTP Response: 403 	Date: Feb 24 07:47:37 	Bytes: 643<br />
/phpMyAdmin-2.5.7-pl1/index.php HTTP Response: 403 	Date: Feb 24 07:47:38 	Bytes: 646    </p></blockquote><div class="item_footer"><p><small><a href="http://web-notes.wirehopper.com/2012/02/23/some-apache-rewriterules-for-improved">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://web-notes.wirehopper.com/2012/02/23/some-apache-rewriterules-for-improved#comments</comments>
			<wfw:commentRss>http://web-notes.wirehopper.com/?tempskin=_rss2&#38;disp=comments&#38;p=743</wfw:commentRss>
		</item>
			</channel>
</rss>

