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

<channel>
	<title>Brewsterware</title>
	<atom:link href="http://www.brewsterware.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.brewsterware.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 Jul 2011 20:12:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Affiliate link cloaker WordPress plugin</title>
		<link>http://www.brewsterware.com/affiliate-link-cloaker-wordpress-plugin.html</link>
		<comments>http://www.brewsterware.com/affiliate-link-cloaker-wordpress-plugin.html#comments</comments>
		<pubDate>Mon, 11 Jul 2011 20:50:40 +0000</pubDate>
		<dc:creator>Joe Brewer</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.brewsterware.com/?p=286</guid>
		<description><![CDATA[Affiliate link cloaker is a free WordPress plugin that can geo target cloaked affiliate links. This plugin has the capability to generate a link like http://www.brewsterware.com/recommends/amazon and have visitors from the USA click on the link and get sent to www.amazon.com, visitors from the UK sent to www.amazon.co.uk and so on. In addition to this, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Affiliate link cloaker is a free WordPress plugin that can geo target cloaked affiliate links. This plugin has the capability to generate a link like http://www.brewsterware.com/recommends/amazon and have visitors from the USA click on the link and get sent to www.amazon.com, visitors from the UK sent to www.amazon.co.uk and so on.</p>
<p>In addition to this, these cloaked links can be automatically inserted into content. Keywords or phrases can be set to be changed to nofollowed links that open in a new window so that visitors are not taken away from your website.<br />
<span id="more-286"></span></p>
<p>Download the plugin from the <a href="http://wordpress.org/extend/plugins/alc/" target="_blank">WordPress plugin repository</a>.</p>
<p><img src="http://www.brewsterware.com/images/alc/links.jpg" /></p>
<p><strong>URL Trigger</strong></p>
<p>This represents a folder which all links will sit on top of. The default is "recommends". Here is what the links look like straight after installation:</p>
<p>http://www.brewsterware.com/recommends/amazon</p>
<p>Choose this carefully after you install the plugin, otherwise you will manually have to update any links that are not auto generated if you want to change it later.</p>
<p>The table below the url trigger shows an overview of the links. If a line is red, then there is an issue with the link - this can be that there are no addresses or no default address.</p>
<p><img src="http://www.brewsterware.com/images/alc/options.jpg" /></p>
<p><strong>Active</strong><br />
This option tells the plugin to add the cloaked links into content. Links will only be added into content automatically if this option is set, search text has been specified and there is at least one address for the link to redirect to.</p>
<p><strong>Replacement order</strong><br />
This is the order that the replacements are done within a post or page. Search text is replaced in ascending replacement order without links being nested. For example, if "Paris in the spring" is replaced with a link, Paris or spring cannot be subsequently be replaced.</p>
<p><strong>Max Replacements</strong><br />
This is the number of replacements that are performed in a page or post. If this is set to zero all occurances of the keyword/phrase will be replaced.</p>
<p><strong>Search Text</strong><br />
This is the keyword/phrase that will be turned into a link in the post or page.</p>
<p><strong>Cloaked URL suffix</strong><br />
This is the text that will be placed at the end of the cloaked url. This must be unique.</p>
<p><strong>Count Redirects</strong><br />
If this option is checked, the redirects will be counted and will be shown by each address in the address table.</p>
<p><strong>Nofollow Link</strong><br />
If this option is checked, any replacements that are made automatically will use a rel="nofollow" tag.</p>
<p><strong>Open link in new window</strong><br />
If this option is checked, any replacements that are made automatically will use a target="_blank" tag which will cause the link to open in a new window.</p>
<p><strong>Redirect type</strong><br />
These is the http status code of the link - documentation for them can be found <a href="http://en.wikipedia.org/wiki/URL_redirection" title="http status codes" target="_blank">here</a>. This will default to a 302 redirect. If this is set to a 301 redirect, most modern browsers will cache the redirect and any changes to the addresses below will not show for a specific user if they have already following the link.</p>
<p><strong>Addresses</strong><br />
New addresses can be added by clicking on the Add new address below the link options. Addresses must start with "http://" and at least one address must be set to default. If the Region Detect plugin has been installed, a list of countries will be displayed in a dropdown combo box - this can be used to geo target the addresses.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brewsterware.com/affiliate-link-cloaker-wordpress-plugin.html/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Region detect wordpress plugin</title>
		<link>http://www.brewsterware.com/region-detect-wordpress-plugin.html</link>
		<comments>http://www.brewsterware.com/region-detect-wordpress-plugin.html#comments</comments>
		<pubDate>Sun, 22 May 2011 18:57:14 +0000</pubDate>
		<dc:creator>Joe Brewer</dc:creator>
				<category><![CDATA[PHP and MySQL]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.brewsterware.com/?p=263</guid>
		<description><![CDATA[Region detect is a plugin for WordPress that detects the country that the current visitor is browsing from. It can display the country to the user; something like: Hello visitor from United States This is done by using the codes %%COUNTRYCOD E%% and %%COUNTRYNAM E%% in your posts (take out the spaces). The plugin makes [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Region detect is a plugin for WordPress that detects the country that the current visitor is browsing from. It can display the country to the user; something like:</p>
<p>Hello visitor from United States</p>
<p>This is done by using the codes %%COUNTRYCOD E%% and %%COUNTRYNAM E%% in your posts (take out the spaces).</p>
<p>The plugin makes the two character ISO 3166-1 country code and country name available to other plugins – just declare the global variables $rdISO3166_1 and $rdCountryName.</p>
<p><span id="more-263"></span></p>
<h2>Region detect options</h2>
<p><img src="http://www.brewsterware.com/images/regiondetect/options.jpg" alt="Region detect options screen" /></p>
<p><strong>Default country code</strong><br />
This is the code that will be used if the plugin cannot determine the country from the currently selected service.</p>
<p><strong>URL Parameter</strong><br />
This is the url parameter key. When the plugin is first installed it will default to "country" and will allow the country to be set like this: http://www.domain.com/?country={two character country code}.</p>
<p><strong>Override IP service with url parameter</strong><br />
This option forces the plugin to check the url parameter before the selected service below. If caching is switched on, this option will overwrite the IP in the cache if it exists.</p>
<p><strong>IP address to country service</strong><br />
This plugin currently only supports MaxMind's country lookup service. MaxMind offer a downloadable database file which is updated monthly and a web service which always provides current data without having to update any local files. MaxMind's website can be found <a rel="nofollow" target="_blank" href="http://www.brewsterware.com/maxmind.php">here</a> <span style="font-style: superscript;">*</span>.</p>
<p><strong>License key</strong><br />
This is used for the MaxMind license key – this is only used when you select the MaxMind web service using the option above.</p>
<p><strong>Database file</strong><br />
This combo box lists all of the MaxMind database files that are in the plugin folder.</p>
<p><strong>Cache ip addresses</strong><br />
This option allows the ip addresses and country codes to be temporarily stored. This only needs to be turned on when the web service has been selected and will slow down the number of ip address lookups that are performed. When the cache is switched on, a table will be displayed below the options panel showing how many ip addresses are being cached:</p>
<p><img src="http://www.brewsterware.com/images/regiondetect/cache.jpg" alt="Region detect cache screen" /></p>
<p>Thanks to James Gill at <a target="_blank" href="http://www.gosquared.com/">GoSquared</a> for allowing me to use his <a target="_blank" href="http://www.gosquared.com/liquidicity/archives/1493">Flag icons</a> in this plugin.</p>
<p><strong>Cache length</strong><br />
This option determines the length of time that the ip addresses are temporarily stored for.</p>
<h2>Search engine robot exclusion rules</h2>
<p><img src="http://www.brewsterware.com/images/regiondetect/searchengine.jpg" alt="Search engine exemption rules screen" /></p>
<p>This option is for stopping search engine robots from causing the plugin to lookup an ip address. If the web page is not being requested by a human being, then it is not worth looking up the address. This works by looking at the user agent and seeing if they contain any of the rules. Common user agents include:</p>
<p>Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1<br />
Opera/9.01 (Windows NT 5.1; U; en)</p>
<p><strong>Check search engine bot rules</strong><br />
This option logs all useragents, the number of hits and the number of exclusions. Use this option for checking the rules and whether new rules need to be added.</p>
<p><img src="http://www.brewsterware.com/images/regiondetect/robots.jpg" alt="Useragent logging screen" /></p>
<p><span style="font-size: 70%;">* This is an affiliate link.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brewsterware.com/region-detect-wordpress-plugin.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress autoblogging plugin</title>
		<link>http://www.brewsterware.com/wordpress-autoblogging-plugin.html</link>
		<comments>http://www.brewsterware.com/wordpress-autoblogging-plugin.html#comments</comments>
		<pubDate>Tue, 14 Dec 2010 21:22:02 +0000</pubDate>
		<dc:creator>Joe Brewer</dc:creator>
				<category><![CDATA[Caffinated Content]]></category>
		<category><![CDATA[PHP and MySQL]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.brewsterware.com/?p=255</guid>
		<description><![CDATA[So, further to my previous post I now have a fully functioning autoblogging plugin for wordpress based on all of requirements of using cron jobs and other bits. It wasnt as easy as I initially thought it would be as I've had to pretty much touch every line of code in the software - I [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>So, further to my <a href="http://www.brewsterware.com/updates-for-caffinated-content.html">previous post</a> I now have a fully functioning <a href="http://www.expressocontent.com">autoblogging plugin for wordpress</a> based on all of requirements of using cron jobs and other bits.</p>
<p>It wasnt as easy as I initially thought it would be as I've had to pretty much touch every line of code in the software - I wonder if it would have been easier to write the plugin from scratch. Anyway if you want to try it out I am looking for beta testers for this software which I have named <a href="http://www.expressocontent.com/blog/beta-testers-needed.html">Expresso Content</a>.  Feel free to sign up and get this plugin for free - this offer wont last long.</p>
<p>US - United States</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brewsterware.com/wordpress-autoblogging-plugin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>strptime for windows</title>
		<link>http://www.brewsterware.com/strptime-for-windows.html</link>
		<comments>http://www.brewsterware.com/strptime-for-windows.html#comments</comments>
		<pubDate>Sun, 22 Aug 2010 18:36:42 +0000</pubDate>
		<dc:creator>Joe Brewer</dc:creator>
				<category><![CDATA[PHP and MySQL]]></category>

		<guid isPermaLink="false">http://www.brewsterware.com/?p=245</guid>
		<description><![CDATA[I was searching for a windows implementation for the php function strptime, however the best help/advice that I could find was read the source code and write it yourself. Here is my implentation that I knocked up with date_parse_from_format so you can use it on version of php less than 5.3.0]]></description>
			<content:encoded><![CDATA[<p></p><p>I was searching for a windows implementation for the php function strptime, however the best help/advice that I could find was read the source code and write it yourself.  Here is my implentation that I knocked up with date_parse_from_format so you can use it on version of php less than 5.3.0</p>
<pre class="brush: php; title: ; notranslate">if (!function_exists('date_parse_from_format')) {
	function date_parse_from_format($format, $date) {
		$returnArray = array('hour' =&gt; 0, 'minute' =&gt; 0, 'second' =&gt; 0,
							'month' =&gt; 0, 'day' =&gt; 0, 'year' =&gt; 0);

		$dateArray = array();

		// array of valid date codes with keys for the return array as the values
		$validDateTimeCode = array('Y' =&gt; 'year', 'y' =&gt; 'year',
									'm' =&gt; 'month', 'n' =&gt; 'month',
									'd' =&gt; 'day', 'j' =&gt; 'day',
									'H' =&gt; 'hour', 'G' =&gt; 'hour',
									'i' =&gt; 'minute', 's' =&gt; 'second');

		/* create an array of valid keys for the return array
		 * in the order that they appear in $format
		 */
		for ($i = 0 ; $i &lt;= strlen($format) - 1 ; $i++) {
			$char = substr($format, $i, 1);

			if (array_key_exists($char, $validDateTimeCode)) {
				$dateArray[$validDateTimeCode[$char]] = '';
			}
		}

		// create array of reg ex things for each date part
		$regExArray = array('.' =&gt; '\.', // escape the period

							// parse d first so we dont mangle the reg ex
							// day
							'd' =&gt; '(\d{2})',

							// year
							'Y' =&gt; '(\d{4})',
							'y' =&gt; '(\d{2})',

							// month
							'm' =&gt; '(\d{2})',
							'n' =&gt; '(\d{1,2})',

							// day
							'j' =&gt; '(\d{1,2})',

							// hour
							'H' =&gt; '(\d{2})',
							'G' =&gt; '(\d{1,2})',

							// minutes
							'i' =&gt; '(\d{2})',

							// seconds
							's' =&gt; '(\d{2})');

		// create a full reg ex string to parse the date with
		$regEx = str_replace(array_keys($regExArray),
								array_values($regExArray),
								$format);

		// Parse the date
		preg_match(&quot;#$regEx#&quot;, $date, $matches);

		// some checks...
		if (!is_array($matches) ||
			$matches[0] != $date ||
			sizeof($dateArray) != (sizeof($matches) - 1)) {
			return $returnArray;
		}

		// an iterator for the $matches array
		$i = 1;

		foreach ($dateArray AS $key =&gt; $value) {
			$dateArray[$key] = $matches[$i++];

			if (array_key_exists($key, $returnArray)) {
				$returnArray[$key] = $dateArray[$key];
			}
		}

		return $returnArray;
	}
}

if (!function_exists('strptime')) {
	function strptime($format, $date) {
		$dateArray = array();

		$dateArray = date_parse_from_format($format, $date);

		if (is_array($dateArray)) {
			return mktime($dateArray['hour'],
							$dateArray['minute'],
							$dateArray['second'],
							$dateArray['month'],
							$dateArray['day'],
							$dateArray['year']);
		} else {
			return 0;
		}
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brewsterware.com/strptime-for-windows.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Updates for Caffinated Content</title>
		<link>http://www.brewsterware.com/updates-for-caffinated-content.html</link>
		<comments>http://www.brewsterware.com/updates-for-caffinated-content.html#comments</comments>
		<pubDate>Thu, 12 Aug 2010 22:40:28 +0000</pubDate>
		<dc:creator>Joe Brewer</dc:creator>
				<category><![CDATA[Caffinated Content]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.brewsterware.com/?p=241</guid>
		<description><![CDATA[For those of you that use Caffinated Content you may be interested to heat that kansieo has decided to sell 19 copies of the source code to Caffinated Content - it was 20, but I've bought one.  Full details can be found here - In a nutshell kansieo is allowing 20 developers to take the [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>For those of you that use Caffinated Content you may be interested to heat that kansieo has decided to sell 19 copies of the source code to Caffinated Content - it was 20, but I've bought one.  Full details can be found <a href="http://kansieo.com/2010/08/12/kansieo-com-newsletter-caffeinated-content-the-developers-cut/" target="_blank">here</a> - In a nutshell kansieo is allowing 20 developers to take the source code, improve it, and update it.</p>
<p>What would you like to see in future releases ?  Here's a list of mine:</p>
<ul>
<li>Cron jobs for adding posts - a set number per day.</li>
<li>Cron jobs setup to add posts to different categories from specific sources.</li>
<li>Support for more sites to collect content from - maybe use a plugin architechture to add new sites.</li>
<li>The ability to poll for content to be posted from a specific folder.  A file in xml format could allow for wordpress post fields such as post date, title, content etc could be used appropriately in each post.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brewsterware.com/updates-for-caffinated-content.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.brewsterware.com @ 2012-05-18 12:51:19 -->
