<?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>swape.net</title>
	<atom:link href="http://www.swape.net/w/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.swape.net/w</link>
	<description>alireza balouch</description>
	<lastBuildDate>Thu, 05 Apr 2012 11:42:05 +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>Function Caching</title>
		<link>http://www.swape.net/w/2012/04/function-caching/</link>
		<comments>http://www.swape.net/w/2012/04/function-caching/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 11:42:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=184</guid>
		<description><![CDATA[Many PHP caching systems like Vanish or others are great for less dynamic sites. I could not find any so I made my own. But you should always use it when the output of the function do not change so much in caching time. And the output is just a text. You can not use [...]]]></description>
			<content:encoded><![CDATA[<p>Many PHP caching systems like Vanish or others are great for less dynamic sites. I could not find any so I made my own.<br/><br />
But you should always use it when the output of the function do not change so much in caching time. And the output is just a text.<br/><br />
You can not use it if the function returns an array or object. But if it returns an array you can make another wrapper function to convert it from and to JSON instead of an array.<br />
<br/><br/></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">public</span> <span class="kw2">function</span> ccache<span class="br0">&#40;</span><span class="re0">$arrCallable</span> ,<span class="re0">$strFilename</span> , <span class="re0">$intTTL</span> = <span class="st0">&#8217;10 min ago&#8217;</span> &nbsp;, <span class="re0">$arrParameter</span> = <span class="st0">&#8221;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// custom cache by Alireza Balouch</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strReturn</span> = <span class="st0">&#8221;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strCCpath</span> = <span class="st0">&#8216;/tmp/mem/&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strFile</span> = <span class="re0">$strCCpath</span> . <span class="st0">&#8216;ccache_&#8217;</span> . <a href="http://www.php.net/md5"><span class="kw3">md5</span></a><span class="br0">&#40;</span><span class="re0">$_SERVER</span><span class="br0">&#91;</span><span class="st0">&#8216;REQUEST_URI&#8217;</span><span class="br0">&#93;</span> . <span class="re0">$strFilename</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/file_exists"><span class="kw3">file_exists</span></a><span class="br0">&#40;</span><span class="re0">$strFile</span><span class="br0">&#41;</span> and <a href="http://www.php.net/filemtime"><span class="kw3">filemtime</span></a><span class="br0">&#40;</span><span class="re0">$strFile</span><span class="br0">&#41;</span> &gt;= <a href="http://www.php.net/strtotime"><span class="kw3">strtotime</span></a><span class="br0">&#40;</span><span class="re0">$intTTL</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strReturn</span> = <a href="http://www.php.net/file_get_contents"><span class="kw3">file_get_contents</span></a><span class="br0">&#40;</span><span class="re0">$strFile</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/is_callable"><span class="kw3">is_callable</span></a><span class="br0">&#40;</span><span class="re0">$arrCallable</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$arrParameter</span> == <span class="st0">&#8221;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strReturn</span> = <a href="http://www.php.net/call_user_func"><span class="kw3">call_user_func</span></a><span class="br0">&#40;</span><span class="re0">$arrCallable</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strReturn</span> = <a href="http://www.php.net/call_user_func_array"><span class="kw3">call_user_func_array</span></a><span class="br0">&#40;</span><span class="re0">$arrCallable</span> , <span class="re0">$arrParameter</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file_put_contents<span class="br0">&#40;</span><span class="re0">$strFile</span>, <span class="re0">$strReturn</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sf_tools::<span class="me2">ccache_Clean</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="co1">// this should be from cron</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="kw1">else</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strReturn</span> = <span class="st0">&#8216;not callable&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$strReturn</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">function</span> ccache_Clean<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// mkdir mem</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// mount -t ramfs -o size=250M ramfs /tmp/mem</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// chown www-data mem</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strCCpath</span> = <span class="st0">&#8216;/tmp/mem/&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$arrDir</span> = scandir<span class="br0">&#40;</span><span class="re0">$strCCpath</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$arrDir</span> <span class="kw1">as</span> <span class="re0">$row</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$row</span>, <span class="nu0">0</span> ,<span class="nu0">1</span><span class="br0">&#41;</span> == <span class="st0">&#8216;.&#8217;</span> OR <a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$row</span>, <span class="nu0">0</span> ,<span class="nu0">7</span><span class="br0">&#41;</span> != <span class="st0">&#8216;ccache_&#8217;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span><span class="kw1">continue</span>;<span class="br0">&#125;</span> <span class="co1">// skip the . and non ccache_</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$strFile</span> = <span class="re0">$strCCpath</span> . <span class="re0">$row</span> ;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/filemtime"><span class="kw3">filemtime</span></a><span class="br0">&#40;</span><span class="re0">$strFile</span><span class="br0">&#41;</span> &lt;= <a href="http://www.php.net/strtotime"><span class="kw3">strtotime</span></a><span class="br0">&#40;</span><span class="st0">&#8217;4 hour ago&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/exec"><span class="kw3">exec</span></a><span class="br0">&#40;</span><span class="st0">&#8216;mv &#8216;</span> . <span class="re0">$strFile</span> . <span class="st0">&#8216; &#8216;</span> . <span class="re0">$strCCpath</span> . <span class="st0">&#8216;old &amp;&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>&nbsp;<br />
<br/><br />
<strong>How it works</strong></p>
<p>
- First you have to put those 2 functions in a class. I have a utility class that I put all those small handy functions in.<br/><br />
- Now log in to your server and make a directory under /tmp called /tmp/mem/<br/><br />
- if you have lots of memory on your server you should mount ramfs to improve the speed. just use <em>mount -t ramfs -o size=250M ramfs /tmp/mem</em> . I assign 250Mb to that. but watch out to not to store bigger files there so it do not exceeds the limit.<br/><br />
- in my UBUNTU server, apache runs as www-data so I changing the owner to www-data. <em>chown www-data /tmp/mem</em><br/>
</p>
<p>Now we have set it up,so lets use it.<br />
<br/><br/><br />
I have put those functions in my sf_tools class. So when I need to call up the caching system I use sf_tools::ccache(array($this , &#8216;functionName&#8217;) , $strUniqueCachName , &#8217;10 min ago&#8217; );<br />
<br/><br/><br />
array($this , &#8216;functionName&#8217;) is the class function I want to cache. So normally I would call it like this <em>$this-&gt;functionName()</em><br />
<br/><br/><br />
The second parameter is the unique name for that function so we do not end up overwriting or using the wrong function cache output.<br />
<br/><br/><br />
The third is the parameter that feeds the strtotime(). It tells it how long to store the cache. You can use sentences like &#8220;10 min ago&#8221; or &#8220;-1 hour&#8221; &#8230; check the function sepcs on php.net site. I don&#8217;t use more than 10 min by default.<br />
<br/><br/><br />
The fourth parameter is the array of parameters to pass to that function that are being cached.<br />
<br/><br/><br />
So if you normally call it like this: $this-&gt;myCoolFunction($intID,$strText);<br />
, then the caching would be like this:<br/></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">sf_tools::<span class="me2">ccache</span><span class="br0">&#40;</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="re0">$this</span> , <span class="st0">&#8216;myCoolFunction&#8217;</span><span class="br0">&#41;</span> , <span class="st0">&#8216;myCoolFunction&#8217;</span> . <span class="re0">$intID</span> . <span class="re0">$strText</span> , <span class="st0">&#8217;10 min ago&#8217;</span> , <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="re0">$intID</span>,<span class="re0">$strText</span><span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p><br/><br/><br />
I use this when I have to do lots of number crunching or when I getting data from other servers by API.<br/><br />
It is much faster and server can save those CPU and Disk resources for other things ;)<br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2012/04/function-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>niceUpload</title>
		<link>http://www.swape.net/w/2011/03/niceupload/</link>
		<comments>http://www.swape.net/w/2011/03/niceupload/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 19:23:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plug-ins]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=175</guid>
		<description><![CDATA[NiceUpload is a jQuery plug ins that replace the normal file input and makes it much more prettier.  You can adjust and tweak it with CSS if you want. See the demo here: http://lab.swape.net/niceUpload.1.0/ niceUpload.1.0.zip]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-176" title="Screen shot 2011-03-29 at 9.22.32 PM" src="http://www.swape.net/w/wp-content/uploads/2011/03/Screen-shot-2011-03-29-at-9.22.32-PM-300x97.png" alt="" width="300" height="97" />NiceUpload is a jQuery plug ins that replace the normal file input and makes it much more prettier.  You can adjust and tweak it with CSS if you want.</p>
<p>See the demo here: <a href="http://lab.swape.net/niceUpload.1.0/" target="_blank">http://lab.swape.net/niceUpload.1.0/</a></p>
<p><a href="http://lab.swape.net/niceUpload.1.0/niceUpload.1.0.zip" class="download">niceUpload.1.0.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2011/03/niceupload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multitag</title>
		<link>http://www.swape.net/w/2011/03/multitag/</link>
		<comments>http://www.swape.net/w/2011/03/multitag/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 19:17:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plug-ins]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=170</guid>
		<description><![CDATA[Multitag is a jQuery plug ins for making nice tag boxes. Click on the box and start writing a tag names and then press the “,” (comma) or enter button to make a tag See the demo here: http://lab.swape.net/multitag.1.0/ &#160; You can download the source from here https://github.com/swape/multitag]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-171" title="Screen shot 2011-03-29 at 9.12.58 PM" src="http://www.swape.net/w/wp-content/uploads/2011/03/Screen-shot-2011-03-29-at-9.12.58-PM-300x189.png" alt="" width="240" height="151" />Multitag is a jQuery plug ins for making nice tag boxes.<br />
Click on the box and start writing a tag names and then press the “,” (comma) or enter button to make a tag</p>
<p>See the demo here: <a href="http://lab.swape.net/multitag.1.0/" target="_blank">http://lab.swape.net/multitag.1.0/</a></p>
<p>&nbsp;</p>
<p>You can download the source from here <a href="https://github.com/swape/multitag">https://github.com/swape/multitag</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2011/03/multitag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blue Button Set</title>
		<link>http://www.swape.net/w/2011/02/blue-button-set/</link>
		<comments>http://www.swape.net/w/2011/02/blue-button-set/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 14:00:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[UI]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[free]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=142</guid>
		<description><![CDATA[Here is a selection of button sets in PSD format . You can change the colors and add your text to it. &#160; swape_button.psd.zip]]></description>
			<content:encoded><![CDATA[<p>Here is a selection of button sets in PSD format .<br />
You can change the colors and add your text to it.</p>
<p>&nbsp;</p>
<p><img class="alignnone size-medium wp-image-143" title="swape_button" src="http://www.swape.net/w/wp-content/uploads/2011/02/swape_button-300x240.jpg" alt="" width="300" height="240" /></p>
<p><a class="download" href="http://www.swape.net/w/wp-content/uploads/2011/02/swape_button.psd_.zip">swape_button.psd.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2011/02/blue-button-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download button</title>
		<link>http://www.swape.net/w/2011/02/download-button/</link>
		<comments>http://www.swape.net/w/2011/02/download-button/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 14:00:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[UI]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[free]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=137</guid>
		<description><![CDATA[Here is a nice free download button in PSD. you can customize it and make your download button nicer. swape_download_button.psd.zip]]></description>
			<content:encoded><![CDATA[<p>Here is a nice free download button in PSD.<br />
you can customize it and make your download button nicer.</p>
<p><a href="http://www.swape.net/w/wp-content/uploads/2011/02/swape_download_button.psd_.zip"><img class="size-full wp-image-138" title="swape_download_button" src="http://www.swape.net/w/wp-content/uploads/2011/02/swape_download_button.jpg" alt="" width="162" height="165" /></a></p>
<p><a href="http://www.swape.net/w/wp-content/uploads/2011/02/swape_download_button.psd_.zip" class="download">swape_download_button.psd.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2011/02/download-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My PHP Code-Standards Part 3</title>
		<link>http://www.swape.net/w/2011/02/my-php-code-standards-part-3/</link>
		<comments>http://www.swape.net/w/2011/02/my-php-code-standards-part-3/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 19:00:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=99</guid>
		<description><![CDATA[Always check the value before using it. This way you can make sure the value is valid. $intPageNumber = &#40;isset&#40;$_REQUEST&#91;&#8216;pnumber&#8217;&#93;&#41; and is_nummeric&#40;$_REQUEST&#91;&#8216;pnumber&#8217;&#93;&#41; &#41; ? $_REQUEST&#91;&#8216;pnumber&#8217;&#93; : 0 ; If you know the choices, do not use it directly. Use an array instead. $intPageNumber = &#40;isset&#40;$_REQUEST&#91;&#8216;pnumber&#8217;&#93;&#41; and is_nummeric&#40;$_REQUEST&#91;&#8216;pnumber&#8217;&#93;&#41; &#41; ? $_REQUEST&#91;&#8216;pnumber&#8217;&#93; : 0 ; &#160; $arrPName [...]]]></description>
			<content:encoded><![CDATA[<p>Always check the value before using it.<br />
This way you can make sure the value is valid.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$intPageNumber</span> = <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;pnumber&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and is_nummeric<span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;pnumber&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;pnumber&#8217;</span><span class="br0">&#93;</span> : <span class="nu0">0</span> ;</div>
</li>
</ol>
</div>
<p>If you know the choices, do not use it directly. Use an array instead.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$intPageNumber</span> = <span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;pnumber&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and is_nummeric<span class="br0">&#40;</span><span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;pnumber&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="re0">$_REQUEST</span><span class="br0">&#91;</span><span class="st0">&#8216;pnumber&#8217;</span><span class="br0">&#93;</span> : <span class="nu0">0</span> ;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$arrPName</span> = <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="nu0">0</span> =&gt;<span class="st0">&#8216;zero&#8217;</span> , <span class="nu0">1</span>=&gt;<span class="st0">&#8216;one&#8217;</span> , <span class="nu0">2</span>=&gt;<span class="st0">&#8216;wrong number&#8217;</span>, <span class="nu0">666</span>=&gt;<span class="st0">&#8216;hmm&#8217;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$strReturn</span> = <span class="br0">&#40;</span> <a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$arrPName</span><span class="br0">&#91;</span><span class="re0">$intPageNumber</span><span class="br0">&#93;</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span>? <a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$arrPName</span><span class="br0">&#91;</span><span class="re0">$intPageNumber</span><span class="br0">&#93;</span> : <span class="st0">&#8216;-0-0-&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$strReturn</span> ;</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2011/02/my-php-code-standards-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htaccess Deflate</title>
		<link>http://www.swape.net/w/2010/11/htaccess-deflate/</link>
		<comments>http://www.swape.net/w/2010/11/htaccess-deflate/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 14:19:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[.htaccess]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=132</guid>
		<description><![CDATA[To have your files deflated in apache you can add these lines to your .htassecc file. Deflating files helps keeping transferring size small. Apache automatically pack the files and your browser unpacks it but the you can save lots of MB a year on transfer size. And it helps the site to load faster on [...]]]></description>
			<content:encoded><![CDATA[<p>To have your files deflated in apache you can add these lines to your .htassecc file.<br />
Deflating files helps keeping transferring size small. Apache automatically pack the files and your browser unpacks it but the you can save lots of MB a year on transfer size. And it helps the site to load faster on slow connections. This is almost like gziping but deflating method is less CPU aggressive on apache server compared to gzip.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE text/plain</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE text/html</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE text/xml</div>
</li>
<li class="li2">
<div class="de2">AddOutputFilterByType DEFLATE text/php</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE text/css</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE application/xml</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE application/xhtml+xml</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE application/rss+xml</div>
</li>
<li class="li2">
<div class="de2">AddOutputFilterByType DEFLATE application/javascript</div>
</li>
<li class="li1">
<div class="de1">AddOutputFilterByType DEFLATE application/x-javascript</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2010/11/htaccess-deflate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htaccess Expiredate</title>
		<link>http://www.swape.net/w/2010/11/htaccess-expiredate/</link>
		<comments>http://www.swape.net/w/2010/11/htaccess-expiredate/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 14:12:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[.htaccess]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=129</guid>
		<description><![CDATA[To put expiredate on your files you can put these lines to your .htaccess file. It reduses loading time for your site. ExpiresActive On &#160; ExpiresByType image/png &#34;access plus 20 days&#34; ExpiresByType image/jpg &#34;access plus 50 days&#34; ExpiresByType image/jpeg &#34;access plus 50 days&#34; ExpiresByType image/ico &#34;access plus 10 month&#34; ExpiresByType image/gif &#34;access plus 30 days&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>To put expiredate on your files you can put these lines to your .htaccess file.<br />
It reduses loading time for your site.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresActive</span> <span class="kw2">On</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresByType</span> image/png <span class="st0">&quot;access plus 20 days&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresByType</span> image/jpg <span class="st0">&quot;access plus 50 days&quot;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">ExpiresByType</span> image/jpeg <span class="st0">&quot;access plus 50 days&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresByType</span> image/ico <span class="st0">&quot;access plus 10 month&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresByType</span> image/gif <span class="st0">&quot;access plus 30 days&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresByType</span> text/javascript <span class="st0">&quot;access plus 8 days&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ExpiresByType</span> application/javascript <span class="st0">&quot;access plus 8 days&quot;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">ExpiresByType</span> text/css <span class="st0">&quot;access plus 8 days&quot;</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2010/11/htaccess-expiredate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htaccess gzip</title>
		<link>http://www.swape.net/w/2010/11/htaccess-gzip/</link>
		<comments>http://www.swape.net/w/2010/11/htaccess-gzip/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 14:07:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[.htaccess]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=121</guid>
		<description><![CDATA[To put gzip on files from apache server you have to add there lines to your .htaccess file. &#160; &#160; mod_gzip_on Yes &#160; mod_gzip_dechunk Yes &#160; mod_gzip_item_include file \.&#40;html?&#124;txt&#124;css&#124;js&#124;php&#41;$ &#160; mod_gzip_item_include handler ^cgi-script$ &#160; mod_gzip_item_include mime ^text/.* &#160; mod_gzip_item_include mime ^application/x-javascript.* &#160; mod_gzip_item_exclude mime ^image/.* &#160; mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*]]></description>
			<content:encoded><![CDATA[<p>To put gzip on files from apache server you have to add there lines to your .htaccess file.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_on Yes</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_dechunk Yes</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_item_include file \.<span class="br0">&#40;</span>html?|txt|css|js|php<span class="br0">&#41;</span>$</div>
</li>
<li class="li2">
<div class="de2">&nbsp; mod_gzip_item_include handler ^cgi-<span class="kw1">script</span>$</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_item_include mime ^text/.*</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_item_include mime ^application/x-javascript.*</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_item_exclude mime ^image/.*</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2010/11/htaccess-gzip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My PHP Code-Standards Part 2</title>
		<link>http://www.swape.net/w/2010/03/my-php-code-standards-part-2/</link>
		<comments>http://www.swape.net/w/2010/03/my-php-code-standards-part-2/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 21:34:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=85</guid>
		<description><![CDATA[Classses Class name and and file name should have the same name. Let us say you have a class called &#8220;myFirstClass&#8221; then your file should be myFirstClass.class.php Remember to have some kind of comment on top of the file to describe important information about the class like author, version nr or created date. &#160; class [...]]]></description>
			<content:encoded><![CDATA[<p><b>Classses</b></p>
<p>Class name and and file name should have the same name.</p>
<p>Let us say you have a class called &#8220;myFirstClass&#8221; then your file should be myFirstClass.class.php </p>
<p>Remember to have some kind of comment on top of the file to describe important information about the class like author, version nr or created date.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">class</span> myFirstClass<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">private</span> <span class="re0">$intNumber</span> = <span class="nu0">3</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">private</span> <span class="re0">$strName</span> = <span class="st0">&#8221;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">public</span> <span class="kw2">function</span> getNumber<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">return</span> <span class="re0">$this</span>-&gt;<span class="me1">intNumber</span> ;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> </div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Never access the internal variables directly. Use a public function to get or set the value.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">class</span> someClass<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">private</span> <span class="re0">$intValue1</span> = <span class="nu0">0</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">private</span> <span class="re0">$intValue2</span> = <span class="nu0">0</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">public</span> <span class="kw2">function</span> getValue1<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$this</span>-&gt;<span class="me1">intValue1</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="kw2">public</span> <span class="kw2">function</span> getValue2<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$this</span>-&gt;<span class="me1">intValue2</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Use default values instead of passing the same value every time.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">class</span> someClass<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">private</span> <span class="re0">$intValue1</span> = <span class="nu0">0</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">private</span> <span class="re0">$intValue2</span> = <span class="nu0">0</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">public</span> <span class="kw2">function</span> <a href="http://www.php.net/getdate"><span class="kw3">getDate</span></a><span class="br0">&#40;</span><span class="re0">$strFormat</span> = <span class="st0">&#8216;Y-m-d&#8217;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="re0">$strFormat</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>Never echo out within a function. It is better to return a value.<br />
This way you can choose what to do with returned value.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$objSome</span> = <span class="kw2">new</span> someClass<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$strReturn</span> = <span class="st0">&#8216;Date: &lt;b&gt;&#8217;</span> . <span class="re0">$objSome</span>-&gt;<span class="me1">getDate</span><span class="br0">&#40;</span><span class="br0">&#41;</span> . <span class="st0">&#8216;&lt;/b&gt;&lt;br/&gt;&#8217;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$strReturn</span> .= <span class="st0">&#8216;Week: &lt;b&gt;&#8217;</span> . <span class="re0">$objSome</span>-&gt;<span class="me1">getDate</span><span class="br0">&#40;</span><span class="st0">&#8216;W&#8217;</span><span class="br0">&#41;</span> . <span class="st0">&#8216;&lt;/b&gt;&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$strReturn</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">class</span> someClass<span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="kw2">public</span> <span class="kw2">function</span> <a href="http://www.php.net/getdate"><span class="kw3">getDate</span></a><span class="br0">&#40;</span><span class="re0">$strFormat</span> = <span class="st0">&#8216;Y-m-d&#8217;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <a href="http://www.php.net/date"><span class="kw3">date</span></a><span class="br0">&#40;</span><span class="re0">$strFormat</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2010/03/my-php-code-standards-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My PHP Code-Standards Part 1</title>
		<link>http://www.swape.net/w/2009/11/my-php-code-standards-part-1/</link>
		<comments>http://www.swape.net/w/2009/11/my-php-code-standards-part-1/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 20:35:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Standard]]></category>

		<guid isPermaLink="false">http://www.swape.net/w/?p=5</guid>
		<description><![CDATA[Here is a tutorial on how to write a nice and clean PHP code. Let us start with variables. I use prefix for variables with camel notation. This makes it easy to see and check the right variable for its type. $strName = &#8216;ali&#8217; ; $intCounter = 1; $arrData = array&#40;&#8216;a&#8217;=&#62;&#8216;ali&#8217; , &#8216;i&#8217;=&#62;&#8216;is&#8217; , &#8216;p&#8217;=&#62;&#8216;perfect&#8217;&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a tutorial on how to write a nice and clean PHP code.</p>
<p>Let us start with variables.</p>
<p>I use prefix for variables with camel notation. This makes it easy to see and check the right variable for its type.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$strName</span> = <span class="st0">&#8216;ali&#8217;</span> ;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$intCounter</span> = <span class="nu0">1</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$arrData</span> = <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&#8216;a&#8217;</span>=&gt;<span class="st0">&#8216;ali&#8217;</span> , <span class="st0">&#8216;i&#8217;</span>=&gt;<span class="st0">&#8216;is&#8217;</span> , <span class="st0">&#8216;p&#8217;</span>=&gt;<span class="st0">&#8216;perfect&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$blnTrigger</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$objMailSender</span> = <span class="kw2">new</span> mailSenderClass<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>I use single quote for my data.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$strMyNameIs</span> = <span class="st0">&#8216;Alireza&#8217;</span>;</div>
</li>
</ol>
</div>
<p>And I use double quotes for SQL or strings that I need to have a single quote inside.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$strSQL</span> = <span class="st0">&quot;SELECT * FROM person WHERE name LIKE &#8216;ali&#8217; &quot;</span>;</div>
</li>
</ol>
</div>
<p>I never use variable inside a double quote string. I break up the quote.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$strCode</span> = <span class="st0">&quot;some $bad code &quot;</span>;<span class="co1">// WRONG AND UGLY</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$strNiceCode</span> = <span class="st0">&#8216;Very &#8216;</span> . <span class="re0">$strData</span> . <span class="st0">&#8216; is pasted here&#8217;</span> ;<span class="co1">// NICE CODE</span></div>
</li>
</ol>
</div>
<p>Never ever use short variables like $a or $temp or other lazy short names.<br />
Use variable names that are understandable and describe what it contains.<br />
And using a camelNotation makes it easy to read.<br />
Never start with underscore or other kind of separator for names.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$strReturn</span> = <span class="st0">&#8216;Nice code&#8217;</span>;</div>
</li>
</ol>
</div>
<p>Only use underscore for constants where you can not use tha camel notation.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st0">&#8216;FOO_BAR&#8217;</span>,<span class="st0">&#8216;It works!&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>And do not start with underscore. There are some other system variables and functions that starts with underscore like <em>_get()</em> or <em>$_SESSION</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2009/11/my-php-code-standards-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swape Gallery Light</title>
		<link>http://www.swape.net/w/2009/08/swape-gallery-light/</link>
		<comments>http://www.swape.net/w/2009/08/swape-gallery-light/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 19:40:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[SGL is a php5 script to list pictures. A fat way of making a galery and showing your pictures. This script finds all the pictures in a directory under ./test_pic/ and makes menus based on directories. All you have to do is putt your pictures in ./test_pic/ directory. Or edit $strPathToFiles = &#8216;./test_pic&#8217;; in sgl4.class.php [...]]]></description>
			<content:encoded><![CDATA[<p>SGL is a php5 script to list pictures. A fat way of making a galery and showing your pictures.</p>
<p>This script finds all the pictures in a directory under <strong>./test_pic/</strong> and makes menus based on directories.</p>
<p>All you have to do is putt your pictures in <strong>./test_pic/</strong><strong></strong> directory. Or edit <strong>$strPathToFiles = &#8216;./test_pic&#8217;;</strong> in <strong>sgl4.class.php</strong> file.</p>
<p>You can organize your pictures by category, by putting it under sub-directories.</p>
<p>The thumbs/ directory must be writable (CHMOD 755) to generate thumbnails automatically first time you visit the site. It will help loading your images faster.</p>
<p><strong>HOW TO INSTALL</strong></p>
<p>All you have to do is unzip the file.<br />
Unpack the <strong>sgl4.php</strong> and configure the paths.</p>
<p>Putt your pictures under <strong>./</strong><strong>test_pic</strong><strong>/</strong> directory.<br />
And don&#8217;t forget to <em>chmod 755</em> thumbs directory.</p>
<p><strong>SYSTEM REQUIRED.</strong></p>
<p>Server with PHP5.</p>
<p><a class="download" href="http://www.swape.net/w/wp-content/uploads/2009/08/sgl4.zip">sgl4.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2009/08/swape-gallery-light/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>swape09 theme</title>
		<link>http://www.swape.net/w/2009/04/swape09-theme/</link>
		<comments>http://www.swape.net/w/2009/04/swape09-theme/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 18:36:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[themes]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=33</guid>
		<description><![CDATA[Here is my &#8220;swape09&#8243; wordpress theme. &#160; 850px width and centered. jQuery Ready, simple and easy. Right side menu. download.]]></description>
			<content:encoded><![CDATA[<p><img class="size-thumbnail wp-image-34 " title="screenshot" src="http://swape.net/w/wp-content/uploads/2009/04/screenshot-150x150.jpg" alt="screenshot" width="150" height="150" align="right" /></p>
<p>Here is my &#8220;swape09&#8243; wordpress theme.</p>
<p>&nbsp;</p>
<p>850px width and centered. jQuery Ready, simple and easy. Right side menu.</p>
<p><a href="http://swape.net/w/wp-content/uploads/2009/04/swape09.zip" class="download">download</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2009/04/swape09-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rsync</title>
		<link>http://www.swape.net/w/2009/03/rsync/</link>
		<comments>http://www.swape.net/w/2009/03/rsync/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 21:09:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=27</guid>
		<description><![CDATA[I sync my picture folders and my music and documents to my backup server via rsync. I use ssh on my server. Rsync is fast way of syncing my files. Here is the commend line rsync -vrutzp &#8211;exclude=.DS_Store -e &#34;ssh -p 22&#34; /Users/swape/Sites me@myserver.com:/home/mysite I use: (&#8211;exclude=.DS_Store) to exclude the mac files (-e &#8220;ssh -p [...]]]></description>
			<content:encoded><![CDATA[<p>I sync my picture folders and my music and documents to my backup server via rsync.<br />
I use ssh on my server. Rsync is fast way of syncing my files.</p>
<p>Here is the commend line</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"> rsync -vrutzp &#8211;<span class="re2">exclude=</span>.DS_Store -e <span class="st0">&quot;ssh -p 22&quot;</span> /Users/swape/Sites me@myserver.com:/home/mysite</div>
</li>
</ol>
</div>
<p>I use:</p>
<ul>
<li><strong>(&#8211;exclude=.DS_Store)</strong> to exclude the mac files</li>
<li><strong>(-e &#8220;ssh -p 22&#8243;) </strong>to use SSH port 22</li>
<li><strong>(/Users/swape/Sites)</strong> my local directory</li>
<li><strong>(me@myserver.com:/home/mysite)</strong> my server</li>
<li><strong>(-v)</strong> verbose mode to see the output</li>
<li><strong>(-r)</strong> recursive into directories</li>
<li><strong>(-u)</strong> using update mode</li>
<li><strong>(-t) </strong>preserve modification times</li>
<li><strong>(-z) </strong>compress file data during the transfer</li>
<li><strong>(-p)</strong> preserve permissions</li>
</ul>
<p>After writing this to my console I enter the password for my server and its done!</p>
<p>This is the fastest way of updating my site from my local disk.<br />
The good thing about this that I use <strong>-u</strong> so it does not upload the files that have not been changed on my local disk. You can also drop the <strong>-v</strong> and make an Automator app but then you have to make the public key for your ssh connection so you don&#8217;t have to enter the password each time you running the app.</p>
<p>Here is a link to manual on how to make public key <a href="http://sial.org/howto/openssh/publickey-auth/" target="_blank">http://sial.org/howto/openssh/publickey-auth/</a></p>
<p>And this is the rsync manual <a href="http://samba.anu.edu.au/ftp/rsync/rsync.html" target="_blank">http://samba.anu.edu.au/ftp/rsync/rsync.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2009/03/rsync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Horizontal menu</title>
		<link>http://www.swape.net/w/2008/05/horizontal-menu/</link>
		<comments>http://www.swape.net/w/2008/05/horizontal-menu/#comments</comments>
		<pubDate>Mon, 12 May 2008 20:04:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=24</guid>
		<description><![CDATA[Here is an old trick to make horizontal menu with CSS. First you have to make a list with UL and LI tags. &#160; &#60;ul class=&#34;menu&#34;&#62; &#160; &#160; &#60;li&#62;&#60;a href=&#34;http://swape.net&#34;&#62;My homepage&#60;/a&#62;&#60;/li&#62; &#160; &#160; &#60;li&#62;&#60;a href=&#34;http://linux.org&#34;&#62;Linux.org&#60;/a&#62;&#60;/li&#62; &#160; &#160; &#60;li&#62;&#60;a href=&#34;http://google.com&#34;&#62;Link to google&#60;/a&#62;&#60;/li&#62; &#60;/ul&#62; &#160; My homepage Linux.org Link to google Ok here is a list. Now we [...]]]></description>
			<content:encoded><![CDATA[<p>Here is an old trick to make horizontal menu with CSS.</p>
<p>First you have to make a list with <strong>UL</strong> and <strong>LI</strong> tags.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/ul.html"><span class="kw2">&lt;ul</span></a> <span class="kw3">class</span>=<span class="st0">&quot;menu&quot;</span><span class="kw2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc2"><a href="http://december.com/html/4/element/li.html"><span class="kw2">&lt;li&gt;</span></a></span><span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;http://swape.net&quot;</span><span class="kw2">&gt;</span></span>My homepage<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span><span class="sc2"><span class="kw2">&lt;/li&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc2"><a href="http://december.com/html/4/element/li.html"><span class="kw2">&lt;li&gt;</span></a></span><span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;http://linux.org&quot;</span><span class="kw2">&gt;</span></span>Linux.org<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span><span class="sc2"><span class="kw2">&lt;/li&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc2"><a href="http://december.com/html/4/element/li.html"><span class="kw2">&lt;li&gt;</span></a></span><span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;http://google.com&quot;</span><span class="kw2">&gt;</span></span>Link to google<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span><span class="sc2"><span class="kw2">&lt;/li&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2"><span class="kw2">&lt;/ul&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<ul>
<li><a href="http://swape.net">My homepage</a></li>
<li><a href="http://linux.org">Linux.org</a></li>
<li><a href="http://google.com">Link to google</a></li>
</ul>
<p>Ok here is a list. Now we must make the list items to be horizontal and not vertical. So we must use CSS to set the<strong> float</strong> to be <strong>left</strong> and make the<strong> list-style: none;</strong></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.menu</span> li<span class="br0">&#123;</span> <span class="kw1">float</span>: <span class="kw1">left</span>; <span class="kw1">list-style</span>: <span class="kw2">none</span>; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Then we must make them look like a buttons. So we add some borders and padding and margins. Then the whole CSS code look like this:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.menu</span> li<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">float</span>: <span class="kw1">left</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">list-style</span>: <span class="kw2">none</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">font</span>: <span class="re3">10px</span> Verdana, Arial, Helvetica, <span class="kw2">sans-serif</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.menu</span> li a <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">display<span class="re2">:block</span>;</div>
</li>
<li class="li1">
<div class="de1">padding<span class="re2">:<span class="re3">3px</span></span>;</div>
</li>
<li class="li1">
<div class="de1">margin<span class="re2">:<span class="re3">1px</span></span>;</div>
</li>
<li class="li2">
<div class="de2">border<span class="re2">:<span class="re3">1px</span></span> <span class="kw2">solid</span> <span class="re0">#ccc</span>;</div>
</li>
<li class="li1">
<div class="de1">text-decoration<span class="re2">:none</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">color</span>:<span class="re0">#<span class="nu0">332</span></span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">background-color</span>: <span class="re0">#EEE</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="re1">.menu</span> li a<span class="re2">:hover</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">color</span>:<span class="re0">#EEE</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">background-color</span>: <span class="re0">#<span class="nu0">331</span></span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>You can download the example file here: <a href="http://swape.net/w/wp-content/uploads/2008/05/test.zip">Horizontal CSS menu</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2008/05/horizontal-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VolumeSize</title>
		<link>http://www.swape.net/w/2008/04/volumesize/</link>
		<comments>http://www.swape.net/w/2008/04/volumesize/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 08:51:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=22</guid>
		<description><![CDATA[VolumeSize is a free small mac app that shows size of all your disks that are attached to your mac. (including the internal hard drives) Works on PPCs and Intel Macs. VolumeSize-app]]></description>
			<content:encoded><![CDATA[<p><img class="alignright alignnone size-medium wp-image-23" style="float: right;" title="VolumeSize" src="http://swape.net/w/wp-content/uploads/2008/04/picture-1-300x245.png" alt="" width="300" height="245" /><br />
VolumeSize is a free small mac app that shows size of all your disks that are attached to your mac. (including the internal hard drives)</p>
<p>Works on PPCs and Intel Macs.</p>
<p><a href="http://www.swape.net/w/wp-content/uploads/2008/04/VolumeSize-app.zip" class="download">VolumeSize-app</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2008/04/volumesize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SwapeStarter</title>
		<link>http://www.swape.net/w/2008/04/swapestarter/</link>
		<comments>http://www.swape.net/w/2008/04/swapestarter/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 08:49:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=20</guid>
		<description><![CDATA[This free windows program is very useful to make a startup menu from an autorun CD/DVD under windows env. Or just a menu to run a command or program. You can list 6 different programs to start from. All the text, heading image and titles are configurable from an ini file. my_starter]]></description>
			<content:encoded><![CDATA[<p><img class="alignright alignnone size-full wp-image-21" style="float: right;" title="sstarter" src="http://swape.net/w/wp-content/uploads/2008/04/sstarter.png" alt="" width="306" height="268" /></p>
<p>This free windows program is very useful to make a startup menu from an autorun CD/DVD under windows env. Or just a menu to run a command or program.</p>
<p>You can list 6 different programs to start from.</p>
<p>All the text, heading image and titles are configurable from an ini file.</p>
<p><a href='http://www.swape.net/w/wp-content/uploads/2008/04/my_starter.zip' class="download">my_starter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2008/04/swapestarter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PassKeeper</title>
		<link>http://www.swape.net/w/2008/04/passkeeper/</link>
		<comments>http://www.swape.net/w/2008/04/passkeeper/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 08:47:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=18</guid>
		<description><![CDATA[Sometimes it is hard to remember many passwords. PassKeeper is password manager program to stores all your password. You can export passwords to xml file. PassKeeper dose also generate random passwords so you can have a strong and random made passwords that is hard to crack. passKeeper]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-19 alignright" title="passkeeper" src="http://swape.net/w/wp-content/uploads/2008/04/passkeeper.png" alt="" width="369" height="292" /></p>
<p>Sometimes it is hard to remember many passwords. PassKeeper is password manager program to stores all your password.<br />
You can export passwords to xml file. PassKeeper dose also generate random passwords so you can have a strong and random made passwords that is hard to crack.</p>
<p><a class="download" href="http://www.swape.net/w/wp-content/uploads/2008/04/passKeeper.zip">passKeeper</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2008/04/passkeeper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Key Code Maker</title>
		<link>http://www.swape.net/w/2008/04/key-code-make/</link>
		<comments>http://www.swape.net/w/2008/04/key-code-make/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 08:44:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=16</guid>
		<description><![CDATA[Key Code Maker is free windows program for making lots of 8 digit passwords. Very useful for administrators who makes hundreds of passwords at a time. And you can save the password-list on a file. KCM_10.zip]]></description>
			<content:encoded><![CDATA[<p><img class="alignright alignnone size-medium wp-image-17" style="float: right;" title="kcm" src="http://swape.net/w/wp-content/uploads/2008/04/kcm-177x300.png" alt="" width="177" height="300" /><br />
<em>Key Code Maker</em> is free windows program for making lots of 8 digit passwords.</p>
<p>Very useful for administrators who makes hundreds of passwords at a time.<br />
And you can save the password-list on a file.</p>
<p><a href="http://www.swape.net/w/wp-content/uploads/2008/04/KCM_10.zip" class="download">KCM_10.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2008/04/key-code-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileDate Mover v1.0</title>
		<link>http://www.swape.net/w/2008/04/filedate-mover-v10/</link>
		<comments>http://www.swape.net/w/2008/04/filedate-mover-v10/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 08:41:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://swape.net/w/?p=15</guid>
		<description><![CDATA[FileDate Mover is a program that moves files from one directory to directory tree based on file date. If you have a file that have a date 2006.12.24 then it makes directory called 2006/12/filename.ext. This program runs through a directory and moves all the files to date-based-directory-tree. You can edit the i18n.ini file to change [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright alignnone size-medium wp-image-14" style="float: right;" title="datemove1" src="http://swape.net/w/wp-content/uploads/2008/04/datemove1-300x128.png" alt="" width="300" height="128" /></p>
<p>FileDate Mover is a program that moves files from one directory to directory tree based on file date. If you have a file that have a date 2006.12.24 then it makes directory called 2006/12/filename.ext.<br />
This program runs through a directory and moves all the files to date-based-directory-tree.<br />
You can edit the i18n.ini file to change the settings.</p>
<p><em>rprog = datemove.exe -d</em></p>
<p>If you remove -d, then it moves the files from this month too. But if you use -d, it will ignore files that where made this month.</p>
<p>In the zip file you find these files:</p>
<ul>
<li> <em>i18n.ini</em> settings file.</li>
<li> <em>datemove.ex</em>e CMD based version of this program. Run datemove in cmd for usage options.</li>
<li> <em>datemoveX.exe</em> Gui-based version of this program.</li>
<li> <em>src\</em> Directory containing the sourcefile in php.</li>
</ul>
<p><a href="http://www.swape.net/w/wp-content/uploads/2008/04/datemove.zip" class="download">datemove.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.swape.net/w/2008/04/filedate-mover-v10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

