<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Paulund</title><link>http://www.paulund.co.uk</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Paulundcouk" /><description>Feed of the post from my blog about web development. This will have all the information I find useful or new web apps I create.</description><language>en-US</language><lastBuildDate>Thu, 23 May 2013 09:36:48 PDT</lastBuildDate><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Paulundcouk" /><feedburner:info uri="paulundcouk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Paulundcouk</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Create An Animated CSS Box Menu</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/A3B-1dI87jg/create-animated-css-box-menu</link><category>CSS</category><category>Animated</category><category>css</category><category>transition</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Wed, 22 May 2013 00:49:06 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7085</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>In this tutorial were going to play with <a href="http://www.paulund.co.uk/link-indenting-with-css3-animation" title="Link Indenting With CSS3 Animation" target="_blank">CSS transitions</a> to create a new style navigation menu. The effect we are aiming for is having a number of navigation boxes, and when the mouse hovers over a box this will grow and shrink the other boxes. We can even add an icon to animate into the box to represent the page on the navigation.</p>
<p>View the demo to see this effect.</p>
<p><a href="http://www.paulund.co.uk/playground/demo/css-flexible-box-menu/" class="button" target="_blank">Demo</a></p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/04/CSS-Flexible-Box-Menu-590x85.png" alt="CSS Flexible Box Menu" width="590" height="85" class="aligncenter size-large wp-image-7265" /></p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/04/CSS-Flexible-Box-Menu-About-590x93.png" alt="CSS Flexible Box Menu About" width="590" height="93" class="aligncenter size-large wp-image-7267" /></p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/04/CSS-Flexible-Box-Menu-Services-590x90.png" alt="CSS Flexible Box Menu Services" width="590" height="90" class="aligncenter size-large wp-image-7269" /><br />
<span id="more-7085"></span></p>
<h2>The HTML</h2>
<p>First were going to start off with the HTML for the navigation boxes. This consists of a wrapper div element with the boxes inside. Each of the boxes will have text for the page and an image icon to represent the page.</p>
<pre><code>&lt;div class="nav"&gt;
&lt;div class="box home"&gt;
	&lt;a href="#home"&gt;HOME
	&lt;span&gt;&lt;img src="./images/home.png" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;
     &lt;/div&gt;
&lt;div class="box about"&gt;
	&lt;a href="#about"&gt;ABOUT
	&lt;span&gt;&lt;img src="./images/person.png" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;
      &lt;/div&gt;
&lt;div class="box portfolio"&gt;
	&lt;a href="#portfolio"&gt;PORTFOLIO
	&lt;span&gt;&lt;img src="./images/folder.png" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;
      &lt;/div&gt;
&lt;div class="box services"&gt;
	&lt;a href="#services"&gt;SERVICES
	&lt;span&gt;&lt;img src="./images/screw-driver.png" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;
     &lt;/div&gt;
&lt;div class="box contact"&gt;
	&lt;a href="#contact"&gt;CONTACT
	&lt;span&gt;&lt;img src="./images/mail-back.png" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;
     &lt;/div&gt;
&lt;/div&gt;</code></pre>
<h2>Styling The Boxes</h2>
<p>The CSS will provide all the functionality for the <a href="http://www.paulund.co.uk/how-to-create-a-css-slide-out-fixed-navigation" title="How To Create A CSS Slide Out Fixed Navigation" target="_blank">navigation bar</a>. We start off by styling each of the individual boxes, we set the height and width of the boxes to what ever we want to fill the screen. Add a <code>display: inline-block</code> so that the box will display next to each other instead of on top of each other.</p>
<p>As we are going to animate in an icon we want to make sure that we hide anything that overflows this element by using the <code>overflow:hidden</code> property.</p>
<p>Then we can add the transition for the width of the box so that on the hover event we can change the width of the boxes.<br />
<pre><code>.box
{
	display: inline-block;
        float:left;
	height:200px;
	overflow: hidden;
	width:20%;
	-webkit-transition: width 1s;
	-moz-transition: width 1s;
        transition: width 1s;
}</code></pre></p>
<p>Now we can style the <a href="http://www.paulund.co.uk/gradient-colour-generator" title="Gradient Colour Generator" target="_blank">background colours</a> of the different boxes.</p>
<pre><code>.box.home      { background-color: #2d89ef; }
.box.about     { background-color: #00a300; }
.box.portfolio { background-color: #e3a21a; }
.box.services  { background-color: #9f00a7; }
.box.contact   { background-color: #ee1111; }</code></pre>
<p>As we want the entire box area to be clickable we have to change the anchor link into a block element by using the <code>display: block</code> property and making the height of the link 100% of the box. This will make the entire box area a clickable link.<br />
<pre><code>.box a
{
	color:#FFF;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	height:100%;
	display:block;
        padding-top: 20px;
}</code></pre></p>
<p>We want to make an icon animate into the box when you hover over the box, this will use <strong>CSS transitions</strong> to change the top property of a span tag, inside the tag will be an image we can use for the icon. At the start we need to move this image outside of the element, which will make it hidden by using the <code>overflow: hidden</code> property on the box element. Then we can use the <code>position: relative</code> property with top of 100% to move the span outside of the element.</p>
<p>Adding a transition on to the top property will animate the icon into the box when you hover over.<br />
<pre><code>.box span
{
    display:block;
    position:relative;
    top:100%;
    text-align: center;
    -webkit-transition: top 1s;
    -moz-transition: top 1s;
    transition: top 1s;
}</code></pre></p>
<h2>The Hover Event</h2>
<p>Creating the hover event for the navigation, when a user moves the mouse over the box 3 things will happen. </p>
<ul>
<li>First all the boxes are going to shrink to 10% width.</li>
<li>The box that we are hovering over will be expanded to be 60% width.</li>
<li>Then the box we are hovering over has a span tag inside, this will then change the top property back to 25% bringing the element back into view.</li>
</ul>
<pre><code>.nav:hover .box { width:10%; }
.nav .box:hover { width: 60%; }
.box:hover span{ top:25%; }</code></pre>
<p><a href="http://www.paulund.co.uk/playground/demo/css-flexible-box-menu/" class="button" target="_blank">Demo</a></p>
<p>This article was originally published on <a href="http://www.paulund.co.uk/create-animated-css-box-menu">Create An Animated CSS Box Menu</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=A3B-1dI87jg:zqaYD3-fBZs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=A3B-1dI87jg:zqaYD3-fBZs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=A3B-1dI87jg:zqaYD3-fBZs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=A3B-1dI87jg:zqaYD3-fBZs:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/A3B-1dI87jg" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;In this tutorial were going to play with CSS transitions to create a new style navigation menu. The effect we are aiming for is having a number of navigation boxes, and when the mouse hovers over a box this will grow and shrink the other boxes. We can even add an icon to animate into [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/create-animated-css-box-menu"&gt;Create An Animated CSS Box Menu&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/create-animated-css-box-menu/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/create-animated-css-box-menu</feedburner:origLink></item><item><title>Remove Plugins From Plugin Screen</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/M0wEkt7uVsM/remove-plugins-from-plugin-screen</link><category>Wordpress</category><category>Plugin</category><category>wordpress</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Tue, 21 May 2013 01:45:46 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7445</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you are creating a WordPress site for a client you could install a load of useful plugins for them, only for them to go in deactivate the plugin and break the site.</p>
<p>Some of the WordPress plugins can be essential to the working of your website, things like the <a href="http://www.paulund.co.uk/wordpress-plugins-for-any-blog" title="WordPress Plugins For Any Blog" target="_blank">Akismet plugin</a>, Yoast SEO WordPress plugin or even a <a href="http://www.paulund.co.uk/customizing-wordpress-comments" title="Customizing WordPress Comments" target="_blank">commenting system like Disqus</a>. You would never want your users to deactivate any of these plugins as they are essential to the workings of your website.</p>
<p>Here is a WordPress snippet that will allow you to install the plugin and once it is activated it will be removed from the plugin screen so it can not be deactivated. The plugin will still be active and can be used as normal but it means that users can not deactivate these plugins.<br />
<span id="more-7445"></span><br />
You can add the following into the theme functions.php file or create a new plugin to handle hiding the WordPress plugins.</p>
<pre><code>&lt;?php
add_filter( 'all_plugins', 'hide_plugins');
function hide_plugins($plugins)
{
	// Hide hello dolly plugin
	if(is_plugin_active('hello.php')) {
		unset( $plugins['hello.php'] );
	}
	// Hide disqus plugin
	if(is_plugin_active('disqus-comment-system/disqus.php')) {
		unset( $plugins['disqus-comment-system/disqus.php'] );
	}
	return $plugins;
}</code></pre>
<p>This article was originally published on <a href="http://www.paulund.co.uk/remove-plugins-from-plugin-screen">Remove Plugins From Plugin Screen</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=M0wEkt7uVsM:OQGraiCNuRc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=M0wEkt7uVsM:OQGraiCNuRc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=M0wEkt7uVsM:OQGraiCNuRc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=M0wEkt7uVsM:OQGraiCNuRc:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/M0wEkt7uVsM" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;If you are creating a WordPress site for a client you could install a load of useful plugins for them, only for them to go in deactivate the plugin and break the site. Some of the WordPress plugins can be essential to the working of your website, things like the Akismet plugin, Yoast SEO WordPress [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/remove-plugins-from-plugin-screen"&gt;Remove Plugins From Plugin Screen&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/remove-plugins-from-plugin-screen/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/remove-plugins-from-plugin-screen</feedburner:origLink></item><item><title>Resize Image Class With PHP</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/jVRfPysbhis/resize-image-class-php</link><category>PHP</category><category>Image</category><category>php</category><category>Resize</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Mon, 20 May 2013 01:46:11 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7033</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>A common feature that you will across in websites is the ability to <a href="http://www.paulund.co.uk/custom-image-sizes-media-library" title="Add Custom Image Sizes Into Media Library" target="_blank">resize an image</a> to fit an exact size so that it will displayed correctly on your design. If you have a very large image and you are going to place it on your website in a space that is only 100px x 100px then you will want to be able to resize this image to fit in the space.</p>
<p>One option is to just set the width and height attributes on the image tag in your HTML, this will force the image to be displayed at this size.</p>
<pre><code>&lt;img src="image.png" height="100" width="100" alt="Example of resizing an image" /&gt;</code></pre>
<p>This will work perfectly fine and the image will fit in the 100px x 100px space but the problem is that when the browser loads the image it will not resize the image but will just display it in the limited size. This means that the image will still need to be downloaded at full size, if the image is very large it can take some time for you to download a large image just to be displayed in a small space.<br />
<span id="more-7033"></span></p>
<p>A better solution would be to <a href="http://www.paulund.co.uk/images-on-a-diet-with-jpegmini" title="Images On A Diet With JPEGmini" target="_blank">resize the image to 100px x 100px which will reduce it's size</a> so that the browser doesn't need to download a large image just to display it in a small space. </p>
<p>In this tutorial we are going to create a PHP class that will allow you to resize an image to any dimension you want, it will allow you to resize while keeping the aspect ratio of the image. When the class has resized the image you can either save the image on the server or download the image.</p>
<h2>Class Methods</h2>
<p>First lets plan out the class we are going to create:</p>
<ul>
<li>We need to pass an existing image to the class, this is the image that we will use to resize.</li>
<li>We need to pass in the desired image dimensions so the class can work out what's the new size of the image.</li>
<li>Then we need to be able to save the image to a location on the server, and choose to download the image.</li>
</ul>
<pre><code>&lt;?php
/**
 * Resize image class will allow you to resize an image
 *
 * Can resize to exact size
 * Max width size while keep aspect ratio
 * Max height size while keep aspect ratio
 * Automatic while keep aspect ratio
 */
class ResizeImage
{
	/**
	 * Class constructor requires to send through the image filename
	 *
	 * @param string $filename - Filename of the image you want to resize
	 */
	public function __construct( $filename )
	{
	}
	/**
	 * Set the image variable by using image create
	 *
	 * @param string $filename - The image filename
	 */
	private function setImage( $filename )
	{
	}
	/**
	 * Save the image as the image type the original image was
	 *
	 * @param  String[type] $savePath     - The path to store the new image
	 * @param  string $imageQuality 	  - The qulaity level of image to create
	 *
	 * @return Saves the image
	 */
	public function saveImage($savePath, $imageQuality="100", $download = false)
	{
	}
	/**
	 * Resize the image to these set dimensions
	 *
	 * @param  int $width        	- Max width of the image
	 * @param  int $height       	- Max height of the image
	 * @param  string $resizeOption - Scale option for the image
	 *
	 * @return Save new image
	 */
	public function resizeTo( $width, $height, $resizeOption = 'default' )
	{
	}
}
?&gt;</code></pre>
<h2>The Constructor</h2>
<p>This class relies on an original image being found and set on the class, without this the class will not work correctly. Because of this we should pass the image filename into the constructor of the class. This will then check if the file exists on the server, if it does then we can call the set image method where we can get the image and create a resource of the image and store this in a class variable.</p>
<pre><code>/**
	 * Class constructor requires to send through the image filename
	 *
	 * @param string $filename - Filename of the image you want to resize
	 */
	public function __construct( $filename )
	{
		if(file_exists($filename))
		{
			$this-&gt;setImage( $filename );
		} else {
			throw new Exception('Image ' . $filename . ' can not be found, try another image.');
		}
	}</code></pre>
<h2>Set The Image</h2>
<p>The set image method is used to create a image resource based on the image given to the class this uses the PHP functions <a href="http://php.net/manual/en/function.imagecreatefromjpeg.php" target="_blank">imagecreatefromjpeg</a>, <a href="http://php.net/manual/en/function.imagecreatefromgif.php" target="_blank">imagecreatefromgif</a>, <a href="http://php.net/manual/en/function.imagecreatefrompng.php" target="_blank">imagecreatefrompng</a> to create the image resource from the given image. We can then use this with the functions <a href="http://php.net/manual/en/function.imagesx.php" target="_blank">imagesx</a> and <a href="http://php.net/manual/en/function.imagesy.php" target="_blank">imagesy</a> to return the current width and height of the image.</p>
<p>This will allow us to resize the image easier later in the script.</p>
<pre><code>/**
	 * Set the image variable by using image create
	 *
	 * @param string $filename - The image filename
	 */
	private function setImage( $filename )
	{
		$size = getimagesize($filename);
		$this-&gt;ext = $size['mime'];
	    switch($this-&gt;ext)
	    {
	    	// Image is a JPG
	        case 'image/jpg':
	        case 'image/jpeg':
	        	// create a jpeg extension
	            $this-&gt;image = imagecreatefromjpeg($filename);
	            break;
	        // Image is a GIF
	        case 'image/gif':
	            $this-&gt;image = @imagecreatefromgif($filename);
	            break;
	        // Image is a PNG
	        case 'image/png':
	            $this-&gt;image = @imagecreatefrompng($filename);
	            break;
	        // Mime type not found
	        default:
	            throw new Exception("File is not an image, please use another file type.", 1);
	    }
	    $this-&gt;origWidth = imagesx($this-&gt;image);
	    $this-&gt;origHeight = imagesy($this-&gt;image);
	}</code></pre>
<h2>Resize The Image</h2>
<p>The resize function is what we will use to calculate the new values for the image width and height. This takes 3 parameters the new width, new height and the resize option, this will allow us to resize the image to exact dimensions, use the defined width with the height and keep aspect ratio, use the define height keeping the aspect ratio or let the class decide the best way of resizing the image.</p>
<p>Once we have the new width and height of the image we can create a new image resource by using the PHP function <a href="http://php.net/manual/en/function.imagecreatetruecolor.php" target="_blank">imagecreatetruecolor()</a>. Now we can create the new image from the old image resizing it to the new dimensions by using the <a href="http://php.net/manual/en/function.imagecopyresampled.php" target="_blank">imagecopyresampled()</a> function.</p>
<pre><code>/**
	 * Resize the image to these set dimensions
	 *
	 * @param  int $width        	- Max width of the image
	 * @param  int $height       	- Max height of the image
	 * @param  string $resizeOption - Scale option for the image
	 *
	 * @return Save new image
	 */
	public function resizeTo( $width, $height, $resizeOption = 'default' )
	{
		switch(strtolower($resizeOption))
		{
			case 'exact':
				$this-&gt;resizeWidth = $width;
				$this-&gt;resizeHeight = $height;
			break;
			case 'maxwidth':
				$this-&gt;resizeWidth  = $width;
				$this-&gt;resizeHeight = $this-&gt;resizeHeightByWidth($width);
			break;
			case 'maxheight':
				$this-&gt;resizeWidth  = $this-&gt;resizeWidthByHeight($height);
				$this-&gt;resizeHeight = $height;
			break;
			default:
				if($this-&gt;origWidth &gt; $width || $this-&gt;origHeight &gt; $height)
				{
					if ( $this-&gt;origWidth &gt; $this-&gt;origHeight ) {
				    	 $this-&gt;resizeHeight = $this-&gt;resizeHeightByWidth($width);
			  			 $this-&gt;resizeWidth  = $width;
					} else if( $this-&gt;origWidth &lt; $this-&gt;origHeight ) {
						$this-&gt;resizeWidth  = $this-&gt;resizeWidthByHeight($height);
						$this-&gt;resizeHeight = $height;
					}
				} else {
		            $this-&gt;resizeWidth = $width;
		            $this-&gt;resizeHeight = $height;
		        }
			break;
		}
		$this-&gt;newImage = imagecreatetruecolor($this-&gt;resizeWidth, $this-&gt;resizeHeight);
    	        imagecopyresampled($this-&gt;newImage, $this-&gt;image, 0, 0, 0, 0, $this-&gt;resizeWidth, $this-&gt;resizeHeight, $this-&gt;origWidth, $this-&gt;origHeight);
	}
	/**
	 * Get the resized height from the width keeping the aspect ratio
	 *
	 * @param  int $width - Max image width
	 *
	 * @return Height keeping aspect ratio
	 */
	private function resizeHeightByWidth($width)
	{
		return floor(($this-&gt;origHeight / $this-&gt;origWidth) * $width);
	}
	/**
	 * Get the resized width from the height keeping the aspect ratio
	 *
	 * @param  int $height - Max image height
	 *
	 * @return Width keeping aspect ratio
	 */
	private function resizeWidthByHeight($height)
	{
		return floor(($this-&gt;origWidth / $this-&gt;origHeight) * $height);
	}</code></pre>
<h2>Save The Image</h2>
<p>With the new image now set in a class variable we can now use this to save the image on the server. This function will take 3 parameters the save path, the image quality and if we want to download the image.</p>
<p>For each mime type PHP has a function <a href="http://php.net/manual/en/function.imagejpeg.php" target="_blank">imagejpeg()</a>, <a href="http://php.net/manual/en/function.imagegif.php" target="_blank">imagegif()</a>, <a href="http://php.net/manual/en/function.imagepng.php" target="_blank">imagepng()</a> that will allow you to save the image by passing in the new image resource and the path the image is going to be saved.</p>
<p>Once this image is saved on the server and we decided to <a href="http://www.paulund.co.uk/force-download-of-files-in-php" title="Force download of files in PHP" target="_blank">download it we can change the headers</a> to allow the browser to download the image on the clients machine.<br />
<pre><code>/**
	 * Save the image as the image type the original image was
	 *
	 * @param  String[type] $savePath     - The path to store the new image
	 * @param  string $imageQuality 	  - The qulaity level of image to create
	 *
	 * @return Saves the image
	 */
	public function saveImage($savePath, $imageQuality="100", $download = false)
	{
	    switch($this-&gt;ext)
	    {
	        case 'image/jpg':
	        case 'image/jpeg':
	        	// Check PHP supports this file type
	            if (imagetypes() &#038; IMG_JPG) {
	                imagejpeg($this-&gt;newImage, $savePath, $imageQuality);
	            }
	            break;
	        case 'image/gif':
	        	// Check PHP supports this file type
	            if (imagetypes() &#038; IMG_GIF) {
	                imagegif($this-&gt;newImage, $savePath);
	            }
	            break;
	        case 'image/png':
	            $invertScaleQuality = 9 - round(($imageQuality/100) * 9);
	            // Check PHP supports this file type
	            if (imagetypes() &#038; IMG_PNG) {
	                imagepng($this-&gt;newImage, $savePath, $invertScaleQuality);
	            }
	            break;
	    }
	    if($download)
	    {
	    	header('Content-Description: File Transfer');
		header("Content-type: application/octet-stream");
		header("Content-disposition: attachment; filename= ".$savePath."");
		readfile($savePath);
	    }
	    imagedestroy($this-&gt;newImage);
	}</code></pre></p>
<h2>Full Resize Image Class</h2>
<pre><code>&lt;?php
/**
 * Resize image class will allow you to resize an image
 *
 * Can resize to exact size
 * Max width size while keep aspect ratio
 * Max height size while keep aspect ratio
 * Automatic while keep aspect ratio
 */
class ResizeImage
{
	private $ext;
	private $image;
	private $newImage;
	private $origWidth;
	private $origHeight;
	private $resizeWidth;
	private $resizeHeight;
	/**
	 * Class constructor requires to send through the image filename
	 *
	 * @param string $filename - Filename of the image you want to resize
	 */
	public function __construct( $filename )
	{
		if(file_exists($filename))
		{
			$this-&gt;setImage( $filename );
		} else {
			throw new Exception('Image ' . $filename . ' can not be found, try another image.');
		}
	}
	/**
	 * Set the image variable by using image create
	 *
	 * @param string $filename - The image filename
	 */
	private function setImage( $filename )
	{
		$size = getimagesize($filename);
		$this-&gt;ext = $size['mime'];
		switch($this-&gt;ext)
	    {
	    	// Image is a JPG
	        case 'image/jpg':
	        case 'image/jpeg':
	        	// create a jpeg extension
	            $this-&gt;image = imagecreatefromjpeg($filename);
	            break;
	        // Image is a GIF
	        case 'image/gif':
	            $this-&gt;image = @imagecreatefromgif($filename);
	            break;
	        // Image is a PNG
	        case 'image/png':
	            $this-&gt;image = @imagecreatefrompng($filename);
	            break;
	        // Mime type not found
	        default:
	            throw new Exception("File is not an image, please use another file type.", 1);
	    }
	    $this-&gt;origWidth = imagesx($this-&gt;image);
	    $this-&gt;origHeight = imagesy($this-&gt;image);
	}
	/**
	 * Save the image as the image type the original image was
	 *
	 * @param  String[type] $savePath     - The path to store the new image
	 * @param  string $imageQuality 	  - The qulaity level of image to create
	 *
	 * @return Saves the image
	 */
	public function saveImage($savePath, $imageQuality="100", $download = false)
	{
	    switch($this-&gt;ext)
	    {
	        case 'image/jpg':
	        case 'image/jpeg':
	        	// Check PHP supports this file type
	            if (imagetypes() &#038; IMG_JPG) {
	                imagejpeg($this-&gt;newImage, $savePath, $imageQuality);
	            }
	            break;
	        case 'image/gif':
	        	// Check PHP supports this file type
	            if (imagetypes() &#038; IMG_GIF) {
	                imagegif($this-&gt;newImage, $savePath);
	            }
	            break;
	        case 'image/png':
	            $invertScaleQuality = 9 - round(($imageQuality/100) * 9);
	            // Check PHP supports this file type
	            if (imagetypes() &#038; IMG_PNG) {
	                imagepng($this-&gt;newImage, $savePath, $invertScaleQuality);
	            }
	            break;
	    }
	    if($download)
	    {
	    	header('Content-Description: File Transfer');
			header("Content-type: application/octet-stream");
			header("Content-disposition: attachment; filename= ".$savePath."");
			readfile($savePath);
	    }
	    imagedestroy($this-&gt;newImage);
	}
	/**
	 * Resize the image to these set dimensions
	 *
	 * @param  int $width        	- Max width of the image
	 * @param  int $height       	- Max height of the image
	 * @param  string $resizeOption - Scale option for the image
	 *
	 * @return Save new image
	 */
	public function resizeTo( $width, $height, $resizeOption = 'default' )
	{
		switch(strtolower($resizeOption))
		{
			case 'exact':
				$this-&gt;resizeWidth = $width;
				$this-&gt;resizeHeight = $height;
			break;
			case 'maxwidth':
				$this-&gt;resizeWidth  = $width;
				$this-&gt;resizeHeight = $this-&gt;resizeHeightByWidth($width);
			break;
			case 'maxheight':
				$this-&gt;resizeWidth  = $this-&gt;resizeWidthByHeight($height);
				$this-&gt;resizeHeight = $height;
			break;
			default:
				if($this-&gt;origWidth &gt; $width || $this-&gt;origHeight &gt; $height)
				{
					if ( $this-&gt;origWidth &gt; $this-&gt;origHeight ) {
				    	 $this-&gt;resizeHeight = $this-&gt;resizeHeightByWidth($width);
			  			 $this-&gt;resizeWidth  = $width;
					} else if( $this-&gt;origWidth &lt; $this-&gt;origHeight ) {
						$this-&gt;resizeWidth  = $this-&gt;resizeWidthByHeight($height);
						$this-&gt;resizeHeight = $height;
					}
				} else {
		            $this-&gt;resizeWidth = $width;
		            $this-&gt;resizeHeight = $height;
		        }
			break;
		}
		$this-&gt;newImage = imagecreatetruecolor($this-&gt;resizeWidth, $this-&gt;resizeHeight);
    	imagecopyresampled($this-&gt;newImage, $this-&gt;image, 0, 0, 0, 0, $this-&gt;resizeWidth, $this-&gt;resizeHeight, $this-&gt;origWidth, $this-&gt;origHeight);
	}
	/**
	 * Get the resized height from the width keeping the aspect ratio
	 *
	 * @param  int $width - Max image width
	 *
	 * @return Height keeping aspect ratio
	 */
	private function resizeHeightByWidth($width)
	{
		return floor(($this-&gt;origHeight/$this-&gt;origWidth)*$width);
	}
	/**
	 * Get the resized width from the height keeping the aspect ratio
	 *
	 * @param  int $height - Max image height
	 *
	 * @return Width keeping aspect ratio
	 */
	private function resizeWidthByHeight($height)
	{
		return floor(($this-&gt;origWidth/$this-&gt;origHeight)*$height);
	}
}
?&gt;</code></pre>
<h2>Using The Resize Image PHP Class</h2>
<p>Because we have created this to allow you to resize the image in multiple ways it means that there are different ways of using the class.</p>
<ul>
<li>Resize the image to an exact size.</li>
<li>Resize the image to a max width size keeping aspect ratio of the image.</li>
<li>Resize the image to a max height size keeping aspect ratio of the image.</li>
<li>Resize the image to a given width and height and allow the code to work out which way of resizing is best keeping the aspect ratio.</li>
<li>You can save the created resize image on the server.</li>
<li>You can download the created resize image on the server.</li>
</ul>
<h3>Resize Exact Size</h3>
<p>To resize an image to an exact size you can use the following code. First pass in the image we want to resize in the class constructor, then define the<a href="http://www.paulund.co.uk/remove-width-and-height-attributes-from-images" title="Remove Width And Height Attributes From Images" target="_blank"> width and height</a> with the scale option of exact. The class will now have the create dimensions to create the new image, now call the function saveImage() and pass in the new file location to the new image.</p>
<pre><code>$resize = new ResizeImage('images/Be-Original.jpg');
$resize-&gt;resizeTo(100, 100, 'exact');
$resize-&gt;saveImage('images/be-original-exact.jpg');</code></pre>
<h3>Resize Max Width Size</h3>
<p>If you choose to set the image to be an exact size then when the image is resized it could lose it's aspect ratio, which means the image could look stretched. But if you know the max width that you want the image to be you can resize the image to a max width, this will keep the aspect ratio of the image.</p>
<pre><code>$resize = new ResizeImage('images/Be-Original.jpg');
$resize-&gt;resizeTo(100, 100, 'maxWidth');
$resize-&gt;saveImage('images/be-original-maxWidth.jpg');</code></pre>
<h3>Resize Max Height Size</h3>
<p>Just as you can select a max width for the image while keeping aspect ratio you can also select a max height while keeping aspect ratio.</p>
<pre><code>$resize = new ResizeImage('images/Be-Original.jpg');
$resize-&gt;resizeTo(100, 100, 'maxHeight');
$resize-&gt;saveImage('images/be-original-maxHeight.jpg');</code></pre>
<h3>Resize Auto Size From Given Width And Height</h3>
<p>You can also allow the code to work out the best way to resize the image, so if the image height is larger than the width then it will resize the image by using the height and keeping aspect ratio. If the image width is larger than the height then the image will be resized using the width and keeping the aspect ratio.</p>
<pre><code>$resize = new ResizeImage('images/Be-Original.jpg');
$resize-&gt;resizeTo(100, 100);
$resize-&gt;saveImage('images/be-original-default.jpg');</code></pre>
<h3>Download The Resized Image</h3>
<p>The default behaviour for this class is to save the image on the server, but you can easily change this to download by passing in a true parameter to the saveImage method.</p>
<pre><code>$resize = new ResizeImage('images/Be-Original.jpg');
$resize-&gt;resizeTo(100, 100, 'exact');
$resize-&gt;saveImage('images/be-original-exact.jpg', "100", true);</code></pre>
<p>This article was originally published on <a href="http://www.paulund.co.uk/resize-image-class-php">Resize Image Class With PHP</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=jVRfPysbhis:NYx2Q-WTMWo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=jVRfPysbhis:NYx2Q-WTMWo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=jVRfPysbhis:NYx2Q-WTMWo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=jVRfPysbhis:NYx2Q-WTMWo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/jVRfPysbhis" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;A common feature that you will across in websites is the ability to resize an image to fit an exact size so that it will displayed correctly on your design. If you have a very large image and you are going to place it on your website in a space that is only 100px x [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/resize-image-class-php"&gt;Resize Image Class With PHP&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/resize-image-class-php/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/resize-image-class-php</feedburner:origLink></item><item><title>Multi Environment WordPress wp-config.php</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/k28KGNTCXl8/multi-environment-wordpress-wp-config-php</link><category>Wordpress</category><category>config</category><category>environment</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Thu, 16 May 2013 01:12:29 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7209</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>When you are developing any website you will always have different environments for your website, the number of environments you need will depend on the size of the project and how many people are involved in the project.</p>
<p>The main environments you will find in any website project are:</p>
<ul>
<li>Development Server - The developers local machine to development the website.</li>
<li>Testing Server - Once development is finished this will be where all testing takes place.</li>
<li>User Acceptance Testing Server - Where the client will review the changes to the website.</li>
<li>Production Server - The live website.</li>
</ul>
<p>The two environments you will <strong>always</strong> need to have is a <a href="http://www.paulund.co.uk/wordpress-developer-plugin" title="WordPress Developer Plugin" target="_blank">development environment</a> and a production environment. You will normally only have these two environments if the client doesn't need to view the site before it goes live. This means that once the developer has finished working on the site they can simply put this onto the production server. These are normally for the very basic of projects where the developer can simply test on their local development server before going live.<br />
<span id="more-7209"></span><br />
If you have a client that needs to review your development before the site goes live then you have a <strong>user acceptance testing server (UAT server)</strong>, this environment should match the production server as close as possible. When the developer has finished testing locally then they can upload the site to the <a href="http://www.paulund.co.uk/useful-websites-to-analysis-your-website" title="Useful Websites To Analysis Your Website" target="_blank">UAT server for the client to review</a>. Once the user has accepted the changes made by the developer then the site can be moved to the <strong>production site</strong>.</p>
<p>For multiple developer projects there will be a need for you to have an additional testing server inbetween development and UAT. You need this server because as the developer is creating the website and checking in the code to <a href="http://www.paulund.co.uk/learn-how-to-use-git" title="Learn How To Use Git" target="_blank">source control</a> they will only be testing on their own environment, over time this environment could become out of step with the other developers environments. Once the developer has checked in their code to source control they should then deploy this to the testing server. This is where all the developers will push their changes so it can be <a href="http://www.paulund.co.uk/test-driven-development-with-php" title="Test Driven Development With PHP" target="_blank">tested with all the other developer changes</a>. Once this server is stable and has past testing then you can push these changes to the UAT server, where the client will review these changes and if accepted will be pushed to the production server.</p>
<h2>Multi Environment With WordPress</h2>
<p>If you have a <strong>WordPress project</strong> then you want to make it easy to switch between different environments, the easiest way is to allow you to upload everything to do with your project to the server. This will mean that all the changes you make will be uploaded not just the changes to your plugins or themes. But if you upload everything you will also upload the wp-config.php file, this file will tell WordPress how to connect to the underlining database.</p>
<p>The wp-config.php file is just a PHP file so you can change it to get the credentials for the database depending on what server it is being served from, simply by using the $_SERVER global variable to differ the environments.</p>
<p>The variables you need to change between environments are:</p>
<ul>
<li><strong>DB_NAME</strong> - Name of the database</li>
<li><strong>DB_USER</strong> - User to connect to the database</li>
<li><strong>DB_PASSWORD</strong> - Password to conenct to the database</li>
<li><strong>DB_HOST</strong> - The host name of the database</li>
<li><strong>WP_HOME</strong> - The location of the WordPress Home URL</li>
<li><strong>WP_SITEURL</strong> - <a href="http://www.paulund.co.uk/override-wordpress-site-url-with-wp-config-php" title="Override WordPress Site URL With wp-config.php" target="_blank">The location of the WordPress Site URL, most of the time for will be the same as WP_HOME</a> depending on if WordPress is installed in a sub-directory.</li>
<li><strong>WP_DEBUG</strong> - To display an PHP errors or warnings.</li>
<li><strong>WP_CACHE</strong> - To cache the WordPress output.</li>
</ul>
<pre><code>&lt;?php
if( stristr( $_SERVER['SERVER_NAME'], "dev" ) ) {
 	// Dev Environment
	define( 'DB_NAME', 'project_dev' );
	define( 'DB_USER', 'project_dev_user' );
	define( 'DB_PASSWORD', 'password' );
	define( 'DB_HOST', 'localhost' );
	define( 'WP_HOME', 'http://project.dev');
	define( 'WP_SITEURL', WP_HOME);
	// Dev will always want debug on and caching off
	define( 'WP_DEBUG', true );
	define( 'WP_CACHE', false );
} elseif( stristr( $_SERVER['SERVER_NAME'], "test" ) ) {
	// Test Environment
	define( 'DB_NAME', 'project_test' );
	define( 'DB_USER', 'project_test_user' );
	define( 'DB_PASSWORD', 'password' );
	define( 'DB_HOST', 'localhost' );
	define( 'WP_HOME', 'http://project.test');
	define( 'WP_SITEURL', WP_HOME);
	// Testing will always want debug on and caching off
	define( 'WP_DEBUG', true);
	define( 'WP_CACHE', false);
} elseif( stristr( $_SERVER['SERVER_NAME'], "uat" ) ) {
	// UAT Environment
	define( 'DB_NAME', 'project_uat' );
	define( 'DB_USER', 'project_uat_user' );
	define( 'DB_PASSWORD', 'password' );
	define( 'DB_HOST', 'localhost' );
	define( 'WP_HOME', 'http://project.uat');
	define( 'WP_SITEURL', WP_HOME);
	// UAT Environment will always be the same as production so turn off debug and turn on caching
	define( 'WP_DEBUG', false );
	define( 'WP_CACHE', true );	
} else {
	// Production Environment
	define( 'DB_NAME', 'project_live' );
	define( 'DB_USER', 'project_live_user' );
	define( 'DB_PASSWORD', 'password' );
	define( 'DB_HOST', 'localhost' );
	define( 'WP_HOME', 'http://project.com');
	define( 'WP_SITEURL', WP_HOME); 
	// Live Environment will always be the same as production so turn off debug and turn on caching
	define( 'WP_DEBUG', false );
	define( 'WP_CACHE', true );
}
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
?&gt;</code></pre>
<p>This article was originally published on <a href="http://www.paulund.co.uk/multi-environment-wordpress-wp-config-php">Multi Environment WordPress wp-config.php</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=k28KGNTCXl8:2qgm5AipAU4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=k28KGNTCXl8:2qgm5AipAU4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=k28KGNTCXl8:2qgm5AipAU4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=k28KGNTCXl8:2qgm5AipAU4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/k28KGNTCXl8" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;When you are developing any website you will always have different environments for your website, the number of environments you need will depend on the size of the project and how many people are involved in the project. The main environments you will find in any website project are: Development Server - The developers local [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/multi-environment-wordpress-wp-config-php"&gt;Multi Environment WordPress wp-config.php&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/multi-environment-wordpress-wp-config-php/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/multi-environment-wordpress-wp-config-php</feedburner:origLink></item><item><title>CSS Flip Boards</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/AiLpf9-GsZY/css-flip-boards</link><category>CSS</category><category>css</category><category>Flip</category><category>Transform</category><category>transition</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Wed, 15 May 2013 01:03:41 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7081</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>In this tutorial we are going to create a flip board effect by using CSS, there are 2 effects we can create one the hover event we are going to have one board flip on the horizontal and another board which will flip on the vertical.</p>
<p>This effect can be used to hide content from the user until they hover over the board this will then display the hidden board.</p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/04/front-board.png" alt="front board" width="204" height="204" class="aligncenter size-large wp-image-7135" /></p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/04/flipped-board.png" alt="flipped board" width="204" height="204" class="aligncenter size-full wp-image-7133" /></p>
<p>View the demo to see the effect.</p>
<p><a href="http://www.paulund.co.uk/playground/demo/css-flip-board/" class="button" target="_blank">Demo</a><br />
<span id="more-7081"></span><br />
There are a number of CSS3 properties we need to use to achieve this effect.</p>
<ul>
<li><a href="http://www.w3.org/TR/css3-transforms/#backface-visibility-property" target="_blank">backface-visibility</a></li>
<li><a href="http://www.w3.org/TR/css3-transitions/#transitions" target="_blank">transition</a></li>
<li><a href="http://www.w3.org/TR/css3-transforms/#transform-property" target="_blank">transform</a></li>
<li><a href="http://www.w3.org/TR/css3-transforms/#transform-style-property" target="_blank">transform-style</a></li>
</ul>
<h2>The HTML</h2>
<p>First we start off with the HTML for the boards. Each board is made up of a div element with another 2 div elements inside, these are elements we are going to use as the front board and the flipped board.</p>
<pre><code>&lt;div class="flip-boards"&gt;
&lt;div class="board top"&gt;
&lt;div class="front"&gt;
&lt;h2&gt;Front Board&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="flipped"&gt;
&lt;h2&gt;Flipped Board&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</code></pre>
<h2>Styling The Boards</h2>
<p>To create the effect of the flipped board we are first going to style the boards.</p>
<pre><code>.flip-boards .board
{
	float:left;
	margin: 2em 8em;
	position: relative;
	width: 200px;
	height: 200px;
	cursor: pointer;
}
.flip-boards .board div
{
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    border: 1px solid #ccc;
}</code></pre>
<p>This will style the boards the same size and will position them in the same space so that they overlap each other.</p>
<p>You can change the background of the boards to make it easier to see the difference between the two boards.</p>
<pre><code>.flip-boards .board .front
{
	color:#eee;
	background: rgb(207,231,250);
	background: -moz-linear-gradient(top,  rgba(207,231,250,1) 0%, rgba(99,147,193,1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(207,231,250,1)), color-stop(100%,rgba(99,147,193,1)));
	background: -webkit-linear-gradient(top,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	background: -o-linear-gradient(top,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	background: -ms-linear-gradient(top,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	background: linear-gradient(to bottom,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cfe7fa', endColorstr='#6393c1',GradientType=0 );
}
.flip-boards .board .flipped
{
	color:#555;
	background: rgb(238,238,238);
	background: -moz-linear-gradient(top,  rgba(238,238,238,1) 0%, rgba(238,238,238,1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(238,238,238,1)));
	background: -webkit-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	background: -o-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	background: -ms-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	background: linear-gradient(to bottom,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#eeeeee',GradientType=0 );
}</code></pre>
<p>With the flip board we need to hide the second board from view until it can be flipped around to see it. For this we use the CSS property <strong>backface-visibility</strong>, this property is related to the <a href="http://www.paulund.co.uk/css-animate-effects-we-can-learn-from-animate-css" title="CSS Animate Effects We Can Learn From Animate.css" target="_blank">3D transforms</a> of the element. Using <strong>3D transforms</strong> you can flip an element on the y-axis so that the front of the element is now facing in the opposite direction. Using the <strong>backface-visibility</strong> you can hide any elements that are not facing the front of the screen.</p>
<pre><code>.flip {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility:    hidden;
  -ms-backface-visibility:     hidden;
  backface-visibility:     hidden;
}</code></pre>
<p>This code <a href="http://www.paulund.co.uk/css3-spinning-social-media-icons" title="CSS3 Spinning Social Media Icons" target="_blank">spins the element 180 degrees</a> so that the front is now facing away from screen and now the element can be hidden by using the <strong>backface-visibility</strong> property. Now we can add this to our page by using the following CSS.</p>
<pre><code>.flip-boards .board div
{
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    border: 1px solid #ccc;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility:    hidden;
    -ms-backface-visibility:     hidden;
    backface-visibility:         hidden;
}
.flip-boards .board.top .flipped
{
	-webkit-transform: rotateX( 180deg );
	-moz-transform: rotateX( 180deg );
	-ms-transform: rotateX( 180deg );
	transform: rotateX( 180deg );
}</code></pre>
<p>Now the flipped board will be hidden from view, the way we display this again is to flip the board on the hover event.</p>
<pre><code>.flip-boards .board.top:hover
{
	-webkit-transform: rotateX( 180deg );
	-moz-transform: rotateX( 180deg );
	-ms-transform: rotateX( 180deg );
	transform: rotateX( 180deg );
}</code></pre>
<p>We should also add a <a href="http://www.paulund.co.uk/link-indenting-with-css3-animation" title="Link Indenting With CSS3 Animation" target="_blank">transition effect</a> so that there is a smooth flip when rotating the board, this is done by using CSS transition, we also need to make sure that when the boards transforms it will preserve the 3D space by using the property <strong>transform-style</strong>.</p>
<pre><code>.flip-boards .board
{
	float:left;
	margin: 2em 8em;
	position: relative;
	width: 200px;
	height: 200px;
	cursor: pointer;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	transition: all 1s ease;
}</code></pre>
<p>That's all you need to create a flip board look which will have a hidden div which will be flipped into view when you hover over the board.</p>
<p>View the demo to see it in action.</p>
<p><a href="http://www.paulund.co.uk/playground/demo/css-flip-board/" class="button" target="_blank">Demo</a></p>
<h2>Full Code Of The Flip Board</h2>
<pre><code>&lt;div class="flip-boards"&gt;
&lt;div class="board top"&gt;
&lt;div class="front"&gt;
&lt;h2&gt;Front Board&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="flipped"&gt;
&lt;h2&gt;Flipped Board&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="board left"&gt;
&lt;div class="front"&gt;
&lt;h2&gt;Front Board&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="flipped"&gt;
&lt;h2&gt;Flipped Board&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="flip-boards"&gt;
&lt;div class="board top"&gt;
&lt;div class="front"&gt;
				&lt;img src="http://placedog.com/200/200" /&gt;
			&lt;/div&gt;
&lt;div class="flipped"&gt;
				&lt;img src="http://placekitten.com/g/200/200" /&gt;
			&lt;/div&gt;
&lt;/div&gt;
&lt;div class="board left"&gt;
&lt;div class="front"&gt;
				&lt;img src="http://placekitten.com/200/200" /&gt;
			&lt;/div&gt;
&lt;div class="flipped"&gt;
				&lt;img src="http://placedog.com/g/200/200" /&gt;
			&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</code></pre>
<pre><code>.flip-boards{ position: relative; }
.flip-boards .board
{
	float:left;
	margin: 2em 8em;
	position: relative;
	width: 200px;
	height: 200px;
	cursor: pointer;
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	transition: all 1s ease;
}
.flip-boards .board div
{
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    border: 1px solid #ccc;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility:    hidden;
    -ms-backface-visibility:     hidden;
    backface-visibility:     hidden;
}
.flip-boards .board .front
{
	color:#eee;
	background: rgb(207,231,250); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(207,231,250,1) 0%, rgba(99,147,193,1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(207,231,250,1)), color-stop(100%,rgba(99,147,193,1)));
	background: -webkit-linear-gradient(top,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	background: -o-linear-gradient(top,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	background: -ms-linear-gradient(top,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	background: linear-gradient(to bottom,  rgba(207,231,250,1) 0%,rgba(99,147,193,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cfe7fa', endColorstr='#6393c1',GradientType=0 );
}
.flip-boards .board .flipped
{
	color:#555;
	background: rgb(238,238,238); /* Old browsers */
	background: -moz-linear-gradient(top,  rgba(238,238,238,1) 0%, rgba(238,238,238,1) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(238,238,238,1)));
	background: -webkit-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	background: -o-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	background: -ms-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	background: linear-gradient(to bottom,  rgba(238,238,238,1) 0%,rgba(238,238,238,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#eeeeee',GradientType=0 );
}
.flip-boards .board h2{
	margin-top:80px;
	font-size: 1em;
}
.flip-boards .board.top:hover
{
	-webkit-transform: rotateX( 180deg );
	-moz-transform: rotateX( 180deg );
	-ms-transform: rotateX( 180deg );
	transform: rotateX( 180deg );
}
.flip-boards .board.top .flipped
{
	-webkit-transform: rotateX( 180deg );
	-moz-transform: rotateX( 180deg );
	-ms-transform: rotateX( 180deg );
	transform: rotateX( 180deg );
}
.flip-boards .board.left:hover
{
	-webkit-transform: rotateY( 180deg );
	-moz-transform: rotateY( 180deg );
	-ms-transform: rotateY( 180deg );
	transform: rotateY( 180deg );
}
.flip-boards .board.left .flipped
{
	-webkit-transform: rotateY( 180deg );
	-moz-transform: rotateY( 180deg );
	-ms-transform: rotateY( 180deg );
	transform: rotateY( 180deg );
}</code></pre>
<p>This article was originally published on <a href="http://www.paulund.co.uk/css-flip-boards">CSS Flip Boards</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=AiLpf9-GsZY:9TEKQ6NGS_E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=AiLpf9-GsZY:9TEKQ6NGS_E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AiLpf9-GsZY:9TEKQ6NGS_E:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=AiLpf9-GsZY:9TEKQ6NGS_E:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/AiLpf9-GsZY" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;In this tutorial we are going to create a flip board effect by using CSS, there are 2 effects we can create one the hover event we are going to have one board flip on the horizontal and another board which will flip on the vertical. This effect can be used to hide content from [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/css-flip-boards"&gt;CSS Flip Boards&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/css-flip-boards/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/css-flip-boards</feedburner:origLink></item><item><title>The HTML Email Boilerplate</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/LS9imp2hv9g/html-email-boilerplate</link><category>Resources</category><category>boilerplate</category><category>email</category><category>HTML</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Fri, 10 May 2013 01:49:57 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7381</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>With web development there are lots of common tasks that we do over and over again. This is where it's helpful to work with tools that make our lives easier, this can be Server-side frameworks, HTML project boilerplates and HTML email boilerplates. </p>
<p>Some of the most popular boilerplates you would of heard of are <a href="http://www.paulund.co.uk/twitter-bootstrap-alert-boxes" title="CSS Twitter Bootstrap Alert Boxes" target="_blank">Twitter bootstrap</a> and HTML5 boilerplate. These projects are both available on Github for you to fork and modify for your own use and both are very useful projects to use when you first start any new website project.</p>
<p>One of the problems that web developers have is getting email newsletters to look correct in most of email clients. This is where the HTML email boilerplate can be useful, it will provide you with helpful code snippets to aid in developing all your HTML emails. This will take care of the correct doctype to use, how to reset the styling to work in all clients, how to display images correctly and how to style HTML tables to align correctly in your email.</p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/05/htmlboilerplate-590x446.png" alt="htmlboilerplate" width="590" height="446" class="aligncenter size-large wp-image-7437" /></p>
<h2>HTML Doctype</h2>
<p>While many email clients will strip out the doctype, it's good practice to add a <a href="http://www.paulund.co.uk/what-is-html5" title="What Is HTML5?" target="_blank">doctype</a> so that when we are testing we know that the HTML will render correctly. When popular clients remove the doctype from the email it will be replaced by XHTML 1.0 strict doctype, this is why we make sure we set it as XHTML 1.0 strict.</p>
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</code></pre>
<h2>Images</h2>
<p>The HTML boilerplate will help you in setting up your images correctly, if you have links around your images then a border will be placed around the images, adding these styles will remove all borders around your images.</p>
<pre><code>&lt;style&gt;
img {outline:none; text-decoration:none; -ms-interpolation-mode: bicubic;} 
a img {border:none;} 
.image_fix {display:block;}
&lt;/style&gt;
&lt;img class="image_fix" src="full path to image" alt="Your alt text" title="Your title text" width="x" height="x" /&gt;</code></pre>
<h2>Tables</h2>
<p>The HTML boilerplate gives you a starting point to deal with tables, this will provide you with a starting point of defaults to use on your table to avoid any formatting problems.</p>
<pre><code>&lt;style&gt;
#backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;}
&lt;/style&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" id="backgroundTable"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" align="center"&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;/td&gt;
&lt;td width="200" valign="top"&gt;&lt;/td&gt;
&lt;td width="200" valign="top"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</code></pre>
<h2>Resetting Your Styles</h2>
<p>Use the following snippet to reset the styles in the email clients, this will also help with font sizes on mobile devices.</p>
<pre><code>/* Client-specific Styles */
#outlook a {padding:0;} /* Force Outlook to provide a "view in browser" menu link. */
body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}
/* Prevent Webkit and Windows Mobile platforms from changing default font sizes, while not breaking desktop design. */
.ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing.  More on that: http://www.emailonacid.com/forum/viewthread/43/ */
#backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;}
p { margin: 1em 0; }
/* End reset */</code></pre>
<p>Use the HTML boilerplate the next time you need to create a HTML email newsletter.</p>
<p><a href="http://htmlemailboilerplate.com/" class="button" target="_blank">HTML Email Boilerplate</a></p>
<p>This article was originally published on <a href="http://www.paulund.co.uk/html-email-boilerplate">The HTML Email Boilerplate</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=LS9imp2hv9g:AaHSLQ1LQes:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=LS9imp2hv9g:AaHSLQ1LQes:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=LS9imp2hv9g:AaHSLQ1LQes:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=LS9imp2hv9g:AaHSLQ1LQes:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/LS9imp2hv9g" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;With web development there are lots of common tasks that we do over and over again. This is where it's helpful to work with tools that make our lives easier, this can be Server-side frameworks, HTML project boilerplates and HTML email boilerplates. Some of the most popular boilerplates you would of heard of are Twitter [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/html-email-boilerplate"&gt;The HTML Email Boilerplate&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/html-email-boilerplate/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/html-email-boilerplate</feedburner:origLink></item><item><title>Add Twitter Cards To Your Website</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/V8WxXd1UpFg/add-twitter-cards-to-your-website</link><category>HTML5</category><category>open graph</category><category>twitter</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Wed, 08 May 2013 01:16:26 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=6984</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>When you <a href="http://www.paulund.co.uk/create-your-own-share-buttons-with-sharrre" title="Create Your Own Share Buttons With Sharrre" target="_blank">share a post on a social network like Facebook</a> it will scan the URL that you are sharing and return certain information to display the page in your feed. Facebook will get the page title, page description and a thumbnail image for the page. You can change the information that Facebook gets by using the <a href="http://www.paulund.co.uk/add-facebook-open-graph-tags-to-wordpress" title="Add Facebook Open Graph Tags To WordPress" target="_blank">open graph meta tags</a>.</p>
<p>These are simply meta tags you can add to the head tag of your page, when Facebook scans your page to get the title, description and images it will search for these tags, if they are there then it will use the contents of these tags instead of the page title. These means you can fully customise the page titles just for Facebook.</p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2013/04/card-web-summary_0.png" alt="card-web-summary_0" width="522" height="272" class="aligncenter size-full wp-image-7021" /></p>
<p><strong>Twitter</strong> also has meta tags which you can use to customise the message on Twitter. These are called Twitter cards, it allows website owners to add more descriptive text on their links when they are shared on Twitter.<br />
<span id="more-6984"></span><br />
When a link is shared on <strong>Twitter</strong> it is limited to the 140 character limit on all tweets, but on all tweets you can expand the tweet to find out more about it. This section is where you find information on how many people have replied to the tweet, re-tweeted it and added it to their favourites. But if you have the Twitter meta tags added to your head tag then instead of just seeing the information about re-tweets and favourites you will also see a snippet of the page by showing you the title, description and an image.</p>
<p>Because you can post different types of links to Twitter like images and videos there are different types of Twitter cards you can have, one will give you a snippet of the page, another will display an image, the last one is a media play to play music or video.</p>
<p>Which type of card that is displayed can also be defined by a meta tag.</p>
<pre><code>&lt;meta name="twitter:card" content="summary"&gt;</code></pre>
<p>To display a snippet of the page the value of the content attribute will need to be <strong>summary</strong>. For an image the value will need to be changed to <strong>photo</strong>. To change this to display the media player for a video or music set the value to be <strong>player</strong>.</p>
<h2>Twitter Card Meta Tags</h2>
<p>There are different meta tags you can use depending on the type of Twitter card you are using.</p>
<h3>Summary Card</h3>
<ul>
<li>twitter:card - The card type, which will be one of "summary", "photo", or "player".</li>
<li>twitter:url - Canonical URL of the card content.</li>
<li>twitter:title - The title of your content as it should appear in the card.</li>
<li>twitter:description - A description of the content in a maximum of 200 characters.</li>
<li>twitter:image - A URL to the image representing the content.</li>
</ul>
<pre><code>&lt;meta name="twitter:card" content="summary"&gt;
&lt;meta name="twitter:site" content="@paulund_"&gt;
&lt;meta name="twitter:creator" content="@paulund_"&gt;
&lt;meta name="twitter:url" content="http://www.paulund.co.uk"&gt;
&lt;meta name="twitter:title" content="Page Title"&gt;
&lt;meta name="twitter:description" content="Page Description"&gt;
&lt;meta name="twitter:image" content="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/example-image.jpg"&gt;</code></pre>
<h3>Photo Card</h3>
<ul>
<li>twitter:card - Set this value to photo</li>
<li>twitter:url - Canonical URL of the card content.</li>
<li>twitter:title - The title of your content as it should appear in the card.</li>
<li>twitter:description - A description of the content in a maximum of 200 characters.</li>
<li>twitter:image - A URL to the image representing the content.</li>
<li>twitter:image:width - Define the original width of the image, this may not be the size Twitter use to display it but it will help twitter keep the aspect ratio of the image if it needs to resize the image.</li>
<li>twitter:image:height - Define the original height of the image.</li>
</ul>
<pre><code>&lt;meta name="twitter:card" content="photo"&gt;
&lt;meta name="twitter:site" content="@paulund_"&gt;
&lt;meta name="twitter:creator" content="@paulund_"&gt;
&lt;meta name="twitter:url" content="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/example-image.jpg"&gt;
&lt;meta name="twitter:title" content="Image Title"&gt;
&lt;meta name="twitter:description" content="Image Description"&gt;
&lt;meta name="twitter:image" content="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/example-image.jpg"&gt;
&lt;meta name="twitter:image:width" content="500"&gt;
&lt;meta name="twitter:image:height" content="500"&gt;</code></pre>
<h3>Player Card</h3>
<ul>
<li>twitter:card - Set this value to player</li>
<li>twitter:url - Canonical URL of the card content.</li>
<li>twitter:title - The title of your content as it should appear in the card.</li>
<li>twitter:description - A description of the content in a maximum of 200 characters.</li>
<li>twitter:image - A URL to the image to be used as the thumbnail of the video</li>
<li>twitter:player - The URL of the player</li>
<li>twitter:player:stream - The URL of the video to stream on the player</li>
<li>twitter:player:width - The width of the IFRAME to display the player</li>
<li>twitter:player:height - The height of the IFRAME to display the player</li>
</ul>
<pre><code>&lt;meta name="twitter:card" content="player"&gt;
&lt;meta name="twitter:site" content="@paulund_"&gt;
&lt;meta name="twitter:url" content="http://www.paulund.co.uk/example-video.mp4"&gt;
&lt;meta name="twitter:title" content="Title Of Video"&gt;
&lt;meta name="twitter:description" content="Description of the video"&gt;
&lt;meta name="twitter:image" content="http://example.com/example-video-thumbnail-image.jpg"&gt;
&lt;meta name="twitter:player" content="https://www.paulund.co.uk/example-player"&gt;
&lt;meta name="twitter:player:stream" content="http://www.paulund.co.uk/example-video.mp4"&gt;
&lt;meta name="twitter:player:width" content="500"&gt;
&lt;meta name="twitter:player:height" content="250"&gt;</code></pre>
<h2>Facebook Open Graph Tags</h2>
<p>If you are already using the Facebook open graph tags then you will have something like this in the head of your HTML.</p>
<pre><code>&lt;meta property="og:url" content="http://www.paulund.co.uk/example-url"&gt;
&lt;meta property="og:title" content="Example Title"&gt;
&lt;meta property="og:description" content="Example Description"&gt;
&lt;meta property="og:image" content="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/example-image.jpg"&gt;</code></pre>
<p>Because the <a href="http://www.paulund.co.uk/add-facebook-open-graph-tags-to-wordpress" title="Add Facebook Open Graph Tags To WordPress" target="_blank">Twitter cards meta tags were based on the open graph tags</a>, Twitter will actually use these as a fall back. It will first search for the Twitter card tags, if they are not there then it will search for the open graph tags and use them for the title, description and images. This is so you don't need to duplicate the tags with the same information as the open graph tags.</p>
<p>This means that you can have this in the head of your website and it will search work perfectly fine.</p>
<pre><code>&lt;meta name="twitter:card" content="summary"&gt;
&lt;meta name="twitter:site" content="@paulund_"&gt;
&lt;meta name="twitter:creator" content="@paulund_"&gt;
&lt;meta property="og:url" content="http://www.paulund.co.uk/example-url"&gt;
&lt;meta property="og:title" content="Example Title"&gt;
&lt;meta property="og:description" content="Example Description"&gt;
&lt;meta property="og:image" content="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/example-image.jpg"&gt;</code></pre>
<p>To view updated information about the Twitter card visit the Twitter documentation.</p>
<p><a href="https://dev.twitter.com/docs/cards" class="button" target="_blank">Twitter Cards</a></p>
<p>This article was originally published on <a href="http://www.paulund.co.uk/add-twitter-cards-to-your-website">Add Twitter Cards To Your Website</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=V8WxXd1UpFg:QCsajg0JiIo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=V8WxXd1UpFg:QCsajg0JiIo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=V8WxXd1UpFg:QCsajg0JiIo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=V8WxXd1UpFg:QCsajg0JiIo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/V8WxXd1UpFg" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;When you share a post on a social network like Facebook it will scan the URL that you are sharing and return certain information to display the page in your feed. Facebook will get the page title, page description and a thumbnail image for the page. You can change the information that Facebook gets by [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/add-twitter-cards-to-your-website"&gt;Add Twitter Cards To Your Website&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><enclosure url="http://www.paulund.co.uk/example-video.mp4" length="0" type="video/mp4" /><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/add-twitter-cards-to-your-website/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/add-twitter-cards-to-your-website</feedburner:origLink></item><item><title>Absolute Center Images With CSS</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/5mUuAhk0x5s/absolute-center-images-with-css</link><category>CSS</category><category>css</category><category>snippet</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Tue, 07 May 2013 01:06:49 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=6966</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Here is a technique about how you can absolute center position an element on the horizontal and vertical in CSS.</p>
<h2>Center Images Horizontally</h2>
<p>To center something on the horizontal in CSS it's quite easy all you need to do is set the width on the element and apply an auto margin-left and margin-right on to the image. The browser will work out the exact margin on both the right and left side of the image. This will position the image in the center of the parent element just by using the width and the margin properties.</p>
<pre><code>&lt;img src="example.html" alt="Center Images" /&gt;</code></pre>
<p><pre><code>img {
     width:250px;
     margin: 0 auto;
}</code></pre><br />
<span id="more-6966"></span></p>
<h2>Center Images On Horizontal and Vertical</h2>
<p>Setting the image to be center on the horizontal is easy you just need to set an auto on the left and right margin. But to set the image on the vertical and on the horizontal you need to set the margin on the top and left of the element.</p>
<p>The following technique is something you can use to display a pop-up window to show an image gallery in the center of the screen.</p>
<p>This example will center the image with a width of 250px, first to set the image to be absolute positioned and set the top and left property to be 50%. This will position the image in the middle of screen, but the image won't be exactly center. </p>
<pre><code>img {
   height: 250px;
   left: 50%;
   position: absolute;
   top: 50%;
   width: 250px;
}</code></pre>
<p>The top left corner of the image will be the exact center of the screen, to move this point to the center of the image we need to move the image half it's width and half it's height. To move the image on half it's width and half it's height you need to add a margin-top which is negative half the height of the image and a margin-left which is negative half the width of the image.</p>
<pre><code>img {
   height: 250px;
   left: 50%;
   margin-top: -125px;
   margin-left: -125px;
   position: absolute;
   top: 50%;
   width: 250px;
}</code></pre>
<p>This article was originally published on <a href="http://www.paulund.co.uk/absolute-center-images-with-css">Absolute Center Images With CSS</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=5mUuAhk0x5s:3hHndxuu7GM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=5mUuAhk0x5s:3hHndxuu7GM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=5mUuAhk0x5s:3hHndxuu7GM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=5mUuAhk0x5s:3hHndxuu7GM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/5mUuAhk0x5s" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;Here is a technique about how you can absolute center position an element on the horizontal and vertical in CSS. Center Images Horizontally To center something on the horizontal in CSS it's quite easy all you need to do is set the width on the element and apply an auto margin-left and margin-right on to [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/absolute-center-images-with-css"&gt;Absolute Center Images With CSS&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/absolute-center-images-with-css/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/absolute-center-images-with-css</feedburner:origLink></item><item><title>Validate Featured Image On Post</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/U1_HC3a-qMI/check-a-featured-image-is-set-before-publishing</link><category>Wordpress</category><category>featured</category><category>Image</category><category>wordpress</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Mon, 06 May 2013 01:59:34 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=6975</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Since <strong>WordPress version 2.9</strong> you have been able to <a href="http://www.paulund.co.uk/automatically-set-post-featured-image" title="Automatically Set Post Featured Image" target="_blank">add a post thumbnail</a> to all your posts on your website. A post thumbnail is called a featured image for the posts, this image can be displayed in anyway you want, it is up to the theme developer. The benefit of this image is that it allows you to add an image to a post without it appearing in the content of the actual post.</p>
<p>This will allow you to use an image to display the post instead of just the content. The main use of this image is to be used on the index page or the search results page of your WordPress site.</p>
<h2>Enable Theme Support For Featured Post</h2>
<p>By default themes do not support this feature you need to add some code to the functiona.php file.</p>
<p><pre><code>add_theme_support( 'post-thumbnails' );</code></pre><br />
<span id="more-6975"></span></p>
<h2>Set Featured Image</h2>
<p>There is a meta box on the post screen where you can set an image to be the featured image on the post.</p>
<p><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2012/04/featured_post.png" alt="featured_post" title="featured_post" width="288" height="86" class="aligncenter size-full wp-image-5720" /></p>
<h2>Display The Featured Image</h2>
<p>To display the featured image on your WordPress theme you need to use the <strong>function the_post_thumbnail()</strong>, but first you need to check if the post currently has a thumbnail image by using the <strong>has_post_thumbnail()</strong>.</p>
<pre><code>if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
    the_post_thumbnail();
}</code></pre>
<h2>Validate Featured Image On Post</h2>
<p>If you theme requires that a post has a featured image then you need to make sure that your post has a featured image before you allow your users to publish the post.</p>
<p>If you need to validate a post you can do this on the saving the post action <strong>save_post</strong>, this action will be ran when you save the current post.</p>
<p>For us to validate this correctly we need to to check if the post has a post thumbnail by using the <strong>has_post_thumbnail() function</strong>. If the post doesn't have a post thumbnail then we need to set the post back to be a draft status and <a href="http://www.paulund.co.uk/show-urgent-messages-in-wordpress-dashboard" title="Show Urgent Messages In WordPress Dashboard" target="_blank">display an error message on the screen</a>.</p>
<h3>Validate Post Thumbnail</h3>
<p>The following code can be used to validate the post thumbnail.</p>
<p>This code will run on the <strong>save action</strong> of the post, first we check that the post type is for a post. If the post type is not a post then we return from the function so we don't continue.</p>
<p>Then we check to see if the post has a thumbnail if it doesn't have a thumbnail then we <a href="http://www.paulund.co.uk/cache-wordpress-query-strings-using-transient-api" title="Cache WordPress Query Strings Using Transient API" target="_blank">set a new transient</a> so that we can display an error message. Then we reset the post status to draft so the post doesn't displayed on the website. If the post has a thumbnail then we can just <a href="http://www.paulund.co.uk/cache-data-with-wordpress" title="How To Cache Queries In WordPress" target="_blank">delete the transient</a> so the error message isn't displayed anymore.</p>
<pre><code>add_action('save_post', 'pu_validate_thumbnail');
function pu_validate_thumbnail($post_id)
{
    // Only validate post type of post
    if(get_post_type($post_id) != 'post')
        return;
 	// Check post has a thumbnail
    if ( !has_post_thumbnail( $post_id ) ) {
    	// Confirm validate thumbnail has failed
        set_transient( "pu_validate_thumbnail_failed", "true" );
        // Remove this action so we can resave the post as a draft and then reattach the post
        remove_action('save_post', 'pu_validate_thumbnail');
        wp_update_post(array('ID' =&gt; $post_id, 'post_status' =&gt; 'draft'));
	add_action('save_post', 'pu_validate_thumbnail');
    } else {
    	// If the post has a thumbnail delete the transient
        delete_transient( "pu_validate_thumbnail_failed" );
    }
}</code></pre>
<p>Next we use the <strong>admin_notices</strong> action to display an error message if the transient is set. Once the message is displayed then we can delete the transient.</p>
<pre><code>add_action('admin_notices', 'pu_validate_thumbnail_error');
function pu_validate_thumbnail_error()
{
    // check if the transient is set, and display the error message
    if ( get_transient( "pu_validate_thumbnail_failed" ) == "true" ) {
        echo "
&lt;div id='message' class='error'&gt;
&lt;strong&gt;A post thumbnail must be set before saving the post.&lt;/strong&gt;
&lt;/div&gt;
";
        delete_transient( "pu_validate_thumbnail_failed" );
    }
}</code></pre>
<p>When you save the post and it doesn't have a featured image then you will see the post is set back to a draft and an error message is displayed on the screen.</p>
<p>This article was originally published on <a href="http://www.paulund.co.uk/check-a-featured-image-is-set-before-publishing">Validate Featured Image On Post</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=U1_HC3a-qMI:POr8_ua20_0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=U1_HC3a-qMI:POr8_ua20_0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=U1_HC3a-qMI:POr8_ua20_0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=U1_HC3a-qMI:POr8_ua20_0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/U1_HC3a-qMI" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;Since WordPress version 2.9 you have been able to add a post thumbnail to all your posts on your website. A post thumbnail is called a featured image for the posts, this image can be displayed in anyway you want, it is up to the theme developer. The benefit of this image is that it [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/check-a-featured-image-is-set-before-publishing"&gt;Validate Featured Image On Post&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/check-a-featured-image-is-set-before-publishing/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/check-a-featured-image-is-set-before-publishing</feedburner:origLink></item><item><title>Free Premium Files For May 2013</title><link>http://feedproxy.google.com/~r/Paulundcouk/~3/AJ4B49n54LY/free-premium-files-for-may-2013</link><category>Freebies</category><category>files</category><category>free</category><category>premium</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul</dc:creator><pubDate>Wed, 01 May 2013 11:04:23 PDT</pubDate><guid isPermaLink="false">http://www.paulund.co.uk/?p=7419</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Each month the Envato marketplace brings you free premium standard files.</p>
<p>Envato is a web marketplace where you can get premium files for different areas of your website. My favourite marketplaces is the script marketplace CodeCanyon and the theme marketplace ThemeForest.</p>
<p>Here are the files which you can get for free for May 2013.</p>
<h2>PHPWebServer with WebSockets Upgrade</h2>
<p><a href="http://codecanyon.net/item/phpwebserver-with-websockets-upgrade/3302946?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=nr913&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://0.s3.envato.com/files/38522658/item_page_image_590x300_v1.jpg" width="590" height="300" alt="PHPWebServer with WebSockets Upgrade" class="aligncenter" /></a></p>
<p>18 purchases at the price of $5.</p>
<p>This item is a suite of PHP classes that define a HTTP web server with WebSockets upgrade possibility. It runs in PHP CLI , and you can do everything you want with it thanks to the low-end access of HTTP protocol.</p>
<p><a href="http://codecanyon.net/item/phpwebserver-with-websockets-upgrade/3302946?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=nr913&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<p><span id="more-7419"></span></p>
<h2>Skywalker - Powerful Template for Joomla!</h2>
<p><a href="http://themeforest.net/item/skywalker-powerful-template-for-joomla/479485?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=dnp_theme&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://0.s3.envato.com/files/17065809/1_skywalker-template-preview.__large_preview.png" width="590" height="300" alt="Skywalker - Powerful Template for Joomla!" class="aligncenter" /></a></p>
<p>95 purchases at the price of $40.</p>
<p>The man behind the T3 Framework Wikies proudly presents Skywalker for Joomla! 2.5! My first template on Themeforest! A powerful and fully featured template and featuring all the things you need.</p>
<p>Skywalker template comes with real Quickstart Installation Pack for Joomla! 2.5 and is a unique template, with consistent typography, no one million colors or unlimited features, just simple to use features packed up and ready for you!</p>
<ul>
<li> <strong>Unique</strong>, XHTML valid and typographically <strong>consistent design</strong>.</li>
<li> <strong>Skitter Slider</strong> the best javascript based slider for Joomla!.</li>
<li> <strong>K2 Content Component</strong> used for the Blog Page.</li>
<li> <strong>GK News Show Pro</strong> with awesome styling.</li>
<li> <strong>Ajax search</strong> with awesome styling.</li>
<li> <strong>The Piecemaker 2</strong> – my own extension, the smartest out there.</li>
<li> DNP Tabs – my own smart tabs module for Joomla!, light and very easy to use.</li>
<li> Simple Blank Module – my own extension for using custom code snipets. </li>
<li> Google Maps Plugin support. </li>
<li> Custom Form Elements – another <strong>unique</strong> feature powered by CSS3 &amp; jQuery, to add more style to your checkboxes, radio boxes and select elements.</li>
<li> DNP White Social Icons – <strong>Custom Social Icons</strong> to match the template design.</li>
<li> Link Cooltips – hovering links the titles look great finally.</li>
<li> 8 styles based on beautiful colors: turquoise blue, green, orange, yellow, red, purple, magenta, grey.</li>
<li> Fullscreen Background Images with AJAX load.</li>
<li> Custom error and offline pages.</li>
<li> Beautiful CSS3 powered typography with price tables, bubbles, blockquotes, lists and everything you need for your content.</li>
<li> 30+ Module Positions on 3 very flexible desktop layouts.</li>
<li> jQuery 1.7 minimized included &amp; running in “no-conflict” mode for various template features and your code snipets. </li>
<li> Mobile Ready Layouts – reforged of course – <a href="http://skywalker.pcadviser.ro/?layouts=iphone-demo" rel="nofollow">demo here</a></li>
<li> Smooth scroll to top – a <strong>unique</strong> feature that can be used to create navigation for one page website.</li>
<li> A new Tools top panel jQuery powered easy to customize for your needs.</li>
<li> Various code snipets with the Joomla! 2.5 Quickstart </li>
<li> Automatic Adjustments to enhance template typography</li>
<li> Complete Documentation</li>
<li> Forum Support</li>
<li> That’s it ?!</li>
</ul>
<p><a href="http://themeforest.net/item/skywalker-powerful-template-for-joomla/479485?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=dnp_theme&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<h2>HIGH QUALITY - TEXT ANIMATED CONTENT AD - 300x250</h2>
<p><a href="http://activeden.net/item/high-quality-text-animated-content-ad-300x250/82002?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=wenzel&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://3.s3.envato.com/files/1402453/590x300pixel.jpg" width="590" height="300" alt="HIGH QUALITY - TEXT ANIMATED CONTENT AD - 300x250" class="aligncenter" /></a></p>
<p>546 purchases at the price of $3.</p>
<p>This ist the first Series of professional Advertising Banner on activeden. You get an easy to customize 300×250px Content Ad.</p>
<p>This is just typo animation, so you can put your own logo and you own text.</p>
<p>Everything is xml based, you so can individualize this banner in the way you want without flash or actionscript knowledge.</p>
<p><a href="http://activeden.net/item/high-quality-text-animated-content-ad-300x250/82002?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=wenzel&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<h2>Determination</h2>
<p><a href="http://audiojungle.net/item/determination/724955?WT.ac=free_file&amp;WT.seg_1=free_file&amp;WT.z_author=CraigHall&amp;ref=paulund" class="noBorder" target="_blank"><img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/wp-content/uploads/2012/02/AudioJungle-590x311.png" alt="AudioJungle" width="590" height="311" class="aligncenter size-large wp-image-4097" /></a></p>
<p>24 purchases at the price of $13.</p>
<p>Determination is an uplifting and motivational track, designed for business or corporate projects such as presentations or advertising!</p>
<p>The track begins with a subtle, emotive piano loop that continues throughout the piece, as a staccato violin section introduces an inspiring and positive repeating pattern. A steady, punchy drum beat evolves throughout the track, while everything is held together with a simple, solid bass line and electric guitars provide a powerful chord progression throughout the piece.</p>
<p>Modern production techniques keep the track sounding fresh, and perfect for a number of uses. Includes a 320 mp3 and 16-bit wav.</p>
<p><a href="http://audiojungle.net/item/determination/724955?WT.ac=free_file&amp;WT.seg_1=free_file&amp;WT.z_author=CraigHall&amp;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<h2>Creative Minds</h2>
<p><a href="http://videohive.net/item/creative-minds/136553?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=EFEKT_Studio&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://0.s3.envato.com/files/1371784/590x300.jpg" width="590" height="300" alt="Creative Minds" class="aligncenter" /></a></p>
<p>156 purchases at the price of $20.</p>
<p>Top quality design, full customization and video instructions will help improve your styling. The best thing is that you don’t need 3rd party plug-ins.</p>
<ul>
<li>5 Image placeholders</li>
<li>11 Text placeholders</li>
<li>Logo placeholder</li>
<li>9 Background’s</li>
<li>Original sountrack, included in project!</li>
<li>Every project element customizable</li>
<li>Detailed video help</li>
<li>No plug-ins</li>
<li>Full HD – 1920×1080 – 24fps (Instructions included how to change these settings if needed)</li>
<li>Font can be downloaded free at <a href="http://www.dafont.com/geek-a-byte.font" rel="nofollow">http://www.dafont.com/geek-a-byte.font</a></li>
</ul>
<p><a href="http://videohive.net/item/creative-minds/136553?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=EFEKT_Studio&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<h2>Business eNewsletter Design</h2>
<p><a href="http://graphicriver.net/item/business-enewsletter-design/1195810?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=Alexlasek&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://2.s3.envato.com/files/26333788/preview.jpg" width="590" height="1259" alt="Business eNewsletter Design" class="aligncenter" /></a></p>
<p>82 purchases at the price of $3.</p>
<ul>
<li>Fully layered 12 .PSD file</li>
<li>Easy to customize :colors, sets of news</li>
<li>Proffesional and clean style</li>
<li>Juicy colours</li>
<li>Made in <strong>6 colour</strong> versions and in 2 layout options</li>
<li>Perfect for business use like mobile apps but not only <img src="http://btenc7unnvpdjzve.zippykid.netdna-cdn.com/images/smileys/happy.png" alt=":)" title=":)"></li>
<li>Easy to code, dedicates to table or div coding  </li>
<li>All layers are fully editable and organized in groups</li>
<li>All you need to do is just change text and pictures</li>
<li>Fonts used (not included): Arial, Helvetica Neue LT Std, Helvetica Inserat LT Std</li>
</ul>
<p><a href="http://graphicriver.net/item/business-enewsletter-design/1195810?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=Alexlasek&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<h2>Lowpoly Wrench</h2>
<p><a href="http://3docean.net/item/lowpoly-wrench/4440210?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=dinhtran&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://3.s3.envato.com/files/53082090/590.png" width="590" height="915" alt="Lowpoly Wrench" class="aligncenter" /></a></p>
<p>0 purchases at the price of $4.</p>
<p>This is Lowpoly Wrench, Model has 218 Tris and texture map 256-256</p>
<p><a href="http://3docean.net/item/lowpoly-wrench/4440210?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=dinhtran&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<h2>Beautiful Woman Wearing Jewellery</h2>
<p><a href="http://photodune.net/item/beautiful-woman-wearing-jewelry-very-clean-image-with-copy-space/1634933?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=matusciac&#038;ref=paulund" class="noBorder" target="_blank"><img src="http://0.s3.envato.com/files/18839896/_MG_1229.jpg" width="590" height="366" alt="beautiful woman wearing jewelry, very clean image with copy space" class="aligncenter" /></a></p>
<p>15 purchases at the price of $5.</p>
<p><a href="http://photodune.net/item/beautiful-woman-wearing-jewelry-very-clean-image-with-copy-space/1634933?WT.ac=free_file&#038;WT.seg_1=free_file&#038;WT.z_author=matusciac&#038;ref=paulund" class="button" target="_blank">Get It Free Now</a></p>
<p>This article was originally published on <a href="http://www.paulund.co.uk/free-premium-files-for-may-2013">Free Premium Files For May 2013</a>.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email <a href="http://eepurl.com/j39L1">Subscribe</a>

<a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&u=546757&m=43811&urllink=&afftrack="><img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding & much More! 100% Off First Month." border="0"></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=AJ4B49n54LY:BaVn3s5CVZA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=AJ4B49n54LY:BaVn3s5CVZA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?d=TzevzKxY174" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Paulundcouk?a=AJ4B49n54LY:BaVn3s5CVZA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Paulundcouk?i=AJ4B49n54LY:BaVn3s5CVZA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Paulundcouk/~4/AJ4B49n54LY" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;Each month the Envato marketplace brings you free premium standard files. Envato is a web marketplace where you can get premium files for different areas of your website. My favourite marketplaces is the script marketplace CodeCanyon and the theme marketplace ThemeForest. Here are the files which you can get for free for May 2013. PHPWebServer [...]&lt;/p&gt;&lt;p&gt;This article was originally published on &lt;a href="http://www.paulund.co.uk/free-premium-files-for-may-2013"&gt;Free Premium Files For May 2013&lt;/a&gt;.

Remember Google Reader is shutting down soon, get the latest Tutorials and Snippets straight to your email &lt;a href="http://eepurl.com/j39L1"&gt;Subscribe&lt;/a&gt;

&lt;a target="_blank" href="http://www.shareasale.com/r.cfm?b=430948&amp;u=546757&amp;m=43811&amp;urllink=&amp;afftrack="&gt;&lt;img src="http://www.shareasale.com/image/43811/300x250.png" alt="Learn Web Design, Coding &amp; much More! 100% Off First Month." border="0"&gt;&lt;/a&gt;&lt;/p&gt;</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.paulund.co.uk/free-premium-files-for-may-2013/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.paulund.co.uk/free-premium-files-for-may-2013</feedburner:origLink></item></channel></rss>
