<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>WP Storm</title>
	
	<link>http://wpstorm.net</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 09 May 2010 21:30:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="wpstorm" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://wpstorm.net/feed/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">wpstorm</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://wpstorm.net/feed/" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.plusmo.com/add?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.wikio.com/subscribe?url=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Fwpstorm.net%2Ffeed%2F" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Editor Styles for Custom Post Types in WordPress 3.0</title>
		<link>http://wpstorm.net/2010/04/editor-styles-custom-post-types-wordpress-3-0/</link>
		<comments>http://wpstorm.net/2010/04/editor-styles-custom-post-types-wordpress-3-0/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 16:27:51 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tweak]]></category>
		<category><![CDATA[WordPress 3.0]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=333</guid>
		<description><![CDATA[I&#8217;ve had some fun playing around with the recently released WordPress 3.0, Beta 1. One of my new favorite additions is the add_editor_style() which allows you to assign a CSS file for the TinyMCE when editing posts, pages and the new custom post types. This is very handy to get closer to a WYSIWYG experience ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had some fun playing around with the recently released <a href="http://wordpress.org/development/2010/04/wordpress-3-0-beta-1/">WordPress 3.0, Beta 1</a>. One of my new favorite additions is the add_editor_style() which allows you to assign a CSS file for the TinyMCE when editing posts, pages and the new custom post types. This is very handy to get closer to a WYSIWYG experience in WordPress&#8217; editor and not having to preview the posts all the times while writing, to check where line breaks end up and so on (if you care about those things).</p>
<p>I&#8217;m also loving the new Custom Post Types, and on one of my sites, I have setup a few different post types. On the frontend I have different widths for posts, pages and my new WordPress 3.0 custom post type &#8216;portfolio. I wanted to reflect the different widths in my admin editor style sheet as well. The posts are the narrowest ones, while pages are wider and my custom post type portfolio is the widest, so I have made 3 style sheets which are pretty much the same, with the exception of the</p>
<pre class="brush: css;">
html .mceContentBody {
	max-width:640px;
}
</pre>
<p>which sets the width for the editor. My style sheets are named; editor-style-post.css, editor-style-page.css and editor-style-portfolio.css.<br />
To be able to decide which post type I&#8217;m editing I check post_type in the $current_screen variable and then set the correct CSS according to that.</p>
<p>The code I end up with adding to my <em>functions.php</em> file looks something like this.</p>
<pre class="brush: php;">
function my_editor_style() {
	global $current_screen;
	switch ($current_screen-&gt;post_type) {
	case 'post':
		add_editor_style('editor-style-post.css');
		break;
	case 'page':
		add_editor_style('editor-style-page.css');
		break;
	case 'portfolio':
		add_editor_style('editor-style-portfolio.css');
		break;
	}
}
add_action( 'admin_head', 'my_editor_style' );
</pre>
<p>By expanding on the code above you can continue defining stylesheets for any custom post types you might end up with in WordPress 3.0.</p>
<p>That&#8217;s it folks, cheers!</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/-7DeH6q8OJg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2010/04/editor-styles-custom-post-types-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>PayPal Donations WordPress Widget</title>
		<link>http://wpstorm.net/2009/06/paypal-donation-wordpress-widget/</link>
		<comments>http://wpstorm.net/2009/06/paypal-donation-wordpress-widget/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 18:56:18 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=279</guid>
		<description><![CDATA[I just released a new version of PayPal Donations, version 1.2. New in this version is the inclusion of a sidebar Widget for the PayPal button. I&#8217;m using the new WordPress 2.8 API for the Widget, so it&#8217;s only available if you run the plugin on WordPress 2.8 or newer. In the widget admin you ...]]></description>
			<content:encoded><![CDATA[<div id="attachment_280" class="wp-caption alignright" style="width: 160px"><a href="http://wpstorm.net/core/wp-content/uploads/2009/06/paypal-donations-widget-screenshot-1.2.jpg"><img class="size-thumbnail wp-image-280" title="PayPal Donation Widget" src="http://wpstorm.net/core/wp-content/uploads/2009/06/paypal-donations-widget-screenshot-1.2-150x150.jpg" alt="PayPal Donation Widget Setup" width="150" height="150" /></a><p class="wp-caption-text">PayPal Widget Setup</p></div>
<p>I just released a new version of <a title="PayPal Donation for WordPress" href="http://wpstorm.net/wordpress-plugins/paypal-donations/">PayPal Donations</a>, version 1.2.</p>
<p>New in this version is the inclusion of a sidebar Widget for the PayPal button. I&#8217;m using the new WordPress 2.8 API for the Widget, so it&#8217;s only available if you run the plugin on WordPress 2.8 or newer.</p>
<p>In the widget admin you can specify a descriptive text as well as overrides for Purpose and Reference if you wish.</p>
<p>Enjoy and cheers!</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/wVjIZNijM1U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/06/paypal-donation-wordpress-widget/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Optimize and style Contact Form 7 for WordPress</title>
		<link>http://wpstorm.net/2009/06/optimize-style-contact-form-7-wordpress/</link>
		<comments>http://wpstorm.net/2009/06/optimize-style-contact-form-7-wordpress/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 12:52:04 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Contact]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Tweak]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=244</guid>
		<description><![CDATA[One of my favorite WordPress plugins is Contact Form 7 which I use on several of my WordPress based sites. Even though it&#8217;s highly customizable and configurable I have a few gripes with some hard coded functions in it. You can always edit the plugin file, which I did at first, but then you have ...]]></description>
			<content:encoded><![CDATA[<p>One of my favorite WordPress plugins is <a title="Contact Form for WordPress" href="http://ideasilo.wordpress.com/2007/04/30/contact-form-7/">Contact Form 7</a> which I use on several of my WordPress based sites. Even though it&#8217;s highly customizable and configurable I have a few gripes with some hard coded functions in it. You can always edit the plugin file, which I did at first, but then you have to reapply your edits every time the plugin gets updated, which can be cumbersome as this plugin gets updated quite often. So instead of keep editing the plugin file on every update I created some overrides instead.</p>
<h3>The Issues</h3>
<ul>
<li>The url to the AJAX loader symbol is hardcoded into the plugin, so if you don&#8217;t use a white background in your theme the loading symbol looks quite ugly. If you replace the default icon with your own it gets overwritten on each plugin update.</li>
<li>The javascripts for the plugin gets loaded on every single page of the site no matter if the plugin is used or not on that page, which adds unnecessary loading time where it&#8217;s not needed.</li>
<li>The path to the stylesheet for the validation and submit messages is also hardcoded into the plugin, and if you edit the stylesheet to fit your theme, the edits gets lost on each update, and you have to reupload your custom stylesheet for the plugin.</li>
</ul>
<h3>The Solutions</h3>
<p>So to not have to edit the plugin file, I added a few overrides in my theme&#8217;s functions.php file instead to change the behaviour of the plugin where needed.</p>
<p>Let&#8217;s start by taking care of the AJAX loading symbol. To change the path to the gif file I use a regular expression to update the url.</p>
<pre class="brush: php;">// Change the URL to the ajax-loader image
function change_wpcf7_ajax_loader($content) {
	if ( is_page('contact') ) {
		$string = $content;
		$pattern = '/(&lt;img class=&quot;ajax-loader&quot; style=&quot;visibility: hidden;&quot; alt=&quot;ajax loader&quot; src=&quot;)(.*)(&quot; \/&gt;)/i';
		$replacement = &quot;$1&quot;.get_template_directory_uri().&quot;/images/ajax-loader.gif$3&quot;;
		$content =  preg_replace($pattern, $replacement, $string);
	}
	return $content;
}
add_filter( 'the_content', 'change_wpcf7_ajax_loader', 100 );</pre>
<p>This function filters the content, tracks down the AJAX loader tag and replaces the URL with a path to the current {theme folder}/images/ajax-loader.gif. So you can have your own custom AJAX loader stored in your theme folder instead, untouched on each plugin update. I added the if( is_page(contact) ) {} to the function to make sure the filter only runs on pages where needed, to not waste CPU cycles on pages where the plugin is not used. Contact is the name of the page where I use the form, change it to the name, or names of pages where you use the plugin.</p>
<p>Okay, now let&#8217;s see take care of the script loading on each page of the site.</p>
<pre class="brush: php;">// Add the Contact Form 7 scripts on selected pages
function add_wpcf7_scripts() {
	if ( is_page('contact') )
		wpcf7_enqueue_scripts();
}
if ( ! is_admin() &amp;&amp; WPCF7_LOAD_JS )
	remove_action( 'init', 'wpcf7_enqueue_scripts' );
add_action( 'wp', 'add_wpcf7_scripts' );</pre>
<p>This function removes the call to add the Contact Form 7 scripts on every page, and then adds back the call where needed, in my case I add them back at the page called contact, but change that to whatever works for you.</p>
<p>And finally, let&#8217;s deal with the stylesheet.</p>
<pre class="brush: php;">function remove_wpcf7_stylesheet() {
	remove_action( 'wp_head', 'wpcf7_wp_head' );
}
add_action( 'init' , 'remove_wpcf7_stylesheet' );</pre>
<p>Here I actually remove the call to the stylesheet completely. As I have made my own style that fits my theme, I don&#8217;t use the default stylings. If you use the default stylings but just want it to load where needed, you could use an is_page condition like on the loading of the scripts. I could have put the Contact Form 7 Stylesheet in the theme folder using the same technique as on the AJAX loader to leave it untouched on a plugin update, but as I like to keep the calls to external files to a minimum to have the site load as fast as possible, I just put the WPCF7 CSS styles directly in my default style.css of my theme instead and got rid of the plugin stylesheet loading.</p>
<h3>The Final Code</h3>
<p>And here is what the final code looks like, ready to get pasted into the functions.php file in the theme you are using.</p>
<pre class="brush: php;">/**
 * Functions:	Optimize and style Contact Form 7 - WPCF7
 *
 */
// Remove the default Contact Form 7 Stylesheet
function remove_wpcf7_stylesheet() {
	remove_action( 'wp_head', 'wpcf7_wp_head' );
}

// Add the Contact Form 7 scripts on selected pages
function add_wpcf7_scripts() {
	if ( is_page('contact') )
		wpcf7_enqueue_scripts();
}

// Change the URL to the ajax-loader image
function change_wpcf7_ajax_loader($content) {
	if ( is_page('contact') ) {
		$string = $content;
		$pattern = '/(&lt;img class=&quot;ajax-loader&quot; style=&quot;visibility: hidden;&quot; alt=&quot;ajax loader&quot; src=&quot;)(.*)(&quot; \/&gt;)/i';
		$replacement = &quot;$1&quot;.get_template_directory_uri().&quot;/images/ajax-loader.gif$3&quot;;
		$content =  preg_replace($pattern, $replacement, $string);
	}
	return $content;
}

// If the Contact Form 7 Exists, do the tweaks
if ( function_exists('wpcf7_contact_form') ) {
	if ( ! is_admin() &amp;&amp; WPCF7_LOAD_JS )
		remove_action( 'init', 'wpcf7_enqueue_scripts' );

	add_action( 'wp', 'add_wpcf7_scripts' );
	add_action( 'init' , 'remove_wpcf7_stylesheet' );
	add_filter( 'the_content', 'change_wpcf7_ajax_loader', 100 );
}</pre>
<p>This tweak was published when Contact Form 7 was at version 1.10, and should continue to work just fine as long as no major changes is made to the inner workings of the plugin.</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/4UfOyw2IiQE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/06/optimize-style-contact-form-7-wordpress/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Email log messages library in CodeIgniter</title>
		<link>http://wpstorm.net/2009/05/email-log-messages-library-codeigniter/</link>
		<comments>http://wpstorm.net/2009/05/email-log-messages-library-codeigniter/#comments</comments>
		<pubDate>Sun, 31 May 2009 16:53:08 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=231</guid>
		<description><![CDATA[When working with CodeIgniter, I&#8217;ve found the log message functionality built into the framework very helpful. The other day I noticed in my log of one of my CodeIgniter based sites that I&#8217;ve had some 404 errors going on for some time. As I don&#8217;t have the time to check my logs daily, I hadn&#8217;t ...]]></description>
			<content:encoded><![CDATA[<p>When working with CodeIgniter, I&#8217;ve found the log message functionality built into the framework very helpful. The other day I noticed in my log of one of my CodeIgniter based sites that I&#8217;ve had some 404 errors going on for some time. As I don&#8217;t have the time to check my logs daily, I hadn&#8217;t noticed this problem until now.</p>
<p>This led me to think that it would be real handy to get the log messages sent out by email as well, so you don&#8217;t risk to have a problem going on at the site unnoticed for days or even weeks.</p>
<p>So I wrote an extension to the native Log class in CodeIgniter which adds this functionality. Below is the code for MY_Log.php which extends the CI_Log class. MY_Log calls the native Log functions so the log file still gets generated, and if a log message was executed it also gets sent out by email afterward.</p>
<p>Change the email address in the code to the one you want to receive the log messages to, and then save the file in your application/libraries/ folder as MY_Log.php. This assumes that your Class Extension Prefix is set to MY_ in your config file.</p>
<p>I hope some of you find this class extension useful, and feel free to improve upon it. Cheers!</p>
<pre class="brush: php;">
&lt;?php
/**
 * MY_Log Class
 *
 * This library extends the native Log library.
 * It adds the function to have the log messages being emailed when they have been outputted to the log file.
 *
 * @package		CodeIgniter
 * @subpackage		Libraries
 * @category		Logging
 * @author		Johan Steen
 * @link		http://wpstorm.net/
 */
class MY_Log extends CI_Log {
	/**
	 * Constructor
	 *
	 * @access	public
	 */
	function MY_Log()
	{
		parent::CI_Log();
	}

	/**
	 * Write Log File
	 *
	 * Calls the native write_log() method and then sends an email if a log message was generated.
	 *
	 * @access	public
	 * @param	string	the error level
	 * @param	string	the error message
	 * @param	bool	whether the error is a native PHP error
	 * @return	bool
	 */
	function write_log($level = 'error', $msg, $php_error = FALSE)
	{
		$result = parent::write_log($level, $msg, $php_error);

		if ($result == TRUE &amp;&amp; strtoupper($level) == 'ERROR') {
			$message = &quot;An error occurred: \n\n&quot;;
			$message .= $level.' - '.date($this-&gt;_date_fmt). ' --&gt; '.$msg.&quot;\n&quot;;

			$to = 'someone@example.com';
			$subject = 'An error has occured';
			$headers = 'From: Example Name &lt;no-reply@example.com&gt;' . &quot;\r\n&quot;;
			$headers .= 'Content-type: text/plain; charset=utf-8\r\n';

			mail($to, $subject, $message, $headers);
		}
		return $result;
	}
}
?&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/WivfFTBrjCs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/05/email-log-messages-library-codeigniter/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The CodeIgniter PHP Framework</title>
		<link>http://wpstorm.net/2009/05/codeigniter-php-framework/</link>
		<comments>http://wpstorm.net/2009/05/codeigniter-php-framework/#comments</comments>
		<pubDate>Mon, 25 May 2009 01:15:33 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=126</guid>
		<description><![CDATA[I recently stumbled upon the CodeIgniter PHP framework, and a love affair has slowly begun between me and CI. To make a long story short, WordPress is my favorite system to base a new websites on, and today you can make about any site in WordPress if you are patient enough. Personally I have always ...]]></description>
			<content:encoded><![CDATA[<p>I recently stumbled upon the <a title="CodeIgniter PHP framework" href="http://codeigniter.com/">CodeIgniter</a> PHP framework, and a love affair has slowly begun between me and CI.</p>
<p>To make a long story short, WordPress is my favorite system to base a new websites on, and today you can make about any site in WordPress if you are patient enough. Personally I have always worked with the mindset of using the right tool for each job to get it done as quick and easy as possible.</p>
<p>I have a few WordPress based sites, but I also run two sites where WordPress just don&#8217;t cut it if I don&#8217;t want to spend an enormous amount of time writing custom plugins. I have built a vintage clothing webshop for a dear friend of mine called <a title="Sugarmood - Vintage Retro Kläder - Second Hand" href="http://www.sugarmood.se/">Sugarmood</a> as well as a memorial site for our old Amiga demoscene group <a title="Equinox - Amiga Demo Scene Group" href="http://www.eqxscene.com/">Equinox</a>.</p>
<p>Neither of those two sites would work very well to develop within the WordPress system, so I have written them in plain PHP from scratch. And they work pretty well, but as they have grown in features I started to feel that searching through all the code was becoming cumbersome for each change or update. Coming from a classic application development background for the desktop I wanted to make a MVC (Model &#8211; View &#8211; Controller) based design instead in PHP to get a structured web application to easy update and extend upon.</p>
<p>So I wrote a few MVC prototypes in PHP to get the ball rolling and build a nice base framework to make sites upon where I easily could reuse code and write any custom functions. And they worked pretty fine.</p>
<p>But Doh! I forgot it was 2009 already and most things you can think of is already thought of.</p>
<p>Fortunately I did some googling resarch for some MVC techniques and stumbled upon some very fine PHP MVC Open Source frameworks out there. Why re-invent the wheel? So I downloaded CakePHP, Zend Framework and CodeIgniter, installed them all and explored and evaluated them.</p>
<p>They are all good frameworks for using the MVC model to develop web sites around but in the end my choice fell on CodeIgniter. Mainly because it was very lightweight and didn&#8217;t have it&#8217;s own huge library of custom commands that would take some considerable amount of time to learn. Remember I don&#8217;t do this fulltime so I wanted something that works well, was flexible and with a low learning curve so I could get going right away.</p>
<p>CodeIgniter fulfilled everything I wanted and more, and if you are already familiar with object oriented PHP programming the learning treshold is virtually zero. This suited me perfect.</p>
<p>So I&#8217;ll now begin moving these two sites into the CodeIgniter framework and then take them to the next step when I have them in place.</p>
<p>In this coming journey to get into the CodeIgniter world I&#8217;ll probably write quite a lot of custom libraries and plugins to extend it, everthing which I plan to also release here as well as writing a few articles around if I find out some interesting techniques. So keep your eyes open, as time passes there will be quite some CodeIgniter related articles, code snippets, tutorials and downloads available here.</p>
<p>So I say, come on and ignite me, baby!</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/18rSElexf3E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/05/codeigniter-php-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Coding for Fun… Code n' Play</title>
		<link>http://wpstorm.net/2009/05/coding-for-fun-codeplay/</link>
		<comments>http://wpstorm.net/2009/05/coding-for-fun-codeplay/#comments</comments>
		<pubDate>Sun, 24 May 2009 00:03:23 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=177</guid>
		<description><![CDATA[I rebranded the site&#8230; to Code n&#8217; Play. When I set this site up, about two months ago, I didn&#8217;t really have any plans where I wanted to go with it, so I just named it Coding for Fun and downloaded a free WordPress theme to get it started so I had a place to ...]]></description>
			<content:encoded><![CDATA[<p>I rebranded the site&#8230; to Code n&#8217; Play.</p>
<p>When I set this site up, about two months ago, I didn&#8217;t really have any plans where I wanted to go with it, so I just named it Coding for Fun and downloaded a free WordPress theme to get it started so I had a place to host my Post Snippets plugin for WordPress.</p>
<p>Well, I&#8217;ve really enjoyed all the positive response I got from that plugin, and the ambition to make something good out of this site has come as a result of that. So I decided to make my own WordPress theme and rebrand it &#8211; to make the site a tad more serious. The theme is done (you&#8217;re looking at it right now) except some minor tweaks with the commenting styling, which I&#8217;ll do as soon as time permits.</p>
<p>I&#8217;ll continue posting updates to my WordPress plugins, as well as releasing new ones. And also I have some articles planned that will surface down the road. Both around WordPress and PHP as well as some other coding platforms that I am working with.</p>
<p>Still, this is just something I do for fun, I have my daytime (and sometimes evening and nighttime) job which takes a decent amount of time, so articles, new plugins and updates will come when they come. But things are cooking!</p>
<p>Cheers, and hope to see you around!</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/X1EdIJNA6lc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/05/coding-for-fun-codeplay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PayPal Donations version 1.1</title>
		<link>http://wpstorm.net/2009/05/paypal-donations-wordpress-v11/</link>
		<comments>http://wpstorm.net/2009/05/paypal-donations-wordpress-v11/#comments</comments>
		<pubDate>Sat, 23 May 2009 10:01:07 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=216</guid>
		<description><![CDATA[I just updated PayPal Donations for WordPress to version 1.1 and it&#8217;s now available for download from the WordPress plugin repository and through the automatic update system. New in version 1.1 Added an option to select the currency to make the donations in. Changed the default button in a new install from a custom button ...]]></description>
			<content:encoded><![CDATA[<p>I just updated <a title="PayPal Donations for WordPress" href="http://wpstorm.net/wordpress-plugins/paypal-donations/">PayPal Donations</a> for WordPress to version 1.1 and it&#8217;s now available for download from the WordPress plugin repository and through the automatic update system.</p>
<h3>New in version 1.1</h3>
<ul>
<li>Added an option to select the currency to make the donations in.</li>
<li>Changed the default button in a new install from a custom button to the large button.</li>
</ul>
<p>Enjoy and cheers!</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/Q2A4xcG1lOk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/05/paypal-donations-wordpress-v11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PayPal Donations for WordPress</title>
		<link>http://wpstorm.net/2009/05/paypal-donation-button-wordpress/</link>
		<comments>http://wpstorm.net/2009/05/paypal-donation-button-wordpress/#comments</comments>
		<pubDate>Sat, 09 May 2009 00:39:36 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=196</guid>
		<description><![CDATA[I just released my second WordPress plugin &#8211; PayPal Donations. This plugin let&#8217;s you in a simple and straightforward way add a PayPal donation button to posts and pages on your site with a shortcode. The plugin comes with a few options, like selecting what button to display and a few other useful, optional, settings. ...]]></description>
			<content:encoded><![CDATA[<p>I just released my second WordPress plugin &#8211; <a title="PayPal Donation Plugin for WordPress" href="http://wpstorm.net/wordpress-plugins/paypal-donations/">PayPal Donations</a>. This plugin let&#8217;s you in a simple and straightforward way add a PayPal donation button to posts and pages on your site with a shortcode.</p>
<p>The plugin comes with a few options, like selecting what button to display and a few other useful, optional, settings.</p>
<p>And of course it generates valid XHTML code (which I noted a few other donation plugins don&#8217;t).</p>
<p>I have a few more things planned for this guy, which will come in future updates, but this release gets all the basic parts of the the job done when you need a donation button for your causes or free stuff.</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/qCYjq3eQ0is" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/05/paypal-donation-button-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix Symmetry for LightWave 3D</title>
		<link>http://wpstorm.net/2009/04/fix-symmetry-lightwave-3d-lscript-c/</link>
		<comments>http://wpstorm.net/2009/04/fix-symmetry-lightwave-3d-lscript-c/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 20:29:23 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[LightWave 3D]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=114</guid>
		<description><![CDATA[Just a quick heads up. If time allows I have planned to rewrite my Fix Symmetry plugin for LightWave 3D from LScript to a compiled C plugin in 32 and 64 bits versions. I have a few other things planned this weekend as well to complete, but if I get around doing this, I&#8217;ll post ...]]></description>
			<content:encoded><![CDATA[<p>Just a quick heads up.</p>
<p>If time allows I have planned to rewrite my <a title="Fix Symmetry for LightWave 3D" href="http://www.artstorm.net/journal/2008/09/fix-symmetry-lightwave-3d/">Fix Symmetry</a> plugin for LightWave 3D from LScript to a compiled C plugin in 32 and 64 bits versions. I have a few other things planned this weekend as well to complete, but if I get around doing this, I&#8217;ll post an article about some useful techniques when working with LightWave plugin development.</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/Jy10ZieLc5s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/04/fix-symmetry-lightwave-3d-lscript-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Post Snippets Version 1.4</title>
		<link>http://wpstorm.net/2009/04/post-snippets-version-14/</link>
		<comments>http://wpstorm.net/2009/04/post-snippets-version-14/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 12:43:16 +0000</pubDate>
		<dc:creator>Johan</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://wpstorm.net/?p=100</guid>
		<description><![CDATA[I&#8217;m on a roll, and just updated Post Snippets to version 1.4. New in this version is that you can create your own WordPress shortcodes with your snippets as well as making the quicktags optional. Changelog for version 1.4: Added a checkbox for Shortcodes (SC) in the admin panel. When checking this one a dynamic ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on a roll, and just updated <a title="Post Snippets WordPress Plugin" href="http://wpstorm.net/wordpress-plugins/post-snippets/">Post Snippets</a> to version 1.4.</p>
<p>New in this version is that you can create your own WordPress shortcodes with your snippets as well as making the quicktags optional.</p>
<h3>Changelog for version 1.4:</h3>
<ul>
<li>Added a checkbox for Shortcodes (SC) in the admin panel. When checking this one a dynamic shortcode will be generated and inserted instead of the snippet, which allows snippets to be updated later on for all posts it&#8217;s been inserted into when using this option.</li>
<li>Added a checkbox for Quicktags (QT) in the admin panel, so Quicktags are optional. Speeds up loading of the post editor if you don&#8217;t need the quicktag support, and only use the visual editor. Defaults to off.</li>
</ul>
<p>I have a few things that I&#8217;ll polish with the new shortcode function, like adding default variable settings and a few other things. So there will be another update not to far away, and then I think this plugin is pretty feature complete of what I wanted to do with it.</p>
<img src="http://feeds.feedburner.com/~r/wpstorm/~4/H1sN1H9aM0U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpstorm.net/2009/04/post-snippets-version-14/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
