<?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>Harry Bailey</title>
	<atom:link href="http://harrybailey.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://harrybailey.com</link>
	<description>just a little bit geeky</description>
	<lastBuildDate>Wed, 21 Jul 2010 07:46:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hide topics row in Postbox message view</title>
		<link>http://harrybailey.com/2010/07/hide-topics-row-in-postbox-message-view/</link>
		<comments>http://harrybailey.com/2010/07/hide-topics-row-in-postbox-message-view/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 07:45:30 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[apps]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=457</guid>
		<description><![CDATA[I love Postbox. I talk about it a lot. However Postbox is trying to be more than a mail client and as part of that is attempting to sneak into the world of GTD with the inclusion of todos and topics.
Now call me old fashioned but I use Things for my GTD stuff and so [...]]]></description>
			<content:encoded><![CDATA[<p>I love Postbox. I talk about it a lot. However <a href="http://postbox-inc.com/">Postbox</a> is trying to be more than a mail client and as part of that is attempting to sneak into the world of GTD with the inclusion of todos and topics.</p>
<p>Now call me old fashioned but I use <a href="http://culturedcode.com/things/">Things</a> for my GTD stuff and so don&#8217;t use todos or topics in Postbox.</p>
<p>&#8220;Not a problem really is it?&#8221; I hear you yell. Well no until you look at the amount of space the topic row of Message View takes up. Believe me on a small screen this matters:<br />
<span id="more-457"></span></p>
<div id="attachment_458" class="wp-caption aligncenter" style="width: 310px"><img src="http://harrybailey.com/wp-content/uploads/2010/07/postbox-topics-300x121.jpg" alt="postbox topics" title="postbox topics" width="300" height="121" class="size-medium wp-image-458" /><p class="wp-caption-text">postbox topics</p></div>
<p>Lucky Thunderbird (and therefore Postbox) has a way to edit the Chrome (or look and feel) using CSS.<br />
Even better it&#8217;s done on a profile level, so you don&#8217;t have to worry about losing your changes when you upgrade.</p>
<p>1) Add a new folder and call it &#8216;chrome&#8217; into your profile folder. On a mac you profile folder can be found in either systems Library/Application Support/ folder or your own user version of the Library/Application Support/</p>
<p>~/Library/Application Support/Postbox</p>
<p>2) Add a file into that folder called <strong>userChrome.css</strong></p>
<p>3) Edit that file and add the following:</p>

<div class="wp_syntax"><div class="code"><pre class="css css" style="font-family:monospace;"><span style="color: #cc00cc;">#tagsBox</span><span style="color: #6666ff;">.mailheader</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span>;
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>4) Restart Postbox.<br />
<div id="attachment_459" class="wp-caption aligncenter" style="width: 310px"><img src="http://harrybailey.com/wp-content/uploads/2010/07/postbox-notopics-300x97.jpg" alt="postbox no topics" title="postbox no topics" width="300" height="97" class="size-medium wp-image-459" /><p class="wp-caption-text">postbox no topics</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/07/hide-topics-row-in-postbox-message-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fancybox left and right key problem</title>
		<link>http://harrybailey.com/2010/06/fancybox-left-and-right-key-problem/</link>
		<comments>http://harrybailey.com/2010/06/fancybox-left-and-right-key-problem/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 11:40:04 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=452</guid>
		<description><![CDATA[When you use fancybox, it automatically adds listeners which stop any other use of the Esc, Left and Right keys on your keyboard. The just don&#8217;t work in forms etc inside Fancybox.
This isn&#8217;t such an issue with the escape key, but not being able to use the left and right, for example in text inputs, [...]]]></description>
			<content:encoded><![CDATA[<p>When you use fancybox, it automatically adds listeners which stop any other use of the Esc, Left and Right keys on your keyboard. The just don&#8217;t work in forms etc inside Fancybox.</p>
<p>This isn&#8217;t such an issue with the escape key, but not being able to use the left and right, for example in text inputs, is a pain.</p>
<p>The changes below add an additional option to Fancybox called <strong>useNextPrev</strong> which you can set to false to stop Fancybox adding listeners to these keys. I haven&#8217;t included the escape key as I think it&#8217;s far less of an issue. <span id="more-452"></span></p>
<p>The call to Fancbox after these changes would look something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.fancybox'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fancybox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>useNextPrev<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Changes needed to the fancybox javascript file:</p>
<p>replace:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #660066;">keyCode</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">37</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	e.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	$.<span style="color: #660066;">fancybox</span>.<span style="color: #660066;">prev</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #660066;">keyCode</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">39</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	e.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	$.<span style="color: #660066;">fancybox</span>.<span style="color: #660066;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>with:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>currentOpts.<span style="color: #660066;">useNextPrev</span> <span style="color: #339933;">&amp;&amp;</span> e.<span style="color: #660066;">keyCode</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">37</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	e.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	$.<span style="color: #660066;">fancybox</span>.<span style="color: #660066;">prev</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>currentOpts.<span style="color: #660066;">useNextPrev</span> <span style="color: #339933;">&amp;&amp;</span> e.<span style="color: #660066;">keyCode</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">39</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	e.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	$.<span style="color: #660066;">fancybox</span>.<span style="color: #660066;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>replace:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">	$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">fancybox</span>.<span style="color: #660066;">defaults</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
		padding				<span style="color: #339933;">:</span>	<span style="color: #CC0000;">10</span><span style="color: #339933;">,</span>
		margin				<span style="color: #339933;">:</span>	<span style="color: #CC0000;">20</span><span style="color: #339933;">,</span></pre></div></div>

<p>with:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">	$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">fancybox</span>.<span style="color: #660066;">defaults</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
		padding				<span style="color: #339933;">:</span>	<span style="color: #CC0000;">10</span><span style="color: #339933;">,</span>
		margin				<span style="color: #339933;">:</span>	<span style="color: #CC0000;">20</span><span style="color: #339933;">,</span>
		useNextPrev			<span style="color: #339933;">:</span>	<span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span></pre></div></div>

<p>And there you have it. By default Fancybox <strong>will</strong> use the left and right keys, but you now have the choice to stop it.</p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/06/fancybox-left-and-right-key-problem/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pimping Fancybox jQuery Lightbox</title>
		<link>http://harrybailey.com/2010/05/pimping-fancybox/</link>
		<comments>http://harrybailey.com/2010/05/pimping-fancybox/#comments</comments>
		<pubDate>Thu, 13 May 2010 00:10:14 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=440</guid>
		<description><![CDATA[I love fancybox. It&#8217;s a great and flexible jQuery lightbox, but I decided there were a couple of things I needed it to do that it doesn&#8217;t, so I dived into the code head first and added a couple of features. Be warned that you need to edit the file jquery.fancybox-1.3.1.js to implement them.
Combined add [...]]]></description>
			<content:encoded><![CDATA[<p>I love <a href="http://fancybox.net/">fancybox</a>. It&#8217;s a great and flexible jQuery lightbox, but I decided there were a couple of things I needed it to do that it doesn&#8217;t, so I dived into the code head first and added a couple of features. Be warned that you need to edit the file jquery.fancybox-1.3.1.js to implement them.</p>
<p><strong>Combined add and fire / show / open</strong><br />
Yes I know you can do this with $.fancybox(content, options)</p>
<p>It&#8217;s tough to add the fancybox listener and fire it at the same time, for example onclick or using a live event. That annoyed me in some circumstances. Previously I have resorted to adding fancybox to anchors on hover so it could fire onclick:<span id="more-440"></span></p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.fancybox'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fancybox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>But that&#8217;s not cool. So I added the option to the core.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// replace</span>
	$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">fancybox</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// with</span>
	$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">fancybox</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>options <span style="color: #339933;">===</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			options <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>now<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span>;
		<span style="color: #009900;">&#125;</span>
&nbsp;
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>and</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// replace</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>;
	<span style="color: #009900;">&#125;</span>;
&nbsp;
	$.<span style="color: #660066;">fancybox</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>obj<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// with</span>
&nbsp;
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>options.<span style="color: #660066;">now</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>;
	<span style="color: #009900;">&#125;</span>;
&nbsp;
	$.<span style="color: #660066;">fancybox</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>obj<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></pre></div></div>

<p>You can fire it in two ways. If you are also including options then fire it on add by including now:true as an option like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fancybox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
&nbsp;
    now<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
    showCloseButton <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
    enableEscapeButton <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>or if you are not setting options then fire it on add like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// note the (1)</span>
$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fancybox</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Either way, fancybox should now open / fire / show as soon as you attach it to an element.</p>
<p>And for my next trick&#8230;.</p>
<p><strong>Stop lightbox vertical movement</strong></p>
<p>The default behavour is for fancybox to centre itself on vertical or horizontal scroll or window resize. I needed (see the final tweak) the box to stay still vertically even if I scrolled, but stay centre horizontally.</p>
<p>To implement this I made this change:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// replace</span>
&nbsp;
		to.<span style="color: #660066;">top</span>	<span style="color: #339933;">=</span> view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>wrap.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> titleh<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shadow <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">0.5</span><span style="color: #009900;">&#41;</span>;
		to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>wrap.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shadow <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">0.5</span><span style="color: #009900;">&#41;</span>;
&nbsp;
		to.<span style="color: #660066;">top</span>	<span style="color: #339933;">=</span> Math.<span style="color: #660066;">max</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> margin<span style="color: #339933;">,</span> to.<span style="color: #660066;">top</span><span style="color: #009900;">&#41;</span>;
		to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> Math.<span style="color: #660066;">max</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> margin<span style="color: #339933;">,</span> to.<span style="color: #660066;">left</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #006600; font-style: italic;">// with</span>
&nbsp;
                <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>currentOpts.<span style="color: #660066;">centerTopOnScroll</span><span style="color: #009900;">&#41;</span>
                <span style="color: #009900;">&#123;</span>
		    to.<span style="color: #660066;">top</span>	<span style="color: #339933;">=</span> view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>wrap.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> titleh<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shadow <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">0.5</span><span style="color: #009900;">&#41;</span>;
		    to.<span style="color: #660066;">top</span>	<span style="color: #339933;">=</span> Math.<span style="color: #660066;">max</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> margin<span style="color: #339933;">,</span> to.<span style="color: #660066;">top</span><span style="color: #009900;">&#41;</span>;
                <span style="color: #009900;">&#125;</span>
&nbsp;
		to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>wrap.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shadow <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">0.5</span><span style="color: #009900;">&#41;</span>;
		to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> Math.<span style="color: #660066;">max</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> margin<span style="color: #339933;">,</span> to.<span style="color: #660066;">left</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>and then add that new option to the defaults:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// replace</span>
&nbsp;
		centerOnScroll		<span style="color: #339933;">:</span>	<span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// with</span>
&nbsp;
		centerOnScroll		<span style="color: #339933;">:</span>	<span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
		centerTopOnScroll	<span style="color: #339933;">:</span>	<span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span></pre></div></div>

<p>You can then include the new option centerTopOnScroll:false to keep the top position static even on horizontal scroll.</p>
<p>The final change I have made is:</p>
<p><strong>Clone the position and dimensions of an element</strong></p>
<p>This tweak allows you to specify an element to clone. The <strong>original</strong> lightbox created will then be in the position and have the dimensions of the specified element. I bolded original because you can then alter the dimensions and positions yourself using jquery or by updating the content.</p>
<p>To implement this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// replace</span>
&nbsp;
			final_pos <span style="color: #339933;">=</span> fancybox_get_zoom_to<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
			fancybox_process_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #006600; font-style: italic;">// with</span>
&nbsp;
			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>currentOpts.<span style="color: #660066;">clonePosition</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #006600; font-style: italic;">// get final_pos from the element we are cloning</span>
				<span style="color: #003366; font-weight: bold;">var</span> pos <span style="color: #339933;">=</span> currentOpts.<span style="color: #660066;">elementToClone</span>.<span style="color: #660066;">offset</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
				final_pos <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
								height<span style="color: #339933;">:</span>currentOpts.<span style="color: #660066;">elementToClone</span>.<span style="color: #660066;">outerHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
								width<span style="color: #339933;">:</span>currentOpts.<span style="color: #660066;">elementToClone</span>.<span style="color: #660066;">outerWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
								left<span style="color: #339933;">:</span>pos.<span style="color: #660066;">left</span><span style="color: #339933;">,</span>
								top<span style="color: #339933;">:</span>pos.<span style="color: #660066;">top</span>
							<span style="color: #009900;">&#125;</span>;
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000066; font-weight: bold;">else</span>
			<span style="color: #009900;">&#123;</span>
				final_pos <span style="color: #339933;">=</span> fancybox_get_zoom_to<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
			<span style="color: #009900;">&#125;</span>
&nbsp;
			fancybox_process_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>and</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #006600; font-style: italic;">// replace (after the previous change for vertical scroll)</span>
&nbsp;
to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>wrap.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shadow <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">0.5</span><span style="color: #009900;">&#41;</span>;
to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> Math.<span style="color: #660066;">max</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> margin<span style="color: #339933;">,</span> to.<span style="color: #660066;">left</span><span style="color: #009900;">&#41;</span>;
&nbsp;
<span style="color: #006600; font-style: italic;">// with</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>currentOpts.<span style="color: #660066;">clonePosition</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	to.<span style="color: #660066;">left</span> <span style="color: #339933;">=</span> currentOpts.<span style="color: #660066;">elementToClone</span>.<span style="color: #660066;">offset</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">left</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
<span style="color: #009900;">&#123;</span>
	to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>wrap.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shadow <span style="color: #339933;">*</span> <span style="color: #CC0000;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">0.5</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
&nbsp;
to.<span style="color: #660066;">left</span>	<span style="color: #339933;">=</span> Math.<span style="color: #660066;">max</span><span style="color: #009900;">&#40;</span>view<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> margin<span style="color: #339933;">,</span> to.<span style="color: #660066;">left</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>You then have the choice of including new options:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
clonePosition<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span>
elementToClone<span style="color: #339933;">:</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#element'</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// a jquery element</span></pre></div></div>

<p>So there you have it.</p>
<p>Combined add and fire / show / open<br />
Stop lightbox vertical movement<br />
Clone the position and dimensions of an element</p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/05/pimping-fancybox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Toggle a Fields Value</title>
		<link>http://harrybailey.com/2010/04/mysql-toggle-a-fields-value/</link>
		<comments>http://harrybailey.com/2010/04/mysql-toggle-a-fields-value/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 15:54:43 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=436</guid>
		<description><![CDATA[
UPDATE `table_name`
SET `field_name` = (SELECT CASE `field_name` WHEN 1 THEN 0 ELSE 1 END)
WHERE `id_column` = 1

Or with text strings

UPDATE `table_name`
SET `field_name` = (SELECT CASE `field_name` WHEN 'foo' THEN 'bar' ELSE 'foo' END)
WHERE `id_column` = 1

]]></description>
			<content:encoded><![CDATA[<pre>
UPDATE `table_name`
SET `field_name` = (SELECT CASE `field_name` WHEN 1 THEN 0 ELSE 1 END)
WHERE `id_column` = 1
</pre>
<p>Or with text strings</p>
<pre>
UPDATE `table_name`
SET `field_name` = (SELECT CASE `field_name` WHEN 'foo' THEN 'bar' ELSE 'foo' END)
WHERE `id_column` = 1
</pre>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/04/mysql-toggle-a-fields-value/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validation of html within inline javascript</title>
		<link>http://harrybailey.com/2010/04/validation-html-inline-javascript/</link>
		<comments>http://harrybailey.com/2010/04/validation-html-inline-javascript/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 13:43:36 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=432</guid>
		<description><![CDATA[If you are finding you need to use javascript inside an html or xhtml file and it won&#8217;t validate, then here is a little tip for you.
If you surround all your javascript with &#60;![CDATA[ and  ]]&#62; tags, all will come good.
The CDATA is seen by the validator as data which doesn&#8217;t need checking. So [...]]]></description>
			<content:encoded><![CDATA[<p>If you are finding you need to use javascript inside an html or xhtml file and it won&#8217;t validate, then here is a little tip for you.</p>
<p>If you surround all your javascript with &lt;![CDATA[ and  ]]&gt; tags, all will come good.</p>
<p>The CDATA is seen by the validator as data which doesn&#8217;t need checking. So this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;p&gt;hello&lt;/p&gt;'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>becomes this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;!</span><span style="color: #009900;">&#91;</span>CDATA<span style="color: #009900;">&#91;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;p&gt;hello&lt;/p&gt;'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Another option is to escape < and > characters server-side / in the file and then unescape with javascript</p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&amp;lt;p&amp;gt;hello&amp;lt;/p&amp;gt;'</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/&amp;lt;/'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'&lt;'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/&amp;gt;/'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/04/validation-html-inline-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More powerful jQuery getScript with cache control</title>
		<link>http://harrybailey.com/2010/03/more-powerful-jquery-getscript-with-cache-control/</link>
		<comments>http://harrybailey.com/2010/03/more-powerful-jquery-getscript-with-cache-control/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 09:09:16 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=425</guid>
		<description><![CDATA[If you love getScript as a shortcut method in jQuery but you hate not being able to control whether the script calls from the browsers cache or not then you can override the build in function with a new one which is backwards compatable, so it won&#8217;t break any of your old code, and allows [...]]]></description>
			<content:encoded><![CDATA[<p>If you love getScript as a shortcut method in jQuery but you hate not being able to control whether the script calls from the browsers cache or not then you can override the build in function with a new one which is backwards compatable, so it won&#8217;t break any of your old code, and allows you to choose true or false to caching.</p>
<p><a href="http://jamazon.co.uk/web/2008/07/21/jquerygetscript-does-not-cache/">Read the original post by Jamie Thompson</a></p>

<div class="wp_syntax"><div class="code"><pre class="javascript javascript" style="font-family:monospace;">&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
$.<span style="color: #660066;">getScript</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span> callback<span style="color: #339933;">,</span> cache<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
			type<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span>
			url<span style="color: #339933;">:</span> url<span style="color: #339933;">,</span>
			success<span style="color: #339933;">:</span> callback<span style="color: #339933;">,</span>
			dataType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;script&quot;</span><span style="color: #339933;">,</span>
			cache<span style="color: #339933;">:</span> cache
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/03/more-powerful-jquery-getscript-with-cache-control/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Making Facebook Share Button Fit In</title>
		<link>http://harrybailey.com/2010/03/making-facebook-share-button-fit-in/</link>
		<comments>http://harrybailey.com/2010/03/making-facebook-share-button-fit-in/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 16:28:01 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=420</guid>
		<description><![CDATA[The share buttons that are currently offered by sites such as Digg, Facebook and Tweetmeme all have something in common when it comes to their height. 61px seems to be a developing standard.
The problem is that when you line them all up the Facebook share button is actually wider than the others which seem to [...]]]></description>
			<content:encoded><![CDATA[<p>The share buttons that are currently offered by sites such as Digg, Facebook and Tweetmeme all have something in common when it comes to their height. 61px seems to be a developing standard.</p>
<p>The problem is that when you line them all up the Facebook share button is actually wider than the others which seem to come in at 52px.</p>
<p>Well you can make the Facebook button 52px in width without too much trouble. Facebook only use two classes to style the inner &#8216;Share&#8217; button which seems to be the decider when it comes to the buttons width.</p>
<p>By shaving a little off the left and right padding we can bring the Facebook share button back down to 52px in width and make it play nice with the other share buttons.</p>

<div class="wp_syntax"><div class="code"><pre class="css css" style="font-family:monospace;">&lt;style type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span><span style="color: #00AA00;">&gt;</span>
span <span style="color: #6666ff;">.FBConnectButton_Small</span> .FBConnectButton_Text 
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">3px</span> <span style="color: #933;">2px</span> <span style="color: #933;">2px</span>;
<span style="color: #00AA00;">&#125;</span>
&lt;/style<span style="color: #00AA00;">&gt;</span></pre></div></div>

<p>The extra span is just enough to beat the included Facebook css with a higher specificity score by 1 single point.</p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/03/making-facebook-share-button-fit-in/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WorldPay Response URL and Shopper Return for Thanks</title>
		<link>http://harrybailey.com/2010/02/worldpay-response-url-shopper-return/</link>
		<comments>http://harrybailey.com/2010/02/worldpay-response-url-shopper-return/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:39:03 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[The Web]]></category>
		<category><![CDATA[WorldPay]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=401</guid>
		<description><![CDATA[It took a while to get my head around it, so here it is incase I need it again.
Integrating with WorldPay is not the simplest of tasks. The documentation is poor at best.
I was integrating by using a form on my site, which posts the order total and an order id etc to WorldPay. WorldPay [...]]]></description>
			<content:encoded><![CDATA[<p>It took a while to get my head around it, so here it is incase I need it again.</p>
<p>Integrating with WorldPay is not the simplest of tasks. The documentation is poor at best.</p>
<p>I was integrating by using a form on my site, which posts the order total and an order id etc to WorldPay. WorldPay then deal with taking the money from the user. What I couldn&#8217;t understand was how to get the user back to my site for thanks after they had paid.</p>
<p>Turns out it&#8217;s quite simple.</p>
<p><span id="more-401"></span></p>
<p>In the WorldPay control panel, enable Payment Response and add a url to which Worldpay will ping information about the transaction (the user is not sent here, nore are they ever aware this url exists). Also Enable Shopper Response.</p>
<p>When WorldPay pings your Payment Response file with the details of the transaction, if you have enabled Shopper Response then you can send back some html which WorldPay shows to the user. I had a better solution for the thanks page on my own site and so simply sent a meta redirect tag back. Nothing more, nothing less.</p>
<p>So the user is redirected to a url of my choice, and because I send that url to them after the transaction completes, I can choose where to send the user at that moment using the data WorldPay have send me.</p>
<p>&lt;meta http-equiv=&#8221;refresh&#8221; content=&#8221;0;url=http://www.example.com/thanks.html&#8221; /&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/02/worldpay-response-url-shopper-return/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting File Owner in Terminal</title>
		<link>http://harrybailey.com/2010/01/setting-file-owner-in-terminal/</link>
		<comments>http://harrybailey.com/2010/01/setting-file-owner-in-terminal/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:06:20 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=399</guid>
		<description><![CDATA[Sometimes OS X won&#8217;t let you change the owner of file using Finder. Annoying. Here are the simple steps to do it in Terminal.
First if you are just looking for the command it&#8217;s:
sudo chown -R _new_owner /root/to/file.txt
Where _new_owner is the name of the new owner you want to assign to the file
Now the steps:
1. Open [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes OS X won&#8217;t let you change the owner of file using Finder. Annoying. Here are the simple steps to do it in Terminal.</p>
<p>First if you are just looking for the command it&#8217;s:</p>
<pre>sudo chown -R _new_owner /root/to/file.txt</pre>
<p>Where _new_owner is the name of the new owner you want to assign to the file</p>
<p>Now the steps:</p>
<p>1. Open Terminal, which you will find in Applications -> Utilities<br />
2. Type in sudo chown -R _new_owner<br />
3. Type the file path OR drag the file from finder onto the line after _new_owner to make the path appear.<br />
4. Hit return<br />
5. You may have to type your OSX login password</p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/01/setting-file-owner-in-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mime Type List and File Extensions</title>
		<link>http://harrybailey.com/2010/01/mime-type-list-and-file-extensions/</link>
		<comments>http://harrybailey.com/2010/01/mime-type-list-and-file-extensions/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 18:35:03 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://harrybailey.com/?p=394</guid>
		<description><![CDATA[A lovely long list of mime types along with their extensions.
If you find any errors or know any extensions and mime type pairs missing be sure to let me know.
It&#8217;s in php array format for your convenience.
$mimetypes = array(
  &#8216;3dm&#8217;    => &#8216;x-world/x-3dmf&#8217;,
  &#8216;3dmf&#8217;   => &#8216;x-world/x-3dmf&#8217;,
  &#8216;a&#8217;  [...]]]></description>
			<content:encoded><![CDATA[<p>A lovely long list of mime types along with their extensions.</p>
<p>If you find any errors or know any extensions and mime type pairs missing be sure to let me know.</p>
<p>It&#8217;s in php array format for your convenience.</p>
<p>$mimetypes = array(<br />
  &#8216;3dm&#8217;    => &#8216;x-world/x-3dmf&#8217;,<br />
  &#8216;3dmf&#8217;   => &#8216;x-world/x-3dmf&#8217;,<br />
  &#8216;a&#8217;      => &#8216;application/octet-stream&#8217;,<br />
  &#8216;aab&#8217;    => &#8216;application/x-authorware-bin&#8217;,<br />
  &#8216;aam&#8217;    => &#8216;application/x-authorware-map&#8217;,<br />
  &#8216;aas&#8217;    => &#8216;application/x-authorware-seg&#8217;,<br />
<span id="more-394"></span>  &#8216;abc&#8217;    => &#8216;text/vnd.abc&#8217;,<br />
  &#8216;acgi&#8217;   => &#8216;text/html&#8217;,<br />
  &#8216;afl&#8217;    => &#8216;video/animaflex&#8217;,<br />
  &#8216;ai&#8217;     => &#8216;application/postscript&#8217;,<br />
  &#8216;aif&#8217;    => &#8216;audio/aiff&#8217;,<br />
  &#8216;aif&#8217;    => &#8216;audio/x-aiff&#8217;,<br />
  &#8216;aifc&#8217;   => &#8216;audio/aiff&#8217;,<br />
  &#8216;aifc&#8217;   => &#8216;audio/x-aiff&#8217;,<br />
  &#8216;aiff&#8217;   => &#8216;audio/aiff&#8217;,<br />
  &#8216;aiff&#8217;   => &#8216;audio/x-aiff&#8217;,<br />
  &#8216;aim&#8217;    => &#8216;application/x-aim&#8217;,<br />
  &#8216;aip&#8217;    => &#8216;text/x-audiosoft-intra&#8217;,<br />
  &#8216;ani&#8217;    => &#8216;application/x-navi-animation&#8217;,<br />
  &#8216;aos&#8217;    => &#8216;application/x-nokia-9000-communicator-add-on-software&#8217;,<br />
  &#8216;aps&#8217;    => &#8216;application/mime&#8217;,<br />
  &#8216;arc&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;arj&#8217;    => &#8216;application/arj&#8217;,<br />
  &#8216;arj&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;art&#8217;    => &#8216;image/x-jg&#8217;,<br />
  &#8216;asf&#8217;    => &#8216;video/x-ms-asf&#8217;,<br />
  &#8216;asm&#8217;    => &#8216;text/x-asm&#8217;,<br />
  &#8216;asp&#8217;    => &#8216;text/asp&#8217;,<br />
  &#8216;asx&#8217;    => &#8216;application/x-mplayer2&#8242;,<br />
  &#8216;asx&#8217;    => &#8216;video/x-ms-asf&#8217;,<br />
  &#8216;asx&#8217;    => &#8216;video/x-ms-asf-plugin&#8217;,<br />
  &#8216;au&#8217;     => &#8216;audio/basic&#8217;,<br />
  &#8216;au&#8217;     => &#8216;audio/x-au&#8217;,<br />
  &#8216;avi&#8217;    => &#8216;application/x-troff-msvideo&#8217;,<br />
  &#8216;avi&#8217;    => &#8216;video/avi&#8217;,<br />
  &#8216;avi&#8217;    => &#8216;video/msvideo&#8217;,<br />
  &#8216;avi&#8217;    => &#8216;video/x-msvideo&#8217;,<br />
  &#8216;avs&#8217;    => &#8216;video/avs-video&#8217;,<br />
  &#8216;bcpio&#8217;  => &#8216;application/x-bcpio&#8217;,<br />
  &#8216;bin&#8217;    => &#8216;application/mac-binary&#8217;,<br />
  &#8216;bin&#8217;    => &#8216;application/macbinary&#8217;,<br />
  &#8216;bin&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;bin&#8217;    => &#8216;application/x-binary&#8217;,<br />
  &#8216;bin&#8217;    => &#8216;application/x-macbinary&#8217;,<br />
  &#8216;bm&#8217;     => &#8216;image/bmp&#8217;,<br />
  &#8216;bmp&#8217;    => &#8216;image/bmp&#8217;,<br />
  &#8216;bmp&#8217;    => &#8216;image/x-windows-bmp&#8217;,<br />
  &#8216;boo&#8217;    => &#8216;application/book&#8217;,<br />
  &#8216;book&#8217;   => &#8216;application/book&#8217;,<br />
  &#8216;boz&#8217;    => &#8216;application/x-bzip2&#8242;,<br />
  &#8216;bsh&#8217;    => &#8216;application/x-bsh&#8217;,<br />
  &#8216;bz&#8217;     => &#8216;application/x-bzip&#8217;,<br />
  &#8216;bz2&#8242;    => &#8216;application/x-bzip2&#8242;,<br />
  &#8216;c&#8217;      => &#8216;text/plain&#8217;,<br />
  &#8216;c&#8217;      => &#8216;text/x-c&#8217;,<br />
  &#8216;c++&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;cat&#8217;    => &#8216;application/vnd.ms-pki.seccat&#8217;,<br />
  &#8216;cc&#8217;     => &#8216;text/plain&#8217;,<br />
  &#8216;cc&#8217;     => &#8216;text/x-c&#8217;,<br />
  &#8216;ccad&#8217;   => &#8216;application/clariscad&#8217;,<br />
  &#8216;cco&#8217;    => &#8216;application/x-cocoa&#8217;,<br />
  &#8216;cdf&#8217;    => &#8216;application/cdf&#8217;,<br />
  &#8216;cdf&#8217;    => &#8216;application/x-cdf&#8217;,<br />
  &#8216;cdf&#8217;    => &#8216;application/x-netcdf&#8217;,<br />
  &#8216;cer&#8217;    => &#8216;application/pkix-cert&#8217;,<br />
  &#8216;cer&#8217;    => &#8216;application/x-x509-ca-cert&#8217;,<br />
  &#8216;cha&#8217;    => &#8216;application/x-chat&#8217;,<br />
  &#8216;chat&#8217;   => &#8216;application/x-chat&#8217;,<br />
  &#8216;class&#8217;  => &#8216;application/java&#8217;,<br />
  &#8216;class&#8217;  => &#8216;application/java-byte-code&#8217;,<br />
  &#8216;class&#8217;  => &#8216;application/x-java-class&#8217;,<br />
  &#8216;com&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;com&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;conf&#8217;   => &#8216;text/plain&#8217;,<br />
  &#8216;cpio&#8217;   => &#8216;application/x-cpio&#8217;,<br />
  &#8216;cpp&#8217;    => &#8216;text/x-c&#8217;,<br />
  &#8216;cpt&#8217;    => &#8216;application/mac-compactpro&#8217;,<br />
  &#8216;cpt&#8217;    => &#8216;application/x-compactpro&#8217;,<br />
  &#8216;cpt&#8217;    => &#8216;application/x-cpt&#8217;,<br />
  &#8216;crl&#8217;    => &#8216;application/pkcs-crl&#8217;,<br />
  &#8216;crl&#8217;    => &#8216;application/pkix-crl&#8217;,<br />
  &#8216;crt&#8217;    => &#8216;application/pkix-cert&#8217;,<br />
  &#8216;crt&#8217;    => &#8216;application/x-x509-ca-cert&#8217;,<br />
  &#8216;crt&#8217;    => &#8216;application/x-x509-user-cert&#8217;,<br />
  &#8216;csh&#8217;    => &#8216;application/x-csh&#8217;,<br />
  &#8216;csh&#8217;    => &#8216;text/x-script.csh&#8217;,<br />
  &#8216;css&#8217;    => &#8216;application/x-pointplus&#8217;,<br />
  &#8216;css&#8217;    => &#8216;text/css&#8217;,<br />
  &#8216;cxx&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;dcr&#8217;    => &#8216;application/x-director&#8217;,<br />
  &#8216;deepv&#8217;  => &#8216;application/x-deepv&#8217;,<br />
  &#8216;def&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;der&#8217;    => &#8216;application/x-x509-ca-cert&#8217;,<br />
  &#8216;dif&#8217;    => &#8216;video/x-dv&#8217;,<br />
  &#8216;dir&#8217;    => &#8216;application/x-director&#8217;,<br />
  &#8216;dl&#8217;     => &#8216;video/dl&#8217;,<br />
  &#8216;dl&#8217;     => &#8216;video/x-dl&#8217;,<br />
  &#8216;doc&#8217;    => &#8216;application/msword&#8217;,<br />
  &#8216;dot&#8217;    => &#8216;application/msword&#8217;,<br />
  &#8216;dp&#8217;     => &#8216;application/commonground&#8217;,<br />
  &#8216;drw&#8217;    => &#8216;application/drafting&#8217;,<br />
  &#8216;dump&#8217;   => &#8216;application/octet-stream&#8217;,<br />
  &#8216;dv&#8217;     => &#8216;video/x-dv&#8217;,<br />
  &#8216;dvi&#8217;    => &#8216;application/x-dvi&#8217;,<br />
  &#8216;dwf&#8217;    => &#8216;model/vnd.dwf&#8217;,<br />
  &#8216;dwg&#8217;    => &#8216;application/acad&#8217;,<br />
  &#8216;dwg&#8217;    => &#8216;image/vnd.dwg&#8217;,<br />
  &#8216;dwg&#8217;    => &#8216;image/x-dwg&#8217;,<br />
  &#8216;dxf&#8217;    => &#8216;application/dxf&#8217;,<br />
  &#8216;dxf&#8217;    => &#8216;image/vnd.dwg&#8217;,<br />
  &#8216;dxf&#8217;    => &#8216;image/x-dwg&#8217;,<br />
  &#8216;dxr&#8217;    => &#8216;application/x-director&#8217;,<br />
  &#8216;el&#8217;     => &#8216;text/x-script.elisp&#8217;,<br />
  &#8216;elc&#8217;    => &#8216;application/x-bytecode.elisp&#8217;,<br />
  &#8216;elc&#8217;    => &#8216;application/x-elc&#8217;,<br />
  &#8216;env&#8217;    => &#8216;application/x-envoy&#8217;,<br />
  &#8216;eps&#8217;    => &#8216;application/postscript&#8217;,<br />
  &#8216;es&#8217;     => &#8216;application/x-esrehber&#8217;,<br />
  &#8216;etx&#8217;    => &#8216;text/x-setext&#8217;,<br />
  &#8216;evy&#8217;    => &#8216;application/envoy&#8217;,<br />
  &#8216;evy&#8217;    => &#8216;application/x-envoy&#8217;,<br />
  &#8216;exe&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;f&#8217;      => &#8216;text/plain&#8217;,<br />
  &#8216;f&#8217;      => &#8216;text/x-fortran&#8217;,<br />
  &#8216;f77&#8242;    => &#8216;text/x-fortran&#8217;,<br />
  &#8216;f90&#8242;    => &#8216;text/plain&#8217;,<br />
  &#8216;f90&#8242;    => &#8216;text/x-fortran&#8217;,<br />
  &#8216;fdf&#8217;    => &#8216;application/vnd.fdf&#8217;,<br />
  &#8216;fif&#8217;    => &#8216;application/fractals&#8217;,<br />
  &#8216;fif&#8217;    => &#8216;image/fif&#8217;,<br />
  &#8216;fli&#8217;    => &#8216;video/fli&#8217;,<br />
  &#8216;fli&#8217;    => &#8216;video/x-fli&#8217;,<br />
  &#8216;flo&#8217;    => &#8216;image/florian&#8217;,<br />
  &#8216;flx&#8217;    => &#8216;text/vnd.fmi.flexstor&#8217;,<br />
  &#8216;fmf&#8217;    => &#8216;video/x-atomic3d-feature&#8217;,<br />
  &#8216;for&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;for&#8217;    => &#8216;text/x-fortran&#8217;,<br />
  &#8216;fpx&#8217;    => &#8216;image/vnd.fpx&#8217;,<br />
  &#8216;fpx&#8217;    => &#8216;image/vnd.net-fpx&#8217;,<br />
  &#8216;frl&#8217;    => &#8216;application/freeloader&#8217;,<br />
  &#8216;funk&#8217;   => &#8216;audio/make&#8217;,<br />
  &#8216;g&#8217;      => &#8216;text/plain&#8217;,<br />
  &#8216;g3&#8242;     => &#8216;image/g3fax&#8217;,<br />
  &#8216;gif&#8217;    => &#8216;image/gif&#8217;,<br />
  &#8216;gl&#8217;     => &#8216;video/gl&#8217;,<br />
  &#8216;gl&#8217;     => &#8216;video/x-gl&#8217;,<br />
  &#8216;gsd&#8217;    => &#8216;audio/x-gsm&#8217;,<br />
  &#8216;gsm&#8217;    => &#8216;audio/x-gsm&#8217;,<br />
  &#8216;gsp&#8217;    => &#8216;application/x-gsp&#8217;,<br />
  &#8216;gss&#8217;    => &#8216;application/x-gss&#8217;,<br />
  &#8216;gtar&#8217;   => &#8216;application/x-gtar&#8217;,<br />
  &#8216;gz&#8217;     => &#8216;application/x-compressed&#8217;,<br />
  &#8216;gz&#8217;     => &#8216;application/x-gzip&#8217;,<br />
  &#8216;gzip&#8217;   => &#8216;application/x-gzip&#8217;,<br />
  &#8216;gzip&#8217;   => &#8216;multipart/x-gzip&#8217;,<br />
  &#8216;h&#8217;      => &#8216;text/plain&#8217;,<br />
  &#8216;h&#8217;      => &#8216;text/x-h&#8217;,<br />
  &#8216;hdf&#8217;    => &#8216;application/x-hdf&#8217;,<br />
  &#8216;help&#8217;   => &#8216;application/x-helpfile&#8217;,<br />
  &#8216;hgl&#8217;    => &#8216;application/vnd.hp-hpgl&#8217;,<br />
  &#8216;hh&#8217;     => &#8216;text/plain&#8217;,<br />
  &#8216;hh&#8217;     => &#8216;text/x-h&#8217;,<br />
  &#8216;hlb&#8217;    => &#8216;text/x-script&#8217;,<br />
  &#8216;hlp&#8217;    => &#8216;application/hlp&#8217;,<br />
  &#8216;hlp&#8217;    => &#8216;application/x-helpfile&#8217;,<br />
  &#8216;hlp&#8217;    => &#8216;application/x-winhelp&#8217;,<br />
  &#8216;hpg&#8217;    => &#8216;application/vnd.hp-hpgl&#8217;,<br />
  &#8216;hpgl&#8217;   => &#8216;application/vnd.hp-hpgl&#8217;,<br />
  &#8216;hqx&#8217;    => &#8216;application/binhex&#8217;,<br />
  &#8216;hqx&#8217;    => &#8216;application/binhex4&#8242;,<br />
  &#8216;hqx&#8217;    => &#8216;application/mac-binhex&#8217;,<br />
  &#8216;hqx&#8217;    => &#8216;application/mac-binhex40&#8242;,<br />
  &#8216;hqx&#8217;    => &#8216;application/x-binhex40&#8242;,<br />
  &#8216;hqx&#8217;    => &#8216;application/x-mac-binhex40&#8242;,<br />
  &#8216;hta&#8217;    => &#8216;application/hta&#8217;,<br />
  &#8216;htc&#8217;    => &#8216;text/x-component&#8217;,<br />
  &#8216;htm&#8217;    => &#8216;text/html&#8217;,<br />
  &#8216;html&#8217;   => &#8216;text/html&#8217;,<br />
  &#8216;htmls&#8217;  => &#8216;text/html&#8217;,<br />
  &#8216;htt&#8217;    => &#8216;text/webviewhtml&#8217;,<br />
  &#8216;htx&#8217;    => &#8216;text/html&#8217;,<br />
  &#8216;ice&#8217;    => &#8216;x-conference/x-cooltalk&#8217;,<br />
  &#8216;ico&#8217;    => &#8216;image/x-icon&#8217;,<br />
  &#8216;idc&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;ief&#8217;    => &#8216;image/ief&#8217;,<br />
  &#8216;iefs&#8217;   => &#8216;image/ief&#8217;,<br />
  &#8216;iges&#8217;   => &#8216;application/iges&#8217;,<br />
  &#8216;iges&#8217;   => &#8216;model/iges&#8217;,<br />
  &#8216;igs&#8217;    => &#8216;application/iges&#8217;,<br />
  &#8216;igs&#8217;    => &#8216;model/iges&#8217;,<br />
  &#8216;ima&#8217;    => &#8216;application/x-ima&#8217;,<br />
  &#8216;imap&#8217;   => &#8216;application/x-httpd-imap&#8217;,<br />
  &#8216;inf&#8217;    => &#8216;application/inf&#8217;,<br />
  &#8216;ins&#8217;    => &#8216;application/x-internett-signup&#8217;,<br />
  &#8216;ip&#8217;     => &#8216;application/x-ip2&#8242;,<br />
  &#8216;isu&#8217;    => &#8216;video/x-isvideo&#8217;,<br />
  &#8216;it&#8217;     => &#8216;audio/it&#8217;,<br />
  &#8216;iv&#8217;     => &#8216;application/x-inventor&#8217;,<br />
  &#8216;ivr&#8217;    => &#8216;i-world/i-vrml&#8217;,<br />
  &#8216;ivy&#8217;    => &#8216;application/x-livescreen&#8217;,<br />
  &#8216;jam&#8217;    => &#8216;audio/x-jam&#8217;,<br />
  &#8216;jav&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;jav&#8217;    => &#8216;text/x-java-source&#8217;,<br />
  &#8216;java&#8217;   => &#8216;text/plain&#8217;,<br />
  &#8216;java&#8217;   => &#8216;text/x-java-source&#8217;,<br />
  &#8216;jcm&#8217;    => &#8216;application/x-java-commerce&#8217;,<br />
  &#8216;jfif&#8217;   => &#8216;image/jpeg&#8217;,<br />
  &#8216;jfif&#8217;   => &#8216;image/pjpeg&#8217;,<br />
  &#8216;jfif-tbnl&#8217; => &#8216;image/jpeg&#8217;,<br />
  &#8216;jpe&#8217;    => &#8216;image/jpeg&#8217;,<br />
  &#8216;jpe&#8217;    => &#8216;image/pjpeg&#8217;,<br />
  &#8216;jpeg&#8217;   => &#8216;image/jpeg&#8217;,<br />
  &#8216;jpeg&#8217;   => &#8216;image/pjpeg&#8217;,<br />
  &#8216;jpg&#8217;    => &#8216;image/jpeg&#8217;,<br />
  &#8216;jpg&#8217;    => &#8216;image/pjpeg&#8217;,<br />
  &#8216;jps&#8217;    => &#8216;image/x-jps&#8217;,<br />
  &#8216;js&#8217;     => &#8216;application/x-javascript&#8217;,<br />
  &#8216;jut&#8217;    => &#8216;image/jutvision&#8217;,<br />
  &#8216;kar&#8217;    => &#8216;audio/midi&#8217;,<br />
  &#8216;kar&#8217;    => &#8216;music/x-karaoke&#8217;,<br />
  &#8216;ksh&#8217;    => &#8216;application/x-ksh&#8217;,<br />
  &#8216;ksh&#8217;    => &#8216;text/x-script.ksh&#8217;,<br />
  &#8216;la&#8217;     => &#8216;audio/nspaudio&#8217;,<br />
  &#8216;la&#8217;     => &#8216;audio/x-nspaudio&#8217;,<br />
  &#8216;lam&#8217;    => &#8216;audio/x-liveaudio&#8217;,<br />
  &#8216;latex&#8217;  => &#8216;application/x-latex&#8217;,<br />
  &#8216;lha&#8217;    => &#8216;application/lha&#8217;,<br />
  &#8216;lha&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;lha&#8217;    => &#8216;application/x-lha&#8217;,<br />
  &#8216;lhx&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;list&#8217;   => &#8216;text/plain&#8217;,<br />
  &#8216;lma&#8217;    => &#8216;audio/nspaudio&#8217;,<br />
  &#8216;lma&#8217;    => &#8216;audio/x-nspaudio&#8217;,<br />
  &#8216;log&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;lsp&#8217;    => &#8216;application/x-lisp&#8217;,<br />
  &#8216;lsp&#8217;    => &#8216;text/x-script.lisp&#8217;,<br />
  &#8216;lst&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;lsx&#8217;    => &#8216;text/x-la-asf&#8217;,<br />
  &#8216;ltx&#8217;    => &#8216;application/x-latex&#8217;,<br />
  &#8216;lzh&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;lzh&#8217;    => &#8216;application/x-lzh&#8217;,<br />
  &#8216;lzx&#8217;    => &#8216;application/lzx&#8217;,<br />
  &#8216;lzx&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;lzx&#8217;    => &#8216;application/x-lzx&#8217;,<br />
  &#8216;m&#8217;      => &#8216;text/plain&#8217;,<br />
  &#8216;m&#8217;      => &#8216;text/x-m&#8217;,<br />
  &#8216;m1v&#8217;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;m2a&#8217;    => &#8216;audio/mpeg&#8217;,<br />
  &#8216;m2v&#8217;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;m3u&#8217;    => &#8216;audio/x-mpequrl&#8217;,<br />
  &#8216;man&#8217;    => &#8216;application/x-troff-man&#8217;,<br />
  &#8216;map&#8217;    => &#8216;application/x-navimap&#8217;,<br />
  &#8216;mar&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;mbd&#8217;    => &#8216;application/mbedlet&#8217;,<br />
  &#8216;mc$&#8217;    => &#8216;application/x-magic-cap-package-1.0&#8242;,<br />
  &#8216;mcd&#8217;    => &#8216;application/mcad&#8217;,<br />
  &#8216;mcd&#8217;    => &#8216;application/x-mathcad&#8217;,<br />
  &#8216;mcf&#8217;    => &#8216;image/vasa&#8217;,<br />
  &#8216;mcf&#8217;    => &#8216;text/mcf&#8217;,<br />
  &#8216;mcp&#8217;    => &#8216;application/netmc&#8217;,<br />
  &#8216;me&#8217;     => &#8216;application/x-troff-me&#8217;,<br />
  &#8216;mht&#8217;    => &#8216;message/rfc822&#8242;,<br />
  &#8216;mhtml&#8217;  => &#8216;message/rfc822&#8242;,<br />
  &#8216;mid&#8217;    => &#8216;application/x-midi&#8217;,<br />
  &#8216;mid&#8217;    => &#8216;audio/midi&#8217;,<br />
  &#8216;mid&#8217;    => &#8216;audio/x-mid&#8217;,<br />
  &#8216;mid&#8217;    => &#8216;audio/x-midi&#8217;,<br />
  &#8216;mid&#8217;    => &#8216;music/crescendo&#8217;,<br />
  &#8216;mid&#8217;    => &#8216;x-music/x-midi&#8217;,<br />
  &#8216;midi&#8217;   => &#8216;application/x-midi&#8217;,<br />
  &#8216;midi&#8217;   => &#8216;audio/midi&#8217;,<br />
  &#8216;midi&#8217;   => &#8216;audio/x-mid&#8217;,<br />
  &#8216;midi&#8217;   => &#8216;audio/x-midi&#8217;,<br />
  &#8216;midi&#8217;   => &#8216;music/crescendo&#8217;,<br />
  &#8216;midi&#8217;   => &#8216;x-music/x-midi&#8217;,<br />
  &#8216;mif&#8217;    => &#8216;application/x-frame&#8217;,<br />
  &#8216;mif&#8217;    => &#8216;application/x-mif&#8217;,<br />
  &#8216;mime&#8217;   => &#8216;message/rfc822&#8242;,<br />
  &#8216;mime&#8217;   => &#8216;www/mime&#8217;,<br />
  &#8216;mjf&#8217;    => &#8216;audio/x-vnd.audioexplosion.mjuicemediafile&#8217;,<br />
  &#8216;mjpg&#8217;   => &#8216;video/x-motion-jpeg&#8217;,<br />
  &#8216;mm&#8217;     => &#8216;application/base64&#8242;,<br />
  &#8216;mm&#8217;     => &#8216;application/x-meme&#8217;,<br />
  &#8216;mme&#8217;    => &#8216;application/base64&#8242;,<br />
  &#8216;mod&#8217;    => &#8216;audio/mod&#8217;,<br />
  &#8216;mod&#8217;    => &#8216;audio/x-mod&#8217;,<br />
  &#8216;moov&#8217;   => &#8216;video/quicktime&#8217;,<br />
  &#8216;mov&#8217;    => &#8216;video/quicktime&#8217;,<br />
  &#8216;movie&#8217;  => &#8216;video/x-sgi-movie&#8217;,<br />
  &#8216;mp2&#8242;    => &#8216;audio/mpeg&#8217;,<br />
  &#8216;mp2&#8242;    => &#8216;audio/x-mpeg&#8217;,<br />
  &#8216;mp2&#8242;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;mp2&#8242;    => &#8216;video/x-mpeg&#8217;,<br />
  &#8216;mp2&#8242;    => &#8216;video/x-mpeq2a&#8217;,<br />
  &#8216;mp3&#8242;    => &#8216;audio/mpeg3&#8242;,<br />
  &#8216;mp3&#8242;    => &#8216;audio/x-mpeg-3&#8242;,<br />
  &#8216;mp3&#8242;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;mp3&#8242;    => &#8216;video/x-mpeg&#8217;,<br />
  &#8216;mpa&#8217;    => &#8216;audio/mpeg&#8217;,<br />
  &#8216;mpa&#8217;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;mpc&#8217;    => &#8216;application/x-project&#8217;,<br />
  &#8216;mpe&#8217;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;mpeg&#8217;   => &#8216;video/mpeg&#8217;,<br />
  &#8216;mpg&#8217;    => &#8216;audio/mpeg&#8217;,<br />
  &#8216;mpg&#8217;    => &#8216;video/mpeg&#8217;,<br />
  &#8216;mpga&#8217;   => &#8216;audio/mpeg&#8217;,<br />
  &#8216;mpp&#8217;    => &#8216;application/vnd.ms-project&#8217;,<br />
  &#8216;mpt&#8217;    => &#8216;application/x-project&#8217;,<br />
  &#8216;mpv&#8217;    => &#8216;application/x-project&#8217;,<br />
  &#8216;mpx&#8217;    => &#8216;application/x-project&#8217;,<br />
  &#8216;mrc&#8217;    => &#8216;application/marc&#8217;,<br />
  &#8216;ms&#8217;     => &#8216;application/x-troff-ms&#8217;,<br />
  &#8216;mv&#8217;     => &#8216;video/x-sgi-movie&#8217;,<br />
  &#8216;my&#8217;     => &#8216;audio/make&#8217;,<br />
  &#8216;mzz&#8217;    => &#8216;application/x-vnd.audioexplosion.mzz&#8217;,<br />
  &#8216;nap&#8217;    => &#8216;image/naplps&#8217;,<br />
  &#8216;naplps&#8217; => &#8216;image/naplps&#8217;,<br />
  &#8216;nc&#8217;     => &#8216;application/x-netcdf&#8217;,<br />
  &#8216;ncm&#8217;    => &#8216;application/vnd.nokia.configuration-message&#8217;,<br />
  &#8216;nif&#8217;    => &#8216;image/x-niff&#8217;,<br />
  &#8216;niff&#8217;   => &#8216;image/x-niff&#8217;,<br />
  &#8216;nix&#8217;    => &#8216;application/x-mix-transfer&#8217;,<br />
  &#8216;nsc&#8217;    => &#8216;application/x-conference&#8217;,<br />
  &#8216;nvd&#8217;    => &#8216;application/x-navidoc&#8217;,<br />
  &#8216;o&#8217;      => &#8216;application/octet-stream&#8217;,<br />
  &#8216;oda&#8217;    => &#8216;application/oda&#8217;,<br />
  &#8216;omc&#8217;    => &#8216;application/x-omc&#8217;,<br />
  &#8216;omcd&#8217;   => &#8216;application/x-omcdatamaker&#8217;,<br />
  &#8216;omcr&#8217;   => &#8216;application/x-omcregerator&#8217;,<br />
  &#8216;p&#8217;      => &#8216;text/x-pascal&#8217;,<br />
  &#8216;p10&#8242;    => &#8216;application/pkcs10&#8242;,<br />
  &#8216;p10&#8242;    => &#8216;application/x-pkcs10&#8242;,<br />
  &#8216;p12&#8242;    => &#8216;application/pkcs-12&#8242;,<br />
  &#8216;p12&#8242;    => &#8216;application/x-pkcs12&#8242;,<br />
  &#8216;p7a&#8217;    => &#8216;application/x-pkcs7-signature&#8217;,<br />
  &#8216;p7c&#8217;    => &#8216;application/pkcs7-mime&#8217;,<br />
  &#8216;p7c&#8217;    => &#8216;application/x-pkcs7-mime&#8217;,<br />
  &#8216;p7m&#8217;    => &#8216;application/pkcs7-mime&#8217;,<br />
  &#8216;p7m&#8217;    => &#8216;application/x-pkcs7-mime&#8217;,<br />
  &#8216;p7r&#8217;    => &#8216;application/x-pkcs7-certreqresp&#8217;,<br />
  &#8216;p7s&#8217;    => &#8216;application/pkcs7-signature&#8217;,<br />
  &#8216;part&#8217;   => &#8216;application/pro_eng&#8217;,<br />
  &#8216;pas&#8217;    => &#8216;text/pascal&#8217;,<br />
  &#8216;pbm&#8217;    => &#8216;image/x-portable-bitmap&#8217;,<br />
  &#8216;pcl&#8217;    => &#8216;application/vnd.hp-pcl&#8217;,<br />
  &#8216;pcl&#8217;    => &#8216;application/x-pcl&#8217;,<br />
  &#8216;pct&#8217;    => &#8216;image/x-pict&#8217;,<br />
  &#8216;pcx&#8217;    => &#8216;image/x-pcx&#8217;,<br />
  &#8216;pdb&#8217;    => &#8216;chemical/x-pdb&#8217;,<br />
  &#8216;pdf&#8217;    => &#8216;application/pdf&#8217;,<br />
  &#8216;pfunk&#8217;  => &#8216;audio/make&#8217;,<br />
  &#8216;pfunk&#8217;  => &#8216;audio/make.my.funk&#8217;,<br />
  &#8216;pgm&#8217;    => &#8216;image/x-portable-graymap&#8217;,<br />
  &#8216;pgm&#8217;    => &#8216;image/x-portable-greymap&#8217;,<br />
  &#8216;pic&#8217;    => &#8216;image/pict&#8217;,<br />
  &#8216;pict&#8217;   => &#8216;image/pict&#8217;,<br />
  &#8216;pkg&#8217;    => &#8216;application/x-newton-compatible-pkg&#8217;,<br />
  &#8216;pko&#8217;    => &#8216;application/vnd.ms-pki.pko&#8217;,<br />
  &#8216;pl&#8217;     => &#8216;text/plain&#8217;,<br />
  &#8216;pl&#8217;     => &#8216;text/x-script.perl&#8217;,<br />
  &#8216;plx&#8217;    => &#8216;application/x-pixclscript&#8217;,<br />
  &#8216;pm&#8217;     => &#8216;image/x-xpixmap&#8217;,<br />
  &#8216;pm&#8217;     => &#8216;text/x-script.perl-module&#8217;,<br />
  &#8216;pm4&#8242;    => &#8216;application/x-pagemaker&#8217;,<br />
  &#8216;pm5&#8242;    => &#8216;application/x-pagemaker&#8217;,<br />
  &#8216;png&#8217;    => &#8216;image/png&#8217;,<br />
  &#8216;pnm&#8217;    => &#8216;application/x-portable-anymap&#8217;,<br />
  &#8216;pnm&#8217;    => &#8216;image/x-portable-anymap&#8217;,<br />
  &#8216;pot&#8217;    => &#8216;application/mspowerpoint&#8217;,<br />
  &#8216;pot&#8217;    => &#8216;application/vnd.ms-powerpoint&#8217;,<br />
  &#8216;pov&#8217;    => &#8216;model/x-pov&#8217;,<br />
  &#8216;ppa&#8217;    => &#8216;application/vnd.ms-powerpoint&#8217;,<br />
  &#8216;ppm&#8217;    => &#8216;image/x-portable-pixmap&#8217;,<br />
  &#8216;pps&#8217;    => &#8216;application/mspowerpoint&#8217;,<br />
  &#8216;pps&#8217;    => &#8216;application/vnd.ms-powerpoint&#8217;,<br />
  &#8216;ppt&#8217;    => &#8216;application/mspowerpoint&#8217;,<br />
  &#8216;ppt&#8217;    => &#8216;application/powerpoint&#8217;,<br />
  &#8216;ppt&#8217;    => &#8216;application/vnd.ms-powerpoint&#8217;,<br />
  &#8216;ppt&#8217;    => &#8216;application/x-mspowerpoint&#8217;,<br />
  &#8216;ppz&#8217;    => &#8216;application/mspowerpoint&#8217;,<br />
  &#8216;pre&#8217;    => &#8216;application/x-freelance&#8217;,<br />
  &#8216;prt&#8217;    => &#8216;application/pro_eng&#8217;,<br />
  &#8216;ps&#8217;     => &#8216;application/postscript&#8217;,<br />
  &#8216;psd&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;pvu&#8217;    => &#8216;paleovu/x-pv&#8217;,<br />
  &#8216;pwz&#8217;    => &#8216;application/vnd.ms-powerpoint&#8217;,<br />
  &#8216;py&#8217;     => &#8216;text/x-script.phyton&#8217;,<br />
  &#8216;pyc&#8217;    => &#8216;applicaiton/x-bytecode.python&#8217;,<br />
  &#8216;qcp&#8217;    => &#8216;audio/vnd.qcelp&#8217;,<br />
  &#8216;qd3&#8242;    => &#8216;x-world/x-3dmf&#8217;,<br />
  &#8216;qd3d&#8217;   => &#8216;x-world/x-3dmf&#8217;,<br />
  &#8216;qif&#8217;    => &#8216;image/x-quicktime&#8217;,<br />
  &#8216;qt&#8217;     => &#8216;video/quicktime&#8217;,<br />
  &#8216;qtc&#8217;    => &#8216;video/x-qtc&#8217;,<br />
  &#8216;qti&#8217;    => &#8216;image/x-quicktime&#8217;,<br />
  &#8216;qtif&#8217;   => &#8216;image/x-quicktime&#8217;,<br />
  &#8216;ra&#8217;     => &#8216;audio/x-pn-realaudio&#8217;,<br />
  &#8216;ra&#8217;     => &#8216;audio/x-pn-realaudio-plugin&#8217;,<br />
  &#8216;ra&#8217;     => &#8216;audio/x-realaudio&#8217;,<br />
  &#8216;ram&#8217;    => &#8216;audio/x-pn-realaudio&#8217;,<br />
  &#8216;ras&#8217;    => &#8216;application/x-cmu-raster&#8217;,<br />
  &#8216;ras&#8217;    => &#8216;image/cmu-raster&#8217;,<br />
  &#8216;ras&#8217;    => &#8216;image/x-cmu-raster&#8217;,<br />
  &#8216;rast&#8217;   => &#8216;image/cmu-raster&#8217;,<br />
  &#8216;rexx&#8217;   => &#8216;text/x-script.rexx&#8217;,<br />
  &#8216;rf&#8217;     => &#8216;image/vnd.rn-realflash&#8217;,<br />
  &#8216;rgb&#8217;    => &#8216;image/x-rgb&#8217;,<br />
  &#8216;rm&#8217;     => &#8216;application/vnd.rn-realmedia&#8217;,<br />
  &#8216;rm&#8217;     => &#8216;audio/x-pn-realaudio&#8217;,<br />
  &#8216;rmi&#8217;    => &#8216;audio/mid&#8217;,<br />
  &#8216;rmm&#8217;    => &#8216;audio/x-pn-realaudio&#8217;,<br />
  &#8216;rmp&#8217;    => &#8216;audio/x-pn-realaudio&#8217;,<br />
  &#8216;rmp&#8217;    => &#8216;audio/x-pn-realaudio-plugin&#8217;,<br />
  &#8216;rng&#8217;    => &#8216;application/ringing-tones&#8217;,<br />
  &#8216;rng&#8217;    => &#8216;application/vnd.nokia.ringing-tone&#8217;,<br />
  &#8216;rnx&#8217;    => &#8216;application/vnd.rn-realplayer&#8217;,<br />
  &#8216;roff&#8217;   => &#8216;application/x-troff&#8217;,<br />
  &#8216;rp&#8217;     => &#8216;image/vnd.rn-realpix&#8217;,<br />
  &#8216;rpm&#8217;    => &#8216;audio/x-pn-realaudio-plugin&#8217;,<br />
  &#8216;rt&#8217;     => &#8216;text/richtext&#8217;,<br />
  &#8216;rt&#8217;     => &#8216;text/vnd.rn-realtext&#8217;,<br />
  &#8216;rtf&#8217;    => &#8216;application/rtf&#8217;,<br />
  &#8216;rtf&#8217;    => &#8216;application/x-rtf&#8217;,<br />
  &#8216;rtf&#8217;    => &#8216;text/richtext&#8217;,<br />
  &#8216;rtx&#8217;    => &#8216;application/rtf&#8217;,<br />
  &#8216;rtx&#8217;    => &#8216;text/richtext&#8217;,<br />
  &#8216;rv&#8217;     => &#8216;video/vnd.rn-realvideo&#8217;,<br />
  &#8217;s&#8217;      => &#8216;text/x-asm&#8217;,<br />
  &#8217;s3m&#8217;    => &#8216;audio/s3m&#8217;,<br />
  &#8217;saveme&#8217; => &#8216;application/octet-stream&#8217;,<br />
  &#8217;sbk&#8217;    => &#8216;application/x-tbook&#8217;,<br />
  &#8217;scm&#8217;    => &#8216;application/x-lotusscreencam&#8217;,<br />
  &#8217;scm&#8217;    => &#8216;text/x-script.guile&#8217;,<br />
  &#8217;scm&#8217;    => &#8216;text/x-script.scheme&#8217;,<br />
  &#8217;scm&#8217;    => &#8216;video/x-scm&#8217;,<br />
  &#8217;sdml&#8217;   => &#8216;text/plain&#8217;,<br />
  &#8217;sdp&#8217;    => &#8216;application/sdp&#8217;,<br />
  &#8217;sdp&#8217;    => &#8216;application/x-sdp&#8217;,<br />
  &#8217;sdr&#8217;    => &#8216;application/sounder&#8217;,<br />
  &#8217;sea&#8217;    => &#8216;application/sea&#8217;,<br />
  &#8217;sea&#8217;    => &#8216;application/x-sea&#8217;,<br />
  &#8217;set&#8217;    => &#8216;application/set&#8217;,<br />
  &#8217;sgm&#8217;    => &#8216;text/sgml&#8217;,<br />
  &#8217;sgm&#8217;    => &#8216;text/x-sgml&#8217;,<br />
  &#8217;sgml&#8217;   => &#8216;text/sgml&#8217;,<br />
  &#8217;sgml&#8217;   => &#8216;text/x-sgml&#8217;,<br />
  &#8217;sh&#8217;     => &#8216;application/x-bsh&#8217;,<br />
  &#8217;sh&#8217;     => &#8216;application/x-sh&#8217;,<br />
  &#8217;sh&#8217;     => &#8216;application/x-shar&#8217;,<br />
  &#8217;sh&#8217;     => &#8216;text/x-script.sh&#8217;,<br />
  &#8217;shar&#8217;   => &#8216;application/x-bsh&#8217;,<br />
  &#8217;shar&#8217;   => &#8216;application/x-shar&#8217;,<br />
  &#8217;shtml&#8217;  => &#8216;text/html&#8217;,<br />
  &#8217;shtml&#8217;  => &#8216;text/x-server-parsed-html&#8217;,<br />
  &#8217;sid&#8217;    => &#8216;audio/x-psid&#8217;,<br />
  &#8217;sit&#8217;    => &#8216;application/x-sit&#8217;,<br />
  &#8217;sit&#8217;    => &#8216;application/x-stuffit&#8217;,<br />
  &#8217;skd&#8217;    => &#8216;application/x-koan&#8217;,<br />
  &#8217;skm&#8217;    => &#8216;application/x-koan&#8217;,<br />
  &#8217;skp&#8217;    => &#8216;application/x-koan&#8217;,<br />
  &#8217;skt&#8217;    => &#8216;application/x-koan&#8217;,<br />
  &#8217;sl&#8217;     => &#8216;application/x-seelogo&#8217;,<br />
  &#8217;smi&#8217;    => &#8216;application/smil&#8217;,<br />
  &#8217;smil&#8217;   => &#8216;application/smil&#8217;,<br />
  &#8217;snd&#8217;    => &#8216;audio/basic&#8217;,<br />
  &#8217;snd&#8217;    => &#8216;audio/x-adpcm&#8217;,<br />
  &#8217;sol&#8217;    => &#8216;application/solids&#8217;,<br />
  &#8217;spc&#8217;    => &#8216;application/x-pkcs7-certificates&#8217;,<br />
  &#8217;spc&#8217;    => &#8216;text/x-speech&#8217;,<br />
  &#8217;spl&#8217;    => &#8216;application/futuresplash&#8217;,<br />
  &#8217;spr&#8217;    => &#8216;application/x-sprite&#8217;,<br />
  &#8217;sprite&#8217; => &#8216;application/x-sprite&#8217;,<br />
  &#8217;src&#8217;    => &#8216;application/x-wais-source&#8217;,<br />
  &#8217;ssi&#8217;    => &#8216;text/x-server-parsed-html&#8217;,<br />
  &#8217;ssm&#8217;    => &#8216;application/streamingmedia&#8217;,<br />
  &#8217;sst&#8217;    => &#8216;application/vnd.ms-pki.certstore&#8217;,<br />
  &#8217;step&#8217;   => &#8216;application/step&#8217;,<br />
  &#8217;stl&#8217;    => &#8216;application/sla&#8217;,<br />
  &#8217;stl&#8217;    => &#8216;application/vnd.ms-pki.stl&#8217;,<br />
  &#8217;stl&#8217;    => &#8216;application/x-navistyle&#8217;,<br />
  &#8217;stp&#8217;    => &#8216;application/step&#8217;,<br />
  &#8217;sv4cpio&#8217;=> &#8216;application/x-sv4cpio&#8217;,<br />
  &#8217;sv4crc&#8217; => &#8216;application/x-sv4crc&#8217;,<br />
  &#8217;svf&#8217;    => &#8216;image/vnd.dwg&#8217;,<br />
  &#8217;svf&#8217;    => &#8216;image/x-dwg&#8217;,<br />
  &#8217;svr&#8217;    => &#8216;application/x-world&#8217;,<br />
  &#8217;svr&#8217;    => &#8216;x-world/x-svr&#8217;,<br />
  &#8217;swf&#8217;    => &#8216;application/x-shockwave-flash&#8217;,<br />
  &#8216;t&#8217;      => &#8216;application/x-troff&#8217;,<br />
  &#8216;talk&#8217;   => &#8216;text/x-speech&#8217;,<br />
  &#8216;tar&#8217;    => &#8216;application/x-tar&#8217;,<br />
  &#8216;tbk&#8217;    => &#8216;application/toolbook&#8217;,<br />
  &#8216;tbk&#8217;    => &#8216;application/x-tbook&#8217;,<br />
  &#8216;tcl&#8217;    => &#8216;application/x-tcl&#8217;,<br />
  &#8216;tcl&#8217;    => &#8216;text/x-script.tcl&#8217;,<br />
  &#8216;tcsh&#8217;   => &#8216;text/x-script.tcsh&#8217;,<br />
  &#8216;tex&#8217;    => &#8216;application/x-tex&#8217;,<br />
  &#8216;texi&#8217;   => &#8216;application/x-texinfo&#8217;,<br />
  &#8216;texinfo&#8217;=> &#8216;application/x-texinfo&#8217;,<br />
  &#8216;text&#8217;   => &#8216;application/plain&#8217;,<br />
  &#8216;text&#8217;   => &#8216;text/plain&#8217;,<br />
  &#8216;tgz&#8217;    => &#8216;application/gnutar&#8217;,<br />
  &#8216;tgz&#8217;    => &#8216;application/x-compressed&#8217;,<br />
  &#8216;tif&#8217;    => &#8216;image/tiff&#8217;,<br />
  &#8216;tif&#8217;    => &#8216;image/x-tiff&#8217;,<br />
  &#8216;tiff&#8217;   => &#8216;image/tiff&#8217;,<br />
  &#8216;tiff&#8217;   => &#8216;image/x-tiff&#8217;,<br />
  &#8216;tr&#8217;     => &#8216;application/x-troff&#8217;,<br />
  &#8216;tsi&#8217;    => &#8216;audio/tsp-audio&#8217;,<br />
  &#8216;tsp&#8217;    => &#8216;application/dsptype&#8217;,<br />
  &#8216;tsp&#8217;    => &#8216;audio/tsplayer&#8217;,<br />
  &#8216;tsv&#8217;    => &#8216;text/tab-separated-values&#8217;,<br />
  &#8216;turbot&#8217; => &#8216;image/florian&#8217;,<br />
  &#8216;txt&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;uil&#8217;    => &#8216;text/x-uil&#8217;,<br />
  &#8216;uni&#8217;    => &#8216;text/uri-list&#8217;,<br />
  &#8216;unis&#8217;   => &#8216;text/uri-list&#8217;,<br />
  &#8216;unv&#8217;    => &#8216;application/i-deas&#8217;,<br />
  &#8216;uri&#8217;    => &#8216;text/uri-list&#8217;,<br />
  &#8216;uris&#8217;   => &#8216;text/uri-list&#8217;,<br />
  &#8216;ustar&#8217;  => &#8216;application/x-ustar&#8217;,<br />
  &#8216;ustar&#8217;  => &#8216;multipart/x-ustar&#8217;,<br />
  &#8216;uu&#8217;     => &#8216;application/octet-stream&#8217;,<br />
  &#8216;uu&#8217;     => &#8216;text/x-uuencode&#8217;,<br />
  &#8216;uue&#8217;    => &#8216;text/x-uuencode&#8217;,<br />
  &#8216;vcd&#8217;    => &#8216;application/x-cdlink&#8217;,<br />
  &#8216;vcs&#8217;    => &#8216;text/x-vcalendar&#8217;,<br />
  &#8216;vda&#8217;    => &#8216;application/vda&#8217;,<br />
  &#8216;vdo&#8217;    => &#8216;video/vdo&#8217;,<br />
  &#8216;vew&#8217;    => &#8216;application/groupwise&#8217;,<br />
  &#8216;viv&#8217;    => &#8216;video/vivo&#8217;,<br />
  &#8216;viv&#8217;    => &#8216;video/vnd.vivo&#8217;,<br />
  &#8216;vivo&#8217;   => &#8216;video/vivo&#8217;,<br />
  &#8216;vivo&#8217;   => &#8216;video/vnd.vivo&#8217;,<br />
  &#8216;vmd&#8217;    => &#8216;application/vocaltec-media-desc&#8217;,<br />
  &#8216;vmf&#8217;    => &#8216;application/vocaltec-media-file&#8217;,<br />
  &#8216;voc&#8217;    => &#8216;audio/voc&#8217;,<br />
  &#8216;voc&#8217;    => &#8216;audio/x-voc&#8217;,<br />
  &#8216;vos&#8217;    => &#8216;video/vosaic&#8217;,<br />
  &#8216;vox&#8217;    => &#8216;audio/voxware&#8217;,<br />
  &#8216;vqe&#8217;    => &#8216;audio/x-twinvq-plugin&#8217;,<br />
  &#8216;vqf&#8217;    => &#8216;audio/x-twinvq&#8217;,<br />
  &#8216;vql&#8217;    => &#8216;audio/x-twinvq-plugin&#8217;,<br />
  &#8216;vrml&#8217;   => &#8216;application/x-vrml&#8217;,<br />
  &#8216;vrml&#8217;   => &#8216;model/vrml&#8217;,<br />
  &#8216;vrml&#8217;   => &#8216;x-world/x-vrml&#8217;,<br />
  &#8216;vrt&#8217;    => &#8216;x-world/x-vrt&#8217;,<br />
  &#8216;vsd&#8217;    => &#8216;application/x-visio&#8217;,<br />
  &#8216;vst&#8217;    => &#8216;application/x-visio&#8217;,<br />
  &#8216;vsw&#8217;    => &#8216;application/x-visio&#8217;,<br />
  &#8216;w60&#8242;    => &#8216;application/wordperfect6.0&#8242;,<br />
  &#8216;w61&#8242;    => &#8216;application/wordperfect6.1&#8242;,<br />
  &#8216;w6w&#8217;    => &#8216;application/msword&#8217;,<br />
  &#8216;wav&#8217;    => &#8216;audio/wav&#8217;,<br />
  &#8216;wav&#8217;    => &#8216;audio/x-wav&#8217;,<br />
  &#8216;wb1&#8242;    => &#8216;application/x-qpro&#8217;,<br />
  &#8216;wbmp&#8217;   => &#8216;image/vnd.wap.wbmp&#8217;,<br />
  &#8216;web&#8217;    => &#8216;application/vnd.xara&#8217;,<br />
  &#8216;wiz&#8217;    => &#8216;application/msword&#8217;,<br />
  &#8216;wk1&#8242;    => &#8216;application/x-123&#8242;,<br />
  &#8216;wmf&#8217;    => &#8216;windows/metafile&#8217;,<br />
  &#8216;wml&#8217;    => &#8216;text/vnd.wap.wml&#8217;,<br />
  &#8216;wmlc&#8217;   => &#8216;application/vnd.wap.wmlc&#8217;,<br />
  &#8216;wmls&#8217;   => &#8216;text/vnd.wap.wmlscript&#8217;,<br />
  &#8216;wmlsc&#8217;  => &#8216;application/vnd.wap.wmlscriptc&#8217;,<br />
  &#8216;word&#8217;   => &#8216;application/msword&#8217;,<br />
  &#8216;wp&#8217;     => &#8216;application/wordperfect&#8217;,<br />
  &#8216;wp5&#8242;    => &#8216;application/wordperfect&#8217;,<br />
  &#8216;wp5&#8242;    => &#8216;application/wordperfect6.0&#8242;,<br />
  &#8216;wp6&#8242;    => &#8216;application/wordperfect&#8217;,<br />
  &#8216;wpd&#8217;    => &#8216;application/wordperfect&#8217;,<br />
  &#8216;wpd&#8217;    => &#8216;application/x-wpwin&#8217;,<br />
  &#8216;wq1&#8242;    => &#8216;application/x-lotus&#8217;,<br />
  &#8216;wri&#8217;    => &#8216;application/mswrite&#8217;,<br />
  &#8216;wri&#8217;    => &#8216;application/x-wri&#8217;,<br />
  &#8216;wrl&#8217;    => &#8216;application/x-world&#8217;,<br />
  &#8216;wrl&#8217;    => &#8216;model/vrml&#8217;,<br />
  &#8216;wrl&#8217;    => &#8216;x-world/x-vrml&#8217;,<br />
  &#8216;wrz&#8217;    => &#8216;model/vrml&#8217;,<br />
  &#8216;wrz&#8217;    => &#8216;x-world/x-vrml&#8217;,<br />
  &#8216;wsc&#8217;    => &#8216;text/scriplet&#8217;,<br />
  &#8216;wsrc&#8217;   => &#8216;application/x-wais-source&#8217;,<br />
  &#8216;wtk&#8217;    => &#8216;application/x-wintalk&#8217;,<br />
  &#8216;xbm&#8217;    => &#8216;image/x-xbitmap&#8217;,<br />
  &#8216;xbm&#8217;    => &#8216;image/x-xbm&#8217;,<br />
  &#8216;xbm&#8217;    => &#8216;image/xbm&#8217;,<br />
  &#8216;xdr&#8217;    => &#8216;video/x-amt-demorun&#8217;,<br />
  &#8216;xgz&#8217;    => &#8216;xgl/drawing&#8217;,<br />
  &#8216;xif&#8217;    => &#8216;image/vnd.xiff&#8217;,<br />
  &#8216;xl&#8217;     => &#8216;application/excel&#8217;,<br />
  &#8216;xla&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xla&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xla&#8217;    => &#8216;application/x-msexcel&#8217;,<br />
  &#8216;xlb&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlb&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;xlb&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xlc&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlc&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;xlc&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xld&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xld&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xlk&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlk&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xll&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xll&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;xll&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xlm&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlm&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;xlm&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xls&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xls&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;xls&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xls&#8217;    => &#8216;application/x-msexcel&#8217;,<br />
  &#8216;xlt&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlt&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xlv&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlv&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xlw&#8217;    => &#8216;application/excel&#8217;,<br />
  &#8216;xlw&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;xlw&#8217;    => &#8216;application/x-excel&#8217;,<br />
  &#8216;xlw&#8217;    => &#8216;application/x-msexcel&#8217;,<br />
  &#8216;xm&#8217;     => &#8216;audio/xm&#8217;,<br />
  &#8216;xml&#8217;    => &#8216;application/xml&#8217;,<br />
  &#8216;xml&#8217;    => &#8216;text/xml&#8217;,<br />
  &#8216;xmz&#8217;    => &#8216;xgl/movie&#8217;,<br />
  &#8216;xpix&#8217;   => &#8216;application/x-vnd.ls-xpix&#8217;,<br />
  &#8216;xpm&#8217;    => &#8216;image/x-xpixmap&#8217;,<br />
  &#8216;xpm&#8217;    => &#8216;image/xpm&#8217;,<br />
  &#8216;x-png&#8217;  => &#8216;image/png&#8217;,<br />
  &#8216;xsr&#8217;    => &#8216;video/x-amt-showrun&#8217;,<br />
  &#8216;xwd&#8217;    => &#8216;image/x-xwd&#8217;,<br />
  &#8216;xwd&#8217;    => &#8216;image/x-xwindowdump&#8217;,<br />
  &#8216;xyz&#8217;    => &#8216;chemical/x-pdb&#8217;,<br />
  &#8216;z&#8217;      => &#8216;application/x-compress&#8217;,<br />
  &#8216;z&#8217;      => &#8216;application/x-compressed&#8217;,<br />
  &#8216;zip&#8217;    => &#8216;application/x-compressed&#8217;,<br />
  &#8216;zip&#8217;    => &#8216;application/x-zip-compressed&#8217;,<br />
  &#8216;zip&#8217;    => &#8216;application/zip&#8217;,<br />
  &#8216;zip&#8217;    => &#8216;multipart/x-zip&#8217;,<br />
  &#8216;zoo&#8217;    => &#8216;application/octet-stream&#8217;,<br />
  &#8216;zsh&#8217;    => &#8216;text/x-script.zsh&#8217;,<br />
  &#8216;txt&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;htm&#8217;    => &#8216;text/html&#8217;,<br />
  &#8216;html&#8217;   => &#8216;text/html&#8217;,<br />
  &#8216;php&#8217;    => &#8216;application/x-httpd-php&#8217;,<br />
  &#8216;phps&#8217;   => &#8216;application/x-httpd-phps&#8217;,<br />
  &#8216;css&#8217;    => &#8216;text/css&#8217;,<br />
  &#8216;js&#8217;     => &#8216;application/javascript&#8217;,<br />
  &#8216;json&#8217;   => &#8216;application/json&#8217;,<br />
  &#8216;xml&#8217;    => &#8216;application/xml&#8217;,<br />
  &#8217;swf&#8217;    => &#8216;application/x-shockwave-flash&#8217;,<br />
  &#8216;flv&#8217;    => &#8216;video/x-flv&#8217;,<br />
  &#8216;asc&#8217;    => &#8216;text/plain&#8217;,<br />
  &#8216;atom&#8217;   => &#8216;application/atom+xml&#8217;,<br />
  &#8216;bcpio&#8217;  => &#8216;application/x-bcpio&#8217;,<br />
  &#8216;png&#8217;    => &#8216;image/png&#8217;,<br />
  &#8216;jpe&#8217;    => &#8216;image/jpeg&#8217;,<br />
  &#8216;jpeg&#8217;   => &#8216;image/jpeg&#8217;,<br />
  &#8216;jpg&#8217;    => &#8216;image/jpeg&#8217;,<br />
  &#8216;gif&#8217;    => &#8216;image/gif&#8217;,<br />
  &#8216;bmp&#8217;    => &#8216;image/bmp&#8217;,<br />
  &#8216;ico&#8217;    => &#8216;image/vnd.microsoft.icon&#8217;,<br />
  &#8216;tiff&#8217;   => &#8216;image/tiff&#8217;,<br />
  &#8216;tif&#8217;    => &#8216;image/tiff&#8217;,<br />
  &#8217;svg&#8217;    => &#8216;image/svg+xml&#8217;,<br />
  &#8217;svgz&#8217;   => &#8216;image/svg+xml&#8217;,<br />
  &#8216;zip&#8217;    => &#8216;application/zip&#8217;,<br />
  &#8216;rar&#8217;    => &#8216;application/x-rar-compressed&#8217;,<br />
  &#8216;exe&#8217;    => &#8216;application/x-msdownload&#8217;,<br />
  &#8216;msi&#8217;    => &#8216;application/x-msdownload&#8217;,<br />
  &#8216;cab&#8217;    => &#8216;application/vnd.ms-cab-compressed&#8217;,<br />
  &#8216;mp3&#8242;    => &#8216;audio/mpeg&#8217;,<br />
  &#8216;qt&#8217;     => &#8216;video/quicktime&#8217;,<br />
  &#8216;mov&#8217;    => &#8216;video/quicktime&#8217;,<br />
  &#8216;au&#8217;     => &#8216;audio/basic&#8217;,<br />
  &#8216;avi&#8217;    => &#8216;video/x-msvideo&#8217;,<br />
  &#8216;pdf&#8217;    => &#8216;application/pdf&#8217;,<br />
  &#8216;psd&#8217;    => &#8216;image/vnd.adobe.photoshop&#8217;,<br />
  &#8216;ai&#8217;     => &#8216;application/postscript&#8217;,<br />
  &#8216;eps&#8217;    => &#8216;application/postscript&#8217;,<br />
  &#8216;ps&#8217;     => &#8216;application/postscript&#8217;,<br />
  &#8216;aif&#8217;    => &#8216;audio/x-aiff&#8217;,<br />
  &#8216;aifc&#8217;   => &#8216;audio/x-aiff&#8217;,<br />
  &#8216;aiff&#8217;   => &#8216;audio/x-aiff&#8217;,<br />
  &#8216;doc&#8217;    => &#8216;application/msword&#8217;,<br />
  &#8216;rtf&#8217;    => &#8216;application/rtf&#8217;,<br />
  &#8216;xls&#8217;    => &#8216;application/vnd.ms-excel&#8217;,<br />
  &#8216;ppt&#8217;    => &#8216;application/vnd.ms-powerpoint&#8217;,<br />
  &#8216;odt&#8217;    => &#8216;application/vnd.oasis.opendocument.text&#8217;,<br />
  &#8216;ods&#8217;    => &#8216;application/vnd.oasis.opendocument.spreadsheet&#8217;,<br />
  &#8217;swf&#8217;    => &#8216;application/x-shockwave-flash&#8217;,<br />
  &#8217;swf&#8217;    => &#8216;application/x-shockwave-flash2-preview&#8217;,<br />
  &#8217;swf&#8217;    => &#8216;application/futuresplash&#8217;,<br />
  &#8217;swf&#8217;    => &#8216;image/vnd.rn-realflash&#8217;<br />
);</p>
]]></content:encoded>
			<wfw:commentRss>http://harrybailey.com/2010/01/mime-type-list-and-file-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
