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

<channel>
	<title>FlavioMuniz » Blog &#187; CakePhp</title>
	<atom:link href="http://flaviomuniz.com/blog/category/cakephp/feed/" rel="self" type="application/rss+xml" />
	<link>http://flaviomuniz.com/blog</link>
	<description>Simples assim</description>
	<lastBuildDate>Fri, 30 Jul 2010 01:06:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Alternativa para o uso do siFR com o cakephp</title>
		<link>http://flaviomuniz.com/blog/alternativa-para-o-uso-do-sifr-com-o-cakephp/</link>
		<comments>http://flaviomuniz.com/blog/alternativa-para-o-uso-do-sifr-com-o-cakephp/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 03:42:35 +0000</pubDate>
		<dc:creator>flaviomuniz</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[Funções]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[font-flash]]></category>
		<category><![CDATA[sifr]]></category>

		<guid isPermaLink="false">http://flaviomuniz.com/blog/?p=260</guid>
		<description><![CDATA[Olá, Recentemente em alguns projetos, a nossa equipe precisou usar fontes que não são de sistemas em titulos e textos espalhados pelo site, tentamos usar o siFR mas não deu muito certo, pois a gente precisava trocar algumas labels com ajax e não funcionaria ja que ele cria o embed da font assim que o]]></description>
			<content:encoded><![CDATA[<p>Olá,<br />
Recentemente em alguns projetos, a nossa equipe precisou usar fontes que não são de sistemas em titulos e textos espalhados pelo site, tentamos usar o <a href="http://malsup.com/jquery/media/sifr.html?v2" target="blank">siFR</a> mas não deu muito certo, pois a gente precisava trocar algumas labels com ajax e não funcionaria ja que ele cria o embed da font assim que o site é carregado.<br />
Então, devido a esse grande problemas que encontramos pela frente, resolvi utilizar um helper do cakephp para transformar aquele texto em imagens de 4k cada.<br />
Depois da ideia ter sido aprovada, então começei a criar, vamos la.<br />
<span id="more-260"></span><br />
Primeiramente vamos utilizar 2 helpers do cakephp encontrados no bakery do cakephp<br />
<a href="http://bakery.cakephp.org/articles/download_code/131/block/15" target="blank">text_image.php</a> e o </a><a href="http://bakery.cakephp.org/articles/download_code/131/block/14" target="blank">font_site.php</a>.<br />
Depois de ter baixado os helpers acima e colocado no diretório helpers dentro de views,<br />
vamos chamar o nosso helper na controller da página que vamos usar, eu precisei colocar na app_controller<br />
pois precisei usar em todo site, mas para página especificas, o bom é usar somente na controller da página.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">var</span> <span class="re0">$helpers</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;...&quot;</span><span class="sy0">,</span> <span class="st0">&quot;FontSite&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></div>
<p>Bom, continuando&#8230;<br />
Depois de chamar o helper na app_controller, precisamos criar um diretório &#8220;fonts&#8221; dentro do diretório da nossa app<br />
<img class="alignnone size-full wp-image-261" title="Fonts" src="http://flaviomuniz.com/blog/wp-content/uploads/2010/02/Picture-1.png" alt="Fonts" width="260" height="278" /><br />
Dentro desse diretório, vamos colocar as fontes que vamos usar no projeto no meu caso foi a ITC Avant Garde PRO, mas podemos usar qualquer uma, claro, não vamos usar uma fonte de sistema para fazer isso.<br />
Depois de criado, vamos criar dentro do nosso diretório &#8220;webroot -> <strong>img</strong>&#8221; um diretório para deixar as imagens geradas, eu criei um font_site, isso a gente altera dentro do helper.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">//Nome do diretório onde vão ficar as imagens geradas.</span><br />
<span class="kw2">var</span> <span class="re0">$__imagePath</span> <span class="sy0">=</span> <span class="st_h">'font_site'</span><span class="sy0">;</span></div></div>
<p><img src="http://flaviomuniz.com/blog/wp-content/uploads/2010/02/Picture-4.png" alt="Diretório font_site" title="Diretório font_site" width="412" height="220" class="alignnone size-full wp-image-262" /><br />
Depois de tudo certo, vamos chamar o helper para gerar a nossa imagem.<br />
A gente pode criar um método no nosso helper para não precisar chamar em todas as páginas a função que gera a imagem, mas vou postar aqui do modo simples, ai fica de cada um fazer de um modo melhor.<br />
Vamos la,</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">//Nome da fonte</span><br />
<span class="re0">$textImage</span><span class="sy0">-&gt;</span><span class="me1">fontFile</span> <span class="sy0">=</span> <span class="st0">&quot;Avant.ttf&quot;</span><span class="sy0">;</span><br />
<span class="co1">//Tamanho da fonte</span><br />
<span class="re0">$textImage</span><span class="sy0">-&gt;</span><span class="me1">setPointSize</span><span class="br0">&#40;</span><span class="nu0">36</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="co1">//Cor da fonte</span><br />
<span class="re0">$textImage</span><span class="sy0">-&gt;</span><span class="me1">setColor</span><span class="br0">&#40;</span><span class="st0">&quot;#818181&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="co1">//BG da fonte</span><br />
<span class="re0">$textImage</span><span class="sy0">-&gt;</span><span class="me1">setBgColor</span><span class="br0">&#40;</span><span class="st0">&quot;#ffffff&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="co1">//Texto para ser transformado em imagem</span><br />
<span class="kw3">echo</span> <span class="re0">$textImage</span><span class="sy0">-&gt;</span><span class="me1">image</span><span class="br0">&#40;</span><span class="st0">&quot;www.flaviomuniz.com&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></div>
<p>Podemos tambem, utilizar um background, setBgColor.</p>
<p>Vejam alguns resultados com as fontes geradas.<br />
<img src="http://flaviomuniz.com/blog/wp-content/uploads/2010/02/Picture-8.png" alt="Gare_de_Chambord " title="Gare de Chambord" width="316" height="40" class="alignnone size-full wp-image-273" /><br />
<br />
<img src="http://flaviomuniz.com/blog/wp-content/uploads/2010/02/Picture-7.png" alt="INFECTED" title="INFECTED" width="347" height="45" class="alignnone size-full wp-image-272" /><br />
<br />
<img src="http://flaviomuniz.com/blog/wp-content/uploads/2010/02/Picture-6.png" alt="ITC Avant Garde PRO" title="ITC Avant Garde PRO" width="371" height="37" class="alignnone size-full wp-image-271" /></p>
<p>Não é necessário instalar as fontes, basta copiar para dentro do diretório fonts sitado a cima.</p>
<p>Espero ter ajudado.<br />
Até a próxima.<br />
<p class="error"><strong>[ad]</strong> Empty ad slot (#1)!</p></p>
]]></content:encoded>
			<wfw:commentRss>http://flaviomuniz.com/blog/alternativa-para-o-uso-do-sifr-com-o-cakephp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Helper para data em pt_BR</title>
		<link>http://flaviomuniz.com/blog/helper-para-data-em-pt_br/</link>
		<comments>http://flaviomuniz.com/blog/helper-para-data-em-pt_br/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 21:05:58 +0000</pubDate>
		<dc:creator>flaviomuniz</dc:creator>
				<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[Funções]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[helper]]></category>

		<guid isPermaLink="false">http://flaviomuniz.com/blog/?p=220</guid>
		<description><![CDATA[Alguns programadores criam funções gigantes para deixar o formato da data em português não é errado, mas esquecem de funções default do php para fazer isso. Vou mostrar agora uma maneira simpeles de se fazer isso, transformando a data de November, 05, 2009 para 05 de Novembro de 2009. Vamos primeiro criar nosso helper. function]]></description>
			<content:encoded><![CDATA[<p>Alguns programadores criam funções gigantes para deixar o formato da data em português não é errado, mas esquecem de funções default do php para fazer isso.<br />
Vou mostrar agora uma maneira simpeles de se fazer isso, transformando a data de November, 05, 2009 para 05 de Novembro de 2009.</p>
<p>Vamos primeiro criar nosso helper.<br />
<span id="more-220"></span></p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">function</span> data<span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<span class="kw3">setlocale</span><span class="br0">&#40;</span>LC_TIME<span class="sy0">,</span><span class="st0">&quot;pt_BR&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">return</span> <span class="kw3">strftime</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es6">%d</span> de %B de &amp;amp;Y&quot;</span><span class="sy0">,</span> <span class="kw3">strtotime</span><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div></div>
<p><a href="http://br2.php.net/manual/en/function.strftime.php" target="blank">strftime</a><br />
<a href="http://br2.php.net/manual/en/function.strtotime.php" target="blank">strtotime</a></p>
<p>pronto, temos o helper, agora na nossa view, vamos chamar essa função.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace">data<span class="br0">&#40;</span><span class="re0">$page</span><span class="br0">&#91;</span><span class="st0">&quot;Page&quot;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&quot;created&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span>?<span class="sy0">&amp;</span>gt<span class="sy0">;</span></div></div>
<p>Detalhe que se você tem uma versão atualizada do Base, o Helper não se chama mais Application e sim &#8220;h&#8221;,<br />
caso ainda use a versão antiga, ao invés de $h-&gt; use $application-&gt;.</p>
<p>Atualize o seu base, tem algumas correções do fck entre outros.</p>
<p>Bom é isso, simples assim.</p>
]]></content:encoded>
			<wfw:commentRss>http://flaviomuniz.com/blog/helper-para-data-em-pt_br/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trabalhando com Checkbox + Array no CakePHP</title>
		<link>http://flaviomuniz.com/blog/trabalhando-com-checkbox-array-no-cakephp/</link>
		<comments>http://flaviomuniz.com/blog/trabalhando-com-checkbox-array-no-cakephp/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 16:31:20 +0000</pubDate>
		<dc:creator>flaviomuniz</dc:creator>
				<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Html]]></category>

		<guid isPermaLink="false">http://flaviomuniz.com/blog/?p=191</guid>
		<description><![CDATA[Olá, depois de algum tempo sem postar por motivos de FALTA DE TEMPO. Hoje vou mostrar como é simples trabalhar com checkbox no cakephp para deletar varios registros. É muito simples, nem preciso ficar explicando muito, basta entender o que é para ser feito. Bom, vamos la&#8230; Primeiramente, vamos contruir nosso formulario // Criamos o]]></description>
			<content:encoded><![CDATA[<p>Olá, depois de algum tempo sem postar por motivos de FALTA DE TEMPO.<br />
Hoje vou mostrar como é simples trabalhar com checkbox no cakephp para deletar varios registros.</p>
<p>É muito simples, nem preciso ficar explicando muito, basta entender o que é para ser feito.<br />
Bom, vamos la&#8230;<br />
Primeiramente, vamos contruir nosso formulario<br />
<span id="more-191"></span></p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace">// Criamos o formulario e demos o nome de NomeFormulario, e na url, vamos apontar para a nossa function.<br />
<span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re0">$form</span><span class="sy0">-&gt;</span><span class="me1">create</span><span class="br0">&#40;</span><span class="st_h">'NomeFormulario'</span><span class="sy0">,</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'url'</span><span class="sy0">=&gt;</span><span class="st_h">'deleta_selecionado'</span><span class="sy0">,</span> <span class="st0">&quot;id&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;deleta_selecionado&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="sy1">?&gt;</span><br />
&nbsp; &nbsp; <span class="kw2">&lt;?php</span> <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$nossoloop</span> <span class="kw1">as</span> <span class="re0">$obj</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="sy1">?&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; //Criamos o nosso input checkbox com o name de nomeDoCampo[] e passamos o ID do conteudo dentro dele, ficando como abaixo.<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re0">$form</span><span class="sy0">-&gt;</span><span class="me1">input</span><span class="br0">&#40;</span><span class="st0">&quot;nomeDoCampo[{<span class="es4">$obj</span>[<span class="es4">$model</span>][&quot;</span>id<span class="st0">&quot;]}]&quot;</span><span class="sy0">,</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;type&quot;</span><span class="sy0">=&gt;</span><span class="st0">&quot;checkbox&quot;</span><span class="sy0">,</span><span class="st0">&quot;label&quot;</span> <span class="sy0">=&gt;</span> <span class="kw2">false</span><span class="sy0">,</span> <span class="st0">&quot;value&quot;</span><span class="sy0">=&gt;</span><span class="re0">$obj</span><span class="br0">&#91;</span><span class="re0">$model</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&quot;id&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy1">?&gt;</span><br />
&nbsp; &nbsp; <span class="sy1">&lt;?</span> endforach<span class="sy0">;</span> <span class="sy1">?&gt;</span><br />
<span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re0">$form</span><span class="sy0">-&gt;</span><span class="me1">end</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="sy1">?&gt;</span></div></div>
<p>Agora criaremos a nossa controller, que é simples também.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">// o nome da função é o mesmo nome que passamos na URL do form...</span><br />
<span class="co1">// se não for, vai dar erro.</span><br />
<span class="kw2">function</span> deleta_selecionado<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="co1">//No nosso foreach, nós pegamos todo o valor que foi passado no array, que esteja dentro de nosso formulario NomeFormulario.</span><br />
&nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">data</span><span class="br0">&#91;</span><span class="st0">&quot;NomeFormulario&quot;</span><span class="br0">&#93;</span> <span class="kw1">as</span> <span class="re0">$value</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Verificamos se o valor é diferente de 0 para ser deletado.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$value</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Chamamos a model com o metodo deletaSelecionado e passamos o valor para ele, </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//que no caso é o $value, como no &nbsp;loop fizemos que o $this-&gt;data[&quot;...&quot;] as $value.</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">NossaModel</span><span class="sy0">-&gt;</span><span class="me1">deletaSelecionado</span><span class="br0">&#40;</span><span class="re0">$value</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div></div>
<p>Agora vamos para a nossa model, que é mais simples do que se imagina.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">//criaremos a function com o nome de deletaSelecionado, e passaremos o nosso $value para ela.</span><br />
&nbsp; &nbsp; <span class="kw2">function</span> deletaSelecionado<span class="br0">&#40;</span><span class="re0">$value</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// E por ultimo, passaremos o $value para o metodo &quot;delete&quot; que é default do cakephp</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">delete</span><span class="br0">&#40;</span><span class="re0">$value</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></div></div>
<p>Pronto, simples assim.</p>
]]></content:encoded>
			<wfw:commentRss>http://flaviomuniz.com/blog/trabalhando-com-checkbox-array-no-cakephp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Helper para upload com cakephp.</title>
		<link>http://flaviomuniz.com/blog/helper-para-upload-com-cakephp/</link>
		<comments>http://flaviomuniz.com/blog/helper-para-upload-com-cakephp/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 23:31:09 +0000</pubDate>
		<dc:creator>flaviomuniz</dc:creator>
				<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Html]]></category>

		<guid isPermaLink="false">http://flaviomuniz.com/blog/?p=131</guid>
		<description><![CDATA[Olá, estou fazendo um projeto, que tem muitas áreas que fazem upload de imagens, então, ao invés de criar muitos helpers, fiz algo legal, e útil, economiza muito código. Criando um helper simples, você teria os seguintes códigos. &#60;?php &#160; &#160; class HImagesHelper extends Helper&#123; &#160; &#160; &#160; &#160; var $helpers = array&#40;&#34;Html&#34;&#41;; &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>Olá, estou fazendo um projeto, que tem muitas áreas que fazem upload de imagens, então, ao invés de criar muitos helpers, fiz algo legal, e útil, economiza muito código.</p>
<p>Criando um helper simples, você teria os seguintes códigos.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span><br />
&nbsp; &nbsp; <span class="kw2">class</span> HImagesHelper <span class="kw2">extends</span> Helper<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="re0">$helpers</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;Html&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">function</span> image<span class="br0">&#40;</span><span class="re0">$id</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">Html</span><span class="sy0">-&gt;</span><span class="me1">image</span><span class="br0">&#40;</span><span class="st0">&quot;/files/images/<span class="es4">{$id}</span>/image/origin.png&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="sy1">?&gt;</span></div></div>
<p><span id="more-131"></span><br />
Repare que no &#8220;return&#8221; você passa o caminho &#8220;/files/<strong>images</strong>/{$id}/image/origin.png<br />
Esse diterório &#8220;images&#8221; seria no caso, onde o upload das imagens seriam feitas.<br />
Isso você fez manualmente, mas essa forma que vou mostrar, é simples, porém eficaz.</p>
<p>O upload da imagem, é feito pela controller, onde você passa a extenção, o tamanho e o nome da imagem.<br />
Como vou mostrar passo-a-passo, vou criar também a controller, que foi onde me surgiu a idéia.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span><br />
<span class="kw2">class</span> ImagesController <span class="kw2">extends</span> AdminController <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> <span class="re0">$name</span> <span class="sy0">=</span> <span class="st0">&quot;Images&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> <span class="re0">$helpers</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;HImages&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; <span class="kw2">var</span> <span class="re0">$files</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;image&quot;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;thumb&quot;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;type&quot;</span> &nbsp;<span class="sy0">=&gt;</span> <span class="st0">&quot;crop&quot;</span><span class="sy0">,</span> <span class="st0">&quot;ext&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;jpg&quot;</span><span class="sy0">,</span> <span class="st0">&quot;width&quot;</span> <span class="sy0">=&gt;</span> <span class="nu0">124</span><span class="sy0">,</span> <span class="st0">&quot;height&quot;</span> <span class="sy0">=&gt;</span> <span class="nu0">86</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">function</span> index<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="sy1">?&gt;</span><br />
?&gt;</div></div>
<p>Com a controller criada, temos o $name, que é isso que vamos usar para o nosso helper.<br />
Bom, vamos la?</p>
<p>Agora vamos criar o helper.</p>
<p>vou usar o $name da nossa controller para criar o diterório, passando o name da controller.<br />
No caso, temos que trocar o $name por $controller, pois do contrário não será possivel mostrar a image, já que quando formos mostrar na view, ela não vai saber o que é, passando a $controller, fica mais facil de identificar, desse modo, em nossa view, passamos um parametro para ela, assim ela saberá qual é a controller que irá usar, $this->params["controller"], esse é o parametro que temos que passar, para que seja mostrada a imagem exatamente.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span> <span class="kw3">echo</span> <span class="re0">$hImages</span><span class="sy0">-&gt;</span><span class="me1">image</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">params</span><span class="br0">&#91;</span><span class="st0">&quot;controller&quot;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$page</span><span class="br0">&#91;</span><span class="st0">&quot;Page&quot;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&quot;id&quot;</span><span class="br0">&#93;</span><span class="sy1">?&gt;</span></div></div>
<p>Temos o seguinte código.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span><br />
&nbsp; &nbsp; <span class="kw2">class</span> HImagesHelper <span class="kw2">extends</span> Helper<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="re0">$helpers</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;Html&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">function</span> image<span class="br0">&#40;</span><span class="re0">$controller</span><span class="sy0">,</span> <span class="re0">$id</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">Html</span><span class="sy0">-&gt;</span><span class="me1">image</span><span class="br0">&#40;</span><span class="st0">&quot;/files/<span class="es4">{$controller}</span>/<span class="es4">{$id}</span>/image/origin.png&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="sy1">?&gt;</span></div></div>
<p>Repare que eu passo mais um parametro para o método image, a ($controller},<br />
neste caso, vai servir para criar o ditetório do upload com o $name da controller,  e passamos esse parametro para o caminho, trocando o &#8220;images&#8221; por &#8220;{$controller}&#8221;, isso faz com que se crie o diterório automaticamente<br />
com o nome da controller, deste modo, não precisamos ficar criando um helper para cada página que terá um upload.</p>
<p>Gostaram?<br />
Então, até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://flaviomuniz.com/blog/helper-para-upload-com-cakephp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upload com Base</title>
		<link>http://flaviomuniz.com/blog/upload-com-base/</link>
		<comments>http://flaviomuniz.com/blog/upload-com-base/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 15:07:26 +0000</pubDate>
		<dc:creator>flaviomuniz</dc:creator>
				<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[base]]></category>

		<guid isPermaLink="false">http://flaviomuniz.com/blog/?p=43</guid>
		<description><![CDATA[Bom Pessoal, vou ensinar a fazer um upload simples usando o Base. Helper Controller Model As views e os forms vou deixar para vocês. Primeiramente vamos criar um helper para imagem Vamos chamar esse helper de h_images.php Caminho: app/views/helpers/h_images.php. &#60;?php class HImagesHelper extends Helper &#123; var $helpers = array&#40;&#34;Html&#34;&#41;; function image&#40;$id&#41; &#123; return $this-&#62;Html-&#62;image&#40;&#34;/files/images/{$id}/image/origin.png&#34;&#41;; &#125;]]></description>
			<content:encoded><![CDATA[<p>Bom Pessoal, vou ensinar a fazer um upload simples usando o <a href="http://github.com/flaviomuniz" target="_blank">Base</a>.</p>
<p>Helper<br />
Controller<br />
Model</p>
<p>As views e os forms vou deixar para vocês.</p>
<p>Primeiramente vamos criar um helper para imagem<br />
Vamos chamar esse helper de h_images.php<br />
Caminho: app/views/helpers/h_images.php.</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span><br />
<span class="kw2">class</span> HImagesHelper <span class="kw2">extends</span> Helper<br />
<span class="br0">&#123;</span><br />
<span class="kw2">var</span> <span class="re0">$helpers</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;Html&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<span class="kw2">function</span> image<span class="br0">&#40;</span><span class="re0">$id</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<span class="kw1">return</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">Html</span><span class="sy0">-&gt;</span><span class="me1">image</span><span class="br0">&#40;</span><span class="st0">&quot;/files/images/<span class="es4">{$id}</span>/image/origin.png&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="sy1">?&gt;</span></div></div>
<p><span id="more-43"></span></p>
<p>Agora vamos criar uma controller para as imagens.<br />
Vamos chamala de galleries_controller.php<br />
Caminho: app/controller/admin/galleries_controller.php</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">class</span> GalleriesController <span class="kw2">extends</span> AdminController <span class="br0">&#123;</span><br />
<span class="kw2">var</span> <span class="re0">$name</span> <span class="sy0">=</span> <span class="st0">&quot;Galleries&quot;</span><span class="sy0">;</span><br />
<span class="kw2">var</span> <span class="re0">$helpers</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;HImages&quot;</span><span class="sy0">,</span> <span class="st0">&quot;Fck&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<span class="kw2">var</span> <span class="re0">$files</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><br />
<span class="st0">&quot;image&quot;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span><br />
<span class="st0">&quot;origin&quot;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;type&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;move&quot;</span><span class="sy0">,</span> <span class="st0">&quot;ext&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;png&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span><br />
<span class="st0">&quot;thumb&quot;</span> <span class="sy0">=&gt;</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;type&quot;</span> &nbsp;<span class="sy0">=&gt;</span> <span class="st0">&quot;crop&quot;</span><span class="sy0">,</span> <span class="st0">&quot;ext&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;png&quot;</span><span class="sy0">,</span> <span class="st0">&quot;width&quot;</span> <span class="sy0">=&gt;</span> <span class="nu0">124</span><span class="sy0">,</span> <span class="st0">&quot;height&quot;</span> <span class="sy0">=&gt;</span> <span class="nu0">86</span><span class="br0">&#41;</span><br />
<span class="br0">&#41;</span><br />
<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw2">function</span> index<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
<span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">set</span><span class="br0">&#40;</span><span class="st0">&quot;gallery&quot;</span><span class="sy0">,</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">Gallery</span><span class="sy0">-&gt;</span><span class="me1">find</span><span class="br0">&#40;</span><span class="st_h">'all'</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="sy1">?&gt;</span></div></div>
<p>Na controller acima eu somente movi a imagem original (ORIGIN) e cropei a imagem para THUMB,<br />
Você pode ter quantas imagens quiser, basta duplicar a linha trocando e colocar o tamanho que quer que a imagem fique.<br />
Só não repita o mesmo nome para as linhas duplicadas.</p>
<p>Agora vamos ao model.<br />
vamos chamalo de gallery.php como padrão<br />
Caminho: app/model/gallery.php</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;width:700px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">class</span> Gallery <span class="kw2">extends</span> AppModel <span class="br0">&#123;</span><br />
<span class="kw2">var</span> <span class="re0">$name</span> <span class="sy0">=</span> <span class="st0">&quot;Gallery&quot;</span><span class="sy0">;</span><br />
<br />
<span class="kw2">function</span> beforeDelete<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<span class="re0">$dir</span> <span class="sy0">=</span> WWW_ROOT<span class="sy0">.</span><span class="st0">&quot;files/images/<span class="es4">{$this-&gt;id}</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">exec</span><span class="br0">&#40;</span><span class="st0">&quot;rm -Rf <span class="es4">{$dir}</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">return</span> <span class="kw2">true</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<span class="sy1">?&gt;</span></div></div>
<p>Se por um acaso, você queira montar uma galeria de fotos<br />
você deve relacionar a galeria com as imagens<br />
usando hasMany para Gallery e belongsTo para Images.</p>
<p>IMPORTANTE: Não esqueçam de dar permissão 777 para o diretorio files dentro de webroot.</p>
<p>No Ubuntu é chmod -R 777 files/<br />
No Windows, clicar com o botão direito no diretorio -> propriedades e tirar o &#8220;Somente leitura&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://flaviomuniz.com/blog/upload-com-base/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando e configurando o cake_on_rails</title>
		<link>http://flaviomuniz.com/blog/instalando-e-configurando-o-cake_on_rails/</link>
		<comments>http://flaviomuniz.com/blog/instalando-e-configurando-o-cake_on_rails/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 18:48:01 +0000</pubDate>
		<dc:creator>flaviomuniz</dc:creator>
				<category><![CDATA[CakePhp]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[base]]></category>

		<guid isPermaLink="false">http://flaviomuniz.com/blog/?p=35</guid>
		<description><![CDATA[Olá, nesse primeiro post vou mostrar como é facil desenvolver projetos cakephp com o CMS desenvolvido por Marcio Trindade. Vamos lá, Passo 1: Baixe o base_app_with_cake Passo 2: Baixe o cake_on_rails Passo 3: Faça essa estrutura para sua aplicação Aplicação -&#62; app (Dentro de app, você coloca todos os arquivos do base.) Aplicação -&#62; cake]]></description>
			<content:encoded><![CDATA[<p>Olá, nesse primeiro post vou mostrar como é facil desenvolver projetos cakephp com o CMS desenvolvido por <a href="http://marciotrindade.com" target="_blank">Marcio Trindade</a>.<br />
Vamos lá,<br />
<strong>Passo 1:</strong></p>
<ul>
<li> Baixe o <a href="http://github.com/flaviomuniz" target="_blank">base_app_with_cake</a></li>
</ul>
<p><strong>Passo 2:</strong></p>
<ul>
<li> Baixe o <a href="http://github.com/marciotrindade" target="_blank">cake_on_rails</a></li>
</ul>
<p><strong>Passo 3:</strong><br />
 <span id="more-35"></span><br />
Faça essa estrutura para sua aplicação</p>
<ul>
<li> Aplicação -&gt; app (Dentro de app, você coloca todos os arquivos do <a href="http://github.com/flaviomuniz" target="_blank">base</a>.)</li>
<li> Aplicação -&gt; cake ( renomeie o cake_on_rails para cake)</li>
</ul>
<p><strong> Passo 4:</strong></p>
<ul>
<li> De permissão <strong>777</strong> para o diretorio app/tmp</li>
<li> Copie o .htaccess-root de dentro do app para dentro do diretorio do projeto renomeando somente para .htaccess</li>
<li> Agora, você renomeia o arquivo app/config/database.php.default para default.php, e coloque as suas credenciais de seu mysql.</li>
</ul>
<p>Pronto, tem o <a href="http://github.com/marciotrindade" target="_blank">cake_on_rails</a> rodando em sua maquina, simples não?<br />
É isso ai, até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://flaviomuniz.com/blog/instalando-e-configurando-o-cake_on_rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
