<?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 &#187; cakephp</title>
	<atom:link href="http://www.bunchacode.com/tag/cakephp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bunchacode.com</link>
	<description>where geeks are cool.</description>
	<lastBuildDate>Fri, 13 Aug 2010 18:04:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<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>
<pre class="php">
<span class="phpFunctionKeyword">function</span> make_clean_css<span class="phpOperator">(</span>$path, $name<span class="phpOperator">)</span>
<span class="phpOperator">{</span>
App<span class="phpOperator">:</span><span class="phpOperator">:</span>import<span class="phpOperator">(</span><span class="phpString">'Vendor'</span>, <span class="phpString">'csspp'</span> <span class="phpOperator">.</span> DS <span class="phpOperator">.</span> <span class="phpString">'csspp'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$data <span class="phpOperator">=</span> <span class="phpFunction">file_get_contents</span><span class="phpOperator">(</span>$path<span class="phpOperator">)</span><span class="phpText">;</span>
$csspp <span class="phpOperator">=</span><span class="phpKeyword"> new </span>csspp<span class="phpOperator">(</span>$name,<span class="phpString">''</span><span class="phpOperator">)</span><span class="phpText">;</span>
$output <span class="phpOperator">=</span> $csspp<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>process<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
$ratio <span class="phpOperator">=</span> 100 - <span class="phpOperator">(</span><span class="phpFunction">round</span><span class="phpOperator">(</span><span class="phpFunction">strlen</span><span class="phpOperator">(</span>$output<span class="phpOperator">)</span> / <span class="phpFunction">strlen</span><span class="phpOperator">(</span>$data<span class="phpOperator">)</span>, <span class="phpNumber">3</span><span class="phpOperator">)</span> * 100<span class="phpOperator">)</span><span class="phpText">;</span>
$output <span class="phpOperator">=</span> <span class="phpString">" <span class="phpComment">/* file<span class="phpOperator">:</span> $name, ratio<span class="phpOperator">:</span> $ratio% */</span> "</span> <span class="phpOperator">.</span> $output;
<span class="phpKeyword">
return </span>$output;
<span class="phpOperator">}</span>
</pre>
<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>0</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>
<pre class="php">
<span class="phpFunctionKeyword">function</span> getSubdomain<span class="phpOperator">(</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
$domain <span class="phpOperator">=</span> <span class="phpFunction">parse_url</span><span class="phpOperator">(</span><span class="phpScriptVar">$_SERVER</span><span class="phpOperator">[</span><span class="phpString">'HTTP_HOST'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpText">;</span>
$domain <span class="phpOperator">=</span> <span class="phpFunction">explode</span><span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>'</span>,$domain<span class="phpOperator">[</span><span class="phpString">'path'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
if<span class="phpOperator">(</span></span><span class="phpFunction">count</span><span class="phpOperator">(</span>$domain<span class="phpOperator">)</span><span class="phpOperator"><span class="phpOperator">=</span>=</span><span class="phpNumber">3</span> and <span class="phpOperator">!</span><span class="phpFunction">empty</span><span class="phpOperator">(</span>$domain<span class="phpOperator">[</span><span class="phpNumber">0</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
<span class="phpKeyword">
return </span>$domain<span class="phpOperator">[</span><span class="phpNumber">0</span><span class="phpOperator">]</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpKeyword">
return </span><span class="phpString">''</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
</pre>
<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>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[function plural($num) { if ($num != 1) return "s"; } function getRelativeTime($date) { $diff = time() - strtotime($date); if ($diff&#60;60) return $diff . " second" . plural($diff) . " ago"; $diff = round($diff/60); if ($diff&#60;60) return $diff . " minute" . plural($diff) . " ago"; $diff = round($diff/60); if ($diff&#60;24) return $diff . " hour" [...]]]></description>
			<content:encoded><![CDATA[<pre class="php">
<span class="phpFunctionKeyword">function</span> plural<span class="phpOperator">(</span>$num<span class="phpOperator">)</span> <span class="phpOperator">{</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$num <span class="phpOperator">!</span><span class="phpOperator">=</span> <span class="phpNumber">1</span><span class="phpOperator">)</span>
<span class="phpKeyword"> return </span><span class="phpString">"s"</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpFunctionKeyword">function</span> getRelativeTime<span class="phpOperator">(</span>$<span class="phpFunction">date</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">time</span><span class="phpOperator">(</span><span class="phpOperator">)</span> - strto<span class="phpFunction">time</span><span class="phpOperator">(</span>$<span class="phpFunction">date</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span>60<span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" second"</span> <span class="phpOperator">.</span> plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/60<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span>60<span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" minute"</span> <span class="phpOperator">.</span> plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/60<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span>24<span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" hour"</span> <span class="phpOperator">.</span> plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/24<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span><span class="phpNumber">7</span><span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" day"</span> <span class="phpOperator">.</span> plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/<span class="phpNumber">7</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span><span class="phpNumber">4</span><span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" week"</span> <span class="phpOperator">.</span> plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
<span class="phpKeyword"> return </span><span class="phpString">"on "</span> <span class="phpOperator">.</span> <span class="phpFunction">date</span><span class="phpOperator">(</span><span class="phpString">"F j, Y"</span>, strto<span class="phpFunction">time</span><span class="phpOperator">(</span>$<span class="phpFunction">date</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">&lt;</span>span<span class="phpOperator">&gt;</span>
</pre>
<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>
<pre class="php">
<span class="phpKeyword">
var </span>$view <span class="phpOperator">=</span> <span class="phpString">"App"</span><span class="phpText">;</span>
</pre>
<p>your app.php looks something like this</p>
<pre class="php">
<span class="phpKeyword">class </span>AppView<span class="phpKeyword"><span class="phpKeyword"> extends </span></span>View<span class="phpOperator">{</span>
 <span class="phpFunctionKeyword">function</span> convertMysqlDate<span class="phpOperator">(</span>$dateString<span class="phpOperator">)</span>
 <span class="phpOperator">{</span>
<span class="phpKeyword"> return </span><span class="phpFunction">date</span><span class="phpOperator">(</span><span class="phpString">'M d Y h<span class="phpOperator">:</span>s A'</span>,<span class="phpFunction">strto<span class="phpFunction">time</span></span><span class="phpOperator">(</span>$dateString<span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
 <span class="phpOperator">}</span>
 <span class="phpFunctionKeyword">function</span> plural<span class="phpOperator">(</span>$num<span class="phpOperator">)</span> <span class="phpOperator">{</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$num <span class="phpOperator">!</span><span class="phpOperator">=</span> <span class="phpNumber">1</span><span class="phpOperator">)</span>
<span class="phpKeyword"> return </span><span class="phpString">"s"</span><span class="phpText">;</span>
 <span class="phpOperator">}</span>
 <span class="phpFunctionKeyword">function</span> getRelativeTime<span class="phpOperator">(</span>$<span class="phpFunction">date</span><span class="phpOperator">)</span> <span class="phpOperator">{</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">time</span><span class="phpOperator">(</span><span class="phpOperator">)</span> - <span class="phpFunction">strto<span class="phpFunction">time</span></span><span class="phpOperator">(</span>$<span class="phpFunction">date</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span>60<span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" second"</span> <span class="phpOperator">.</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/60<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span>60<span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" minute"</span> <span class="phpOperator">.</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/60<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span>24<span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" hour"</span> <span class="phpOperator">.</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/24<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span><span class="phpNumber">7</span><span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" day"</span> <span class="phpOperator">.</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
 $diff <span class="phpOperator">=</span> <span class="phpFunction">round</span><span class="phpOperator">(</span>$diff/<span class="phpNumber">7</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword"> if </span><span class="phpOperator">(</span>$diff<span class="phpOperator">&lt;</span><span class="phpNumber">4</span><span class="phpOperator">)</span>
<span class="phpKeyword"> return </span>$diff <span class="phpOperator">.</span> <span class="phpString">" week"</span> <span class="phpOperator">.</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>plural<span class="phpOperator">(</span>$diff<span class="phpOperator">)</span> <span class="phpOperator">.</span> <span class="phpString">" ago"</span><span class="phpText">;</span>
<span class="phpKeyword"> return </span><span class="phpString">"on "</span> <span class="phpOperator">.</span> <span class="phpFunction">date</span><span class="phpOperator">(</span><span class="phpString">"F j, Y"</span>, <span class="phpFunction">strto<span class="phpFunction">time</span></span><span class="phpOperator">(</span>$<span class="phpFunction">date</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
 <span class="phpOperator">}</span>
<span class="phpOperator">}</span>
</pre>
<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>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. $stores = $this-&#62;Store-&#62;find('all',array(    'order'=&#62;'name ASC', 'fields'=&#62;'DISTINCT(UPPER(LEFT(name,1))) AS letter', 'conditions'=&#62;array("UPPER(LEFT(name,1)) REGEXP '[A-Z]'")));]]></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>
<pre class="php">
$stores <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>Store<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>find<span class="phpOperator">(</span><span class="phpString">'all'</span>,<span class="phpFunction">array</span><span class="phpOperator">(</span>    <span class="phpString">'order'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'name ASC'</span>,
<span class="phpString">'fields'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'DISTINCT<span class="phpOperator">(</span>UPPER<span class="phpOperator">(</span>LEFT<span class="phpOperator">(</span>name,<span class="phpNumber">1</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">)</span> AS letter'</span>,
<span class="phpString">'conditions'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">"UPPER<span class="phpOperator">(</span>LEFT<span class="phpOperator">(</span>name,<span class="phpNumber">1</span><span class="phpOperator">)</span><span class="phpOperator">)</span> REGEXP <span class="phpString">'<span class="phpOperator">[</span>A-Z<span class="phpOperator">]</span>'</span>"</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
]]></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 //each report is connected to same session report via session_id CREATE TABLE IF NOT EXISTS `gather_reports` ( `id` int(11) NOT NULL AUTO_INCREMENT, `session_id` varchar(64) NOT NULL DEFAULT '', [...]]]></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>
<pre class="php">
<span class="phpComment">//each report is connected to same session report via session_id
</span>CREATE TABLE IF NOT EXISTS `gather_reports` <span class="phpOperator">(</span>
  `id` int<span class="phpOperator">(</span>11<span class="phpOperator">)</span> NOT NULL AUTO_INCREMENT,
  `session_id` varchar<span class="phpOperator">(</span>64<span class="phpOperator">)</span> NOT NULL DEFAULT <span class="phpString">''</span>,
  `type` enum<span class="phpOperator">(</span><span class="phpString">'Category'</span>,<span class="phpString">'Store'</span><span class="phpOperator">)</span> NOT NULL DEFAULT <span class="phpString">'Category'</span>,
  `name` varchar<span class="phpOperator">(</span>128<span class="phpOperator">)</span> NOT NULL DEFAULT <span class="phpString">''</span>,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `importedId` text NOT NULL,
  `total` int<span class="phpOperator">(</span>11<span class="phpOperator">)</span> NOT NULL DEFAULT <span class="phpString">'<span class="phpNumber">0</span>'</span>,
  `imported` int<span class="phpOperator">(</span>11<span class="phpOperator">)</span> NOT NULL DEFAULT <span class="phpString">'<span class="phpNumber">0</span>'</span>,
  `duration` int<span class="phpOperator">(</span>11<span class="phpOperator">)</span> NOT NULL DEFAULT <span class="phpString">'<span class="phpNumber">0</span>'</span>,
  PRIMARY KEY <span class="phpOperator">(</span>`id`<span class="phpOperator">)</span>
<span class="phpOperator">)</span>
</pre>
<p>in your controller</p>
<pre class="php">
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>GatherReport<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>bindModel<span class="phpOperator">(</span>
    <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'hasOne'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span>
	<span class="phpString">'GatherTotal'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span>
        	<span class="phpString">'className'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'GatherReport'</span>,
		<span class="phpString">'foreignKey'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'id'</span>,
		<span class="phpString">'fields'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'SUM<span class="phpOperator">(</span>GatherTotal<span class="phpOperator">.</span>total<span class="phpOperator">)</span><span class="phpKeyword"> as </span>total'</span>
	<span class="phpOperator">)</span>,
	<span class="phpString">'GatherImported'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span>
		<span class="phpString">'className'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'GatherReport'</span>,
		<span class="phpString">'foreignKey'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'id'</span>,
		<span class="phpString">'fields'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'SUM<span class="phpOperator">(</span>GatherImported<span class="phpOperator">.</span>imported<span class="phpOperator">)</span><span class="phpKeyword"> as </span>imported'</span>
	<span class="phpOperator">)</span>,
	<span class="phpString">'GatherTime'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpFunction">array</span><span class="phpOperator">(</span>
		<span class="phpString">'className'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'GatherReport'</span>,
		<span class="phpString">'foreignKey'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'id'</span>,
		<span class="phpString">'fields'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'SUM<span class="phpOperator">(</span>GatherTime.duration<span class="phpOperator">)</span><span class="phpKeyword"> as </span>duration'</span>
	<span class="phpOperator">)</span>
<span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpKeyword">,false<span class="phpOperator">)</span></span><span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>paginate<span class="phpOperator">[</span><span class="phpString">'GatherReport'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'group'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'GatherReport.session_id'</span><span class="phpText">;</span>
$data <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>paginate<span class="phpOperator">(</span><span class="phpString">'GatherReport'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
]]></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>Cakephp custom dropdown menu/select  element</title>
		<link>http://www.bunchacode.com/design/cakephp-custom-dropdown-menu-element/</link>
		<comments>http://www.bunchacode.com/design/cakephp-custom-dropdown-menu-element/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 20:52:42 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=107</guid>
		<description><![CDATA[[UPDATED to allow multiple instances] [UPDATED bug fix] Hello everyone. The select tag that comes with html is pretty useful, but once in a while, one of your clients complains that it&#8217;s fugly. So you need to make  a custom one. And that&#8217;s what i just did. Damned clients! Requirements: jquery To do this you [...]]]></description>
			<content:encoded><![CDATA[<p><strong>[UPDATED to allow multiple instances]</strong><br />
<strong>[UPDATED bug fix]</strong></p>
<p>Hello everyone. The select tag that comes with html is pretty useful, but once in a while, one of your clients complains that it&#8217;s fugly. So you need to make  a custom one. And that&#8217;s what i just did. Damned clients!</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li> jquery</li>
</ul>
<p>To do this you need to create a file called <strong>customSelect.ctp</strong> in your app<strong>/views/elements folder</strong>(Of course you don&#8217;t NEED cakephp to use this.).</p>
<p>And the content said file would be(This example is for a category select menu.):<br />
<span id="more-107"></span></p>
<pre class="php">
<span class="htmlOtherTag">&lt;div class=<span class="htmlAttributeValue">&quot;customSelect&quot;</span>&gt;</span>
<span class="htmlOtherTag">&lt;div class=<span class="htmlAttributeValue">&quot;selectLeft&quot;</span>&gt;</span>
<span class="htmlOtherTag">&lt;div class=<span class="htmlAttributeValue">&quot;selectOptions&quot;</span> style=<span class="htmlAttributeValue">&quot;<span class="cssProperty">display</span><span class="cssRest">:</span><span class="cssValue">none</span><span class="cssRest">;</span>&quot;</span>&gt;</span>$name){ ?&gt;<span class="htmlOtherTag">&lt;/div&gt;</span>
<span class="htmlFormTag">&lt;input class=<span class="htmlAttributeValue">&quot;selectInput&quot;</span> name=<span class="htmlAttributeValue">&quot;<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span> <span class="phpFunction">echo</span> $inputName<span class="phpText">;</span><span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span></span>&quot;</span> type=<span class="htmlAttributeValue">&quot;hidden&quot;</span> /&gt;<span class="htmlOtherTag">&lt;/div&gt;</span>
<span class="htmlOtherTag">&lt;div class=<span class="htmlAttributeValue">&quot;selectRight&quot;</span>&gt;</span>
<span class="htmlOtherTag">&lt;div class=<span class="htmlAttributeValue">&quot;selectDropDownArrow&quot;</span>&gt;</span><span class="htmlImageTag">&lt;img src=<span class="htmlAttributeValue">&quot;img/dropDownArrow.jpg&quot;</span> alt=<span class="htmlAttributeValue">&quot;&gt;</span>&gt;&quot;</span> /&gt;<span class="htmlOtherTag">&lt;/div&gt;</span>
<span class="htmlOtherTag">&lt;/div&gt;</span>
<span class="htmlOtherTag">&lt;/div&gt;</span>
<span class="htmlScriptTag">&lt;script type=<span class="htmlAttributeValue">&quot;text/javascript&quot;</span>&gt;</span>// <span class="htmlOtherTag">&lt;![CDATA[
$(document).ready(function(){
	//set the default item to show
	setSelectedOption(&#039;&#039;);
});
// ]]&gt;</span><span class="htmlScriptTag">&lt;/script&gt;</span>
</pre>
<p>the javascript file, customSelect.js</p>
<pre class="php">
$<span class="phpOperator">(</span>document<span class="phpOperator">)</span>.ready<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpComment">//capture clicks anywhere and hide dropdown menu
</span>$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.click<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.slideUp<span class="phpOperator">(</span><span class="phpString">'fast'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">//click on the selected item div to toggle menu
</span>$<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectedCategoryDiv'</span><span class="phpOperator">)</span>.click<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span>e<span class="phpOperator">)</span>
<span class="phpOperator">{</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.siblings<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.slideToggle<span class="phpOperator">(</span><span class="phpString">'fast'</span><span class="phpOperator">)</span><span class="phpText">;</span>
e.stopPropagation<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
return </span>>false<span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">//click on the down arrow to toggle menu
</span>$<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectDropDownArrow'</span><span class="phpOperator">)</span>.click<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span>e<span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.parent<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectRight'</span><span class="phpOperator">)</span>.siblings<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectLeft'</span><span class="phpOperator">)</span>.children<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.slideToggle<span class="phpOperator">(</span><span class="phpString">'fast'</span><span class="phpOperator">)</span><span class="phpText">;</span>
e.stopPropagation<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
return </span>>false<span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">//hover on menu item to change color
</span>$<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.children<span class="phpOperator">(</span><span class="phpString">'div'</span><span class="phpOperator">)</span>.hover<span class="phpOperator">(</span>
<span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.addClass<span class="phpOperator">(</span><span class="phpString">'hoverItem'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>,
<span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.removeClass<span class="phpOperator">(</span><span class="phpString">'hoverItem'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">//click on menu item to select
</span>$<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.children<span class="phpOperator">(</span><span class="phpString">'div'</span><span class="phpOperator">)</span>.click<span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span>e<span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.parent<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.siblings<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectInput'</span><span class="phpOperator">)</span>.val<span class="phpOperator">(</span>$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">'value'</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.parent<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.slideUp<span class="phpOperator">(</span><span class="phpString">'fast'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.parent<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.siblings<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectedCategoryDiv'</span><span class="phpOperator">)</span>.html<span class="phpOperator">(</span>$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.html<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
e.stopPropagation<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
return </span>>false<span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpFunctionKeyword">function</span> setSelectedOption<span class="phpOperator">(</span>id<span class="phpOperator">)</span>
<span class="phpOperator">{</span>
<span class="phpKeyword">
if<span class="phpOperator">(</span></span>id <span class="phpOperator">!</span><span class="phpOperator">=</span> <span class="phpString">''</span><span class="phpOperator">)</span>
<span class="phpOperator">{</span>
$<span class="phpOperator">(</span><span class="phpString">'<span class="phpOperator">.</span>selectOptions'</span><span class="phpOperator">)</span>.<span class="phpFunction">each</span><span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.children<span class="phpOperator">(</span><span class="phpString">'div'</span><span class="phpOperator">)</span>.<span class="phpFunction">each</span><span class="phpOperator">(</span><span class="phpFunctionKeyword">function</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpOperator">{</span>
<span class="phpKeyword">
if<span class="phpOperator">(</span></span>$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.attr<span class="phpOperator">(</span><span class="phpString">'value'</span><span class="phpOperator">)</span> <span class="phpOperator"><span class="phpOperator">=</span>=</span> id<span class="phpOperator">)</span>
$<span class="phpOperator">(</span>this<span class="phpOperator">)</span>.click<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">}</span>
</pre>
<p>the css file, customSelect.css</p>
<pre class="php">
<span class="phpOperator">.</span>customSelect
<span class="phpOperator">{</span>
padding<span class="phpOperator">:</span><span class="phpNumber">0</span> 4px<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>selectedCategoryDiv
<span class="phpOperator">{</span>
background-color<span class="phpOperator">:</span>#FFFFFF<span class="phpText">;</span>
padding<span class="phpOperator">:</span>4px 5px<span class="phpText">;</span>
font-weight<span class="phpOperator">:</span>bold<span class="phpText">;</span>
font-size<span class="phpOperator">:</span>16px<span class="phpText">;</span>
width<span class="phpOperator">:</span>215px<span class="phpText">;</span>
cursor<span class="phpOperator">:</span>pointer<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>selectLeft
<span class="phpOperator">{</span>
float<span class="phpOperator">:</span>left;
border-top<span class="phpOperator">:</span>1px solid #93a8ad<span class="phpText">;</span>
border-bottom<span class="phpOperator">:</span>1px solid #FFFFFF<span class="phpText">;</span>
border-left<span class="phpOperator">:</span>1px solid #bac8cb<span class="phpText">;</span>
border-right<span class="phpOperator">:</span>1px dotted #93a8ad<span class="phpText">;</span>
position<span class="phpOperator">:</span>relative<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>selectOptions
<span class="phpOperator">{</span>
position<span class="phpOperator">:</span>absolute<span class="phpText">;</span>
top<span class="phpOperator">:</span>29px<span class="phpText">;</span>
left<span class="phpOperator">:</span>0px<span class="phpText">;</span>
background-color<span class="phpOperator">:</span>#FFFFFF<span class="phpText">;</span>
width<span class="phpOperator">:</span>225px<span class="phpText">;</span>
padding<span class="phpOperator">:</span>0;
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>selectOptions div
<span class="phpOperator">{</span>
padding<span class="phpOperator">:</span>2px 7px<span class="phpText">;</span>
cursor<span class="phpOperator">:</span>pointer<span class="phpText">;</span>
font-size<span class="phpOperator">:</span>16px<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>selectRight
<span class="phpOperator">{</span>
float<span class="phpOperator">:</span>left;
background-color<span class="phpOperator">:</span>#FFFFFF<span class="phpText">;</span>
border-top<span class="phpOperator">:</span>1px solid #93a8ad<span class="phpText">;</span>
border-bottom<span class="phpOperator">:</span>1px solid #FFFFFF<span class="phpText">;</span>
border-left<span class="phpOperator">:</span>none<span class="phpText">;</span>
border-right<span class="phpOperator">:</span>1px solid #FFFFFF<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>selectDropDownArrow
<span class="phpOperator">{</span>
padding<span class="phpOperator">:</span>7px 8px 6px 8px<span class="phpText">;</span>
cursor<span class="phpOperator">:</span>pointer<span class="phpText">;</span>
border<span class="phpOperator">:</span>none<span class="phpText">;</span>
margin<span class="phpOperator">:</span>0;
<span class="phpOperator">}</span>
<span class="phpOperator">.</span>hoverItem
<span class="phpOperator">{</span>
color<span class="phpOperator">:</span>#ef3e36<span class="phpText">;</span>
<span class="phpOperator">}</span>
</pre>
<p>and the image<br />
<img class="alignnone size-full wp-image-119" title="dropDownArrow" src="http://www.bunchacode.com/wp-content/uploads/2009/07/dropDownArrow.jpg" alt="dropDownArrow" width="8" height="8" /></p>
<p>You need to include the javascript and js files in your layout file.<br />
And to call the element from your view files, you can do this</p>
<pre class="php">
<span class="phpComment">//input name is the name of original select
</span><span class="phpComment">//datais an <span class="phpFunction">array</span> of menu items, how you structure is up to you
</span><span class="phpComment">//selected is the value of the selected menu item
</span><span class="phpFunction">echo</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>element<span class="phpOperator">(</span><span class="phpString">'customSelect'</span>,<span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'inputName'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">'data<span class="phpOperator">[</span>category<span class="phpOperator">]</span>'</span>,<span class="phpString">'data'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span>$categories,<span class="phpString">'selected'</span><span class="phpOperator"><span class="phpOperator">=</span><span class="phpOperator">&gt;</span></span><span class="phpString">''</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/design/cakephp-custom-dropdown-menu-element/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>internationalization and localization in cakephp</title>
		<link>http://www.bunchacode.com/programming/internationalization-and-localization-in-cakephp/</link>
		<comments>http://www.bunchacode.com/programming/internationalization-and-localization-in-cakephp/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 05:53:39 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[internationalization]]></category>
		<category><![CDATA[l11n]]></category>
		<category><![CDATA[localization]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=75</guid>
		<description><![CDATA[I18n and l11n in cakephp is extremely easy. However before we start, you need to download and install a po file editor. The one I use is called poedit. The main thing you need to change in your application is the way you handle your string constants. Normally, you just type out phrases in your [...]]]></description>
			<content:encoded><![CDATA[<p>I18n and l11n in cakephp is extremely easy. However before we start, you need to download and install a po file editor. The one I use is called <a href="http://www.poedit.net/download.php">poedit</a>.</p>
<p>The main thing you need to change in your application is the way you handle your string constants. Normally, you just type out phrases in your application like:</p>
<pre class="php">
$site_title <span class="phpOperator">=</span> <span class="phpString">"My site title"</span><span class="phpText">;</span>
</pre>
<p>To internationalize it, you change it to</p>
<pre class="php">
$site_title <span class="phpOperator">=</span> __<span class="phpOperator">(</span><span class="phpString">"My site title"</span><span class="phpKeyword">,true<span class="phpOperator">)</span></span><span class="phpText">;</span>
</pre>
<p>The __ function takes a string and returns or echoes the localized version of it by checking the language files. The second parameter tells it if the localized string should be returned.<br />
Obviously, if you are outputting string in your view file. You don&#8217;t need the second parameter because it defaults to false.</p>
<p>Now that your files are ready to be localized, you can start creating the language files you desire.<br />
1. create a folder in app/locale with an appropriate name like rus for russian and eng for english<br />
2. create a folder called LC_MESSAGES. This folder will contain the actual language file.</p>
<p>Now we need to configure the po editor you downloaded earlier.<br />
1. download and install it, of course.<br />
2. now close the catalog manager. go File-&gt;Preference<br />
3. go to translation memory tab, set max.# of missing words to 0 and max. difference in sentence length to 0<br />
4. go to parsers tab, add a new source code parser called php if one doesn&#8217;t already exist.<br />
5. in php parser&#8217;s setting window, change the list of extentions to <strong>*.ctp;*.php</strong>, add whatever suits your needs.<br />
6. change parse command to <strong>xgettext &#8211;force-po -o %o %C %K %F &#8211;language=php </strong><br />
7. change an item in keywords list to <strong>-k%k</strong><br />
8. change an item in input files list to <strong>%f</strong><br />
9. source code charset to <strong>&#8211;from-code=%c</strong> and now hit ok to save everything<br />
10. open poedit, go to File-&gt;Catalogs Manager<br />
11. click on the create a new translation project.<br />
12. give it a name and set the directory to you projects app folder. in my case it looks something like this <strong>D:\htdocs\web\public\mysite\app\</strong><br />
13. Now go to File-&gt;New Catalog&#8230;<br />
14. give it a name, set charset to UTF-8<br />
15. go to paths tab, here you add folders that you want poedit to scan through to look for files. With cakephp the folders you want to include are the controller folder and view folders. you need to enter each of them separetly as poedit don&#8217;t go through the folders recursively.<br />
in my case i added</p>
<pre class="php">
views\layouts
views\home
views\pages
controllers
<span class="phpOperator">.</span>
</pre>
<p>The last dot tells it to look in app folder for files like app_controller.php<br />
16. go to keywords tab, add __ as a keywords. This tells poedit to look for __ when search through the files in path tab. hit ok to save.<br />
17. with a little luck and all the stuff set correctly. you can hit the update catalog button and you should see your string constants in poedit and click on one to write the translation for it.</p>
<p>With all these you still need to tell cakephp which language to use. you can do that like</p>
<pre class="php">
Configure<span class="phpOperator">:</span><span class="phpOperator">:</span>write<span class="phpOperator">(</span><span class="phpString">'Config<span class="phpOperator">.</span>language'</span>,<span class="phpString">'rus'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>You can send this file to your client and he can use poedit to update the file and send it back to you. All you have to do is to put the file in the appropriate folder in locale, open it with poedit and hit the update button. Then you are set. Pretty frigging awsome if you ask me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/internationalization-and-localization-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>integrating wordpress with cakephp</title>
		<link>http://www.bunchacode.com/programming/integrating-wordpress-with-cakephp/</link>
		<comments>http://www.bunchacode.com/programming/integrating-wordpress-with-cakephp/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 06:13:50 +0000</pubDate>
		<dc:creator>Funky Dude</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bunchacode.com/?p=51</guid>
		<description><![CDATA[So how do you combine your favorite blogging app with your favorite framework so that user can signin from your cakephp app and maintain his/her session in wordpress, assuming user can only sign up and log in from your cakephp site. The idea is to create a wordpress user when a user signs up on [...]]]></description>
			<content:encoded><![CDATA[<p>So how do you combine your favorite blogging app with your favorite framework so that user can signin from your cakephp app and maintain his/her session in wordpress, assuming user can only sign up and log in from your cakephp site.</p>
<p>The idea is to create a wordpress user when a user signs up on your cakephp site.</p>
<p>1. We need wordpress password hash function to do this properly. You need to create a new component that would contain wp password hashing functions. The file that contains everything you need is at <strong>wp-include/class-phpass.php</strong>. Just turn this class into a cakephp component, so you can include it in your user controller.</p>
<p>2. In your user controller, include your recently created wp hash function component. And after the user is saved into your cakephp user table. You want to add it to your wp user table as well. And it would look something like this.</p>
<pre class="php">
<span class="phpKeyword">
if<span class="phpOperator">(</span></span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>User<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">)</span><span class="phpOperator">)</span>
<span class="phpOperator">{</span>
<span class="phpComment">//create blog user<span class="phpKeyword"> for </span>this user
</span>$wp_hash <span class="phpOperator">=</span><span class="phpKeyword"> new </span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>Wphash<span class="phpText">;</span>
$wp_hash<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>PasswordHash<span class="phpOperator">(</span><span class="phpNumber">8</span>,1<span class="phpOperator">)</span><span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'ID'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>User<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>id<span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'user_login'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>sanitize_user<span class="phpOperator">(</span>$email<span class="phpOperator">)</span><span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'user_pass'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $wp_hash<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>HashPassword<span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'password'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'user_email'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpFunction">trim</span><span class="phpOperator">(</span>$email<span class="phpOperator">)</span><span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'user_url'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'http<span class="phpOperator">:</span><span class="phpComment">//'</span><span class="phpText">;</span>
</span>$blog_user<span class="phpOperator">[</span><span class="phpString">'user_nicename'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'firstname'</span><span class="phpOperator">]</span>.<span class="phpString">' '</span>.<span class="phpFunction">substr</span><span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'lastname'</span><span class="phpOperator">]</span>,<span class="phpNumber">0</span>,1<span class="phpOperator">)</span><span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'display_name'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'firstname'</span><span class="phpOperator">]</span>.<span class="phpString">' '</span>.<span class="phpFunction">substr</span><span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'lastname'</span><span class="phpOperator">]</span>,<span class="phpNumber">0</span>,1<span class="phpOperator">)</span><span class="phpText">;</span>
$blog_user<span class="phpOperator">[</span><span class="phpString">'user_registered'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpFunction">date</span><span class="phpOperator">(</span>configure<span class="phpOperator">:</span><span class="phpOperator">:</span>read<span class="phpOperator">(</span><span class="phpString">'dateformat'</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'Blog_user'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $blog_user<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>Blog_user<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpComment">//create user meta
</span>$bid <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>Blog_user<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>id<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'first_name'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'firstname'</span><span class="phpOperator">]</span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'last_name'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>data<span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'lastname'</span><span class="phpOperator">]</span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'nickname'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $email;
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'rich_editing'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString"><span class="phpKeyword">'true'</span></span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'comment_shortcuts'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString"><span class="phpKeyword">'false'</span></span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'admin_color'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'fresh'</span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'user_id'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> $bid<span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_key'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'blog_capabilities'</span><span class="phpText">;</span>
$user_meta<span class="phpOperator">[</span><span class="phpString">'meta_value'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'a<span class="phpOperator">:</span><span class="phpNumber">1</span><span class="phpOperator">:</span><span class="phpOperator">{</span>s<span class="phpOperator">:</span>10<span class="phpOperator">:</span><span class="phpString">"subscriber"</span><span class="phpText">;</span>b<span class="phpOperator">:</span><span class="phpNumber">1</span><span class="phpText">;</span><span class="phpOperator">}</span>'</span><span class="phpText">;</span>
$blogdata<span class="phpOperator">[</span><span class="phpString">'BlogUserMeta'</span><span class="phpOperator">]</span><span class="phpOperator">=</span> $user_meta<span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>BlogUserMeta<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>save<span class="phpOperator">(</span>$blogdata<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>3. In your wordpress index.php file</p>
<pre class="php">
<span class="phpComment">//change the session name of your wordpress site to match that of your cakephp site.
</span><span class="phpComment">//so session data can be shared<span class="phpOperator">.</span>
</span><span class="phpFunction">session_name</span><span class="phpOperator">(</span><span class="phpString">"mysite"</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>4. in your theme header.php(might not be the best place if you change your theme a lot)</p>
<pre class="php">
<span class="phpComment">//you read the user id
</span>$user <span class="phpOperator">=</span> <span class="phpScriptVar">$_SESSION</span><span class="phpOperator">[</span><span class="phpString">'Auth'</span><span class="phpOperator">]</span><span class="phpOperator">[</span><span class="phpString">'User'</span><span class="phpOperator">]</span><span class="phpText">;</span>
<span class="phpKeyword">
if<span class="phpOperator">(</span></span><span class="phpOperator">!</span><span class="phpFunction">empty</span><span class="phpOperator">(</span>$user<span class="phpOperator">)</span><span class="phpOperator">)</span>
<span class="phpOperator">{</span>
<span class="phpComment">//you change the current user manually
</span>wp_set_current_user<span class="phpOperator">(</span>$user<span class="phpOperator">[</span><span class="phpString">'id'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
</pre>
<p>And there you have it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/integrating-wordpress-with-cakephp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>maintain session data across subdomains in cakephp</title>
		<link>http://www.bunchacode.com/programming/maintain-session-data-across-subdomains-in-cakephp/</link>
		<comments>http://www.bunchacode.com/programming/maintain-session-data-across-subdomains-in-cakephp/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 05:51:16 +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=48</guid>
		<description><![CDATA[One of my bigger project requires me to setup personal sites on the main site&#8217;s subdomains. So i did what everyone would do and googled that. It turned out to be quite simple. You just have to set session.cookie_domain to the domain of your site without www. Like this session.cookie_domain = .mysite.com Of course, you [...]]]></description>
			<content:encoded><![CDATA[<p>One of my bigger project requires me to setup personal sites on the main site&#8217;s subdomains. So i did what everyone would do and googled that.</p>
<p>It turned out to be quite simple. You just have to set <strong>session.cookie_domain</strong> to the domain of your site without www.</p>
<p>Like this session.cookie_domain = .mysite.com</p>
<p>Of course, you can set it with php using</p>
<pre class="">ini_set("session.cookie_domain", ".localhost/mysite");</pre>
<p>AND<br />
You probably need to set cakephp security setting to medium or low. You can do that in core.php<br />
Some people say medium is enough, but i needed to change minie to low in order for it to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/maintain-session-data-across-subdomains-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cakephp local setup</title>
		<link>http://www.bunchacode.com/programming/cakephp-local-setup/</link>
		<comments>http://www.bunchacode.com/programming/cakephp-local-setup/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 14:46:52 +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=27</guid>
		<description><![CDATA[Setting up cakephp in local development environment can be tricky, escpecially in windows. There are two setups to every cakephp application, development and production. Using development setup is easy, just extra cakephp to, let&#8217;s say http://localhost/webapp. And you are done. To change to production setup, just change your document root to ROOT.&#8217;/webapp/app/webroot/&#8217;. Even when you [...]]]></description>
			<content:encoded><![CDATA[<p>Setting up cakephp in local development environment can be tricky, escpecially in windows.</p>
<p>There are two setups to every cakephp application, development and production.</p>
<p>Using development setup is easy, just extra cakephp to, let&#8217;s say <strong>http://localhost/webapp</strong>. And you are done.</p>
<p>To change to production setup, just change your document root to <strong>ROOT.&#8217;/webapp/app/webroot/&#8217;</strong>.</p>
<p>Even when you are using development setup, every request is still redirected to <strong>app/webroot</strong>.</p>
<p>So all your css, js and images should be put in webroot directory.</p>
<p>Since cakephp uses pretty urls. You can&#8217;t use relative links in your application. To get around this problem, i set up a virtual host in apache.</p>
<p>to do this, please visit <a href="http://apptools.com/phptools/virtualhost.php" target="_blank">this site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunchacode.com/programming/cakephp-local-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
