<?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>Athena's Pad &#187; WordPress</title>
	<atom:link href="http://athena.outer-reaches.com/wp/index.php/archives/category/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://athena.outer-reaches.com/wp</link>
	<description>Notes from the codex of wisdom and war according to AthenaOfDelphi</description>
	<lastBuildDate>Sun, 27 Jun 2010 15:58:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>ACFW and WordPress 3</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/737</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/737#comments</comments>
		<pubDate>Sun, 18 Apr 2010 22:15:08 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ACFW]]></category>
		<category><![CDATA[WordPress 3.0]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=737</guid>
		<description><![CDATA[For anyone who uses my Advanced Custom Field Widget, I thought I&#8217;d get ahead of the game and see how it fairs when running under WordPress 3.  My initial tests running WP3 on my development blog suggest it will be fine, and should not require any changes.
The tests were done with ACFW Version 0.82 [...]]]></description>
			<content:encoded><![CDATA[<p>For anyone who uses my Advanced Custom Field Widget, I thought I&#8217;d get ahead of the game and see how it fairs when running under WordPress 3.  My initial tests running WP3 on my development blog suggest it will be fine, and should not require any changes.</p>
<p>The tests were done with ACFW Version 0.82 and WordPress 3.0 (Beta 1).</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/737/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW Version 0.82 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/700</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/700#comments</comments>
		<pubDate>Mon, 21 Dec 2009 12:40:09 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress 2.9]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=700</guid>
		<description><![CDATA[With the release of WordPress 2.9, a fault with the Advanced Custom Field Widget was identified which resulted in blank instances of the widget being displayed.  Version 0.82 (available here) has just been released to address the problem.
For more information about the widget, check out my wiki.
]]></description>
			<content:encoded><![CDATA[<p>With the release of WordPress 2.9, a fault with the Advanced Custom Field Widget was identified which resulted in blank instances of the widget being displayed.  Version 0.82 (available <a href="http://wordpress.org/extend/plugins/advanced-custom-field-widget/">here</a>) has just been released to address the problem.</p>
<p>For more information about the widget, check out my <a href="http://athena.outer-reaches.com/wiki/doku.php?id=projects:acfw:home">wiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/700/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ACFW Version 0.8 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/682</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/682#comments</comments>
		<pubDate>Fri, 24 Jul 2009 21:47:12 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=682</guid>
		<description><![CDATA[I&#8217;m pleased to announce, after a bit of a delay, the next version of the Advanced Custom Field Widget has just hit the WordPress Subversion servers.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce, after a bit of a delay, the next version of the Advanced Custom Field Widget has just hit the WordPress Subversion servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/682/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Custom Field Widget Moved</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/677</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/677#comments</comments>
		<pubDate>Fri, 24 Jul 2009 21:05:15 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=677</guid>
		<description><![CDATA[With the release of version 0.8 of the Advanced Custom Field Widget, I&#8217;ve elected to move the information page for it to a new wiki, setup to provide more detailed information for ACFW and some of my other projects.
The wiki is located at http://athena.outer-reaches.com/wiki/ and is accessible through the &#8216;Wiki&#8217; option in the menu at [...]]]></description>
			<content:encoded><![CDATA[<p>With the release of version 0.8 of the Advanced Custom Field Widget, I&#8217;ve elected to move the information page for it to a new wiki, setup to provide more detailed information for ACFW and some of my other projects.</p>
<p>The wiki is located at <a href="http://athena.outer-reaches.com/wiki/">http://athena.outer-reaches.com/wiki/</a> and is accessible through the &#8216;Wiki&#8217; option in the menu at the top of each page.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/677/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress media library open_basedir error</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/664</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/664#comments</comments>
		<pubDate>Fri, 17 Jul 2009 19:22:53 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=664</guid>
		<description><![CDATA[Well, seems today is my lucky day for finding useful bits of information out about WordPress.  Here&#8217;s the deal&#8230; you backup your site, move servers, restore everything and it all appears to work, BUT, when you go back and try and add an old image that you uploaded before you moved, it won&#8217;t display [...]]]></description>
			<content:encoded><![CDATA[<p>Well, seems today is my lucky day for finding useful bits of information out about WordPress.  Here&#8217;s the deal&#8230; you backup your site, move servers, restore everything and it all appears to work, BUT, when you go back and try and add an old image that you uploaded before you moved, it won&#8217;t display the image in the media library&#8230;  instead you&#8217;re getting an error spouting something about security and open_basedir&#8230; if this is your problem&#8230; read on as I have a solution.<span id="more-664"></span></p>
<p><b>Disclaimer -</b> This fix is not for the faint hearted.  If you are not happy about executing SQL, then don&#8217;t do this.</p>
<p>In fact, this is more than a fix just for the open_basedir error message I mentioned.  If you have moved your blog, its possible that this problem is affecting you too.  Whether or not you receive the error message about open_basedir depends on the version of PHP you are using and the configuration of PHP on your server.</p>
<p>The problem is caused because items uploaded via the media manager in WordPress are stored in the posts table and some of their path data is stored in the postmeta table, so even though you change the upload path in the config file and the miscellaneous options, these paths in postmeta remain unchanged.</p>
<p>The net result is, that when you move your blog to another host, if the OS/server is configured slightly differently, the paths that WordPress uses for locating the thumbnails for the uploaded images are drawn from postmeta which of course was created on a different host so the paths are different.</p>
<p>Now, ordinarily what might happen is the system will point the thumbnail at the full size image and have the browser scale it, BUT, with PHP 5 and it&#8217;s enhanced security, PHP might attempt to open a file which is in an area that you aren&#8217;t supposed to access.  If this is the case, you&#8217;ll probably get an error message about trying to open a file outside open_basedir (or words to that effect) and instead of getting the thumbnail and options, you&#8217;ll get nothing except the error for that item.</p>
<p>The only way I&#8217;ve found to fix this is to run a bit of SQL against the database which corrects the now erroneous entries in postmeta.</p>
<p><code><br />
UPDATE<br />
  wp_postmeta<br />
SET<br />
  meta_value=concat('/var/www',right(meta_value,length(meta_value)-length('/home/httpd')))<br />
WHERE<br />
  (meta_key="_wp_attached_file") AND<br />
  (instr(meta_value,'/home/httpd')&gt;0)<br />
</code></p>
<p>This is the code I ran.  You will need to adjust this, but what this does is looks for all postmeta records which have &#8216;/home/httpd&#8217; at the start of them (this is the part of the old path which is different).  We then update them by trimming off the &#8216;/home/httpd&#8217; (done using the right(meta_value,length(meta_value)-length(&#8216;/home/httpd&#8217;)) function) and sticking the new path component &#8216;/var/www&#8217; on the front (done with the concat function).</p>
<p>So, in the postmeta table, all _wp_attached_file records that have /home/httpd at the start, have that replaced with /var/www, making them correct once more.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/664/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress flash uploader not working</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/653</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/653#comments</comments>
		<pubDate>Fri, 17 Jul 2009 10:46:34 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=653</guid>
		<description><![CDATA[Here&#8217;s a little nugget which may help you if, you&#8217;ve tightened up the security on your blog only to find somethings (in this case, the flash uploader) don&#8217;t work.
So, you&#8217;ve been careful, you&#8217;ve downloaded the security scan plugin from Semper Fi Web Design and you&#8217;ve followed all the advice it provides&#8230; your blog is nice [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a little nugget which may help you if, you&#8217;ve tightened up the security on your blog only to find somethings (in this case, the flash uploader) don&#8217;t work.<span id="more-653"></span></p>
<p>So, you&#8217;ve been careful, you&#8217;ve downloaded the security scan plugin from Semper Fi Web Design and you&#8217;ve followed all the advice it provides&#8230; your blog is nice and secure.  Although you may not now be able to login as administrator, but thats a different problem which took out one of the blogs I look after and, from the looks of the posts I&#8217;ve read, several others&#8230; anyhow, thats a story for someone else to tell&#8230; unless you&#8217;re desperate and you can&#8217;t login to your blog, in which case, do a search for force-upgrade or force-update, as that fixed it for me and allowed me to login as admin (although some other users have reported that whilst that worked, it didn&#8217;t restore their admin rights&#8230; there are posts around about that too).  Anyhow, I digress&#8230;</p>
<p>The advice from Semper Fi about securing your blog includes securing the wp-admin folder so that authentication is required to execute the PHP scripts it contains.  Great advice, unfortunately, what they don&#8217;t do is give a good example of what to drop in your .htaccess file to protect your wp-admin directory.  So, if like me, you have half a clue (we&#8217;ll come onto the missing half shortly), you&#8217;ll run a search and find either the information you need to secure it or an example.  You&#8217;ll implement the change and everything will be sweet&#8230; or so you think.</p>
<p>Time will tick by and one day you&#8217;ll want to post an update which includes some media&#8230; you&#8217;ll try the flash uploader which used to work, and it will suddenly ask you for authentication&#8230; you&#8217;ll suddenly remember that you&#8217;ve updated WordPress (a couple of times), and what else have you changed???? I can&#8217;t remember&#8230; what could be causing it&#8230; ARGH!!!!</p>
<p>Then you&#8217;ll remember the authentication fix you added to your .htaccess file, you&#8217;ll pop the username and password in there, but still nothing&#8230; no matter what you do, it won&#8217;t work.  And that brings me to that missing half a clue.</p>
<p>The flash updater struts it&#8217;s funky stuff by calling a script&#8230; that script is protected by our .htaccess mod that prevents unauthenticated users from accessing it, and for some reason, the authentication doesn&#8217;t appear to work.  The answer is to modify the .htaccess file to include a bypass for the script used by the uploader.</p>
<p>So, to get the flash uploader working again, drop this on the end of your .htaccess file that protectes the wp-admin directory.</p>
<p><code><br />
&lt;Files async-upload.php&gt;<br />
  Order Allow,Deny<br />
  Allow from all<br />
&lt;/Files&gt;<br />
</code></p>
<p>Once I did this, and regained my missing half clue, my uploader was fine again.  Lets just pray there are no security holes in that script.</p>
<p>And for the record, let me be 100% clear, I&#8217;m not slagging off the security scan plugin. Overall, it&#8217;s great, but it does suggest you tighten up the security on the wp-admin directory but then fails to provide a good example of how it&#8217;s done (or at least, at the time of writing I can&#8217;t find a good example they provide) and I&#8217;ve had it knacker one blog and prevent the admin from logging in when it did the database table rename (admittedly, the config file wasn&#8217;t writeable but that not being writeable and the administrator losing their admin rights&#8230; I fail to see how the two are linked).  That did cause me a major headache, but overall, the plugin does a great job, but some aspects of it are a little flakey, but it is still under development, so hopefully they&#8217;ll get all the little teething troubles sorted.  Then it will be a fantastic plugin.</p>
<p>And just in case you are looking for a complete example of securing the wp-admin directory&#8230;. here&#8217;s my .htaccess file (suitably tweaked to keep somethings secret).</p>
<p><code><br />
&lt;Files ~ "\.(php)$"&gt;<br />
  AuthUserFile <PATHTOPASSWORDFILE><br />
  AuthType Basic<br />
  AuthName "Athena's Pad - Admin Area"<br />
  Order Deny,Allow<br />
  Deny from all<br />
  Require valid-user<br />
  Satisfy any<br />
&lt;/Files&gt;<br />
&lt;Files async-upload.php&gt;<br />
  Order Allow,Deny<br />
  Allow from all<br />
&lt;/Files&gt;<br />
</code></p>
<p>So, to use this, create .htaccess in the wp-admin directory, drop this into it. Provide the full path to your the password file (see the Apache documentation about htaccess and creating password files for information about creating them) and that should be it&#8230; for obvious reason, your password file should not be accessible via the webserver.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/653/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ACFW Update</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/632</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/632#comments</comments>
		<pubDate>Thu, 11 Jun 2009 10:46:53 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress 2.8]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=632</guid>
		<description><![CDATA[For anyone that is using the Advanced Custom Field Widget, I can confirm that it is compatible with version 2.8 of WordPress.
I have a few plans for things I want to include in version 0.6 but I&#8217;m a bit tied up with work and one or two other things at the moment.  As soon [...]]]></description>
			<content:encoded><![CDATA[<p>For anyone that is using the Advanced Custom Field Widget, I can confirm that it is compatible with version 2.8 of WordPress.</p>
<p>I have a few plans for things I want to include in version 0.6 but I&#8217;m a bit tied up with work and one or two other things at the moment.  As soon as my current urgent commitments are finished, I plan on knuckling down and getting 0.6 finished off and released.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/632/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW Version 0.5 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/584</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/584#comments</comments>
		<pubDate>Mon, 02 Mar 2009 22:46:12 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=584</guid>
		<description><![CDATA[Following the report of an issue with the Advanced Custom Field Widget, I&#8217;ve released version 0.5.
The problem was that under certain circumstances, the widget failed to display the information linked to a particular page.  It was caused by other widgets using the $post variables.  Thanks to James Collins for highlighting this after he [...]]]></description>
			<content:encoded><![CDATA[<p>Following the report of an issue with the Advanced Custom Field Widget, I&#8217;ve released version 0.5.</p>
<p>The problem was that under certain circumstances, the widget failed to display the information linked to a particular page.  It was caused by other widgets using the $post variables.  Thanks to James Collins for highlighting this after he put the widget below the recent posts widget and found it didn&#8217;t display anything.</p>
<p>Get the latest version <a href="http://wordpress.org/extend/plugins/advanced-custom-field-widget/" target="_BLANK">here</a> or upgrade it automatically using the plugin manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/584/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW Version 0.4 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/544</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/544#comments</comments>
		<pubDate>Tue, 10 Feb 2009 21:18:28 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=544</guid>
		<description><![CDATA[Well, what a fiasco that was&#8230; my first plugin and I release it unfinished!
Apologies to anyone who has downloaded it and is now using it, but version 0.3 had a couple of issues that I desperately wanted to fix.

First up, when the plugin is deactivated, it deletes it&#8217;s configuration&#8230; not great when you use the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, what a fiasco that was&#8230; my first plugin and I release it unfinished!</p>
<p>Apologies to anyone who has downloaded it and is now using it, but version 0.3 had a couple of issues that I desperately wanted to fix.<br />
<span id="more-544"></span></p>
<p>First up, when the plugin is deactivated, it deletes it&#8217;s configuration&#8230; not great when you use the automatic updates&#8230; so, for upgrading to version 0.4 I highly recommend a manual upgrade.  I&#8217;ve tried deactivating the plugin on my development blog and the changes appear to work as the configuration is still there once it&#8217;s reactivated.  Feedback would be appreciated if you have problems with this as I want to get any issues like that nailed early on.</p>
<p>The other thing I wanted to fix was the lack of a .POT file.  I believe the one that&#8217;s now provide is up to scratch.  If not, again&#8230; feedback is appreciated.</p>
<p>I should also give a shout out to Jacob Santos for his information about the uninstall hooks in WordPress 2.7 (available on his blog at <a href="http://www.santosj.name/2008/general/wordpress-27-plugin-uninstall-methods/" target="_BLANK">http://www.santosj.name/2008/general/wordpress-27-plugin-uninstall-methods/</a>).  Unfortunately I found his example of the uninstall file didn&#8217;t work and I had a nightmare getting it to work, so here&#8217;s the one from ACFW.</p>
<pre class="code">
&lt;?php

if (defined("WP_UNINSTALL_PLUGIN")==TRUE)
{
	if (current_user_can(activate_plugins))
	{
		delete_option("widget_adv_custom_field");
	}
}

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/544/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW available on WordPress.org</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/541</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/541#comments</comments>
		<pubDate>Tue, 10 Feb 2009 13:30:07 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=541</guid>
		<description><![CDATA[I have finally gotten around to getting my beefed up version of Scott Wallick&#8217;s Custom Field Widget published on WordPress.org.
http://wordpress.org/extend/plugins/advanced-custom-field-widget/.
But I just noticed that I haven&#8217;t sorted the translation code out! DOH!!!  So, if you download it and expect it to be capable of being localised, I&#8217;m afraid it&#8217;s not at the moment.  [...]]]></description>
			<content:encoded><![CDATA[<p>I have finally gotten around to getting my beefed up version of Scott Wallick&#8217;s Custom Field Widget published on WordPress.org.</p>
<p><a href="http://wordpress.org/extend/plugins/advanced-custom-field-widget/" target="_BLANK">http://wordpress.org/extend/plugins/advanced-custom-field-widget/</a>.</p>
<p>But I just noticed that I haven&#8217;t sorted the translation code out! DOH!!!  So, if you download it and expect it to be capable of being localised, I&#8217;m afraid it&#8217;s not at the moment.  I&#8217;ll see if I can get it sorted this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/541/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
