<?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>Just a bunch of code</title>
	<atom:link href="http://www.bunchacode.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bunchacode.com</link>
	<description></description>
	<lastBuildDate>Thu, 03 May 2012 16:11:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MazePaper &#8211; a self-generating and self-solving android live wallpaper</title>
		<link>http://www.bunchacode.com/programming/mazepaper-a-self-generating-and-self-solving-android-live-wallpaper/</link>
		<comments>http://www.bunchacode.com/programming/mazepaper-a-self-generating-and-self-solving-android-live-wallpaper/#comments</comments>
		<pubDate>Thu, 03 May 2012 16:11:55 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=292</guid>
		<description><![CDATA[In an attempt to make a million dollars, I created a live wallpaper app for android. After an overwhelming success and numerous downloads(zero), i have decided to make it public and share my experience and code for better or worst. Here&#8217;s a video of it in action. https://github.com/dexxa/MazePaper https://play.google.com/store/apps/details?id=jiongye.app.livewallpaper.mazepaper#?t=W251bGwsMSwyLDIxMiwiamlvbmd5ZS5hcHAubGl2ZXdhbGxwYXBlci5tYXplcGFwZXIiXQ..]]></description>
			<content:encoded><![CDATA[<p>In an attempt to make a million dollars, I created a live wallpaper app for android. After an overwhelming success and numerous downloads(zero), i have decided to make it public and share my experience and code for better or worst.</p>
<p>Here&#8217;s a video of it in action.<br />
<iframe width="420" height="315" src="http://www.youtube.com/embed/4KvazaffYvE" frameborder="0" allowfullscreen></iframe></p>
<p><a title="https://github.com/dexxa/MazePaper" href="https://github.com/dexxa/MazePaper" target="_blank">https://github.com/dexxa/MazePaper</a></p>
<p><a title="https://play.google.com/store" href="https://play.google.com/store/apps/details?id=jiongye.app.livewallpaper.mazepaper#?t=W251bGwsMSwyLDIxMiwiamlvbmd5ZS5hcHAubGl2ZXdhbGxwYXBlci5tYXplcGFwZXIiXQ.." target="_blank">https://play.google.com/store/apps/details?id=jiongye.app.livewallpaper.mazepaper#?t=W251bGwsMSwyLDIxMiwiamlvbmd5ZS5hcHAubGl2ZXdhbGxwYXBlci5tYXplcGFwZXIiXQ..</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/mazepaper-a-self-generating-and-self-solving-android-live-wallpaper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auto URL</title>
		<link>http://www.bunchacode.com/programming/auto-url/</link>
		<comments>http://www.bunchacode.com/programming/auto-url/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 23:44:10 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=280</guid>
		<description><![CDATA[WordPress Auto URL Plugin This plugin generates customized wordpress permalink/url for posts and pages depending on the post type, categories, and tags. http://wordpress.org/extend/plugins/auto-url/ P.S. messed up release 0.5,  if you are one of the lucky ten or so people. just ftp into your site and delete wp-content/plugins/auto-url folder &#160;]]></description>
			<content:encoded><![CDATA[<p>WordPress Auto URL Plugin</p>
<p>This plugin generates customized wordpress permalink/url for posts and pages depending on the post type, categories, and tags.</p>
<p>http://wordpress.org/extend/plugins/auto-url/</p>
<p>P.S. messed up release 0.5,  if you are one of the lucky ten or so people. just ftp into your site and delete wp-content/plugins/auto-url folder</p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/09/patterns.png"><img class="alignnone size-medium wp-image-285 colorbox-280" title="patterns" src="http://www.bunchacode.com/wp-content/uploads/2011/09/patterns-300x255.png" alt="" width="300" height="255" /></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/09/urls.png"><img class="alignnone size-medium wp-image-286 colorbox-280" title="urls" src="http://www.bunchacode.com/wp-content/uploads/2011/09/urls-300x183.png" alt="" width="300" height="183" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/auto-url/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fancy Sitemap</title>
		<link>http://www.bunchacode.com/programming/fancy-sitemap/</link>
		<comments>http://www.bunchacode.com/programming/fancy-sitemap/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 22:22:02 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[sitemap]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=268</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/fancy-sitemap/" title="Download Plugin" target="_blank"></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/admin-map.jpg"><img class="alignnone size-medium wp-image-269 colorbox-268" title="admin map" src="http://www.bunchacode.com/wp-content/uploads/2011/08/admin-map-300x198.jpg" alt="" width="300" height="198" /></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/page-or-menu.jpg"><img class="alignnone size-medium wp-image-271 colorbox-268" title="page or menu" src="http://www.bunchacode.com/wp-content/uploads/2011/08/page-or-menu-300x260.jpg" alt="" width="300" height="260" /></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/frontend.jpg"><img class="alignnone size-medium wp-image-270 colorbox-268" title="frontend" src="http://www.bunchacode.com/wp-content/uploads/2011/08/frontend-300x196.jpg" alt="" width="300" height="196" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/fancy-sitemap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Custom Admin Columns</title>
		<link>http://www.bunchacode.com/programming/custom-admin-columns/</link>
		<comments>http://www.bunchacode.com/programming/custom-admin-columns/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 16:28:43 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=259</guid>
		<description><![CDATA[Custom Admin Columns is a plug in that adds additional column to Posts, Pages and Media page of wordpress admin area. http://wordpress.org/extend/plugins/custom-admin-column/]]></description>
			<content:encoded><![CDATA[<p>Custom Admin Columns is a plug in that adds additional column to Posts, Pages and Media page of wordpress admin area.</p>
<p><a title="Download" href="http://wordpress.org/extend/plugins/custom-admin-column/" target="_blank">http://wordpress.org/extend/plugins/custom-admin-column/</a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/media.jpg"><img class="size-large wp-image-261 alignnone colorbox-259" title="media" src="http://www.bunchacode.com/wp-content/uploads/2011/08/media-1024x226.jpg" alt="" width="510" height="112" /></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/posts.jpg"><img class="size-large wp-image-263 alignnone colorbox-259" title="posts" src="http://www.bunchacode.com/wp-content/uploads/2011/08/posts-1024x306.jpg" alt="" width="510" height="152" /></a><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/pages.jpg"><img class="alignnone size-large wp-image-262 colorbox-259" title="pages" src="http://www.bunchacode.com/wp-content/uploads/2011/08/pages-1024x185.jpg" alt="" width="510" height="92" /></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2011/08/pages.jpg"><img class="alignleft size-large wp-image-262 colorbox-259" title="pages" src="http://www.bunchacode.com/wp-content/uploads/2011/08/pages-1024x185.jpg" alt="" width="510" height="92" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/custom-admin-columns/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>opencart getting modules for 1.4 to work in 1.5</title>
		<link>http://www.bunchacode.com/programming/opencart-getting-modules-for-1-4-to-work-in-1-5/</link>
		<comments>http://www.bunchacode.com/programming/opencart-getting-modules-for-1-4-to-work-in-1-5/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 14:45:08 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[opencart]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=253</guid>
		<description><![CDATA[in your admin/controller/module/[module_name].php find the line where the document title is set. it looks something like: 1 $this-&#38;gt;document-&#38;gt;title = $this-&#38;gt;language-&#38;gt;get('heading_title'); and change it to 1 $this-&#38;gt;document-&#38;gt;setTitle($this-&#38;gt;language-&#38;gt;get('heading_title')); there could be more to this, but worth a try.]]></description>
			<content:encoded><![CDATA[<p>in your admin/controller/module/[module_name].php</p>
<p>find the line where the document title is set. it looks something like:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php"><span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;document<span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;title <span class="php-operator">=</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;language<span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;get<span class="php-brackets">(</span><span class="php-string">'heading_title'</span><span class="php-brackets">)</span>;</span></pre>
</div>
<p>and change it to</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php"><span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;document<span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;setTitle<span class="php-brackets">(</span><span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;language<span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;get<span class="php-brackets">(</span><span class="php-string">'heading_title'</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;</span></pre>
</div>
<p>there could be more to this, but worth a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/opencart-getting-modules-for-1-4-to-work-in-1-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>google analytics: tracking link click synchronously and asynchronously</title>
		<link>http://www.bunchacode.com/programming/google-analytics-tracking-link-click-synchronously-and-asynchronously/</link>
		<comments>http://www.bunchacode.com/programming/google-analytics-tracking-link-click-synchronously-and-asynchronously/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 16:47:45 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=232</guid>
		<description><![CDATA[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [...]]]></description>
			<content:encoded><![CDATA[<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
</pre>
<pre><span class="php"><span class="php-var">$</span><span class="php-brackets">(</span>document<span class="php-brackets">)</span><span class="php-operator">.</span>ready<span class="php-brackets">(</span><span class="php-function">function</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
    <span class="php-var">$</span><span class="php-brackets">(</span><span class="php-string">'a'</span><span class="php-brackets">)</span><span class="php-operator">.</span><span class="php-function">each</span><span class="php-brackets">(</span><span class="php-function">function</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">{</span>
        <span class="php-keyword">var</span> <span class="php-function">link</span> <span class="php-operator">=</span> <span class="php-var">$</span><span class="php-brackets">(</span>this<span class="php-brackets">)</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span><span class="php-operator">.</span>href;

        <span class="php-keyword">var</span> pdfFiles <span class="php-operator">=</span> <span class="php-operator">/</span>\<span class="php-operator">.</span><span class="php-brackets">(</span>pdf<span class="php-brackets">)</span><span class="php-var">$</span><span class="php-operator">/</span>i;
        <span class="php-keyword">var</span> imgFiles <span class="php-operator">=</span> <span class="php-operator">/</span>\<span class="php-operator">.</span><span class="php-brackets">(</span>jpg<span class="php-operator">|</span>gif<span class="php-operator">|</span>png<span class="php-brackets">)</span><span class="php-var">$</span><span class="php-operator">/</span>i;
        <span class="php-keyword">var</span> allFiles <span class="php-operator">=</span> <span class="php-operator">/</span>\<span class="php-operator">.</span><span class="php-brackets">(</span>pdf<span class="php-operator">|</span>doc<span class="php-operator">*</span><span class="php-operator">|</span>xls<span class="php-operator">*</span><span class="php-operator">|</span>ppt<span class="php-operator">*</span><span class="php-operator">|</span>jpg<span class="php-operator">|</span>gif<span class="php-operator">|</span>png<span class="php-operator">|</span>zip<span class="php-operator">|</span>mp<span class="php-number">3</span><span class="php-operator">|</span>mp<span class="php-number">4</span><span class="php-operator">|</span>mov<span class="php-brackets">)</span><span class="php-var">$</span><span class="php-operator">/</span>i;
        <span class="php-keyword">var</span> action <span class="php-operator">=</span> <span class="php-string">''</span>;
        <span class="php-keyword">var</span> _onclick <span class="php-operator">=</span> <span class="php-keyword">new</span> String<span class="php-brackets">(</span><span class="php-var">$</span><span class="php-brackets">(</span>this<span class="php-brackets">)</span><span class="php-operator">.</span>attr<span class="php-brackets">(</span><span class="php-string">'onclick'</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;

        <span class="php-comment">//remove onclick pagetrack event from links
</span>
        <span class="php-keyword">if</span><span class="php-brackets">(</span>_onclick<span class="php-operator">.</span>indexOf<span class="php-brackets">(</span><span class="php-string">'pageTracker'</span><span class="php-brackets">)</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-operator">-</span><span class="php-number">1</span><span class="php-brackets">)</span>
        <span class="php-brackets">{</span>
            <span class="php-var">$</span><span class="php-brackets">(</span>this<span class="php-brackets">)</span><span class="php-operator">.</span>removeAttr<span class="php-brackets">(</span><span class="php-string">'onclick'</span><span class="php-brackets">)</span>;
        <span class="php-brackets">}</span>

        <span class="php-comment">//check to make sure link is not external
</span>
        <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-brackets">(</span><span class="php-operator">!</span><span class="php-function">link</span><span class="php-operator">.</span>match<span class="php-brackets">(</span><span class="php-operator">/</span><span class="php-operator">^</span>https<span class="php-operator">?</span>\<span class="php-operator">:</span><span class="php-operator">/</span>i<span class="php-brackets">)</span><span class="php-brackets">)</span> <span class="php-operator">|</span><span class="php-operator">|</span> <span class="php-brackets">(</span><span class="php-function">link</span><span class="php-operator">.</span>match<span class="php-brackets">(</span>document<span class="php-operator">.</span>domain<span class="php-brackets">)</span><span class="php-brackets">)</span><span class="php-brackets">)</span>
        <span class="php-brackets">{</span>
            <span class="php-comment">//if link leads to a download, we listen to the click event of that link
</span>
            <span class="php-comment">//All Files event is guranteed to be tracked at this point
</span>
            <span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-function">link</span><span class="php-operator">.</span>match<span class="php-brackets">(</span>allFiles<span class="php-brackets">)</span><span class="php-brackets">)</span>
            <span class="php-brackets">{</span>
                <span class="php-var">$</span><span class="php-brackets">(</span>this<span class="php-brackets">)</span><span class="php-operator">.</span>click<span class="php-brackets">(</span><span class="php-function">function</span><span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
                    action <span class="php-operator">=</span> <span class="php-string">'Link Click Capture'</span>;

                    <span class="php-comment">//it's a pdf file
</span>
                    <span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-function">link</span><span class="php-operator">.</span>match<span class="php-brackets">(</span>pdfFiles<span class="php-brackets">)</span><span class="php-brackets">)</span>
                    <span class="php-brackets">{</span>
                        trackIt<span class="php-brackets">(</span><span class="php-string">'PDF Downloads'</span>, action, <span class="php-function">link</span>, <span class="php-number">1</span><span class="php-brackets">)</span>;
                    <span class="php-brackets">}</span>

                    <span class="php-comment">//catch all event
</span>
                    trackIt<span class="php-brackets">(</span><span class="php-string">'All Files'</span>, action, <span class="php-function">link</span>, <span class="php-number">1</span><span class="php-brackets">)</span>;
                <span class="php-brackets">}</span><span class="php-brackets">)</span>;
            <span class="php-brackets">}</span>
        <span class="php-brackets">}</span>
    <span class="php-brackets">}</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span><span class="php-brackets">)</span>;
<span class="php-function">function</span> trackIt<span class="php-brackets">(</span>category, action, <span class="php-function">link</span>, opt<span class="php-brackets">)</span>
<span class="php-brackets">{</span>
	<span class="php-comment">//sync tracking
</span>
   <span class="php-comment">//pageTracker._trackEvent(category, action, link, 1);
</span>

	<span class="php-comment">//async
</span>
    _gaq<span class="php-operator">.</span>push<span class="php-brackets">(</span><span class="php-brackets">[</span><span class="php-string">'_trackEvent'</span>, category, action, <span class="php-function">link</span><span class="php-brackets">]</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span></span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/google-analytics-tracking-link-click-synchronously-and-asynchronously/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>writing a Sudoku Solver</title>
		<link>http://www.bunchacode.com/programming/writing-a-sudoku-solver/</link>
		<comments>http://www.bunchacode.com/programming/writing-a-sudoku-solver/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 22:57:13 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[c-sharp]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=223</guid>
		<description><![CDATA[So the other day, I was bored outta  my mind. I was playing sudoku on my ipod. I said to myself, like I usually do, there has got to be a better way to solve a sudoku puzzle. Then an LED light bulb(to conserve energy) lit up in my head, I will write a program [...]]]></description>
			<content:encoded><![CDATA[<p>So the other day, I was bored outta  my mind. I was playing sudoku on my ipod. I said to myself, like I usually do, there has got to be a better way to solve a sudoku puzzle. Then an LED light bulb(to conserve energy) lit up in my head, I will write a program to do it. Here we are. The repo is up on <a href="https://github.com/dexxa/SudokuSolver" target="_blank">github</a>.</p>
<p>It solves by:</p>
<ol>
<li>going through the puzzle.</li>
<li>if it is an empty cell,  it checks corresponding row, column and block while eliminating possibilities.</li>
<li>if it is an occupied cell, it checks neighboring rows and columns. it looks for cells with same value and see if there is an empty cell in neighboring blocks that can hold that value.</li>
<li>it goes through these until the puzzle is solved or if we don&#8217;t solve a single cell in 5 consecutive run.</li>
<li>if it&#8217;s not solved at this point, we use backtracking(highly inefficient but works to some degree).</li>
</ol>
<ul>
<li>it works by bascailly going through all the possible values.</li>
<li>guessing one cell and base the guess of the next cell on the previous one.</li>
<li>if we have no possible guesses, we go back one cell and guess again.</li>
<li>repeat this until we have successfully guess all the remaining cells.</li>
</ul>
<ol></ol>
<p>To-do:</p>
<ul>
<li>find a better way to solve it</li>
</ul>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2010/12/1.jpg"><img class="alignnone size-full wp-image-224 colorbox-223" title="1" src="http://www.bunchacode.com/wp-content/uploads/2010/12/1.jpg" alt="" width="611" height="450" /></a></p>
<p><a href="http://www.bunchacode.com/wp-content/uploads/2010/12/1.jpg"></a><a href="http://www.bunchacode.com/wp-content/uploads/2010/12/2.jpg"><img class="alignnone size-full wp-image-227 colorbox-223" title="2" src="http://www.bunchacode.com/wp-content/uploads/2010/12/2.jpg" alt="" width="606" height="448" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/writing-a-sudoku-solver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>opencart seo friendly urls</title>
		<link>http://www.bunchacode.com/programming/opencart-seo-friendly-urls/</link>
		<comments>http://www.bunchacode.com/programming/opencart-seo-friendly-urls/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 16:42:30 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[opencart]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=204</guid>
		<description><![CDATA[opencart has built in seo friendly url but that&#8217;s for products only as far as i can tell. and you have to actually type out the terms. so i took it upon myself to make it friendlier and more automagic. this is for opencart v1.4.8b the format of url we are trying to achieve is: [...]]]></description>
			<content:encoded><![CDATA[<p>opencart has built in seo friendly url but that&#8217;s for products only as far as i can tell. and you have to actually type out the terms. so i took it upon myself to make it friendlier and more automagic.</p>
<p>this is for opencart v1.4.8b</p>
<p>the format of url we are trying to achieve is:</p>
<p>/product/:product_id/:product_title</p>
<p>so it would look something like <strong>/product/1/girls-gone-wild</strong></p>
<p>change <strong>catalog/model/tool/seo_url.php</strong></p>
<p>UPDATED: includes all urls now and added file for download (<a class="downloadlink" href="http://www.bunchacode.com/wp-content/plugins/download-monitor/download.php?id=2" title=" downloaded 684 times" >Catalog.rar (684)</a>)</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">function</span> rewrite<span class="br0">&#40;</span><span class="re0">$link</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>config<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#40;</span><span class="st_h">&#8216;config_seo_url&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url_data</span> <span class="sy0">=</span> <a href="http://www.php.net/parse_url"><span class="kw3">parse_url</span></a><span class="br0">&#40;</span><a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;&amp;amp;amp;&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;&amp;amp;&#8217;</span><span class="sy0">,</span> <span class="re0">$link</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <span class="st_h">&#8221;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$data</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/parse_str"><span class="kw3">parse_str</span></a><span class="br0">&#40;</span><span class="re0">$url_data</span><span class="br0">&#91;</span><span class="st_h">&#8216;query&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$data</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">switch</span><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">case</span> <span class="st_h">&#8216;product/product&#8217;</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>load<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model<span class="br0">&#40;</span><span class="st_h">&#8216;catalog/product&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$product</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model_catalog_product<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getProduct<span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//get product categories</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <span class="st_h">&#8221;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">||</span> <a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$categories</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model_catalog_product<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getCategories<span class="br0">&#40;</span><span class="re0">$product</span><span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$categories</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model_catalog_product<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getPath<span class="br0">&#40;</span><span class="re0">$categories</span><span class="br0">&#91;</span><span class="st_h">&#8217;0&#8242;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">&#8216;category_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="sy0">,-</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">==</span><span class="st_h">&#8216;_&#8217;</span>?<a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="sy0">,</span>0<span class="sy0">,</span><a href="http://www.php.net/strlen"><span class="kw3">strlen</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="br0">&#41;</span><span class="sy0">-</span>1<span class="br0">&#41;</span><span class="sy0">:</span><span class="re0">$path</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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"><span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>config<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#40;</span><span class="st_h">&#8216;config_url&#8217;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">&#8216;product/&#8217;</span><span class="sy0">.</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st_h">&#8216;/&#8217;</span><span class="sy0">.</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="br0">&#41;</span>?<span class="re0">$path</span><span class="sy0">.</span><span class="st_h">&#8216;/&#8217;</span><span class="sy0">:</span><span class="st_h">&#8221;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>toSlug<span class="br0">&#40;</span><span class="re0">$product</span><span class="br0">&#91;</span><span class="st_h">&#8216;name&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">case</span> <span class="st_h">&#8216;product/category&#8217;</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>load<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model<span class="br0">&#40;</span><span class="st_h">&#8216;catalog/category&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>load<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model<span class="br0">&#40;</span><span class="st_h">&#8216;catalog/product&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$categoryId</span> <span class="sy0">=</span> <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;_&#8217;</span><span class="sy0">,</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <span class="st_h">&#8221;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$categoryId</span><span class="br0">&#41;</span> <span class="sy0">==</span> 1<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model_catalog_product<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getPathUp<span class="br0">&#40;</span><span class="re0">$categoryId</span><span class="br0">&#91;</span><span class="st_h">&#8217;0&#8242;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$path</span> <span class="sy0">=</span> <a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="sy0">,-</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">==</span><span class="st_h">&#8216;_&#8217;</span>?<a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="sy0">,</span>0<span class="sy0">,</span><a href="http://www.php.net/strlen"><span class="kw3">strlen</span></a><span class="br0">&#40;</span><span class="re0">$path</span><span class="br0">&#41;</span><span class="sy0">-</span>1<span class="br0">&#41;</span><span class="sy0">:</span><span class="re0">$path</span><span class="sy0">;</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>
<li class="li1">
<div class="de1"><span class="re0">$categoryId</span> <span class="sy0">=</span> <span class="re0">$categoryId</span><span class="br0">&#91;</span><span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$categoryId</span><span class="br0">&#41;</span><span class="sy0">-</span>1<span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$category</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model_catalog_category<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getCategory<span class="br0">&#40;</span><span class="re0">$categoryId</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>config<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#40;</span><span class="st_h">&#8216;config_url&#8217;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">&#8216;category/&#8217;</span><span class="sy0">.</span><span class="br0">&#40;</span><span class="re0">$path</span>?<span class="re0">$path</span><span class="sy0">:</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">&#8216;/&#8217;</span><span class="sy0">.</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>toSlug<span class="br0">&#40;</span><span class="re0">$category</span><span class="br0">&#91;</span><span class="st_h">&#8216;name&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">case</span> <span class="st_h">&#8216;information/information&#8217;</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>load<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model<span class="br0">&#40;</span><span class="st_h">&#8216;catalog/information&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$info</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>model_catalog_information<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>getInformation<span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>config<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#40;</span><span class="st_h">&#8216;config_url&#8217;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">&#8216;information/&#8217;</span><span class="sy0">.</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st_h">&#8216;/&#8217;</span><span class="sy0">.</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>toSlug<span class="br0">&#40;</span><span class="re0">$info</span><span class="br0">&#91;</span><span class="st_h">&#8216;title&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">default</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$route</span> <span class="sy0">=</span> <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/&#8217;</span><span class="sy0">,</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>config<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#40;</span><span class="st_h">&#8216;config_url&#8217;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/unset"><span class="kw3">unset</span></a><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span><span class="re0">$data</span><span class="br0">&#91;</span><span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$query</span> <span class="sy0">=</span> <span class="st_h">&#8221;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$data</span> <span class="kw1">as</span> <span class="re0">$key</span> <span class="sy0">=&amp;</span>gt<span class="sy0">;</span> <span class="re0">$value</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$query</span> <span class="sy0">.=</span> <span class="st_h">&#8216;&amp;amp;&#8217;</span> <span class="sy0">.</span> <span class="re0">$key</span> <span class="sy0">.</span> <span class="st_h">&#8216;=&#8217;</span> <span class="sy0">.</span> <span class="re0">$value</span><span class="sy0">;</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>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$query</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$query</span> <span class="sy0">=</span> <span class="st_h">&#8216;?&#8217;</span> <span class="sy0">.</span> <a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$query</span><span class="sy0">,</span> <span class="st_h">&#8216;&amp;amp;&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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"><span class="kw1">return</span> <span class="re0">$url</span><span class="sy0">.</span><span class="re0">$query</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="re0">$link</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="re0">$link</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">function</span> toSlug<span class="br0">&#40;</span><span class="re0">$name</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> <span class="sy0">=</span> <a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="st0">&quot;&#8217;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> <span class="sy0">=</span> <a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;&quot;&#8217;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> <span class="sy0">=</span> <a href="http://www.php.net/strtolower"><span class="kw3">strtolower</span></a><span class="br0">&#40;</span><span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st0">&quot;/&amp;amp;#?[a-z0-9]+;/i&quot;</span><span class="sy0">,</span><span class="st0">&quot;&quot;</span><span class="sy0">,</span><span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/[^a-zA-Z0-9-]/&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;-&#8217;</span><span class="sy0">,</span> <span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$name</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/-+/&#8217;</span><span class="sy0">,</span> <span class="st0">&quot;-&quot;</span><span class="sy0">,</span> <span class="re0">$name</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="re0">$name</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>then change catalog/controller/common/seo_url.php</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">function</span> index<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</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">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;_route_&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$parts</span> <span class="sy0">=</span> <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/&#8217;</span><span class="sy0">,</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;_route_&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$routes</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;category&#8217;</span><span class="sy0">,</span><span class="st_h">&#8216;product&#8217;</span><span class="sy0">,</span><span class="st_h">&#8216;information&#8217;</span><span class="sy0">,</span><span class="st_h">&#8216;account&#8217;</span><span class="sy0">,</span><span class="st_h">&#8216;common&#8217;</span><span class="sy0">,</span><span class="st_h">&#8216;checkout&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/in_array"><span class="kw3">in_array</span></a><span class="br0">&#40;</span><span class="re0">$parts</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$routes</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">switch</span><span class="br0">&#40;</span><span class="re0">$parts</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">case</span> <span class="st_h">&#8216;category&#8217;</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$parts</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">case</span> <span class="st_h">&#8216;product&#8217;</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$parts</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$parts</span><span class="br0">&#91;</span>2<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">case</span> <span class="st_h">&#8216;information&#8217;</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$parts</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">default</span><span class="sy0">:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;_route_&#8217;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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"><span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$parts</span> <span class="kw1">as</span> <span class="re0">$part</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$query</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>db<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>query<span class="br0">&#40;</span><span class="st0">&quot;SELECT * FROM &quot;</span> <span class="sy0">.</span> DB_PREFIX <span class="sy0">.</span> <span class="st0">&quot;url_alias WHERE keyword = &#8216;&quot;</span> <span class="sy0">.</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>db<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>escape<span class="br0">&#40;</span><span class="re0">$part</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st0">&quot;&#8217;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$query</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>num_rows<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$url</span> <span class="sy0">=</span> <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;=&#8217;</span><span class="sy0">,</span> <span class="re0">$query</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>row<span class="br0">&#91;</span><span class="st_h">&#8216;query&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$url</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</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>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st_h">&#8216;category_id&#8217;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$url</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span> <span class="sy0">.=</span> <span class="st_h">&#8216;_&#8217;</span> <span class="sy0">.</span> <span class="re0">$url</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st_h">&#8216;manufacturer_id&#8217;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;manufacturer_id&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$url</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</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>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$url</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;error/not_found&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</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">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;product_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;product/product&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">elseif</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">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;path&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;product/category&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">elseif</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">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;manufacturer_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;product/manufacturer&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw1">elseif</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">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;information_id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">&#8216;information/information&#8217;</span><span class="sy0">;</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>
<li class="li1">
<div class="de1"><span class="kw1">if</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">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">return</span> <span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>forward<span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&amp;</span>gt<span class="sy0">;</span>request<span class="sy0">-&amp;</span>gt<span class="sy0">;</span>get<span class="br0">&#91;</span><span class="st_h">&#8216;route&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><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"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/opencart-seo-friendly-urls/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>In unrelated news: how to lose your $300,000 to HOA for a few thousand dollars</title>
		<link>http://www.bunchacode.com/unrelated/in-unrelated-news-how-to-lose-your-300000-to-hoa-for-a-few-thousand-dollars/</link>
		<comments>http://www.bunchacode.com/unrelated/in-unrelated-news-how-to-lose-your-300000-to-hoa-for-a-few-thousand-dollars/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 01:48:45 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[unrelated]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=200</guid>
		<description><![CDATA[Capt. Mike Clauer was serving in Iraq last year as company commander of an Army National Guard unit assigned to escort convoys. It was exceedingly dangerous work — explosive devices buried in the road were a constant threat to the lives of Clauer and his men. He was halfway through his deployment when he got [...]]]></description>
			<content:encoded><![CDATA[<p>Capt. Mike Clauer was serving in Iraq last year as company commander  of an Army National Guard unit assigned to escort convoys. It was  exceedingly dangerous work — explosive devices buried in the road were a  constant threat to the lives of Clauer and his men.</p>
<p>He was halfway through his deployment when he got a bolt from  the blue — a frantic phone call from his wife, May, back in Texas.</p>
<p>&#8220;She was bawling on the phone and was telling me  that the HOA [homeowners association] had foreclosed on our house, and  it was sold,&#8221; he says. &#8220;And I couldn&#8217;t believe that could even happen.&#8221;</p>
<p><a href="http://www.npr.org/templates/story/story.php?storyId=128078864" target="_blank">Read More/Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/unrelated/in-unrelated-news-how-to-lose-your-300000-to-hoa-for-a-few-thousand-dollars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>get cakephp build-in css compression to work</title>
		<link>http://www.bunchacode.com/programming/get-cakephp-build-in-css-compression-to-work/</link>
		<comments>http://www.bunchacode.com/programming/get-cakephp-build-in-css-compression-to-work/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 19:45:41 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=194</guid>
		<description><![CDATA[Since cakephp 1.3, build-in css compression has stopped working. at least for me. however, it&#8217;s very easy to get it working again. Step 1: grab csspp from here and put it in your vendor directory so it looks something like this (app/vendors/csspp/csspp.php) Step 2: in your core.php file in app/config, uncomment Configure::write(&#8216;Asset.filter.css&#8217;, &#8216;css.php&#8217;); Step 3: [...]]]></description>
			<content:encoded><![CDATA[<p>Since cakephp 1.3, build-in css compression has stopped working. at least for me. however, it&#8217;s very easy to get it working again.</p>
<p><strong>Step 1:</strong></p>
<p>grab csspp from <a href="http://github.com/jeremyboles/csspp/blob/master/csspp.php" target="_blank">here</a> and put it in your vendor directory so it looks something like this (app/vendors/csspp/csspp.php)</p>
<p><strong>Step 2:</strong></p>
<p>in your core.php file in app/config, uncomment <strong>Configure::write(&#8216;Asset.filter.css&#8217;, &#8216;css.php&#8217;);</strong></p>
<p><strong>Step 3:</strong></p>
<p>in your css.php under app/webroot,  modify make_clean_css function so that it looks something like this</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre>
<pre><span class="php"><span class="php-function">function</span> make_clean_css<span class="php-brackets">(</span><span class="php-var">$path</span>, <span class="php-var">$name</span><span class="php-brackets">)</span>
<span class="php-brackets">{</span>
App<span class="php-operator">:</span><span class="php-operator">:</span>import<span class="php-brackets">(</span><span class="php-string">'Vendor'</span>, <span class="php-string">'csspp'</span> <span class="php-operator">.</span> DS <span class="php-operator">.</span> <span class="php-string">'csspp'</span><span class="php-brackets">)</span>;
<span class="php-var">$data</span> <span class="php-operator">=</span> <span class="php-function">file_get_contents</span><span class="php-brackets">(</span><span class="php-var">$path</span><span class="php-brackets">)</span>;
<span class="php-var">$csspp</span> <span class="php-operator">=</span> <span class="php-keyword">new</span> csspp<span class="php-brackets">(</span><span class="php-var">$name</span>,<span class="php-string">''</span><span class="php-brackets">)</span>;
<span class="php-var">$output</span> <span class="php-operator">=</span> <span class="php-var">$csspp</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;process<span class="php-brackets">(</span><span class="php-brackets">)</span>;
<span class="php-var">$ratio</span> <span class="php-operator">=</span> <span class="php-number">1</span><span class="php-number">0</span><span class="php-number">0</span> <span class="php-operator">-</span> <span class="php-brackets">(</span><span class="php-function">round</span><span class="php-brackets">(</span><span class="php-function">strlen</span><span class="php-brackets">(</span><span class="php-var">$output</span><span class="php-brackets">)</span> <span class="php-operator">/</span> <span class="php-function">strlen</span><span class="php-brackets">(</span><span class="php-var">$data</span><span class="php-brackets">)</span>, <span class="php-number">3</span><span class="php-brackets">)</span> <span class="php-operator">*</span> <span class="php-number">1</span><span class="php-number">0</span><span class="php-number">0</span><span class="php-brackets">)</span>;
<span class="php-var">$output</span> <span class="php-operator">=</span> <span class="php-string">&quot; /* file: $name, ratio: $ratio% */ &quot;</span> <span class="php-operator">.</span> <span class="php-var">$output</span>;
<span class="php-keyword">return</span> <span class="php-var">$output</span>;
<span class="php-brackets">}</span></span></pre>
</div>
<p>and that should be it. if it doesnt work for some reason,</p>
<p>change  line 82 in your app/webroot/css.php to</p>
<p><strong>if (file_exists($cachepath) &amp;&amp; 0)</strong></p>
<p>so you won&#8217;t be looking at cached file when u debug.<strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/get-cakephp-build-in-css-compression-to-work/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jquery validate plugin, show only one error at a time</title>
		<link>http://www.bunchacode.com/programming/jquery-validate-plugin-show-only-one-error-at-a-time/</link>
		<comments>http://www.bunchacode.com/programming/jquery-validate-plugin-show-only-one-error-at-a-time/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 22:38:21 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=190</guid>
		<description><![CDATA[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ﻿$('#form').validate({ ﻿errorLabelContainer:'#errorContainer', showErrors: function(errorMap, errorList) { if(errorList.length) { $('#errorContainer').html(errorList[0]['message']); } }, highlight:function(element,errorClass){ $(element).parent('td').addClass('error'); }, unhighlight:function(element,errorClass){ $(element).parent('td').removeClass('error'); } })]]></description>
			<content:encoded><![CDATA[<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre>
<pre><span class="php">﻿<span class="php-var">$</span><span class="php-brackets">(</span><span class="php-string">'#form'</span><span class="php-brackets">)</span><span class="php-operator">.</span>validate<span class="php-brackets">(</span><span class="php-brackets">{</span>

﻿errorLabelContainer<span class="php-operator">:</span><span class="php-string">'#errorContainer'</span>,
showErrors<span class="php-operator">:</span> <span class="php-function">function</span><span class="php-brackets">(</span>errorMap, errorList<span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">if</span><span class="php-brackets">(</span>errorList<span class="php-operator">.</span>length<span class="php-brackets">)</span>
<span class="php-brackets">{</span>
<span class="php-var">$</span><span class="php-brackets">(</span><span class="php-string">'#errorContainer'</span><span class="php-brackets">)</span><span class="php-operator">.</span>html<span class="php-brackets">(</span>errorList<span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span><span class="php-brackets">[</span><span class="php-string">'message'</span><span class="php-brackets">]</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>
<span class="php-brackets">}</span>,
highlight<span class="php-operator">:</span><span class="php-function">function</span><span class="php-brackets">(</span>element,errorClass<span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-var">$</span><span class="php-brackets">(</span>element<span class="php-brackets">)</span><span class="php-operator">.</span>parent<span class="php-brackets">(</span><span class="php-string">'td'</span><span class="php-brackets">)</span><span class="php-operator">.</span>addClass<span class="php-brackets">(</span><span class="php-string">'error'</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>,
unhighlight<span class="php-operator">:</span><span class="php-function">function</span><span class="php-brackets">(</span>element,errorClass<span class="php-brackets">)</span><span class="php-brackets">{</span>
<span class="php-var">$</span><span class="php-brackets">(</span>element<span class="php-brackets">)</span><span class="php-operator">.</span>parent<span class="php-brackets">(</span><span class="php-string">'td'</span><span class="php-brackets">)</span><span class="php-operator">.</span>removeClass<span class="php-brackets">(</span><span class="php-string">'error'</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span>
<span class="php-brackets">}</span><span class="php-brackets">)</span></span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/jquery-validate-plugin-show-only-one-error-at-a-time/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jquery validate plugin with ajax duplicate check</title>
		<link>http://www.bunchacode.com/programming/jquery-validate-plugin-with-ajax-duplicate-check/</link>
		<comments>http://www.bunchacode.com/programming/jquery-validate-plugin-with-ajax-duplicate-check/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 19:40:58 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[valdate]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=183</guid>
		<description><![CDATA[jQuery validate plugin is pretty awsome. However it doesn&#8217;t do everything. That&#8217;s why the plugin have the addMethod function. And I need to add an ajax duplicate check for an email input. Here&#8217;s the method i wrote. There might be a better way. I would love to know. 1 2 3 4 5 6 7 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank">jQuery validate plugin</a> is pretty awsome. However it doesn&#8217;t do everything. That&#8217;s why the plugin have the addMethod function. And I need to add an ajax duplicate check for an email input. Here&#8217;s the method i wrote. There might be a better way. I would love to know.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre>
<pre><span class="php">jQuery<span class="php-operator">.</span>validator<span class="php-operator">.</span>addMethod<span class="php-brackets">(</span><span class="php-string">&quot;checkForDupeEmail&quot;</span>, <span class="php-function">function</span><span class="php-brackets">(</span>value, element, param<span class="php-brackets">)</span><span class="php-brackets">{</span>

<span class="php-keyword">var</span> ajaxFunc <span class="php-operator">=</span> <span class="php-var">$</span><span class="php-operator">.</span>ajax<span class="php-brackets">(</span><span class="php-brackets">{</span>
async<span class="php-operator">:</span><span class="php-keyword">false</span>,   <span class="php-comment">//we have to set it to false, it does not return a value before we even complete the request.
</span>
data<span class="php-operator">:</span><span class="php-string">'email='</span><span class="php-operator">+</span><span class="php-brackets">(</span><span class="php-var">$</span><span class="php-operator">.</span><span class="php-function">trim</span><span class="php-brackets">(</span>value<span class="php-brackets">)</span><span class="php-brackets">)</span>,
type<span class="php-operator">:</span><span class="php-string">'POST'</span>,
url<span class="php-operator">:</span><span class="php-string">'/employees/ajax_checkDupe'</span>,
dataType<span class="php-operator">:</span><span class="php-string">'text'</span>,
<span class="php-brackets">}</span><span class="php-brackets">)</span>;

<span class="php-comment">//here we check the response
</span>

<span class="php-keyword">if</span><span class="php-brackets">(</span>ajaxFunc<span class="php-operator">.</span>responseText <span class="php-operator">=</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span>
<span class="php-keyword">return</span> <span class="php-keyword">true</span>;
<span class="php-keyword">else</span>
<span class="php-keyword">return</span> <span class="php-keyword">false</span>;
<span class="php-brackets">}</span><span class="php-brackets">)</span>;</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/jquery-validate-plugin-with-ajax-duplicate-check/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Dynamic subdomain in cakephp</title>
		<link>http://www.bunchacode.com/programming/dynamic-subdomain-in-cakephp/</link>
		<comments>http://www.bunchacode.com/programming/dynamic-subdomain-in-cakephp/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 22:05:53 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[subdomain]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=175</guid>
		<description><![CDATA[I am doing this under windows 7+Apache on my local machine. So it&#8217;s a local environment. Production setup might change slightly. In apache httpd-vhosts.conf, which can be found in Apache2.2\conf\extra\ &#60;VirtualHost *:80&#62; ServerName company.lc DocumentRoot D:/htdocs/web/public/company/app/webroot ServerAlias *.company.lc &#60;/VirtualHost&#62; And in windows hosts file which can be found windows\system32\drivers\etc\ in windows 7 127.0.0.1       test.company.lc 127.0.0.1       [...]]]></description>
			<content:encoded><![CDATA[<p>I am doing this under windows 7+Apache on my local machine. So it&#8217;s a local environment. Production setup might change slightly.</p>
<p>In apache <strong>httpd-vhosts.conf</strong>, which can be found in Apache2.2\conf\extra\</p>
<blockquote><p>&lt;VirtualHost *:80&gt;<br />
ServerName company.lc<br />
DocumentRoot D:/htdocs/web/public/company/app/webroot<br />
ServerAlias *.company.lc<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p>And in windows <strong>hosts </strong>file which can be found windows\system32\drivers\etc\ in windows 7</p>
<blockquote><p>127.0.0.1       test.company.lc<br />
127.0.0.1       company.lc</p></blockquote>
<p>since windows hosts doesnt allow dynamic subdomain. You have to type out each subdomain you want accessible through your browser locally. Not a big deal.</p>
<p>Restart apache. If it doesn&#8217;t work. Flush your local dns by typing ipconfig /flushdns in cmd.exe.</p>
<p>Now you should be able to access test.company.lc correctly.</p>
<p>I have a function in my app_controller.php for grabbing the subdomain and do some comparison and checking. It&#8217;s very simple though flawed in some way.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre>
<pre><span class="php"><span class="php-function">function</span> getSubdomain<span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-var">$domain</span> <span class="php-operator">=</span> <span class="php-function">parse_url</span><span class="php-brackets">(</span><span class="php-var">$_SERVER</span><span class="php-brackets">[</span><span class="php-string">'HTTP_HOST'</span><span class="php-brackets">]</span><span class="php-brackets">)</span>;
<span class="php-var">$domain</span> <span class="php-operator">=</span> <span class="php-function">explode</span><span class="php-brackets">(</span><span class="php-string">'.'</span>,<span class="php-var">$domain</span><span class="php-brackets">[</span><span class="php-string">'path'</span><span class="php-brackets">]</span><span class="php-brackets">)</span>;
<span class="php-keyword">if</span><span class="php-brackets">(</span><span class="php-function">count</span><span class="php-brackets">(</span><span class="php-var">$domain</span><span class="php-brackets">)</span><span class="php-operator">=</span><span class="php-operator">=</span><span class="php-number">3</span><span class="php-operator"> and </span><span class="php-operator">!</span><span class="php-keyword">empty</span><span class="php-brackets">(</span><span class="php-var">$domain</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span><span class="php-brackets">)</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
<span class="php-keyword">return</span> <span class="php-var">$domain</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span>;
<span class="php-brackets">}</span>
<span class="php-keyword">return</span> <span class="php-string">''</span>;
<span class="php-brackets">}</span></span></pre>
</div>
<p>And there you have it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/dynamic-subdomain-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shadow Menu</title>
		<link>http://www.bunchacode.com/programming/shadow-menu/</link>
		<comments>http://www.bunchacode.com/programming/shadow-menu/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 05:20:07 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=166</guid>
		<description><![CDATA[Shadow Menu is a simple dropdown menu with a little animation. see demo]]></description>
			<content:encoded><![CDATA[<p>Shadow Menu is a simple dropdown menu with a little animation.</p>
<p><a rel="attachment wp-att-167" href="http://www.bunchacode.com/programming/shadow-menu/attachment/1/"><img class="alignnone size-full wp-image-167 colorbox-166" title="1" src="http://www.bunchacode.com/wp-content/uploads/2009/08/1.jpg" alt="1" width="764" height="254" /></a></p>
<p>see <a href="http://www.bunchacode.com/Shadow%20Menu/">demo</a></p>
<a class="downloadlink" href="http://www.bunchacode.com/wp-content/plugins/download-monitor/download.php?id=1" title="Version1.0 downloaded 440 times" >ShadowMenu -- Download (440)</a>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/shadow-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>relative time in cakephp</title>
		<link>http://www.bunchacode.com/programming/relative-time-in-cakephp/</link>
		<comments>http://www.bunchacode.com/programming/relative-time-in-cakephp/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 15:41:07 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[date]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=160</guid>
		<description><![CDATA[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 function plural($num) { if ($num != 1) return &#34;s&#34;; } function [...]]]></description>
			<content:encoded><![CDATA[<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</pre>
<pre><span class="php"><span class="php-function">function</span> plural<span class="php-brackets">(</span><span class="php-var">$num</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$num</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-string">&quot;s&quot;</span>;
<span class="php-brackets">}</span>

<span class="php-function">function</span> getRelativeTime<span class="php-brackets">(</span><span class="php-var">$date</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-operator">-</span> <span class="php-function">strtotime</span><span class="php-brackets">(</span><span class="php-var">$date</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; second&quot;</span> <span class="php-operator">.</span> plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; minute&quot;</span> <span class="php-operator">.</span> plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">2</span><span class="php-number">4</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; hour&quot;</span> <span class="php-operator">.</span> plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">2</span><span class="php-number">4</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">7</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; day&quot;</span> <span class="php-operator">.</span> plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">7</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">4</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; week&quot;</span> <span class="php-operator">.</span> plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-keyword">return</span> <span class="php-string">&quot;on &quot;</span> <span class="php-operator">.</span> <span class="php-function">date</span><span class="php-brackets">(</span><span class="php-string">&quot;F j, Y&quot;</span>, <span class="php-function">strtotime</span><span class="php-brackets">(</span><span class="php-var">$date</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
<span class="php-brackets">}</span><span class="php-operator">&lt;</span>span<span class="php-operator">&gt;</span></span></pre>
</div>
<p>If you want to use this in your view files, You need a create a file call app.php in view folder.<br />
In your app_controller.php declare a variable</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php"><span class="php-keyword">var</span> <span class="php-var">$view</span> <span class="php-operator">=</span> <span class="php-string">&quot;App&quot;</span>;</span></pre>
</div>
<p>your app.php looks something like this</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
</pre>
<pre><span class="php"><span class="php-keyword">class</span> AppView <span class="php-keyword">extends</span> View<span class="php-brackets">{</span>

 <span class="php-function">function</span> convertMysqlDate<span class="php-brackets">(</span><span class="php-var">$dateString</span><span class="php-brackets">)</span>
 <span class="php-brackets">{</span>
 <span class="php-keyword">return</span> <span class="php-function">date</span><span class="php-brackets">(</span><span class="php-string">'M d Y h:s A'</span>,<span class="php-function">strtotime</span><span class="php-brackets">(</span><span class="php-var">$dateString</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
 <span class="php-brackets">}</span>
 <span class="php-function">function</span> plural<span class="php-brackets">(</span><span class="php-var">$num</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$num</span> <span class="php-operator">!</span><span class="php-operator">=</span> <span class="php-number">1</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-string">&quot;s&quot;</span>;
 <span class="php-brackets">}</span>

 <span class="php-function">function</span> getRelativeTime<span class="php-brackets">(</span><span class="php-var">$date</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">time</span><span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-operator">-</span> <span class="php-function">strtotime</span><span class="php-brackets">(</span><span class="php-var">$date</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; second&quot;</span> <span class="php-operator">.</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; minute&quot;</span> <span class="php-operator">.</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">6</span><span class="php-number">0</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">2</span><span class="php-number">4</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; hour&quot;</span> <span class="php-operator">.</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">2</span><span class="php-number">4</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">7</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; day&quot;</span> <span class="php-operator">.</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-var">$diff</span> <span class="php-operator">=</span> <span class="php-function">round</span><span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">/</span><span class="php-number">7</span><span class="php-brackets">)</span>;
 <span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-operator">&amp;</span>lt;<span class="php-number">4</span><span class="php-brackets">)</span>
 <span class="php-keyword">return</span> <span class="php-var">$diff</span> <span class="php-operator">.</span> <span class="php-string">&quot; week&quot;</span> <span class="php-operator">.</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;plural<span class="php-brackets">(</span><span class="php-var">$diff</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">&quot; ago&quot;</span>;
 <span class="php-keyword">return</span> <span class="php-string">&quot;on &quot;</span> <span class="php-operator">.</span> <span class="php-function">date</span><span class="php-brackets">(</span><span class="php-string">&quot;F j, Y&quot;</span>, <span class="php-function">strtotime</span><span class="php-brackets">(</span><span class="php-var">$date</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;
 <span class="php-brackets">}</span>
<span class="php-brackets">}</span></span></pre>
</div>
<p><span><br />
<a href="http://snipplr.com/view/4912/relative-time/" target="_blank">source</a></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/relative-time-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>load jquery for firebug console</title>
		<link>http://www.bunchacode.com/programming/load-jquery-for-firebug-console/</link>
		<comments>http://www.bunchacode.com/programming/load-jquery-for-firebug-console/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 02:50:13 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=155</guid>
		<description><![CDATA[1 javascript:void((function(){j=document.createElement(&#34;SCRIPT&#34;);j.src=&#34;http://code.jquery.com/jquery-latest.pack.js&#34;;document.getElementsByTagName(&#34;HEAD&#34;)[0].appendChild(j);})()) you put this in your address bar and hit enter. Bookmarking it would help a lot also. of course, i didnt write it. I also forgot where i found it too.]]></description>
			<content:encoded><![CDATA[<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php">javascript<span class="php-operator">:</span>void<span class="php-brackets">(</span><span class="php-brackets">(</span><span class="php-function">function</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">{</span>j<span class="php-operator">=</span>document<span class="php-operator">.</span>createElement<span class="php-brackets">(</span><span class="php-string">&quot;SCRIPT&quot;</span><span class="php-brackets">)</span>;j<span class="php-operator">.</span>src<span class="php-operator">=</span><span class="php-string">&quot;http://code.jquery.com/jquery-latest.pack.js&quot;</span>;document<span class="php-operator">.</span>getElementsByTagName<span class="php-brackets">(</span><span class="php-string">&quot;HEAD&quot;</span><span class="php-brackets">)</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span><span class="php-operator">.</span>appendChild<span class="php-brackets">(</span>j<span class="php-brackets">)</span>;<span class="php-brackets">}</span><span class="php-brackets">)</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span></span></pre>
</div>
<p>you put this in your address bar and hit enter. Bookmarking it would help a lot also.</p>
<p>of course, i didnt write it. I also forgot where i found it too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/load-jquery-for-firebug-console/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>mysql get first letter of a column from a table</title>
		<link>http://www.bunchacode.com/programming/mysql-get-first-letter-of-a-column-from-a-table/</link>
		<comments>http://www.bunchacode.com/programming/mysql-get-first-letter-of-a-column-from-a-table/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 15:43:43 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=148</guid>
		<description><![CDATA[Let&#8217;s say you have a store table in your database and you want to get the first letter of each store&#8217;s name. So you can create a menu by first letter of each store name and not having a letter that contains no stores. 1 2 3 4 5 $stores = $this-&#38;gt;Store-&#38;gt;find('all',array(    'order'=&#38;gt;'name ASC', 'fields'=&#38;gt;'DISTINCT(UPPER(LEFT(name,1))) [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have a store table in your database and you want to get the first letter of each store&#8217;s name. So you can create a menu by first letter of each store name and not having a letter that contains no stores.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
</pre>
<pre><span class="php"><span class="php-var">$stores</span> <span class="php-operator">=</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;Store<span class="php-operator">-</span><span class="php-operator">&amp;</span>gt;find<span class="php-brackets">(</span><span class="php-string">'all'</span>,<span class="php-keyword">array</span><span class="php-brackets">(</span>    <span class="php-string">'order'</span><span class="php-operator">=</span><span class="php-operator">&amp;</span>gt;<span class="php-string">'name ASC'</span>,
<span class="php-string">'fields'</span><span class="php-operator">=</span><span class="php-operator">&amp;</span>gt;<span class="php-string">'DISTINCT(UPPER(LEFT(name,1))) AS letter'</span>,
<span class="php-string">'conditions'</span><span class="php-operator">=</span><span class="php-operator">&amp;</span>gt;<span class="php-keyword">array</span><span class="php-brackets">(</span><span class="php-string">&quot;UPPER(LEFT(name,1)) REGEXP '[A-Z]'&quot;</span><span class="php-brackets">)</span><span class="php-brackets">)</span><span class="php-brackets">)</span>;</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/mysql-get-first-letter-of-a-column-from-a-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cakephp model&#8211;sum, avg and etc on same model</title>
		<link>http://www.bunchacode.com/programming/cakephp-model-sum-avg-and-etc-on-same-model/</link>
		<comments>http://www.bunchacode.com/programming/cakephp-model-sum-avg-and-etc-on-same-model/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 16:29:00 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=143</guid>
		<description><![CDATA[If you need to sum up or average a column on a table via bindModel. this is what you are looking for. The table looks like this 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //each report is [...]]]></description>
			<content:encoded><![CDATA[<p>If you need to sum up or average a column on a table via bindModel. this is what you are looking for.<br />
The table looks like this</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre>
<pre><span class="php"><span class="php-comment">//each report is connected to same session report via session_id
</span>
CREATE TABLE IF NOT EXISTS <span class="php-operator">`</span>gather_reports<span class="php-operator">`</span> <span class="php-brackets">(</span>
  <span class="php-operator">`</span>id<span class="php-operator">`</span> <span class="php-var-type">int</span><span class="php-brackets">(</span><span class="php-number">1</span><span class="php-number">1</span><span class="php-brackets">)</span> NOT NULL AUTO_INCREMENT,
  <span class="php-operator">`</span><span class="php-function">session_id</span><span class="php-operator">`</span> varchar<span class="php-brackets">(</span><span class="php-number">6</span><span class="php-number">4</span><span class="php-brackets">)</span> NOT NULL DEFAULT <span class="php-string">''</span>,
  <span class="php-operator">`</span>type<span class="php-operator">`</span> enum<span class="php-brackets">(</span><span class="php-string">'Category'</span>,<span class="php-string">'Store'</span><span class="php-brackets">)</span> NOT NULL DEFAULT <span class="php-string">'Category'</span>,
  <span class="php-operator">`</span>name<span class="php-operator">`</span> varchar<span class="php-brackets">(</span><span class="php-number">1</span><span class="php-number">2</span><span class="php-number">8</span><span class="php-brackets">)</span> NOT NULL DEFAULT <span class="php-string">''</span>,
  <span class="php-operator">`</span><span class="php-function">date</span><span class="php-operator">`</span> timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  <span class="php-operator">`</span>importedId<span class="php-operator">`</span> text NOT NULL,
  <span class="php-operator">`</span>total<span class="php-operator">`</span> <span class="php-var-type">int</span><span class="php-brackets">(</span><span class="php-number">1</span><span class="php-number">1</span><span class="php-brackets">)</span> NOT NULL DEFAULT <span class="php-string">'0'</span>,
  <span class="php-operator">`</span>imported<span class="php-operator">`</span> <span class="php-var-type">int</span><span class="php-brackets">(</span><span class="php-number">1</span><span class="php-number">1</span><span class="php-brackets">)</span> NOT NULL DEFAULT <span class="php-string">'0'</span>,
  <span class="php-operator">`</span>duration<span class="php-operator">`</span> <span class="php-var-type">int</span><span class="php-brackets">(</span><span class="php-number">1</span><span class="php-number">1</span><span class="php-brackets">)</span> NOT NULL DEFAULT <span class="php-string">'0'</span>,
  PRIMARY KEY <span class="php-brackets">(</span><span class="php-operator">`</span>id<span class="php-operator">`</span><span class="php-brackets">)</span>
<span class="php-brackets">)</span></span></pre>
</div>
<p>in your controller</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre>
<pre><span class="php"><span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>GatherReport<span class="php-operator">-</span><span class="php-operator">&gt;</span>bindModel<span class="php-brackets">(</span>
    <span class="php-keyword">array</span><span class="php-brackets">(</span><span class="php-string">'hasOne'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-keyword">array</span><span class="php-brackets">(</span>
	<span class="php-string">'GatherTotal'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-keyword">array</span><span class="php-brackets">(</span>
        	<span class="php-string">'className'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'GatherReport'</span>,
		<span class="php-string">'foreignKey'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'id'</span>,
		<span class="php-string">'fields'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'SUM(GatherTotal.total) as total'</span>
	<span class="php-brackets">)</span>,
	<span class="php-string">'GatherImported'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-keyword">array</span><span class="php-brackets">(</span>
		<span class="php-string">'className'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'GatherReport'</span>,
		<span class="php-string">'foreignKey'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'id'</span>,
		<span class="php-string">'fields'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'SUM(GatherImported.imported) as imported'</span>
	<span class="php-brackets">)</span>,
	<span class="php-string">'GatherTime'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-keyword">array</span><span class="php-brackets">(</span>
		<span class="php-string">'className'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'GatherReport'</span>,
		<span class="php-string">'foreignKey'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'id'</span>,
		<span class="php-string">'fields'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-string">'SUM(GatherTime.duration) as duration'</span>
	<span class="php-brackets">)</span>
<span class="php-brackets">)</span><span class="php-brackets">)</span>,<span class="php-keyword">false</span><span class="php-brackets">)</span>;
<span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>paginate<span class="php-brackets">[</span><span class="php-string">'GatherReport'</span><span class="php-brackets">]</span><span class="php-brackets">[</span><span class="php-string">'group'</span><span class="php-brackets">]</span> <span class="php-operator">=</span> <span class="php-string">'GatherReport.session_id'</span>;
<span class="php-var">$data</span> <span class="php-operator">=</span> <span class="php-var">$this</span><span class="php-operator">-</span><span class="php-operator">&gt;</span>paginate<span class="php-brackets">(</span><span class="php-string">'GatherReport'</span><span class="php-brackets">)</span>;</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/cakephp-model-sum-avg-and-etc-on-same-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jquery select text on focus or click</title>
		<link>http://www.bunchacode.com/programming/jquery-select-text-on-focus-or-click/</link>
		<comments>http://www.bunchacode.com/programming/jquery-select-text-on-focus-or-click/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 17:39:06 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[select all]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=141</guid>
		<description><![CDATA[1 2 3 4 5 $('input').focus(function(){ this.select(); });]]></description>
			<content:encoded><![CDATA[<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
</pre>
<pre><span class="js">$<span class="js-bracket">(</span><span class="js-string">'input'</span><span class="js-bracket">)</span>.<span class="js-client-keyword">focus</span><span class="js-bracket">(</span><span class="js-function-keyword">function</span><span class="js-bracket">(</span><span class="js-bracket">)</span><span class="js-bracket">{</span>
    <span class="js-reserved-keyword">this</span>.<span class="js-native-keyword">select</span><span class="js-bracket">(</span><span class="js-bracket">)</span>;
<span class="js-bracket">}</span><span class="js-bracket">)</span>;</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/jquery-select-text-on-focus-or-click/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>excel to mysql import script</title>
		<link>http://www.bunchacode.com/programming/excel-to-mysql-import-script/</link>
		<comments>http://www.bunchacode.com/programming/excel-to-mysql-import-script/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 19:07:25 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[autoit]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=133</guid>
		<description><![CDATA[Sometimes a client requires you to import some data from an excel sheet to mysql. You can do it by hand if there are only a few records. However, if there are a few hundred records, you need some kind of script to do this. I had this same problem. So i wrote something in [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes a client requires you to import some data from an excel sheet to mysql. You can do it by hand if there are only a few records. However, if there are a few hundred records, you need some kind of script to do this. I had this same problem. So i wrote something in <a href="http://www.autoitscript.com/autoit3/" target="_blank">autoit </a>and thought i might share it. The script itself it very simple and very easy to modify.<br />
You need to <a href="http://www.autoitscript.com/autoit3/downloads.shtml">download </a> and install autoit before you can run this. I could just give you the executable, but no one would download it and no one should. Besides the script is very specific and is meant to be modified to suit your need.</p>
<p><a href="http://www.bunchacode.com/?attachment_id=137">here</a> the file in case wordpress butchers my script.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
</pre>
<pre><span class="php"><span class="php-comment">#include &lt;GUIConstantsEx.au3&gt;
</span>
<span class="php-comment">#include &lt;WindowsConstants.au3&gt;
</span>
<span class="php-comment">#include &lt;EditConstants.au3&gt;
</span>
<span class="php-comment">#include &lt;Excel.au3&gt;
</span>
<span class="php-comment">#include &lt;Array.au3&gt;
</span>
<span class="php-comment">#Include &lt;Date.au3&gt;
</span>

;<span class="php-function">file</span> picker
<span class="php-var">$excelFile</span> <span class="php-operator">=</span> FileOpenDialog<span class="php-brackets">(</span><span class="php-string">&quot;Select an excel file&quot;</span>,@DesktopDir,<span class="php-string">&quot;Excel (*.xls)&quot;</span> ,<span class="php-number">1</span><span class="php-operator">+</span><span class="php-number">2</span><span class="php-brackets">)</span>

If Not @error Then
;create <span class="php-function">main</span> window
<span class="php-var">$mainGui</span> <span class="php-operator">=</span> GUICreate<span class="php-brackets">(</span><span class="php-string">&quot;Importing&quot;</span>,<span class="php-number">3</span><span class="php-number">5</span><span class="php-number">0</span>,<span class="php-number">1</span><span class="php-number">5</span><span class="php-number">0</span><span class="php-brackets">)</span>
GUISetState<span class="php-brackets">(</span>@SW_SHOW<span class="php-brackets">)</span>

<span class="php-var">$status</span> <span class="php-operator">=</span> GUICtrlCreateEdit<span class="php-brackets">(</span><span class="php-string">&quot;Begin importing&quot;</span>,<span class="php-number">1</span><span class="php-number">0</span>,<span class="php-number">1</span><span class="php-number">0</span>,<span class="php-number">3</span><span class="php-number">3</span><span class="php-number">0</span>,<span class="php-number">1</span><span class="php-number">3</span><span class="php-number">0</span>,<span class="php-var">$ES_AUTOVSCROLL</span><span class="php-operator">+</span><span class="php-var">$ES_AUTOHSCROLL</span><span class="php-operator">+</span><span class="php-var">$ES_MULTILINE</span><span class="php-operator">+</span><span class="php-var">$ES_READONLY</span><span class="php-brackets">)</span>

addStatus<span class="php-brackets">(</span><span class="php-string">&quot;File selected:&quot;</span><span class="php-operator">&amp;</span>amp;<span class="php-var">$excelFile</span><span class="php-brackets">)</span>

doExport<span class="php-brackets">(</span><span class="php-var">$excelFile</span><span class="php-brackets">)</span>
Else
MsgBox<span class="php-brackets">(</span><span class="php-number">0</span>,<span class="php-string">&quot;Error&quot;</span>,<span class="php-string">&quot;Error opening file&quot;</span><span class="php-brackets">)</span>
Exit
EndIf

While <span class="php-number">1</span>
<span class="php-var">$msg</span> <span class="php-operator">=</span> GUIGetMsg<span class="php-brackets">(</span><span class="php-brackets">)</span>
If <span class="php-var">$msg</span> <span class="php-operator">=</span> <span class="php-var">$GUI_EVENT_CLOSE</span> Then ExitLoop
WEnd
GUIDelete<span class="php-brackets">(</span><span class="php-brackets">)</span>

Func doExport<span class="php-brackets">(</span><span class="php-var">$file</span><span class="php-brackets">)</span>
<span class="php-var">$fpExcel</span> <span class="php-operator">=</span> _ExcelBookOpen<span class="php-brackets">(</span><span class="php-var">$file</span>,<span class="php-number">0</span>,<span class="php-number">1</span><span class="php-brackets">)</span>
If @error <span class="php-operator">=</span> <span class="php-number">1</span> Then
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;Unable to Create the Excel Object&quot;</span><span class="php-brackets">)</span>
Exit
ElseIf @error <span class="php-operator">=</span> <span class="php-number">2</span> Then
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;File does not exist - Shame on you!&quot;</span><span class="php-brackets">)</span>
Exit
Else
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;File open successfully&quot;</span><span class="php-brackets">)</span>
EndIf

<span class="php-var">$done</span> <span class="php-operator">=</span> False
<span class="php-var">$i</span> <span class="php-operator">=</span> <span class="php-number">2</span>
While Not <span class="php-var">$done
</span>
;read a row from excel <span class="php-function">file</span>
<span class="php-var">$excelArray</span> <span class="php-operator">=</span> _ExcelReadArray<span class="php-brackets">(</span><span class="php-var">$fpExcel</span>,<span class="php-var">$i</span>,<span class="php-number">1</span>,<span class="php-number">9</span>,<span class="php-number">0</span>,<span class="php-number">0</span><span class="php-brackets">)</span>

If <span class="php-var">$excelArray</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span> <span class="php-operator">&amp;</span>lt;<span class="php-operator">&amp;</span>gt; <span class="php-string">&quot;&quot;</span> Then
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;reading Row &quot;</span> <span class="php-operator">&amp;</span>amp; <span class="php-var">$i</span><span class="php-brackets">)</span>
;insert into sql <span class="php-function">file</span>
arrayToSql<span class="php-brackets">(</span><span class="php-var">$excelArray</span><span class="php-brackets">)</span>
Else
addStatus<span class="php-brackets">(</span><span class="php-string">&quot;Finsihed reading excel file&quot;</span><span class="php-brackets">)</span>
addStatus<span class="php-brackets">(</span><span class="php-var">$i</span><span class="php-operator">-</span><span class="php-number">2</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot; rows converted into sql statement&quot;</span><span class="php-brackets">)</span>
<span class="php-var">$done</span> <span class="php-operator">=</span> True
EndIf
<span class="php-var">$i</span> <span class="php-operator">+</span><span class="php-operator">=</span> <span class="php-number">1</span>
WEnd

_ExcelBookClose<span class="php-brackets">(</span><span class="php-var">$fpExcel</span><span class="php-brackets">)</span>
EndFunc

Func arrayToSql<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">)</span>
;save sql <span class="php-function">file</span> to desktop
<span class="php-var">$sqlFile</span> <span class="php-operator">=</span> FileOpen<span class="php-brackets">(</span>@DesktopDir<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;/ExcelToSql-&quot;</span><span class="php-operator">&amp;</span>amp;@MDAY<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;@MON<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;@YEAR<span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;.sql&quot;</span>,<span class="php-number">1</span><span class="php-operator">+</span><span class="php-number">8</span><span class="php-brackets">)</span>

<span class="php-var">$sqlStatement</span> <span class="php-operator">=</span> <span class="php-string">&quot;INSERT INTO `_products` (`int_id`, `product_type`, `title`, `description`, `synopsis`, `publication_date`, `price`, `categories`, `list`, `type_id`, `processed`, `write_err`) VALUES (&quot;</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">0</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;int_id
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">1</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;product_type
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">2</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;title
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">3</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;description
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">4</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;synopsis
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; toExcelDate<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">5</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span>  ;<span class="php-function">date</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">6</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;price
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">7</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;category
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'&quot;</span><span class="php-operator">&amp;</span>amp; escapeString<span class="php-brackets">(</span><span class="php-var">$array</span><span class="php-brackets">[</span><span class="php-number">8</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">&amp;</span>amp; <span class="php-string">&quot;',&quot;</span> ;<span class="php-function">list</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;'','N','N'&quot;</span>
<span class="php-var">$sqlStatement</span> <span class="php-operator">&amp;</span>amp;<span class="php-operator">=</span> <span class="php-string">&quot;);&quot;</span>

FileWriteLine<span class="php-brackets">(</span><span class="php-var">$sqlFile</span>,<span class="php-var">$sqlStatement</span><span class="php-brackets">)</span>
FileClose<span class="php-brackets">(</span><span class="php-var">$sqlFile</span><span class="php-brackets">)</span>
EndFunc

Func escapeString<span class="php-brackets">(</span><span class="php-var">$string</span><span class="php-brackets">)</span>
;replace anything that is not a number, letter<span class="php-operator"> or </span>common punctuation
<span class="php-var">$string</span> <span class="php-operator">=</span> StringRegExpReplace<span class="php-brackets">(</span><span class="php-var">$string</span>,<span class="php-string">&quot;[^0-9a-zA-Z.,\\/\!@#$%\^\&amp;amp;\*\(\)\-_\+=\h&amp;lt;&amp;gt;]&quot;</span>,<span class="php-string">&quot;&quot;</span><span class="php-brackets">)</span>
;escape single quote
<span class="php-var">$string</span> <span class="php-operator">=</span> StringRegExpReplace<span class="php-brackets">(</span><span class="php-var">$string</span>,<span class="php-string">&quot;[']&quot;</span>,<span class="php-string">&quot;\'&quot;</span><span class="php-brackets">)</span>
Return <span class="php-var">$string
</span>
EndFunc

Func toExcelDate<span class="php-brackets">(</span><span class="php-var">$dateString</span><span class="php-brackets">)</span>
<span class="php-var">$yearString</span> <span class="php-operator">=</span> StringMid<span class="php-brackets">(</span><span class="php-var">$dateString</span>,<span class="php-number">1</span>,<span class="php-number">4</span><span class="php-brackets">)</span>
<span class="php-var">$monthString</span> <span class="php-operator">=</span> StringMid<span class="php-brackets">(</span><span class="php-var">$dateString</span>,<span class="php-number">5</span>,<span class="php-number">2</span><span class="php-brackets">)</span>
<span class="php-var">$dayString</span> <span class="php-operator">=</span> StringMid<span class="php-brackets">(</span><span class="php-var">$dateString</span>,<span class="php-number">7</span>,<span class="php-number">2</span><span class="php-brackets">)</span>
<span class="php-keyword">return</span> <span class="php-var">$dayString</span><span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;StringMid<span class="php-brackets">(</span>_DateToMonth<span class="php-brackets">(</span><span class="php-var">$monthString</span>,<span class="php-number">1</span><span class="php-brackets">)</span>,<span class="php-number">1</span>,<span class="php-number">3</span><span class="php-brackets">)</span><span class="php-operator">&amp;</span>amp;<span class="php-string">&quot;-&quot;</span><span class="php-operator">&amp;</span>amp;<span class="php-var">$yearString
</span>
EndFunc

Func addStatus<span class="php-brackets">(</span><span class="php-var">$text</span><span class="php-brackets">)</span>
GUICtrlSetData<span class="php-brackets">(</span><span class="php-var">$status</span>,@CRLF<span class="php-operator">&amp;</span>amp;<span class="php-var">$text</span>,<span class="php-number">1</span><span class="php-brackets">)</span>
EndFunc</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/excel-to-mysql-import-script/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

