<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Kevin Deldycke &#187; e107</title> <atom:link href="http://kevin.deldycke.com/tag/e107/feed/" rel="self" type="application/rss+xml" /><link>http://kevin.deldycke.com</link> <description>Free software engineer &#38; wannabe videomaker</description> <lastBuildDate>Fri, 03 Feb 2012 19:08:27 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>e107 Importer plugin for WordPress v1.4 released !</title><link>http://kevin.deldycke.com/2011/07/e107-importer-plugin-wordpress-v1-4-released/</link> <comments>http://kevin.deldycke.com/2011/07/e107-importer-plugin-wordpress-v1-4-released/#comments</comments> <pubDate>Tue, 05 Jul 2011 10:16:12 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Blog]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3374</guid> <description><![CDATA[I just released the version 1.4 of my e107 Importer plugin for WordPress. This is a special release as it ends the active development cycle. I officially declare this plugin unmaintained. I don&#8217;t plan to work on it again. The &#8230; <a href="http://kevin.deldycke.com/2011/07/e107-importer-plugin-wordpress-v1-4-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I just released the version 1.4 of my <a href="http://wordpress.org/extend/plugins/e107-importer/">e107 Importer plugin for WordPress</a>.</p><p>This is a special release as it ends the active development cycle. <strong>I officially declare this plugin unmaintained</strong>. I don&#8217;t plan to work on it again.</p><p>The 1.4 will be the last version. Unless you send me code contribution, you&#8217;ll not see a 1.5 version.</p><p>The reason behind this decision is simple and straightforward: I&#8217;ve recently migrated my last e107 website to WordPress. Now that e107 is no longer part of my life, I have no interest in spending time and energy working on this plugin.</p><p>So if you plan to get rid of your e107 sites in favor of WordPress, do the migration now, as the plugin will self-deteriorate as WordPress API gets updated.</p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/07/e107-importer-plugin-wordpress-v1-4-released/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Cool Cavemen WebDesign Retrospective</title><link>http://kevin.deldycke.com/2011/06/cool-cavemen-webdesign-retrospective/</link> <comments>http://kevin.deldycke.com/2011/06/cool-cavemen-webdesign-retrospective/#comments</comments> <pubDate>Tue, 14 Jun 2011 10:38:26 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Cool Cavemen]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[Template]]></category> <category><![CDATA[Theme]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[webdesign]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3302</guid> <description><![CDATA[Here is a collection of all themes I created for the Cool Cavemen website over the years. Before settling on its current name, the Cool Cavemen project was referred to by its members as The Ultimate Band (talk about rock-star &#8230; <a href="http://kevin.deldycke.com/2011/06/cool-cavemen-webdesign-retrospective/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Here is a collection of all themes I created for the <a href="http://coolcavemen.com">Cool Cavemen website</a> over the years.</p><p>Before settling on its current name, the Cool Cavemen project was referred to by its members as <em>The Ultimate Band</em> (talk about rock-star egos&#8230;). Here is a screenshot of the theme I did for e107:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2004_11_13.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2004_11_13-233x300.png" alt="" title="2004_11_13" width="233" height="300" class="aligncenter size-medium wp-image-3303" /></a></p><p>In fact the <a href="http://coolcavemen.com/2004_11_01-first-cavemen/index.html">original HTML mockup</a> this theme is based on still exists. It is dated back to November 1st, 2004, which is now the official <a href="http://coolcavemen.com/2005/joyeux-anniversaire-cool-cavemen-bientot-le-premier-cd/">Cool Cavemen anniversary</a>. The theme above was created two weeks later.</p><p>When I created the Cool Cavemen&#8217;s site, I choose e107. Back then I perceived it to be the only Open Source PHP-based CMS having the best balance between a clean and a powerful theme engine. That was my opinion before decided to <a href="http://kevin.deldycke.com/2006/08/e107-to-wordpress-migration-here-is-why/">switch to WordPress</a>.</p><p>At the end of November &#8217;04, our theme was updated to this:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2004_11_28.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2004_11_28-300x283.png" alt="" title="2004_11_28" width="300" height="283" class="aligncenter size-medium wp-image-3305" /></a></p><p>The header above is based on a photo of a green laser, that was taken by <a href="http://coolcavemen.com/biography/steve-canett/">Cool Cavemen&#8217;s guitarist</a>.</p><p>2005 started with an updated version of the theme, featuring a photo of Cool Cavemen&#8217;s first gig. They were only three on stage, <a href="http://coolcavemen.com/biography/guiguit/">our bass player</a> was still drumming at the time:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_01_021.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_01_021-300x275.png" alt="" title="2005_01_02" width="300" height="275" class="aligncenter size-medium wp-image-3308" /></a></p><p>In February we finally had our official photo featuring all members of the band ! But it was cold outside so we added some fur to keep our website warm:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_02_27.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_02_27-267x300.png" alt="" title="2005_02_27" width="267" height="300" class="aligncenter size-medium wp-image-3309" /></a></p><p>I spent the next months trying to build my own version of <a href="http://www.alistapart.com/articles/holygrail/">the Holy Grail</a>: a perfect CSS-based 3-columns fluid layout (with a middle column placed in the top of the HTML). This explain <a href="http://en.wikipedia.org/wiki/Eric_Meyer">Eric Mayer</a>&#8216;s quote in these mockups and the references to the <a href="http://ruthsarian.wordpress.com/2004/08/20/stgargoyles/">Skidoo Too template</a>:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_03_06.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_03_06-300x300.png" alt="" title="2005_03_06" width="300" height="300" class="aligncenter size-medium wp-image-3310" /></a></p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_04_01.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_04_01-300x291.png" alt="" title="2005_04_01" width="300" height="291" class="aligncenter size-medium wp-image-3311" /></a></p><p>I never found the Holy Grail, and the tests above remained unseen by the public. Tired by this journey, I never touched the theme again.</p><p>Until September 2005 when I updated it to this:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_09_06.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/2005_09_06-268x300.png" alt="" title="2005_09_06" width="268" height="300" class="aligncenter size-medium wp-image-3312" /></a></p><p>Notice the box in the top of the right column, which was designed to publish a new track every week. The <a href="http://kevin.deldycke.com/2007/02/delayed-cd-tracks-publishing-with-php/">code behind this box</a> is available in another article.</p><p>So that was the last major version of the theme. Basically our e107 site looked that way for most of its life.</p><p>In November 2005 I attempted to reboot the theme. I made these 3 propositions to the band:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_11.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_11-223x300.png" alt="" title="new_look_1" width="223" height="300" class="aligncenter size-medium wp-image-3315" /></a></p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_2.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_2-234x300.png" alt="" title="new_look_2" width="234" height="300" class="aligncenter size-medium wp-image-3316" /></a></p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_3.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_3-202x300.png" alt="" title="new_look_3" width="202" height="300" class="aligncenter size-medium wp-image-3317" /></a></p><p>The last one had an interactive header, with tiny sketches showing up on mouse over:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_3_mouseover.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/new_look_3_mouseover-300x73.png" alt="" title="new_look_3_mouseover" width="300" height="73" class="aligncenter size-medium wp-image-3329" /></a></p><p>Unfortunately we didn&#8217;t found any of these themes matching the Cool Cavemen spirit (whatever that is). If these <a href="http://coolcavemen.com/forums/topic/nouveaux-look-du-site/">alternatives were publicly discussed</a>, we decided that no one was going to replace our previous theme.</p><p>The final update we made was when our <a href="http://coolcavemen.com/discography/raw/">Raw EP</a> was released. We basically applied filters on the header to match Raw&#8217;s cover. We also updated our logo to use the one designed for us by <a href="http://qpx.coolcavemen.com">QPX</a>:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/06/coolcavemen.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/06/coolcavemen-284x300.png" alt="" title="coolcavemen" width="284" height="300" class="aligncenter size-medium wp-image-3313" /></a></p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/06/cool-cavemen-webdesign-retrospective/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>e107 Importer v1.3 released</title><link>http://kevin.deldycke.com/2011/05/e107-importer-v1-3-released/</link> <comments>http://kevin.deldycke.com/2011/05/e107-importer-v1-3-released/#comments</comments> <pubDate>Mon, 09 May 2011 09:35:32 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Cool Cavemen]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[importer]]></category> <category><![CDATA[migration]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3203</guid> <description><![CDATA[A month after the last one, here is a brand new version of my e107 Importer, numbered 1.3. This version add loads of polishing and is not far from being feature-complete. I think I&#8217;m reaching the end of the active &#8230; <a href="http://kevin.deldycke.com/2011/05/e107-importer-v1-3-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/05/e107-importer-v1-3-option-panel.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/05/e107-importer-v1-3-option-panel-150x150.png" alt="" title="e107-importer-v1-3-option-panel" width="150" height="150" class="alignleft size-thumbnail wp-image-3210" /></a> A month after <a href="http://kevin.deldycke.com/2011/04/e107-importer-1-2-enhanced-bbcode-parser/">the last one</a>, here is a brand <a href="http://wordpress.org/extend/plugins/e107-importer/">new version of my e107 Importer</a>, numbered 1.3.</p><p>This version add loads of polishing and is not far from being feature-complete. I think I&#8217;m reaching the end of the active development of this plugin. I don&#8217;t see the need to add new features.</p><p>I also feel this way because last week, I succeeded in moving to WordPress all news and pages from the old e107&#8242;s <a href="http://coolcavemen.com">Cool Cavemen</a> website. I now only need to import all forums to definitively get rid of e107 from my life. At that point, I will declare the plugin no longer active. This mean I will no longer update it, but will still integrate code other developers are willing to contribute.</p><p>Before that happen, I will of course release one or two revisions of this plugin in the next few months. But expect bug fixes and tiny enhancements, not big new features.</p><p>That being said, here is the changelog of the brand new e107 Importer 1.3:</p><ul><li>Upgrade embedded e107 code with latest <a href="http://e107.org/news.php?item.880">0.7.25</a>.</li><li>Redirect imported images to attachments.</li><li>Purge invalid mapping entries on import.</li><li>Replace old e107 URLs in content by new WordPress permalinks.</li><li>Allow both imported and already-existing content to by updated with new permalinks.</li><li>Let user specify the list of e107 forums to import.</li><li>Phased imports should work without major problems.</li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/05/e107-importer-v1-3-released/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>e107 Importer 1.2 is out, with an enhanced BBCode parser.</title><link>http://kevin.deldycke.com/2011/04/e107-importer-1-2-enhanced-bbcode-parser/</link> <comments>http://kevin.deldycke.com/2011/04/e107-importer-1-2-enhanced-bbcode-parser/#comments</comments> <pubDate>Tue, 05 Apr 2011 14:37:43 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Blog]]></category> <category><![CDATA[code]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=3084</guid> <description><![CDATA[Here is a brand new version of my e107 Importer plugin. This release fix lots of nasty bugs. Better, I added an enhanced BBCode parser which try to clean-up what e107&#8242;s parser output. This new parser also try to align &#8230; <a href="http://kevin.deldycke.com/2011/04/e107-importer-1-2-enhanced-bbcode-parser/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/04/e107-importer-12-option-panel.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/04/e107-importer-12-option-panel-150x150.png" alt="" title="e107-importer-12-option-panel" width="150" height="150" class="alignleft size-thumbnail wp-image-3085" /></a> Here is a brand new version of my e107 Importer plugin. This release fix lots of nasty bugs. Better, I added an enhanced BBCode parser which try to clean-up what e107&#8242;s parser output. This new parser also try to align the final HTML with what WordPress produce by default.</p><p>As usual, my <a href="http://wordpress.org/extend/plugins/e107-importer/">plugin is available on the official WordPress plugin directory</a>.</p><p>Here is the detailed changelog:</p><ul><li>Upgrade e107 code to match latest <a href="http://e107.org/news.php?item.879">0.7.25-rc1</a>.</li><li>Fix variable bleeding when importing items in batches.</li><li>Add a new way of handling e107 extended news using WordPress&#8217; excerpts.</li><li>Parse BBCode and replace e107 constants in news excerpt.</li><li>Use internal WordPress library (kses) to parse HTML in the image upload step.</li><li>Do not upload the same images more than once.</li><li>Add a new enhanced BBCode parser on top of the one from e107. Make it the default parser.</li><li>Each time we alter the original imported content, we create a post revision.</li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/04/e107-importer-1-2-enhanced-bbcode-parser/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Fixing messed-up encoding in MySQL</title><link>http://kevin.deldycke.com/2011/03/fixing-messed-up-encoding-mysql/</link> <comments>http://kevin.deldycke.com/2011/03/fixing-messed-up-encoding-mysql/#comments</comments> <pubDate>Mon, 14 Mar 2011 10:29:27 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Character encoding]]></category> <category><![CDATA[Databases]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[Latin-1]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[sed]]></category> <category><![CDATA[SQL]]></category> <category><![CDATA[unicode]]></category> <category><![CDATA[UTF-8]]></category> <category><![CDATA[Web]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=2994</guid> <description><![CDATA[Currently working on my e107 Importer plugin, I was confronted today with badly-encoded data coming from my databases. e107 migrated to full UTF-8 years ago, but I must have messed the upgrade process at the time. That was my conclusion &#8230; <a href="http://kevin.deldycke.com/2011/03/fixing-messed-up-encoding-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://kevin.deldycke.com/2011/03/e107-importer-1-1/">Currently working</a> on my <a href="http://wordpress.org/extend/plugins/e107-importer/">e107 Importer plugin</a>, I was confronted today with badly-encoded data coming from my databases.</p><p>e107 migrated to full UTF-8 <a href="http://e107.org/comment.php?comment.news.735">years ago</a>, but I must have messed the upgrade process at the time. That was my conclusion when I took a close look to my tables: all of them seems to be set to Latin-1 but contain UTF-8 data. Here are screenshots from <a href="http://www.sqlbuddy.com">SQLBuddy</a> (a great light-weight MySQL manager) showing just that:<br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/03/e107-latin1-encoded-mysql-tables.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/03/e107-latin1-encoded-mysql-tables-300x197.png" alt="" title="e107-latin1-encoded-mysql-tables" width="300" height="197" class="aligncenter size-medium wp-image-2997" /></a><br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/03/utf8-encoded-data-in-latin1-tables.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/03/utf8-encoded-data-in-latin1-tables-300x112.png" alt="" title="utf8-encoded-data-in-latin1-tables" width="300" height="112" class="aligncenter size-medium wp-image-2998" /></a></p><p>To fix this, I first tried to use the following command I <a href="http://www.commandlinefu.com/commands/view/1575/convert-all-mysql-tables-and-fields-to-utf8">found on the web</a>:</p><pre class="brush: bash; title: ; notranslate">
mysql --database=e107db -B -N -e &quot;SHOW TABLES&quot;  | awk '{print &quot;ALTER TABLE&quot;, $1, &quot;CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;&quot;}' | mysql --database=e107db
</pre><p>But this doesn&#8217;t work, as it not only change the encoding of the table, but also transcode the data inside the table.</p><p>Let&#8217;s try something else. First, we&#8217;ll export the database to a dump file, of which the encoding is forced to Latin-1:</p><pre class="brush: bash; title: ; notranslate">
mysqldump -a -c -e --no-create-db --add-drop-table --default-character-set=latin1 --databases 'e107db' &gt; ./e107-data.sql
</pre><p>Now the trick is to change the <code>CHARSET</code> parameter of all <code>CREATE TABLE</code> directives to UTF-8:</p><pre class="brush: bash; title: ; notranslate">
sed -i 's/CHARSET=latin1/CHARSET=utf8/g' ./e107-data.sql
</pre><p>We&#8217;ll also change the <code>NAMES</code> directive to force MySQL to handle imported data as UTF-8:</p><pre class="brush: bash; title: ; notranslate">
sed -i 's/SET NAMES latin1/SET NAMES utf8/g' ./e107-data.sql
</pre><p>Then we&#8217;re free to import the result in a new UTF-8 database:</p><pre class="brush: bash; title: ; notranslate">
sed -i 's/USE `e107db`;/#USE `e107db`;/g' ./e107-data.sql
mysql --execute=&quot;CREATE DATABASE e107db_new CHARACTER SET=utf8&quot;
mysql --database=e107db_new &lt; ./e107-data.sql
</pre><p>And now, accentuated characters appears as they should in our database, meaning we&#8217;ve fixed all the mess ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/03/e107-utf8-encoded-mysql-tables.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/03/e107-utf8-encoded-mysql-tables-300x197.png" alt="" title="e107-utf8-encoded-mysql-tables" width="300" height="197" class="aligncenter size-medium wp-image-3002" /></a><br /> <a href="http://kevin.deldycke.com/wp-content/uploads/2011/03/fixed-utf8-data-in-tables.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/03/fixed-utf8-data-in-tables-300x113.png" alt="" title="fixed-utf8-data-in-tables" width="300" height="113" class="aligncenter size-medium wp-image-3003" /></a></p><p>PS: I <a href="http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL#Alternative_Method">found another alternative method</a> (look at the end of the linked page) which consists of temporarily handling <code>TEXT</code> fields as <code>BLOB</code>, to have MySQL treat them as binary content (thus skipping character transcoding). Haven&#8217;t tested this but sounds tricky.</p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/03/fixing-messed-up-encoding-mysql/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>e107 Importer 1.1 available !</title><link>http://kevin.deldycke.com/2011/03/e107-importer-1-1/</link> <comments>http://kevin.deldycke.com/2011/03/e107-importer-1-1/#comments</comments> <pubDate>Tue, 01 Mar 2011 10:37:09 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[CMS]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[import]]></category> <category><![CDATA[migration]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=2938</guid> <description><![CDATA[A month after the 1.0 release, here is my e107 Importer v1.1 for WordPress ! The biggest new feature is support of e107 forum import to the bbPress WordPress plugin. This plugin is still in alpha and was not released &#8230; <a href="http://kevin.deldycke.com/2011/03/e107-importer-1-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://kevin.deldycke.com/2011/01/e107-importer-wordpress-plugin-v1-0-released/">A month after the 1.0 release</a>, here is my <a href="http://wordpress.org/extend/plugins/e107-importer/">e107 Importer v1.1 for WordPress</a> !</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/03/e107-importer-option-panel.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/03/e107-importer-option-panel-150x150.png" alt="" title="e107-importer-option-panel" width="150" height="150" class="alignleft size-thumbnail wp-image-2941" /></a> The biggest new feature is support of e107 forum import to the <a href="http://wordpress.org/extend/plugins/bbpress/">bbPress WordPress plugin</a>. This plugin is still in alpha and was not released yet. This mean you have to <a href="http://trac.bbpress.org/browser/branches/plugin?rev=2942">fetch it from its Subversion repository</a>. And be careful to get the recommended version (SVN release 2942).</p><p>Because of the experimental status of forum import, the default option of e107 Importer is to not import forums. I decided to include this feature anyway to get feedbacks. So please don&#8217;t consider forum import as a highly reliable. It may work for you or may not. And please write detailed bug reports.</p><p>Here is a detailed changelog between 1.0 and 1.1:</p><ul><li>Add import of forums and threads to bbPress WordPress plugin.</li><li>Parse BBCode and e107 constants in forums and thread.</li><li>Add forums and threads redirections.</li><li>Make e107 user import optional. This needs you to set a pre-existing WordPress user that will take ownership of all imported content.</li><li>Parse BBCode in titles too.</li><li>Import images embedded in comments and forum threads.</li><li>Description update of existing users is no longer destructive.</li><li>Add an entry in the FAQ regarding script ending prematurely.</li><li>Disable all extra HTML rendering hooks like the one coming from e107 linkwords plugin.</li><li>Allow news and pages import to be skipped.</li><li>Add missing news category redirects.</li><li>Minimal requirement set to WordPress 3.1.</li><li>Some pages are not tied to a user. In this case, default to the current user.</li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/03/e107-importer-1-1/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>e107 Importer WordPress plugin v1.0 released !</title><link>http://kevin.deldycke.com/2011/01/e107-importer-wordpress-plugin-v1-0-released/</link> <comments>http://kevin.deldycke.com/2011/01/e107-importer-wordpress-plugin-v1-0-released/#comments</comments> <pubDate>Mon, 24 Jan 2011 11:52:08 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Blog]]></category> <category><![CDATA[CMS]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[importer]]></category> <category><![CDATA[migration]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=2739</guid> <description><![CDATA[After 3 years in limbo, here is a new stable version of my e107 Importer plugin for WordPress, proudly numbered 1.0 ! This is the first time this plugin is available on the official WordPress plugin repository. This means easy &#8230; <a href="http://kevin.deldycke.com/2011/01/e107-importer-wordpress-plugin-v1-0-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/01/e107-importer-configuration-screen.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/01/e107-importer-configuration-screen-150x150.png" alt="" title="e107-importer-configuration-screen" width="150" height="150" class="alignleft size-thumbnail wp-image-2835" /></a> After <a href="http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/">3 years in limbo</a>, here is a new stable version of my e107 Importer plugin for WordPress, proudly numbered 1.0 ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>This is the first time this plugin is <a href="http://wordpress.org/extend/plugins/e107-importer/">available on the official WordPress plugin repository</a>. This means easy upgrades for you ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>I&#8217;ve heavily updated the plugin to use the latest WordPress import framework, so everything is now cleanly integrated.</p><p>This version was tested with <a href="http://e107.org/news.php?item.877">e107 v0.7.24</a> and <a href="http://wordpress.org/news/2011/01/wordpress-3-1-release-candidate-3/">WordPress 3.1-RC3</a>.</p><p>Here is the changelog:</p><ul><li>Upgrade e107 code from <a href="http://e107.org/news.php?item.877">e107 v0.7.24</a>.</li><li>Minimal requirement set to WordPress 3.0.0.</li><li>Use new WordPress importer framework.</li><li>Add an e107 to WordPress 301 redirector plugin (support news, pages, users and feeds).</li><li>Disable the URL rewriting feature <a href="http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/">introduced in v0.9</a>.</li><li>Make image import optional.</li><li>Add an option to upload images from allowed domains only.</li><li>Align naming conventions with other WordPress importer.</li><li>Add a complete WordPress plugin hosting compatible <a href="https://github.com/kdeldycke/e107-importer/blob/master/readme.txt">readme file</a> with full metadatas.</li><li>Add <a href="http://wordpress.org/extend/plugins/e107-importer/screenshots/">screenshots</a>.</li><li>List all <a href="http://wordpress.org/extend/plugins/e107-importer/other_notes/">versions of e107 and WordPress I tested this plugin with</a>.</li><li>Add a <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&#038;hosted_button_id=XEXREDEHXSQUJ">PayPal donation link</a>.</li><li>Add a minimal <a href="http://wordpress.org/extend/plugins/e107-importer/faq/">FAQ</a>.</li><li>Add an overview of features in description.</li><li>Update <a href="https://github.com/kdeldycke/e107-importer">source code repository</a> location.</li><li>Remove patching of Kubrick theme to support comments on static pages.</li></ul><p>A note for developpers: the <a href="https://github.com/kdeldycke/e107-importer">reference code base</a> is now located on GitHub. That&#8217;s were all new code must be commited. <a href="http://plugins.trac.wordpress.org/browser/e107-importer/">WordPress&#8217; Subversion repository</a> is only a mirror.</p><p>If any question, <a href="http://wordpress.org/extend/plugins/e107-importer/faq/">please read the FAQ first</a>.</p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/01/e107-importer-wordpress-plugin-v1-0-released/feed/</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>Blocking e107 dDOS attack with fail2ban</title><link>http://kevin.deldycke.com/2010/08/blocking-e107-ddos-attack-fail2ban/</link> <comments>http://kevin.deldycke.com/2010/08/blocking-e107-ddos-attack-fail2ban/#comments</comments> <pubDate>Tue, 03 Aug 2010 19:09:54 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[Cool Cavemen]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[fail2ban]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[security]]></category> <category><![CDATA[Server]]></category> <category><![CDATA[Web]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=1613</guid> <description><![CDATA[Last month, a new security vulnerability was discovered in e107. If a fix was released quickly, some instances on the web were left unpatched. These sites are easy target for hackers script-kiddies, and a generalized dDOS attack was carry out &#8230; <a href="http://kevin.deldycke.com/2010/08/blocking-e107-ddos-attack-fail2ban/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Last month, a new security vulnerability was discovered in e107. If <a href="http://e107.org/comment.php?comment.news.867">a fix was released quickly</a>, some instances on the web were left unpatched. These sites are easy target for <strike>hackers</strike> script-kiddies, and <a href="http://e107.org/comment.php?comment.news.868">a generalized dDOS attack was carry out</a> on every e107 websites out there.</p><p>I&#8217;m no exception and the old and decrepit part of Cool Cavemen&#8217;s website <a href="http://coolcavemen.com/e107_plugins/forum/forum_viewforum.php?3">still running on e107</a> was attacked. This was enough to crash my tiny server. Unfortunately this <a href="http://twitter.com/kdeldycke/status/17728248113">happened while I was on holidays</a>. Without any time to address this issue properly, I decided to shutdown my web server. This explain why this blog and all Cool Cavemen&#8217;s websites were dead during half of july.</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2010/08/munin-fail2ban-jails-weekly-stats.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2010/08/munin-fail2ban-jails-weekly-stats-150x150.png" alt="" title="munin-fail2ban-jails-weekly-stats" width="150" height="150" class="alignleft size-thumbnail wp-image-1707" /></a> Now <a href="http://twitter.com/kdeldycke/status/19250530728">everything is back to normal</a> (I hope), thanks to <code><a href="http://www.fail2ban.org">fail2ban</a></code>. I created a set of rules (<a href="http://eromang.zataz.com/2010/07/13/byroenet-casper-bot-search-e107-rce-scanner/">based on this article</a>) to dynamically catch <a href="http://en.wikipedia.org/wiki/Denial-of-service_attack">dDOS</a> attempts and ban all IP addresses involved. Here is how I configured <code>fail2ban</code>&#8230;</p><div style="clear: both;"></div><p>First, create a new empty file at <code>/etc/fail2ban/filter.d/apache-e107ddos.conf</code> and put the following directives there:</p><pre class="brush: plain; title: ; notranslate">
# Fail2Ban configuration file
# Notes.:  Regexp to catch all attemps to exploit an e107 vulnerability.
# Author: Kevin Deldycke

[Definition]
failregex = &lt;HOST&gt;\s-\s-\s.*\s&quot;(GET|POST).*\/(help_us|contact|config|avd_start|\*)\.php
            &lt;HOST&gt;\s-\s-\s.*(Casper|b3b4s|dex|Dex|kmccrew|plaNETWORK|sasqia|sledink|indocom) Bot Search
            &lt;HOST&gt;\s-\s-\s.*MaMa CaSpEr
            &lt;HOST&gt;\s-\s-\s.*rk q kangen
            &lt;HOST&gt;\s-\s-\s.*Mozilla\/4\.76 \[ru\] \(X11; U; SunOS 5\.7 sun4u\)
            &lt;HOST&gt;\s-\s-\s.*perl post
ignoreregex =
</pre><p>Then update you fail2ban config file (<code>/etc/fail2ban/jail.local</code> in my case) with the appropriate section:</p><pre class="brush: plain; title: ; notranslate">
[apache-e107ddos]
enabled  = true
filter   = apache-e107ddos
port     = http,https
action   = iptables-allports
logpath  = /var/log/apache*/*access.log
maxretry = 1
</pre><p>Then restart your fail2ban service:</p><pre class="brush: bash; title: ; notranslate">
$ /etc/init.d/fail2ban restart
</pre><p>And you&#8217;ll start to get those nice logs:</p><pre class="brush: bash; title: ; notranslate">
$ tail -F /var/log/fail2ban.log
2010-06-23 16:05:37,417 fail2ban.actions: WARNING [apache-e107ddos] Ban 193.33.21.199
2010-06-23 16:05:58,113 fail2ban.actions: WARNING [apache-e107ddos] Ban 89.108.116.226
2010-06-23 16:05:58,521 fail2ban.actions: WARNING [apache-e107ddos] Ban 69.41.162.10
2010-06-23 16:05:58,541 fail2ban.actions: WARNING [apache-e107ddos] Ban 209.62.28.178
2010-06-23 16:06:03,573 fail2ban.actions: WARNING [apache-e107ddos] Ban 69.73.147.90
2010-06-23 16:06:42,975 fail2ban.actions: WARNING [apache-e107ddos] 69.41.162.10 already banned
2010-06-23 16:06:44,227 fail2ban.actions: WARNING [apache-e107ddos] 69.41.162.10 already banned
2010-06-23 16:06:54,238 fail2ban.actions: WARNING [apache-e107ddos] 69.73.147.90 already banned
2010-06-23 16:07:50,305 fail2ban.actions: WARNING [apache-e107ddos] Ban 80.55.107.74
</pre>]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2010/08/blocking-e107-ddos-attack-fail2ban/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>How-to: e107 autogallery to Zenphoto migration</title><link>http://kevin.deldycke.com/2008/08/how-to-e107-autogallery-to-zenphoto-migration/</link> <comments>http://kevin.deldycke.com/2008/08/how-to-e107-autogallery-to-zenphoto-migration/#comments</comments> <pubDate>Thu, 21 Aug 2008 22:42:05 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[autogallery]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[migration]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Script]]></category> <category><![CDATA[Snippet]]></category> <category><![CDATA[SQL]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[Zenphoto]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=310</guid> <description><![CDATA[These past few days I was working on the Cool Cavemen&#8217;s photo gallery to move it to a shiny new one, powered by Zenphoto. In this post I will roughly describe how I&#8217;ve done it, code and commands included. The &#8230; <a href="http://kevin.deldycke.com/2008/08/how-to-e107-autogallery-to-zenphoto-migration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>These past few days I was working on the <a href="http://coolcavemen.com/photos">Cool Cavemen&#8217;s photo gallery</a> to move it to a shiny new one, powered by <a href="http://zenphoto.org">Zenphoto</a>. In this post I will roughly describe how I&#8217;ve done it, code and commands included.</p><p>The old gallery was based on <a href="http://sourceforge.net/projects/e107autogallery">autogallery</a>, a <a href="http://e107.org">e107</a> plugin. We assume here that both e107 and Zenphoto are well configured and installed at the root of you web hosting space (<code>/www</code> in this case).</p><p>The first step is to copy the autogallery album structure, with all its content, to Zenphoto:</p><pre class="brush: bash; title: ; notranslate">
cd /www
cp -ax ./e107_plugins/autogallery/Gallery/* ./zenphoto/albums/
</pre><p>Then we delete all previews, thumbnails and XML metadatas, to keep in Zenphoto original assets only:</p><pre class="brush: bash; title: ; notranslate">
find ./zenphoto/albums/ -iname &quot;*.xml&quot; | xargs rm -f
find ./zenphoto/albums/ -iname &quot;pv_*&quot; | xargs rm -f
find ./zenphoto/albums/ -iname &quot;th_*&quot; | xargs rm -f
</pre><p>By now, you should be able to play with your medias using Zenphoto&#8217;s admin interface.</p><p>But if you&#8217;re unlucky as I was, you will find a strange bug which break down drag&#8217;n'drop album sorting. The fix I found was to remove, in photo filenames, the numerical prefix (and the following dot) set by autogallery to define the sort order. This operation should be performed, <em>before</em> the copy from autogallery to Zenphoto (= the first command in this post). By the way, if you know a one-liner to do this, please, please&#8230; share ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>To migrate comments, I have no automatic solution. I choose to do this manually, editing the database by hand. In my case it was the quickest way as I only had a dozen of comments to migrate.</p><p>And last but not least, if you care about measuring the popularity of your photos, you should consider migrating the view counter associated with each of your media. Don&#8217;t worry, this time I wrote a script to take care of it automagically. It will generate a bunch of SQL statements you&#8217;ll have to execute on your Zenphoto MySQL database. Here is my <a href='http://kevin.deldycke.com/wp-content/uploads/2008/08/e107-autogallery-to-zenphoto-hit-counter-migration.py'>&#8220;e107 autogallery to Zenphoto hit counter migration script&#8221;</a> (nice name isn&#8217;t it ? <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) that do the job:</p><pre class="brush: python; title: ; notranslate">
#!/usr/bin/python

##############################################################################
#
# Copyright (C) 2008 Kevin Deldycke &lt;kevin@deldycke.com&gt;
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
##############################################################################

&quot;&quot;&quot;
  Last update: 2008 aug 21
&quot;&quot;&quot;

########### User config ###########

AUTOGALLERY_ALBUM_PATH = &quot;/www/e107_plugins/autogallery/Gallery&quot;
ZENPHOTO_ALBUM_PATH    = &quot;/www/zenphoto/albums&quot;
ZENPHOTO_TABLE_PREFIX  = &quot;zenphoto_&quot;

######## End of user config #######

import os, hashlib
import xml.etree.ElementTree as ET

# Calculate hash of a given file
def getHash(path):
  # Calculate the hash from file raw data
  if not os.path.isfile(path):
    return None
  try:
    file_object = open(path, 'r')
    data = file_object.read()
  except:
    return None
  if not len(data):
    return None
  return hashlib.sha224(data).hexdigest()

# Associate each autogallery photo having a hitcounter greater than 0 with its MD5 hash
def populateHashTable(arg, dirname, names):
  global hash_table
  for name in names:
    file_path = os.path.join(dirname, name)
    # print &quot;Get hit count for %s&quot; % file_path
    # Check that the file as a positive hit counter associated with
    xml_file_path = &quot;%s.xml&quot; % file_path
    if not os.path.isfile(xml_file_path):
      continue
    try:
      tree = ET.parse(xml_file_path)
    except:
      continue
    node = tree.find(&quot;viewhits&quot;)
    if node is None:
      continue
    try:
      hits = int(node.text)
    except:
      continue
    if not hits &gt; 0:
      continue
    # Update hash table with data we care about
    file_hash = getHash(file_path)
    if file_hash is None:
      continue
    hash_table[file_hash] = hits + hash_table.get(file_hash, 0)

# Generate hitcount SQL request for each matching file
def generateSQL(arg, dirname, names):
  global sql
  for name in names:
    file_path = os.path.join(dirname, name)
    # print &quot;Search hitcounter matching file %s&quot; % file_path
    file_hash = getHash(file_path)
    if file_hash is None:
      continue
    if file_hash in hash_table:
      sql += &quot;UPDATE `%simages` SET `hitcounter`=`hitcounter`+%d WHERE `filename`=%r;\n&quot; % (ZENPHOTO_TABLE_PREFIX, hash_table[file_hash], name)

# Core of the script
hash_table = {}
sql        = &quot;&quot;
# Normalize path
source_path = os.path.abspath(AUTOGALLERY_ALBUM_PATH)
dest_path   = os.path.abspath(ZENPHOTO_ALBUM_PATH)

os.path.walk(source_path, populateHashTable, None)
# print repr(hash_table)
os.path.walk(dest_path, generateSQL, None)
print sql
</pre><p>I think code and comments are self-explainatory. And do not forget to update constants at the top of the script to match your installation paths and database&#8217;s tables prefix.</p><p>And finally, for your information, I tested all of this on following versions:</p><ul><li>e107 0.7.11</li><li>autogallery 2.61</li><li>Zenphoto 1.2</li><li>Python 2.5.2</li><li>Linux server</li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2008/08/how-to-e107-autogallery-to-zenphoto-migration/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>e107 to WordPress migration : v0.9 plug-in released</title><link>http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/</link> <comments>http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/#comments</comments> <pubDate>Fri, 11 Jan 2008 20:44:58 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[e107]]></category> <category><![CDATA[migration]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/</guid> <description><![CDATA[9 months after the last one, here is the new version (v0.9) of my e107 to WordPress import plug-in ! Change log: &#8220;One-click migration&#8221; instead of multiple step process (more user-friendly), Better error management (a must-have for precise bug reports), &#8230; <a href="http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><img src="http://kevin.deldycke.com/wp-content/uploads/2008/01/e107-to-wordpress.png" alt="" title="e107-to-wordpress" width="440" height="80" class="aligncenter size-full wp-image-2727" /></p><p><a href="http://kevin.deldycke.com/2007/05/e107-to-wordpress-v08-import-images-and-preferences/">9 months after the last one</a>, here is the <a href="http://kevin.deldycke.com/static/scripts/wordpress-e107-importer-0.9.zip">new version (v0.9) of my e107 to WordPress import plug-in</a> !</p><p>Change log:</p><ul><li>&#8220;One-click migration&#8221; instead of multiple step process (more user-friendly),</li><li>Better error management (a must-have for precise bug reports),</li><li>Replace all links to old content with permalinks (increased SEO),</li><li>Better database management,</li><li>Work with latest <a href="http://wordpress.org/development/2007/12/wordpress-232/">WordPress v2.3.2</a> and <a href="http://e107.org/news.php?item.824">e107 v0.7.11</a>,</li><li>Code cleaned up ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2008/01/e107-to-wordpress-migration-v09-plug-in-released/feed/</wfw:commentRss> <slash:comments>42</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/44 queries in 0.018 seconds using apc
Object Caching 1113/1207 objects using apc

Served from: kevin.deldycke.com @ 2012-02-08 09:57:34 -->
