<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Ekini.net by Wenbert Del Rosario</title>
	<atom:link href="http://blog.ekini.net/feed/" rel="self" type="application/rss+xml"/>
	<link>http://blog.ekini.net</link>
	<description>A web developer's blog. PHP, MySQL, Javascript/jQuery, CakePHP, Zend Framework, Wordpress, Code Igniter, Django, Python, CSS and other web development topics.</description>
	<lastBuildDate>Fri, 03 Mar 2017 02:38:54 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.3</generator>
	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>iTerm2 delete by word or by line and moving around using arrows keys</title>
		<link>http://blog.ekini.net/2017/03/03/iterm2-delete-by-word-or-by-line-and-moving-around-using-arrows-keys/</link>
		<comments>http://blog.ekini.net/2017/03/03/iterm2-delete-by-word-or-by-line-and-moving-around-using-arrows-keys/#comments</comments>
		<pubDate>Fri, 03 Mar 2017 02:38:54 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1102</guid>
		<description><![CDATA[Moving around by using &#8220;Alt + Left or right arrow&#8221; key for words. And deleting by word or by line. Delete by word: Delete by line: Move cursor back one word: Move cursor forward one word: Sources: https://coderwall.com/p/ds2dha/word-line-deletion-and-navigation-shortcuts-in-iterm2]]></description>
				<content:encoded><![CDATA[<p>Moving around by using &#8220;Alt + Left or right arrow&#8221; key for words.<br />
And deleting by word or by line.</p>
<p><strong>Delete by word:</strong><br />
<a href="http://blog.ekini.net/wp-content/uploads/2017/03/delete_word.png"><img src="http://blog.ekini.net/wp-content/uploads/2017/03/delete_word.png" alt="delete_word" width="934" height="520" class="alignleft size-full wp-image-1104" /></a></p>
<p><strong>Delete by line:</strong><br />
<a href="http://blog.ekini.net/wp-content/uploads/2017/03/delete_line.png"><img src="http://blog.ekini.net/wp-content/uploads/2017/03/delete_line.png" alt="delete_line" width="935" height="520" class="alignleft size-full wp-image-1105" /></a></p>
<p><strong>Move cursor back one word:</strong><br />
<a href="http://blog.ekini.net/wp-content/uploads/2017/03/backward.png"><img src="http://blog.ekini.net/wp-content/uploads/2017/03/backward.png" alt="backward" width="936" height="518" class="alignleft size-full wp-image-1106" /></a></p>
<p><strong>Move cursor forward one word:</strong><br />
<a href="http://blog.ekini.net/wp-content/uploads/2017/03/forward.png"><img src="http://blog.ekini.net/wp-content/uploads/2017/03/forward.png" alt="forward" width="934" height="517" class="alignleft size-full wp-image-1107" /></a></p>
<p>Sources:</p>
<p>https://coderwall.com/p/ds2dha/word-line-deletion-and-navigation-shortcuts-in-iterm2</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2017/03/03/iterm2-delete-by-word-or-by-line-and-moving-around-using-arrows-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linode!</title>
		<link>http://blog.ekini.net/2016/12/19/linode/</link>
		<comments>http://blog.ekini.net/2016/12/19/linode/#comments</comments>
		<pubDate>Mon, 19 Dec 2016 23:57:43 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1098</guid>
		<description><![CDATA[Migrated everything to Linode now.]]></description>
				<content:encoded><![CDATA[<p>Migrated everything to Linode now. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2016/12/19/linode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting the Bayesian Average for rankings (PHP / MySQL)</title>
		<link>http://blog.ekini.net/2013/08/18/getting-the-bayesian-average-for-rankings-mysql/</link>
		<comments>http://blog.ekini.net/2013/08/18/getting-the-bayesian-average-for-rankings-mysql/#comments</comments>
		<pubDate>Sun, 18 Aug 2013 05:50:55 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1075</guid>
		<description><![CDATA[When you need to correctly display the leader-board based on ratings, you can&#8217;t just display the average rating for each entry. ------------------------------------ Restaurant A &#124; 1 Vote(s) &#124; Rating 10 ------------------------------------ Restaurant B &#124; 3 Vote(s) &#124; Rating 6 &#124; &#8230; <a href="http://blog.ekini.net/2013/08/18/getting-the-bayesian-average-for-rankings-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>When you need to correctly display the leader-board based on ratings, you can&#8217;t just display the average rating for each entry. </p>
<pre>
------------------------------------
Restaurant A | 1 Vote(s) | Rating 10
------------------------------------
Restaurant B | 3 Vote(s) | Rating 6
                         | Rating 5
                         | Rating 4
------------------------------------
Restaurant C | 2 Vote(s) | Rating 3
                         | Rating 10
</pre>
<p>To correctly rank the data above you need to get the Bayesian Average for each restaurant. We have to take into account the number of votes for each restaurant. More votes would push it up the ranking while less votes would have little weight. This means that we if 1 restaurant had 1 vote and with rating of 10, it would not be the number one. <em>(If we just got the average, it would be at the top! &#8211; and that would be wrong)</em></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//In PHP</span>
<span style="color: #000088;">$avg_num_votes</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">//The average number of votes for all restaurants (1+3+2)/3 = 2</span>
<span style="color: #000088;">$avg_rating</span> <span style="color: #339933;">=</span> <span style="color:#800080;">6.3333</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//The average rating for all restaurants (10+6+5+4+3+10)/6 = 6.3333</span>
<span style="color: #000088;">$this_num_votes</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//The number of votes for current restaurant (Restaurant B)</span>
<span style="color: #000088;">$this_rating</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">//The average rating for current restaurant (Restaurant B: (6+5+4)/3 = 5)</span>
&nbsp;
<span style="color: #000088;">$bayesian_average</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$avg_num_votes</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$avg_rating</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this_num_votes</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$this_rating</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$avg_num_votes</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$this_num_votes</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Using the formula above, we would have the following ratings for each restaurant:</p>
<p>Restaurant A would have <strong>7.55553</strong> = ((2*6.3333) + (1*10)) / (2+1)<br />
Restaurant B would have <strong>5.53332</strong> = ((2*6.3333) + (3*5)) / (2+3)<br />
Restaurant C would have <strong>6.41665</strong> = ((2*6.3333) + (2*6.5)) / (2+2)</p>
<p><b>A quick solution using MySQL View Tables</b></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">Create</span> <span style="color: #990099; font-weight: bold;">View</span> <span style="color: #008000;">`ratings`</span> <span style="color: #990099; font-weight: bold;">AS</span>
<span style="color: #990099; font-weight: bold;">SELECT</span>
    restaurant_id<span style="color: #000033;">,</span>
    <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>restaurant_id<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">FROM</span> ratings<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">/</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">DISTINCT</span> restaurant_id<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">FROM</span> ratings<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> avg_num_votes<span style="color: #000033;">,</span>
    <span style="color: #FF00FF;">&#40;</span><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>rating<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">FROM</span> ratings<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">AS</span> avg_rating<span style="color: #000033;">,</span>
    <span style="color: #000099;">count</span><span style="color: #FF00FF;">&#40;</span>restaurant_id<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">as</span> this_num_votes<span style="color: #000033;">,</span>
    <span style="color: #000099;">avg</span><span style="color: #FF00FF;">&#40;</span>rating<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">as</span> this_rating
<span style="color: #990099; font-weight: bold;">FROM</span>
    ratings
<span style="color: #990099; font-weight: bold;">GROUP BY</span> 
    restaurant_id</pre></td></tr></table></div>

<p>To get the ratings for the restaurants:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> 
    restaurant_id<span style="color: #000033;">,</span> 
    <span style="color: #FF00FF;">&#40;</span><span style="color: #FF00FF;">&#40;</span>avg_num_votes <span style="color: #CC0099;">*</span> avg_rating<span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">+</span> <span style="color: #FF00FF;">&#40;</span>this_num_votes <span style="color: #CC0099;">*</span> this_rating<span style="color: #FF00FF;">&#41;</span><span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099;">/</span> <span style="color: #FF00FF;">&#40;</span>avg_num_votes <span style="color: #CC0099;">+</span> this_num_votes<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">as</span> real_rating 
<span style="color: #990099; font-weight: bold;">FROM</span> <span style="color: #008000;">`ratings`</span></pre></td></tr></table></div>

<p>Would output something like:</p>
<pre>
restaurant_id    real_rating
1                7.555533333333
2                5.533320000000
3                6.416650000000
</pre>
<p>Sources:<br />
<a href="http://blog.linkibol.com/2010/05/07/how-to-build-a-popularity-algorithm-you-can-be-proud-of/">http://blog.linkibol.com/2010/05/07/how-to-build-a-popularity-algorithm-you-can-be-proud-of/</a><br />
<a href="http://snipplr.com/view/22559/">http://snipplr.com/view/22559/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/08/18/getting-the-bayesian-average-for-rankings-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP Facebook Component</title>
		<link>http://blog.ekini.net/2013/08/17/cakephp-facebook-component/</link>
		<comments>http://blog.ekini.net/2013/08/17/cakephp-facebook-component/#comments</comments>
		<pubDate>Sat, 17 Aug 2013 22:36:22 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1068</guid>
		<description><![CDATA[A simple CakePHP component that uses the Facebook PHP SDK (https://github.com/facebook/facebook-php-sdk). Setup the component like this: public $components = array&#40; 'Facebook' =&#62; array&#40; 'appId' =&#62; 'xxx', 'secret' =&#62; 'xxx', 'cookie' =&#62; true, 'fileUpload' =&#62; 1, 'canvas' =&#62; 1, 'fbconnect' =&#62; &#8230; <a href="http://blog.ekini.net/2013/08/17/cakephp-facebook-component/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>A simple CakePHP component that uses the Facebook PHP SDK (<a href="https://github.com/facebook/facebook-php-sdk" title="https://github.com/facebook/facebook-php-sdk">https://github.com/facebook/facebook-php-sdk</a>).</p>
<p>Setup the component like this:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$components</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'Facebook'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'appId'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'xxx'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'secret'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'xxx'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'cookie'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'fileUpload'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'canvas'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'fbconnect'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'display'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'page'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'scope'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'user_about_me,email,publish_actions,publish_stream,photo_upload'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'redirect_uri'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'https://www.facebook.com/pages/My-Test-Page/12345?id=12345&amp;sk=app_12345'</span>
    <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Then you should be able to do this in your controllers:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;">debug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">userProfile</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
debug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">loginUrl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
debug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">logoutUrl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
debug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hasLiked</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
debug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">signed_request</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>Grab it from Github: <a href="https://github.com/wenbert/CakePHP-Facebook-Component">https://github.com/wenbert/CakePHP-Facebook-Component</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/08/17/cakephp-facebook-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Page Tab: Remove scrollbars and auto-resize height</title>
		<link>http://blog.ekini.net/2013/08/02/facebook-page-tab-remove-scrollbars-and-auto-resize-height/</link>
		<comments>http://blog.ekini.net/2013/08/02/facebook-page-tab-remove-scrollbars-and-auto-resize-height/#comments</comments>
		<pubDate>Fri, 02 Aug 2013 05:28:48 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1061</guid>
		<description><![CDATA[I have come across many ones, but this one always worked for me without problems. CSS html, body &#123; overflow: hidden; &#125; Put this just after the tag: &#60;div id=&#34;fb-root&#34;&#62;&#60;/div&#62; Put this after you have jQuery and other libraries loaded. &#8230; <a href="http://blog.ekini.net/2013/08/02/facebook-page-tab-remove-scrollbars-and-auto-resize-height/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I have come across many ones, but this one always worked for me without problems.</p>
<p><strong>CSS</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="css" style="font-family:monospace;">html<span style="color: #00AA00;">,</span> body <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p><strong>Put this just after the <body> tag:</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;fb-root&quot;&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p><strong>Put this after you have jQuery and other libraries loaded. Don&#8217;t forget to put in your App ID.</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    window.<span style="color: #660066;">fbAsyncInit</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        FB.<span style="color: #660066;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
            appId<span style="color: #339933;">:</span> FB_APP_ID<span style="color: #339933;">,</span>
            cookie<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
            xfbml<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
            oauth<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        FB.<span style="color: #660066;">Canvas</span>.<span style="color: #660066;">setSize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>height<span style="color: #339933;">:</span><span style="color: #CC0000;">600</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        setTimeout<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;FB.Canvas.setAutoGrow()&quot;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">var</span> e <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> e.<span style="color: #660066;">async</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span>
        e.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> document.<span style="color: #660066;">location</span>.<span style="color: #660066;">protocol</span> <span style="color: #339933;">+</span>
            <span style="color: #3366CC;">'//connect.facebook.net/en_US/all.js'</span><span style="color: #339933;">;</span>
        document.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'fb-root'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><em>I forgot where I got this from but if anyone knows, flick me an email!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/08/02/facebook-page-tab-remove-scrollbars-and-auto-resize-height/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter: Get tweets from User Timeline with API 1.1 (PHP)</title>
		<link>http://blog.ekini.net/2013/06/28/get-tweets-from-user-timeline-with-api-1-1-php/</link>
		<comments>http://blog.ekini.net/2013/06/28/get-tweets-from-user-timeline-with-api-1-1-php/#comments</comments>
		<pubDate>Fri, 28 Jun 2013 04:17:36 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1053</guid>
		<description><![CDATA[This code is from http://stackoverflow.com/q/12916539/66767 combined with http://stackoverflow.com/a/15387732/66767 to auto-link URLs and hashtags. Quick and dirty&#8230; copy and paste below! &#60;?php function buildBaseString&#40;$baseURI, $method, $params&#41; &#123; $r = array&#40;&#41;; ksort&#40;$params&#41;; foreach&#40;$params as $key=&#62;$value&#41;&#123; $r&#91;&#93; = &#34;$key=&#34; . rawurlencode&#40;$value&#41;; &#125; return &#8230; <a href="http://blog.ekini.net/2013/06/28/get-tweets-from-user-timeline-with-api-1-1-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This code is from <a href="http://stackoverflow.com/q/12916539/66767">http://stackoverflow.com/q/12916539/66767</a> combined with <a href="http://stackoverflow.com/a/15387732/66767">http://stackoverflow.com/a/15387732/66767</a> to auto-link URLs and hashtags.</p>
<p><em>Quick and dirty&#8230; copy and paste below!</em></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> buildBaseString<span style="color: #009900;">&#40;</span><span style="color: #000088;">$baseURI</span><span style="color: #339933;">,</span> <span style="color: #000088;">$method</span><span style="color: #339933;">,</span> <span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$r</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">ksort</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$key</span>=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$method</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$baseURI</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$r</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> buildAuthorizationHeader<span style="color: #009900;">&#40;</span><span style="color: #000088;">$oauth</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$r</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Authorization: OAuth '</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$values</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$oauth</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span><span style="color: #339933;">=&gt;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
        <span style="color: #000088;">$values</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$key</span>=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$r</span> <span style="color: #339933;">.=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">', '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$values</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$r</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://api.twitter.com/1.1/statuses/user_timeline.json&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$oauth_access_token</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;XXX&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$oauth_access_token_secret</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;XXX&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$consumer_key</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;XXX&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$consumer_secret</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;XXX&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$oauth</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'screen_name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'wenbert'</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'count'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'oauth_consumer_key'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$consumer_key</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'oauth_nonce'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'oauth_signature_method'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'HMAC-SHA1'</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'oauth_token'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$oauth_access_token</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'oauth_timestamp'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">'oauth_version'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1.0'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$base_info</span> <span style="color: #339933;">=</span> buildBaseString<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'GET'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$oauth</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$composite_key</span> <span style="color: #339933;">=</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$consumer_secret</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&amp;'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">rawurlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$oauth_access_token_secret</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$oauth_signature</span> <span style="color: #339933;">=</span> <span style="color: #990000;">base64_encode</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">hash_hmac</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha1'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$base_info</span><span style="color: #339933;">,</span> <span style="color: #000088;">$composite_key</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$oauth</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'oauth_signature'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$oauth_signature</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Make Requests</span>
<span style="color: #000088;">$header</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>buildAuthorizationHeader<span style="color: #009900;">&#40;</span><span style="color: #000088;">$oauth</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Expect:'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> CURLOPT_HTTPHEADER <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$header</span><span style="color: #339933;">,</span>
                  <span style="color: #666666; font-style: italic;">//CURLOPT_POSTFIELDS =&gt; $postfields,</span>
                  CURLOPT_HEADER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span>
                  CURLOPT_URL <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$url</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'?screen_name=wenbert&amp;count=2'</span><span style="color: #339933;">,</span>
                  CURLOPT_RETURNTRANSFER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
                  CURLOPT_SSL_VERIFYPEER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$feed</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #339933;">,</span> <span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$json</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$twitter_data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$json</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&lt;b&gt;Twitter Updates:&lt;/b&gt;
&lt;div&gt;
    <span style="color: #000000; font-weight: bold;">&lt;?php</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$twitter_data</span> <span style="color: #b1b100;">AS</span> <span style="color: #000088;">$single_tweet</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">//http://stackoverflow.com/a/15387732/66767</span>
        <span style="color: #000088;">$tweet</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$single_tweet</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">text</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$tweet</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/([\w]+\:\/\/[\w-?&amp;;#~=\.\/\@]+[\w\/])/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&lt;a target=<span style="color: #000099; font-weight: bold;">\&quot;</span>_blank<span style="color: #000099; font-weight: bold;">\&quot;</span> href=<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #006699; font-weight: bold;">$1</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #006699; font-weight: bold;">$1</span>&lt;/a&gt;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tweet</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$tweet</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/#([A-Za-z0-9\/\.]*)/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&lt;a target=<span style="color: #000099; font-weight: bold;">\&quot;</span>_new<span style="color: #000099; font-weight: bold;">\&quot;</span> href=<span style="color: #000099; font-weight: bold;">\&quot;</span>http://twitter.com/search?q=<span style="color: #006699; font-weight: bold;">$1</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;#<span style="color: #006699; font-weight: bold;">$1</span>&lt;/a&gt;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tweet</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$tweet</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/@([A-Za-z0-9\/\.]*)/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&lt;a href=<span style="color: #000099; font-weight: bold;">\&quot;</span>http://www.twitter.com/<span style="color: #006699; font-weight: bold;">$1</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;@<span style="color: #006699; font-weight: bold;">$1</span>&lt;/a&gt;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tweet</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tweet</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/div&gt;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/06/28/get-tweets-from-user-timeline-with-api-1-1-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up File Uploader / FineUploader Basic with CakePHP</title>
		<link>http://blog.ekini.net/2013/02/21/setting-up-file-uploader-fineuploader-basic-with-cakephp/</link>
		<comments>http://blog.ekini.net/2013/02/21/setting-up-file-uploader-fineuploader-basic-with-cakephp/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 02:38:17 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1044</guid>
		<description><![CDATA[The configuration: &#60;?php // app/Config/core.php Configure::write&#40;&#34;App.SITE_URL&#34;, 'http://www.mysite.com'&#41;; Configure::write&#40;&#34;App.UPLOAD_PATH&#34;, '/usr/local/www/vhosts/mysite.com/httpdocs/app/webroot/uploads'&#41;; //no trailing slash Configure::write&#40;&#34;App.UPLOAD_PATH_URL&#34;, 'http://mysite/uploads'&#41;; //no trailing slash The setting up the .json and .txt extensions in the routes file. I need the txt. This is because Internet Explorer does not &#8230; <a href="http://blog.ekini.net/2013/02/21/setting-up-file-uploader-fineuploader-basic-with-cakephp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The configuration:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// app/Config/core.php</span>
Configure<span style="color: #339933;">::</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;App.SITE_URL&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://www.mysite.com'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Configure<span style="color: #339933;">::</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;App.UPLOAD_PATH&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/usr/local/www/vhosts/mysite.com/httpdocs/app/webroot/uploads'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//no trailing slash</span>
Configure<span style="color: #339933;">::</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;App.UPLOAD_PATH_URL&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://mysite/uploads'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//no trailing slash</span></pre></td></tr></table></div>

<p><b>The setting up the .json and .txt extensions in the routes file. </b><br />
I need the txt. This is because Internet Explorer does not accept <code>'application/json'</code>.<br />
Without the .txt, IE will send a &#8220;Save as&#8221; dialog box when the upload is successful.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// app/Config/routes.php</span>
Router<span style="color: #339933;">::</span><span style="color: #004000;">parseExtensions</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'json'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'txt'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><b>I have the following for the View:</b></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// app/View/News/json/fineupload.ctp</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// app/View/News/txt/fineupload.ctp</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><em>Take note that both are in different directories.</em></p>
<p>In my <b>controller</b>:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> NewsController <span style="color: #000000; font-weight: bold;">extends</span> AppController <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$helpers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Html'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Form'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$components</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'RequestHandler'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Security'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> beforeFilter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">beforeFilter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>AuthComponent<span style="color: #339933;">::</span><span style="color: #004000;">user</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'role'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'admin'</span> OR AuthComponent<span style="color: #339933;">::</span><span style="color: #004000;">user</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'role'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'user'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allow</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'index'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'edit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fineupload'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">RequestHandler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isAjax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">RequestHandler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isPost</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">action</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'fineupload'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validatePost</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">enabled</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">csrfCheck</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">/* --- snipped --- */</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> edit<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'admin'</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">News</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$id</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">News</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">exists</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> NotFoundException<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'News not found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'put'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">News</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">News</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">//$this-&gt;Session-&gt;setFlash( __('The news has been updated'), 'success');</span>
                <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirect</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">//$this-&gt;Session-&gt;setFlash('The news could not be saved.', 'error');</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">/* --- snipped --- */</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> fineupload<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// debug($_FILES);</span>
        <span style="color: #666666; font-style: italic;">// array(</span>
        <span style="color: #666666; font-style: italic;">//     [qqfile] =&gt; array(</span>
        <span style="color: #666666; font-style: italic;">//         [name] =&gt; [share1_glass.gif],</span>
        <span style="color: #666666; font-style: italic;">//         [type] =&gt; [image/gif],</span>
        <span style="color: #666666; font-style: italic;">//         [tmp_name] =&gt; [C:\wamp\tmp\phpA755.tmp],</span>
        <span style="color: #666666; font-style: italic;">//         [error] =&gt; (int) 0,</span>
        <span style="color: #666666; font-style: italic;">//         [size] =&gt; (int) 120358</span>
        <span style="color: #666666; font-style: italic;">//     )</span>
        <span style="color: #666666; font-style: italic;">// )</span>
&nbsp;
        <span style="color: #000088;">$temp_file</span>       <span style="color: #339933;">=</span> <span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'qqfile'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$target_filename</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'qqfile'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$upload_path</span>     <span style="color: #339933;">=</span> Configure<span style="color: #339933;">::</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;App.UPLOAD_PATH&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$target_filepath</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$upload_path</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$target_filename</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">move_uploaded_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$temp_file</span><span style="color: #339933;">,</span> <span style="color: #000088;">$target_filepath</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'status'</span><span style="color: #009900;">&#93;</span>   <span style="color: #339933;">=</span> <span style="color: #0000ff;">'success'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Upload successful.'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'filename'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$target_filename</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'webpath'</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> Configure<span style="color: #339933;">::</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;App.UPLOAD_PATH_URL&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">.</span><span style="color: #000088;">$target_filename</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'upload_dir'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Configure<span style="color: #339933;">::</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;App.UPLOAD_PATH_URL&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'result'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Then in the <b>HTML</b> part &#8211; this is the part where we setup the FineUpload Javascript.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;!--</span> Fine Uploader <span style="color: #339933;">--&gt;</span>
<span style="color: #339933;">&lt;!--</span> You could load these javascript files the CakePHP way <span style="color: #339933;">--&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/header.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/util.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/handler.xhr.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/handler.base.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/handler.form.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/button.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/uploader.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/js/fineuploader/uploader.basic.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span>
    $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $fub <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#fine-uploader-basic'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    $messages <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#messages'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">//for IE, we would load the mysite.com/news/fineupload.txt</span>
    <span style="color: #006600; font-style: italic;">//it would return text instead of application/json</span>
    <span style="color: #006600; font-style: italic;">//if we do not do this, Internet Explorer would display a &quot;Save as&quot; dialog box</span>
    <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>$.<span style="color: #660066;">browser</span>.<span style="color: #660066;">msie</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">var</span> request_ext <span style="color: #339933;">=</span> <span style="color: #3366CC;">'txt'</span><span style="color: #339933;">;</span>
        <span style="color: #006600; font-style: italic;">//http://mysite.com/news/fineupload.txt</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">var</span> request_ext <span style="color: #339933;">=</span> <span style="color: #3366CC;">'json'</span><span style="color: #339933;">;</span>
        <span style="color: #006600; font-style: italic;">//http://mysite.com/news/fineupload.json</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000066; font-weight: bold;">var</span> uploader <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">new</span> qq.<span style="color: #660066;">FineUploaderBasic</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
            button<span style="color: #339933;">:</span> $fub<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
            multiple<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
            request<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
                endpoint<span style="color: #339933;">:</span> <span style="color: #3366CC;">'&lt;?php echo $this-&gt;webroot ?&gt;news/fineupload.'</span><span style="color: #339933;">+</span>request_ext
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            validation<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
            allowedExtensions<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'jpeg'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'jpg'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'gif'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'png'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'pdf'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
            sizeLimit<span style="color: #339933;">:</span> <span style="color: #CC0000;">204800</span> <span style="color: #006600; font-style: italic;">// 200 kB = 200 * 1024 bytes</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        callbacks<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
            onSubmit<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>id<span style="color: #339933;">,</span> fileName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                $messages.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;div id=&quot;file-'</span> <span style="color: #339933;">+</span> id <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&quot; class=&quot;alert&quot; style=&quot;margin: 20px 0 0&quot;&gt;&lt;/div&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            onUpload<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>id<span style="color: #339933;">,</span> fileName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#file-'</span> <span style="color: #339933;">+</span> id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-info'</span><span style="color: #009900;">&#41;</span>
                                .<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;img src=&quot;&lt;?php echo Configure::read(&quot;App.SITE_URL&quot;) ?&gt;/loading.gif&quot; alt=&quot;Initializing. Please hold.&quot;&gt; '</span> <span style="color: #339933;">+</span>
                                    <span style="color: #3366CC;">'Initializing '</span> <span style="color: #339933;">+</span>
                                    <span style="color: #3366CC;">'“'</span> <span style="color: #339933;">+</span> fileName <span style="color: #339933;">+</span> <span style="color: #3366CC;">'”'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            onProgress<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>id<span style="color: #339933;">,</span> fileName<span style="color: #339933;">,</span> loaded<span style="color: #339933;">,</span> total<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>loaded <span style="color: #339933;">&lt;</span> total<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                progress <span style="color: #339933;">=</span> <span style="">Math</span>.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>loaded <span style="color: #339933;">/</span> total <span style="color: #339933;">*</span> <span style="color: #CC0000;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'% of '</span> <span style="color: #339933;">+</span> <span style="">Math</span>.<span style="color: #660066;">round</span><span style="color: #009900;">&#40;</span>total <span style="color: #339933;">/</span> <span style="color: #CC0000;">1024</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">' kB'</span><span style="color: #339933;">;</span>
                $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#file-'</span> <span style="color: #339933;">+</span> id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-info'</span><span style="color: #009900;">&#41;</span>
                                .<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;img src=&quot;&lt;?php echo Configure::read(&quot;App.SITE_URL&quot;) ?&gt;/loading.gif&quot; alt=&quot;In progress. Please hold.&quot;&gt; '</span> <span style="color: #339933;">+</span>
                                        <span style="color: #3366CC;">'Uploading '</span> <span style="color: #339933;">+</span>
                                        <span style="color: #3366CC;">'“'</span> <span style="color: #339933;">+</span> fileName <span style="color: #339933;">+</span> <span style="color: #3366CC;">'” '</span> <span style="color: #339933;">+</span>
                                        progress<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#file-'</span> <span style="color: #339933;">+</span> id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-info'</span><span style="color: #009900;">&#41;</span>
                                .<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;img src=&quot;&lt;?php echo Configure::read(&quot;App.SITE_URL&quot;) ?&gt;/loading.gif&quot; alt=&quot;Saving. Please hold.&quot;&gt; '</span> <span style="color: #339933;">+</span>
                                        <span style="color: #3366CC;">'Saving '</span> <span style="color: #339933;">+</span>
                                        <span style="color: #3366CC;">'“'</span> <span style="color: #339933;">+</span> fileName <span style="color: #339933;">+</span> <span style="color: #3366CC;">'”'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            onComplete<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>id<span style="color: #339933;">,</span> fileName<span style="color: #339933;">,</span> responseJSON<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ID: '</span><span style="color: #339933;">+</span>id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                console.<span style="color: #660066;">log</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'fileName: '</span><span style="color: #339933;">+</span>fileName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>responseJSON.<span style="color: #660066;">status</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'success'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#file-'</span> <span style="color: #339933;">+</span> id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-info'</span><span style="color: #009900;">&#41;</span>
                                    .<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-success'</span><span style="color: #009900;">&#41;</span>
                                    .<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;i class=&quot;icon-ok&quot;&gt;&lt;/i&gt; '</span> <span style="color: #339933;">+</span>
                                            <span style="color: #3366CC;">'Successfully saved '</span> <span style="color: #339933;">+</span>
                                            <span style="color: #3366CC;">'“'</span> <span style="color: #339933;">+</span> fileName <span style="color: #339933;">+</span> <span style="color: #3366CC;">'”'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#NewsExternalUrl'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span>responseJSON.<span style="color: #660066;">webpath</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#file-'</span> <span style="color: #339933;">+</span> id<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-info'</span><span style="color: #009900;">&#41;</span>
                                .<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'alert-error'</span><span style="color: #009900;">&#41;</span>
                                .<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;i class=&quot;icon-exclamation-sign&quot;&gt;&lt;/i&gt; '</span> <span style="color: #339933;">+</span>
                                        <span style="color: #3366CC;">'Error with '</span> <span style="color: #339933;">+</span>
                                        <span style="color: #3366CC;">'“'</span> <span style="color: #339933;">+</span> fileName <span style="color: #339933;">+</span> <span style="color: #3366CC;">'”: '</span> <span style="color: #339933;">+</span>
                                        responseJSON.<span style="color: #660066;">error</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;fine-uploader-basic&quot;</span> <span style="color: #FF0000;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;btn btn-small&quot;</span><span style="color: #339933;">&gt;</span>
    <span style="color: #339933;">&lt;</span>i <span style="color: #FF0000;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;icon-upload icon&quot;</span><span style="color: #339933;">&gt;&lt;/</span>i<span style="color: #339933;">&gt;</span> Click to upload a file instead of using the Content textarea below.
<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #009900;">&#40;</span>pdf<span style="color: #339933;">,</span> jpg<span style="color: #339933;">,</span> gif<span style="color: #339933;">,</span> png files only<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;messages&quot;</span><span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p><b>FineUploader / File Uploader</b><br />
<a href="http://fineuploader.com/ ">http://fineuploader.com/</a><br />
<a href="http://fineuploader.com/ ">https://github.com/valums/file-uploader/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/02/21/setting-up-file-uploader-fineuploader-basic-with-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Disabling the Security Component for Specific Actions in a Controller</title>
		<link>http://blog.ekini.net/2013/02/20/cakephp-disabling-the-security-component-for-specific-actions-in-a-controller/</link>
		<comments>http://blog.ekini.net/2013/02/20/cakephp-disabling-the-security-component-for-specific-actions-in-a-controller/#comments</comments>
		<pubDate>Wed, 20 Feb 2013 22:34:50 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1037</guid>
		<description><![CDATA[Sometimes, I need to disable the Security component for certain actions in the controller. For example, if I need to handle FineUpload. If I do not disable the Security component, I get a &#8220;request has been blackholed&#8221; error. &#60;?php class &#8230; <a href="http://blog.ekini.net/2013/02/20/cakephp-disabling-the-security-component-for-specific-actions-in-a-controller/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Sometimes, I need to disable the Security component for certain actions in the controller. For example, if I need to handle <a href="https://github.com/valums/file-uploader/">FineUpload</a>.</p>
<p>If I do not disable the Security component, I get a &#8220;request has been blackholed&#8221; error.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> NewsController <span style="color: #000000; font-weight: bold;">extends</span> AppController <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$helpers</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Html'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Form'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$components</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'RequestHandler'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Security'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> beforeFilter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">beforeFilter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>AuthComponent<span style="color: #339933;">::</span><span style="color: #004000;">user</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'role'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'admin'</span> OR AuthComponent<span style="color: #339933;">::</span><span style="color: #004000;">user</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'role'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #0000ff;">'user'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #666666; font-style: italic;">//only allow access to these actions when the role is admin/user</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allow</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'index'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'edit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'delete'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'view'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fineupload'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #666666; font-style: italic;">//Here, we disable the Security component for Ajax requests and for the &quot;fineupload&quot; action</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span>  <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">RequestHandler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isAjax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">RequestHandler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isPost</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">action</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'fineupload'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validatePost</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">enabled</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Security</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">csrfCheck</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">/*rest of the code*/</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/02/20/cakephp-disabling-the-security-component-for-specific-actions-in-a-controller/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CakePHP: Select Box / Drop-down List linked from related Model</title>
		<link>http://blog.ekini.net/2013/02/12/cakephp-select-box-drop-down-list-linked-from-related-model/</link>
		<comments>http://blog.ekini.net/2013/02/12/cakephp-select-box-drop-down-list-linked-from-related-model/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 21:00:58 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1031</guid>
		<description><![CDATA[For example, an Article has an Author. In the database, the Article table would have an author_id field. Assuming that we are following the CakePHP Model and Database Conventions (http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions), the models would look something like these: &#60;?php ## /Model/Article.php &#8230; <a href="http://blog.ekini.net/2013/02/12/cakephp-select-box-drop-down-list-linked-from-related-model/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>For example, an <code>Article</code> has an <code>Author</code>. In the database, the <code>Article</code> table would have an <code>author_id</code> field. Assuming that we are following the CakePHP Model and Database Conventions (<a href="http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions">http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions</a>), the models would look something like these:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">## /Model/Article.php
</span>App<span style="color: #339933;">::</span><span style="color: #004000;">uses</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'AuthComponent'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Controller/Component'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Article <span style="color: #000000; font-weight: bold;">extends</span> AppModel <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Article'</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$belongsTo</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'Author'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'className'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Author'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'foreignKey'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'author_id'</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>An <code>Article</code> that uses the <code>articles</code> table which belongs to an <code>Author</code>. The <code>article</code> table has a field named <code>author_id</code>. The <code>author_id</code> is linked to the <code>id</code> found in the <code>author</code> table.</p>
<p>The Author Model would be:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">## /Model/Author.php
</span>App<span style="color: #339933;">::</span><span style="color: #004000;">uses</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'AuthComponent'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Controller/Component'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Author <span style="color: #000000; font-weight: bold;">extends</span> AppModel <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Author'</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$hasMany</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'Article'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'className'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Article'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'foreignKey'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'author_id'</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>An <code>Author</code> uses the <code>author</code> table and has many <code>Article</code>. The <code>article</code> table has an <code>author_id</code> to link to it&#8217;s <code>Author</code>.</p>
<p>Now in one of my controllers, I would have a method that will allow me to add an Article and specify the Author. The Author field would be a dropdown / selectbox.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">## /Controllers/ArticlesAdminController.php
</span><span style="color: #666666; font-style: italic;">//snip    </span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> add<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'admin'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">loadModel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Author'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">loadModel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Article'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$authors</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Author</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'list'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//we get the authors from the database</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'authors'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$authors</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">is</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Article</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Article</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Session</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setFlash</span><span style="color: #009900;">&#40;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'The Article has been saved'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'success'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">redirect</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Session</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setFlash</span><span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'The Article could not be saved. Please, try again'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'error'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #666666; font-style: italic;">//throw new InternalErrorException (__('The user could not be saved. Please, try again'));</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Finally, we have the <strong>view</strong> (<code>/View/ArticlesAdmin/add.ctp</code>).</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;">&nbsp;
&lt;h1&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Add Article'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h1&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Article'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'well'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'title'</span><span style="color: #339933;">,</span> 
        <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'span5'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'after'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">' &lt;span class=&quot;required_indicator&quot;&gt;(required)&lt;/span&gt; '</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'error'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'attributes'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wrap'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'span'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'label custom-inline-error label-important help-inline'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//the rest of the Article fields here...</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//The selectbox / dropdown menu for the Author field</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">input</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'author_id'</span><span style="color: #339933;">,</span> 
        <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'options'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$authors</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'span5'</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'error'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'attributes'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wrap'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'span'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'class'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'label custom-inline-error label-important help-inline'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Form</span><span style="color: #339933;">-&gt;</span><span style="color: #990000;">end</span><span style="color: #009900;">&#40;</span>__<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Submit'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/02/12/cakephp-select-box-drop-down-list-linked-from-related-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Displaying images that are outside the public accessible directory (webroot) using Media Views</title>
		<link>http://blog.ekini.net/2013/02/07/cakephp-displaying-images-that-are-outside-the-public-accessible-directory-webroot-using-media-views/</link>
		<comments>http://blog.ekini.net/2013/02/07/cakephp-displaying-images-that-are-outside-the-public-accessible-directory-webroot-using-media-views/#comments</comments>
		<pubDate>Thu, 07 Feb 2013 21:39:29 +0000</pubDate>
		<dc:creator><![CDATA[Wenbert Del Rosario]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ekini.net/?p=1028</guid>
		<description><![CDATA[Let&#8217;s say that Configure::read('App.uploads_temp') is somewhere outside the public accessible directory: /var/www/yourapp/private //This goes into the controller /** * @param $filename A filename without the path. EG: default-guy.jpg */ public function downloadimage&#40;$filename&#41; &#123; $file_parts = pathinfo&#40;$filename&#41;; $this-&#62;viewClass = 'Media'; $params &#8230; <a href="http://blog.ekini.net/2013/02/07/cakephp-displaying-images-that-are-outside-the-public-accessible-directory-webroot-using-media-views/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Let&#8217;s say that <code>Configure::read('App.uploads_temp')</code> is somewhere outside the public accessible directory: <code>/var/www/yourapp/private</code></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//This goes into the controller</span>
    <span style="color: #009933; font-style: italic;">/**
     * @param $filename A filename without the path. EG: default-guy.jpg
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> downloadimage<span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$file_parts</span> <span style="color: #339933;">=</span> <span style="color: #990000;">pathinfo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">viewClass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Media'</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$params</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
            <span style="color: #0000ff;">'id'</span>        <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$filename</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'name'</span>      <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$file_parts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'basename'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'download'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'extension'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$file_parts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'extension'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">'path'</span>      <span style="color: #339933;">=&gt;</span>Configure<span style="color: #339933;">::</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'App.uploads_temp'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span> DS
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$params</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>You can view the image through the URL:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;">    http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//yourapp.com/entries/downloadimage/sample-image.jpg</span></pre></td></tr></table></div>

<p>Reference: <a href="http://book.cakephp.org/2.0/en/views/media-view.html">http://book.cakephp.org/2.0/en/views/media-view.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ekini.net/2013/02/07/cakephp-displaying-images-that-are-outside-the-public-accessible-directory-webroot-using-media-views/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The constant WPCACHEHOME must be set in the file wp-config.php and point at the WP Super Cache plugin directory. -->