<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Website and Internet Hints and Tips Blog</title>
	<atom:link href="http://www.amitywebsolutions.co.uk/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.amitywebsolutions.co.uk/blog</link>
	<description>Joomla, Zencart, CMS, GTD, SEO, Newsletters, RSS, Google and more!</description>
	<lastBuildDate>Fri, 06 Aug 2010 16:18:40 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Comment on Choosing the Right Type of Website Design by Different Types of Web Site Hosting &#8211; Which is Best for You</title>
		<link>http://www.amitywebsolutions.co.uk/blog/content-management/635-choosing-the-right-type-of-website-design/comment-page-1/#comment-1455</link>
		<dc:creator>Different Types of Web Site Hosting &#8211; Which is Best for You</dc:creator>
		<pubDate>Fri, 06 Aug 2010 16:18:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/general/635-choosing-the-right-type-of-website-design/#comment-1455</guid>
		<description>[...] on from my recent posts Static or Dynamic (Content Managed) Website and Choosing the Right Type of Website Design, part 3 of my Choosing the Right Website Series focuses on the different hosting options websites [...]</description>
		<content:encoded><![CDATA[<p>[...] on from my recent posts Static or Dynamic (Content Managed) Website and Choosing the Right Type of Website Design, part 3 of my Choosing the Right Website Series focuses on the different hosting options websites [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Static or Dynamic (Content Managed) Website &#8211; Which One is Best by Different Types of Web Site Hosting &#8211; Which is Best for You</title>
		<link>http://www.amitywebsolutions.co.uk/blog/content-management/630-static-or-dynamic-content-managed-website-which-one-is-best/comment-page-1/#comment-1454</link>
		<dc:creator>Different Types of Web Site Hosting &#8211; Which is Best for You</dc:creator>
		<pubDate>Fri, 06 Aug 2010 16:16:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/general/630-static-or-dynamic-content-managed-website-which-one-is-best/#comment-1454</guid>
		<description>[...] on from my recent posts Static or Dynamic (Content Managed) Website and Choosing the Right Type of Website Design, part 3 of my Choosing the Right Website Series [...]</description>
		<content:encoded><![CDATA[<p>[...] on from my recent posts Static or Dynamic (Content Managed) Website and Choosing the Right Type of Website Design, part 3 of my Choosing the Right Website Series [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Static or Dynamic (Content Managed) Website &#8211; Which One is Best by Choosing the Right Type of Website Design</title>
		<link>http://www.amitywebsolutions.co.uk/blog/content-management/630-static-or-dynamic-content-managed-website-which-one-is-best/comment-page-1/#comment-1451</link>
		<dc:creator>Choosing the Right Type of Website Design</dc:creator>
		<pubDate>Fri, 30 Jul 2010 10:47:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/general/630-static-or-dynamic-content-managed-website-which-one-is-best/#comment-1451</guid>
		<description>[...] on from my recent post on Static or Dynamic (Content Managed) Website &#8211; Which is Best? part 2 of my Choosing the Right Website Series focuses on the differences between various design [...]</description>
		<content:encoded><![CDATA[<p>[...] on from my recent post on Static or Dynamic (Content Managed) Website &#8211; Which is Best? part 2 of my Choosing the Right Website Series focuses on the differences between various design [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Gmail Tip: How To Stop Checking Email All The Time by Gmail Tip: How To Stop Checking Email All The Time &#124; www.erasedmail.com</title>
		<link>http://www.amitywebsolutions.co.uk/blog/gtd/609-gmail-tip-how-to-stop-checking-email-all-the-time/comment-page-1/#comment-1446</link>
		<dc:creator>Gmail Tip: How To Stop Checking Email All The Time &#124; www.erasedmail.com</dc:creator>
		<pubDate>Mon, 12 Jul 2010 14:28:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/gtd/609-gmail-tip-how-to-stop-checking-email-all-the-time/#comment-1446</guid>
		<description>[...] this article: Gmail Tip: How To Stop Checking Email All The Time   gtd, stop-checking, the-best, time, [...]</description>
		<content:encoded><![CDATA[<p>[...] this article: Gmail Tip: How To Stop Checking Email All The Time   gtd, stop-checking, the-best, time, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adding Google Adsense to a Joomla Content Page To Make Money by Adding Google Adsense to a Joomla Content Page To Make Money &#124; SEO Updates</title>
		<link>http://www.amitywebsolutions.co.uk/blog/joomla/480-adding-google-adsense-to-a-joomla-content-page-to-make-money/comment-page-1/#comment-1442</link>
		<dc:creator>Adding Google Adsense to a Joomla Content Page To Make Money &#124; SEO Updates</dc:creator>
		<pubDate>Wed, 07 Jul 2010 18:30:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/?p=480#comment-1442</guid>
		<description>[...] the original post: Adding Google Adsense to a Joomla Content Page To Make Money   Read more from Joomla Updates earn-revenue, from-visitors, page-below, the-right, website-owners  [...]</description>
		<content:encoded><![CDATA[<p>[...] the original post: Adding Google Adsense to a Joomla Content Page To Make Money   Read more from Joomla Updates earn-revenue, from-visitors, page-below, the-right, website-owners  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Speed Up Your Website By Using Cache by Laurence Cope</title>
		<link>http://www.amitywebsolutions.co.uk/blog/joomla/589-speed-up-your-website-by-using-cache/comment-page-1/#comment-1435</link>
		<dc:creator>Laurence Cope</dc:creator>
		<pubDate>Mon, 21 Jun 2010 18:03:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/joomla/589-speed-up-your-website-by-using-cache/#comment-1435</guid>
		<description>Have updated the blog to add a fix for a potential file permissions issue when trying to delete the cached files. You can enable FTP in Joomla so Joomla uses FTP details to connect and make file permissions changes.</description>
		<content:encoded><![CDATA[<p>Have updated the blog to add a fix for a potential file permissions issue when trying to delete the cached files. You can enable FTP in Joomla so Joomla uses FTP details to connect and make file permissions changes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What&#8217;s the Best Email Client for Getting Things Done (GTD)? by Gmail Tip: How To Stop Checking Email All The Time</title>
		<link>http://www.amitywebsolutions.co.uk/blog/gtd/568-whats-the-best-email-client-for-getting-things-done-gtd/comment-page-1/#comment-1410</link>
		<dc:creator>Gmail Tip: How To Stop Checking Email All The Time</dc:creator>
		<pubDate>Wed, 02 Jun 2010 10:45:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/?p=568#comment-1410</guid>
		<description>[...] email all the time which can be very counter productive (this is a follow up to my Blog asking what the best email client is for GTD which I have come to the conclusion does not exist!). This little tip could be used for any email [...]</description>
		<content:encoded><![CDATA[<p>[...] email all the time which can be very counter productive (this is a follow up to my Blog asking what the best email client is for GTD which I have come to the conclusion does not exist!). This little tip could be used for any email [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Benefits of Using the Joomla Content Management System by Speed Up Your Website By Using Cache</title>
		<link>http://www.amitywebsolutions.co.uk/blog/content-management/36-the-benefits-of-using-the-joomla-content-management-system/comment-page-1/#comment-1401</link>
		<dc:creator>Speed Up Your Website By Using Cache</dc:creator>
		<pubDate>Tue, 01 Jun 2010 08:08:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/?p=36#comment-1401</guid>
		<description>[...] you use the Joomla content management system you will be pleased to know cache is built in and easily [...]</description>
		<content:encoded><![CDATA[<p>[...] you use the Joomla content management system you will be pleased to know cache is built in and easily [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Speed Up Blog Posts &#8211; Use Windows Software to Post to Your Blog by Laurence Cope</title>
		<link>http://www.amitywebsolutions.co.uk/blog/blogging/575-speed-up-blog-posts-use-windows-software-to-post-to-your-blog/comment-page-1/#comment-1393</link>
		<dc:creator>Laurence Cope</dc:creator>
		<pubDate>Sat, 29 May 2010 16:40:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/general/575-speed-up-blog-posts-use-windows-software-to-post-to-your-blog/#comment-1393</guid>
		<description>Well that worked a treat! I am a convert!</description>
		<content:encoded><![CDATA[<p>Well that worked a treat! I am a convert!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Interspire Email Marketer &#8211; Integrating with Other Systems by Laurence Cope</title>
		<link>http://www.amitywebsolutions.co.uk/blog/newsletters/147-interspire-email-marketer-integrating-with-other-systems/comment-page-1/#comment-1372</link>
		<dc:creator>Laurence Cope</dc:creator>
		<pubDate>Thu, 06 May 2010 11:55:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.amitywebsolutions.co.uk/blog/?p=147#comment-1372</guid>
		<description>I have quite a lot of people asking for my code, but I need to point out it is not complete at all, but more like a half baked attempt to work out this API thing.. I would really like to spend more time on this and write a more definitive guide, but alas, time gets the better of me. 

So here is an email I sent to a few other people regarding integrating with Zencart, that tries to explain it more. Until I write another blog update and spend a little more time on it, this is all I have I am afraid. But hopefully explains how it works.. If you email me for the file and more info, you wont get anything more than this at the moment I am afraid, so I hope you can make some sense of this and it is helpful. 

The key to find out what functions you can call is to look into the subscribers.php file and find out the all the function names. Then you can call these using an XML call.

******************************************

I think I have had a good breakthrough tonight... I needed to work on the site I originally did when I wrote the blog. I originally had to change some IEM files to make updating Custom fields work. But I updated IEM to the latest version recently for which my code did not work... so I decided to see if I can get away with not changing IEM code (so future updates work OK).

It turns out you can use the XML API to call the PHP API functions found in /admin/functions/api/subscribers.php. So you can see all the possible functions in this file such as &quot;SaveSubscriberCustomField()&quot;. The problem I had was how to call this PHP function using the XML call. If you have the system on the same server you are integrating I think you can include the Interspire PHP files into your other system so you can call this PHP function directly... but my systems are on a different server so I need to use the XML via CURL. In the xml.php file within the &quot;switch ($handlerMethod)&quot; for the default case, is a little script that says &quot;if the XML method does not exist, use the PHP function of same name&quot;. So I just found out how to use the XML to call the functions in the subscribers.php file such as &quot;SaveSubscriberCustomField()&quot;. This means I do NOT need to modify IEM files which I wanted to avoid, and why I dont want to give the files out.

One problem though is to update Custom Fields only one XML call can be made per custom field (I think) so I have to loop through an array of all the custom field data and send the XML call each time. This is not good due to multiple CURL operations each time a change is made, it would probably increase time and resources, but I cant see how to pass all the data in one XML call.

So I should update the blog sometime to describe this with an example, although I am really busy. But i get a lot of people asking so I should get round to it sometime.

In the meantime &lt;a href=&quot;http://www.amitywebsolutions.co.uk/blog/wp-content/uploads/2010/05/iem_subscriber_update.zip&quot; rel=&quot;nofollow&quot;&gt;I have attached&lt;/a&gt; a class file I have created that I include in my Zencart files, in each page for creating an account, editing an account, changing newsletter subscriptions and updating address book and contact details. On each of these page files I call the relevant class methods. I include the file as follows:-

require(&#039;iem_subscriber_update.php&#039;);
$iem_update = new IemUpdater();

Then I can call the functions in my system as follows:-

$iem_update-&gt;iemEditExistingUser($iem_newsletter_user, $customer);

You can see I pass some arrays of data to these functions which is passed to IEM.

I also do a lot of coding before calling these functions to process the data into correct formats, check if the email address has changed etc. These are in specific Zencart files and may be different for every system to integrate with.

It STILL needs improvement... for example... I have not yet used the function to get the subscriber ID based on Email address, I have been storing the subscriber ID in my Zencart database for use when changing newsletter data, which is not good. I need to use the email address to retrieve the ID from IEM. Also, I store Custom Data in my Zencart database, but there may be a function to get it from IEM which is also the best way.

There is also some customer specific code in the file, such as in the iemAddSubscriberToList() function. I need to streamline this function like the others and take the customer specific code out back into Zencart.

*********************************************************

Hope this helps until I am able to write an explanation on my blog.</description>
		<content:encoded><![CDATA[<p>I have quite a lot of people asking for my code, but I need to point out it is not complete at all, but more like a half baked attempt to work out this API thing.. I would really like to spend more time on this and write a more definitive guide, but alas, time gets the better of me. </p>
<p>So here is an email I sent to a few other people regarding integrating with Zencart, that tries to explain it more. Until I write another blog update and spend a little more time on it, this is all I have I am afraid. But hopefully explains how it works.. If you email me for the file and more info, you wont get anything more than this at the moment I am afraid, so I hope you can make some sense of this and it is helpful. </p>
<p>The key to find out what functions you can call is to look into the subscribers.php file and find out the all the function names. Then you can call these using an XML call.</p>
<p>******************************************</p>
<p>I think I have had a good breakthrough tonight&#8230; I needed to work on the site I originally did when I wrote the blog. I originally had to change some IEM files to make updating Custom fields work. But I updated IEM to the latest version recently for which my code did not work&#8230; so I decided to see if I can get away with not changing IEM code (so future updates work OK).</p>
<p>It turns out you can use the XML API to call the PHP API functions found in /admin/functions/api/subscribers.php. So you can see all the possible functions in this file such as &#8220;SaveSubscriberCustomField()&#8221;. The problem I had was how to call this PHP function using the XML call. If you have the system on the same server you are integrating I think you can include the Interspire PHP files into your other system so you can call this PHP function directly&#8230; but my systems are on a different server so I need to use the XML via CURL. In the xml.php file within the &#8220;switch ($handlerMethod)&#8221; for the default case, is a little script that says &#8220;if the XML method does not exist, use the PHP function of same name&#8221;. So I just found out how to use the XML to call the functions in the subscribers.php file such as &#8220;SaveSubscriberCustomField()&#8221;. This means I do NOT need to modify IEM files which I wanted to avoid, and why I dont want to give the files out.</p>
<p>One problem though is to update Custom Fields only one XML call can be made per custom field (I think) so I have to loop through an array of all the custom field data and send the XML call each time. This is not good due to multiple CURL operations each time a change is made, it would probably increase time and resources, but I cant see how to pass all the data in one XML call.</p>
<p>So I should update the blog sometime to describe this with an example, although I am really busy. But i get a lot of people asking so I should get round to it sometime.</p>
<p>In the meantime <a href="http://www.amitywebsolutions.co.uk/blog/wp-content/uploads/2010/05/iem_subscriber_update.zip" rel="nofollow">I have attached</a> a class file I have created that I include in my Zencart files, in each page for creating an account, editing an account, changing newsletter subscriptions and updating address book and contact details. On each of these page files I call the relevant class methods. I include the file as follows:-</p>
<p>require(&#8216;iem_subscriber_update.php&#8217;);<br />
$iem_update = new IemUpdater();</p>
<p>Then I can call the functions in my system as follows:-</p>
<p>$iem_update->iemEditExistingUser($iem_newsletter_user, $customer);</p>
<p>You can see I pass some arrays of data to these functions which is passed to IEM.</p>
<p>I also do a lot of coding before calling these functions to process the data into correct formats, check if the email address has changed etc. These are in specific Zencart files and may be different for every system to integrate with.</p>
<p>It STILL needs improvement&#8230; for example&#8230; I have not yet used the function to get the subscriber ID based on Email address, I have been storing the subscriber ID in my Zencart database for use when changing newsletter data, which is not good. I need to use the email address to retrieve the ID from IEM. Also, I store Custom Data in my Zencart database, but there may be a function to get it from IEM which is also the best way.</p>
<p>There is also some customer specific code in the file, such as in the iemAddSubscriberToList() function. I need to streamline this function like the others and take the customer specific code out back into Zencart.</p>
<p>*********************************************************</p>
<p>Hope this helps until I am able to write an explanation on my blog.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
