<?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>Felipe Theodoro &#187; Framework</title>
	<atom:link href="http://blog.ftgoncalves.com/category/programacao/framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ftgoncalves.com</link>
	<description>sempre Realimentação positiva</description>
	<lastBuildDate>Wed, 07 Apr 2010 19:28:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Usando o Component Auth do CakePHP</title>
		<link>http://blog.ftgoncalves.com/2009/09/usando-o-component-auth-do-cakephp/</link>
		<comments>http://blog.ftgoncalves.com/2009/09/usando-o-component-auth-do-cakephp/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 01:39:27 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[cake php]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=124</guid>
		<description><![CDATA[Configurando e usando o component Auth do Cakephp]]></description>
			<content:encoded><![CDATA[<p>Tenho visto várias pessoas com dúvidas em relaxão a utilização do componente Auth, por este motivo descidi escrever este pequeno tutorial.</p>
<p>Tudo começa com seu app_controller</p>
<p>app_controller.php</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
</pre></td><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> AppController <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
	<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;">'Auth'</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>
&nbsp;
		<span style="color: #009933; font-style: italic;">/** 
		* Configuração das para que o Auth identifique os 
		* campos de acesso no sistema
		*/</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;">fields</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'username'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'email'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'password'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'password'</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009933; font-style: italic;">/**
		* Caso acesso a area restrita e não logado é
		* redirecionado para efetuar login
		*/</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;">loginAction</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'users'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'login'</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;">'Routing.admin'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">true</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009933; font-style: italic;">/**
		* Redirecionamento após login
		*/</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;">loginRedirect</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'users'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</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;">'Routing.admin'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">true</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009933; font-style: italic;">/**
		* Redirecionado quando o usuário requesita logout
		*/</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;">logoutRedirect</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'users'</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'login'</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;">'Routing.admin'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">true</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009933; font-style: italic;">/**
		* Somente user ativo e administradores
		*/</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;">userScope</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'User.status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Autenticação somente para admin</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</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;">params</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'prefix'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>Configure<span style="color: #339933;">::</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Routing.admin'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</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;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowedActions</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'*'</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;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">allowedActions</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
				<span style="color: #0000ff;">'admin_recover_password'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// Caixa para colocar e-mail e recuperar senha</span>
				<span style="color: #0000ff;">'admin_edit_password'</span> <span style="color: #666666; font-style: italic;">// link que é enviado por email para cadastrar nova senha</span>
			<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<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;">loginError</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Erro na autenticação'</span><span style="color: #339933;">;</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;">authError</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'É necessário a autenticação no sistema'</span><span style="color: #339933;">;</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;">authorize</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'controller'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	* Verifica se usuário esta logado
	*
	* @return boolean
	*/</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isAuthorized<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>em meu controller</p>
<p>users_controller.php</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><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> UsersController <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: #000000; font-weight: bold;">function</span> login<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">...</span></pre></td></tr></table></div>

<p>Feito estes ajustes é so criar as view e pronto o component Auth fará o resto.</p>
<p>ps: Ao adicionar um usuário o Auth se encaregará de fazer o hash da senhas.</p>
<p>até a proxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/09/usando-o-component-auth-do-cakephp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Paginação com dados HABTM CakePHP</title>
		<link>http://blog.ftgoncalves.com/2009/08/paginacao-com-dados-habtm-cakephp/</link>
		<comments>http://blog.ftgoncalves.com/2009/08/paginacao-com-dados-habtm-cakephp/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 19:23:23 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[habtm]]></category>
		<category><![CDATA[paginação]]></category>
		<category><![CDATA[relacionamento]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=119</guid>
		<description><![CDATA[Paginação com dados de models relacionados com HABTM em CakePHP]]></description>
			<content:encoded><![CDATA[<p>Uma exelente receita de bolo para paginação entre dados que estão relacionados em HABTM</p>
<p><a href="http://cakebaker.42dh.com/2007/10/17/pagination-of-data-from-a-habtm-relationship/">http://cakebaker.42dh.com/2007/10/17/pagination-of-data-from-a-habtm-relationship/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/08/paginacao-com-dados-habtm-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugins indispensaveis para Jquery</title>
		<link>http://blog.ftgoncalves.com/2009/08/plugins-indispensaveis-para-jquery/</link>
		<comments>http://blog.ftgoncalves.com/2009/08/plugins-indispensaveis-para-jquery/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 14:58:48 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=88</guid>
		<description><![CDATA[Plugins indispensáveis para jQuery]]></description>
			<content:encoded><![CDATA[<p>Esses dias estava refletindo o quanto fico fácil programar para internet, claro com ajuda dos diversos frameworks.<br />
Uma ferramenta indispensável para mim é o Framework de desenvolvimento a-lá JavaScript jQuery, esta excelente caixa de ferramentas ajuda muito com o desenvolvimento de efeitos e melhorias na acessibilidade de um site. Pensando nisso separei alguns plugins os quais eu mais uso.</p>
<p><strong>Validation</strong><br />
link: http://docs.jquery.com/Plugins/Validation<br />
função: Validação de campos de formulários<br />
exemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input type=&quot;text&quot; name=&quot;name&quot; class=&quot;required&quot; /&gt;</pre></div></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><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: #003366; 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: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#form&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">validate</span><span style="color: #009900;">&#40;</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><strong>Masked Input</strong><br />
link: http://www.tidbits.com.br/plugin-de-mascara-para-jquery-masked-input<br />
função: Mascara em objetos de formulários<br />
exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><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: #003366; 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: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#telefone&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;9999-9999&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cpf&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;999.999.999-99&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cep&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;99999-999&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#data&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mask</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;99/99/9999&quot;</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><strong>Uploadify</strong><br />
link: http://www.uploadify.com/demo/<br />
função: Alternativa muito boa para o swfupload totalmente em JQuery e aberto para modificação no flash.<br />
exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><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: #003366; 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: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#fileInput1&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">uploadify</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #3366CC;">'uploader'</span>       <span style="color: #339933;">:</span> <span style="color: #3366CC;">'/_scripts/uploadify.swf'</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'script'</span>         <span style="color: #339933;">:</span> <span style="color: #3366CC;">'/_scripts/uploadify.php'</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'cancelImg'</span>      <span style="color: #339933;">:</span> <span style="color: #3366CC;">'/_images/cancel.png'</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'folder'</span>         <span style="color: #339933;">:</span> <span style="color: #3366CC;">'/_uploads'</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">'multi'</span>          <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>Datepicker</strong><br />
link: http://jqueryui.com/demos/datepicker/<br />
função: Calendaria e mais calendario.<br />
exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #003366; 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: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#datepicker&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">datepicker</span><span style="color: #009900;">&#40;</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><strong>jwysiwyg</strong><br />
link: http://code.google.com/p/jwysiwyg/<br />
função: Este editor wysiwyg é excelente apesar de não ser o mais famoso é bem usado no meio JQuery.<br />
exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #003366; 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: #009900;">&#40;</span><span style="color: #3366CC;">'#wysiwyg'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">wysiwyg</span><span style="color: #009900;">&#40;</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>

]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/08/plugins-indispensaveis-para-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVN Ignorando a pasta tmp do CakePHP</title>
		<link>http://blog.ftgoncalves.com/2009/07/svn-ignorando-a-pasta-tmp-do-cakephp/</link>
		<comments>http://blog.ftgoncalves.com/2009/07/svn-ignorando-a-pasta-tmp-do-cakephp/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 17:59:11 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=92</guid>
		<description><![CDATA[CakePHP, tmp, SVN, Ignorando]]></description>
			<content:encoded><![CDATA[<p>Uma coisa muito chata é quando você da commit no Tortoise e ele também adiciona na lista os arquivos tmp do CakePHP.</p>
<p>Solução:</p>
<p>Entre em propriedades do Tortoise na pasta tmp<br />
Entre no opção New&#8230;<br />
Selecione a opção svn:ignore no campo Property name<br />
No campo Property value adicione o *<br />
Selecione a opção Apply property recursively e click em ok</p>
<p>Pronto quando você der commit as próximas vezes ele ignorará a pasta tmp e seu conteúdo.</p>
<p>ufa <img src='http://blog.ftgoncalves.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/07/svn-ignorando-a-pasta-tmp-do-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin PagSeguro para CakePHP</title>
		<link>http://blog.ftgoncalves.com/2009/07/plugin-pagseguro-para-cakephp/</link>
		<comments>http://blog.ftgoncalves.com/2009/07/plugin-pagseguro-para-cakephp/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 14:05:00 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[pagseguro]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=73</guid>
		<description><![CDATA[Plugin para o CakePHP do PagSeguro, criando um checkOut em minutos sem complicação.]]></description>
			<content:encoded><![CDATA[<p><strong>Plugin PagSeguro</strong></p>
<p>Finalmente consegui achar tempo para fazer este plugin. A idéia dele é bem simples. Você tem à disposição um component e um helper. Você manda um array com todas as informações da compra para o component e ele reorganiza tais informações, passando para o padrão do PagSeguro. Após isso, é só mandar para view e chamar o helper para criar o form e os hiddens padrões.</p>
<p>Segue um exemplo:</p>
<p><strong>Utilizando o pligin</strong></p>
<p>Em seu controller, chame o component e o helper:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</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;">'Pagseguro.PagSeguro?'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">var</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;">'Pagseguro.Formpg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Array padrão referente às informações necessárias e opcionais para o PagSeguro:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"> <span style="color: #000088;">$sale</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
        <span style="color: #0000ff;">'email_cobranca'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'tipo'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'CP'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'moeda'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'BRL'</span><span style="color: #339933;">,</span>
        <span style="color: #0000ff;">'tipo_frete'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'SD'</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
        <span style="color: #0000ff;">'ref_transacao'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
        <span style="color: #0000ff;">'produto'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
           <span style="color:#800080;">1.</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
                  <span style="color: #0000ff;">'item_id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_descr'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_valor'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_quant'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span>
                  <span style="color: #0000ff;">'item_frete'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
                  <span style="color: #0000ff;">'item_peso'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
                  <span style="color: #0000ff;">'item_quant'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span> 
            <span style="color: #009900;">&#41;</span> 
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
        <span style="color: #0000ff;">'cliente'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'nome'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'cep'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'end'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'num'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'compl'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'bairro'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'cidade'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'uf'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'pais'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'ddd'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'tel'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//opcional</span>
            <span style="color: #0000ff;">'email'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #666666; font-style: italic;">//opcional </span>
        <span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Arrumando valores referentes à dinheiro, se seu sistema jogar o valor com vírgula ou ponto. Exemplo: 30,99 ou 30.99.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$valor</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PagSeguro</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">parcePagSeguro</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'30.98'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//retorno 3098;</span></pre></div></div>

<p>Setando os dados:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PagSeguro</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setSale</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sale</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Arrumando no padrão e mandando para a view:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><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;">'data'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">PagSeguro</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">generateInformation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Na view:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</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: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hidden</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">submit</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'img'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'btnFinalizar.jpg'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//opções: btnFinalizaBR.jpg btnConcluirBR.jpg btnFinalizar.jpg btnConcluir.jpg</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$formpg</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">end</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Download</strong></p>
<p>Repositório em desenvolvimeto<strong><br />
</strong></p>
<p>svn checkout http://pagseguro.googlecode.com/svn/trunk/</p>
<p>Última versão estável</p>
<p>svn checkout http://pagseguro.googlecode.com/svn/tags/0.1.0</p>
<p>Site do oficial das ferramentas PagSeguro</p>
<p>http://visie.com.br/pagseguro/cake.php</p>
<p>Bugs, sugestões, duvídas ou elogios:<br />
<a href=" http://code.google.com/p/pagseguro/"><br />
http://code.google.com/p/pagseguro/</a></p>
<p> <img src='http://blog.ftgoncalves.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/07/plugin-pagseguro-para-cakephp/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Evento CakeSP</title>
		<link>http://blog.ftgoncalves.com/2009/06/evento-cakesp/</link>
		<comments>http://blog.ftgoncalves.com/2009/06/evento-cakesp/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 18:14:59 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[cakesp]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=65</guid>
		<description><![CDATA[
Segue Minha apresentação no evento 
E o link da minha página pessoal da slideshare http://www.slideshare.net/ftgoncalves
]]></description>
			<content:encoded><![CDATA[<div id="__ss_1576195" style="width: 425px; text-align: left;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=plugins-090612185647-phpapp02&amp;stripped_title=plugins" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=plugins-090612185647-phpapp02&amp;stripped_title=plugins" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>Segue Minha apresentação no evento <img src='http://blog.ftgoncalves.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
E o link da minha página pessoal da slideshare <a href="http://www.slideshare.net/ftgoncalves">http://www.slideshare.net/ftgoncalves</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/06/evento-cakesp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evento Cake em sampa</title>
		<link>http://blog.ftgoncalves.com/2009/04/evento-cake-em-sampa/</link>
		<comments>http://blog.ftgoncalves.com/2009/04/evento-cake-em-sampa/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 16:38:52 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[evento]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=61</guid>
		<description><![CDATA[Esta confirmado o evento de cake em São Paulo:
as informações do evento estão bem descritas no blog do Renan
segue o link:
http://blog.renangoncalves.com/2009/04/14/i-encontro-de-cakephp-em-sao-paulo/
Contamos com a presença de todos.
]]></description>
			<content:encoded><![CDATA[<p>Esta confirmado o evento de cake em São Paulo:</p>
<p>as informações do evento estão bem descritas no blog do Renan</p>
<p>segue o link:</p>
<p><a href="http://blog.renangoncalves.com/2009/04/14/i-encontro-de-cakephp-em-sao-paulo/">http://blog.renangoncalves.com/2009/04/14/i-encontro-de-cakephp-em-sao-paulo/</a></p>
<p>Contamos com a presença de todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/04/evento-cake-em-sampa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evento CakePHP em Sampa</title>
		<link>http://blog.ftgoncalves.com/2009/03/evento-cakephp-em-sampa/</link>
		<comments>http://blog.ftgoncalves.com/2009/03/evento-cakephp-em-sampa/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 19:59:10 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[sp]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=44</guid>
		<description><![CDATA[Creio que uma parte importante de toda linguagem ou ferramenta seja as pessoas que lidam com ela! A comunidade CakePHP é bastante forte sendo seu maior núcleo nos EUA. Pensando nisso eu e o Renan cujo o mesmo faz parte do Core Developer, estamos bolando um evento que reúna desenvolvedores que lidam com o CakePHP [...]]]></description>
			<content:encoded><![CDATA[<p>Creio que uma parte importante de toda linguagem ou ferramenta seja as pessoas que lidam com ela! A comunidade CakePHP é bastante forte sendo seu maior núcleo nos EUA. Pensando nisso eu e o <a href="http://blog.renangoncalves.com/2009/03/05/evento-sobre-cakephp-em-sao-paulo/">Renan</a> cujo o mesmo faz parte do Core Developer, estamos bolando um evento que reúna desenvolvedores que lidam com o CakePHP ou somente PHP, para que seja fortalecida a comunidade&#8230;.<br />
Não temos ainda data nem local definido, mas assim que definido vamos divulga-lo.<br />
ps: O Evento não tem fins lucrativos!</p>
<p>Estou negociando com a LocaWeb para possível patrocínio.</p>
<p>E claro como o Renan disse no final do evento bora Bar!!!! <img src='http://blog.ftgoncalves.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/03/evento-cakephp-em-sampa/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Pmail e-mail marketing um plugin para o CakePHP</title>
		<link>http://blog.ftgoncalves.com/2009/02/pmail-e-mail-marketing-um-plugin-para-o-cakephp/</link>
		<comments>http://blog.ftgoncalves.com/2009/02/pmail-e-mail-marketing-um-plugin-para-o-cakephp/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 15:12:28 +0000</pubDate>
		<dc:creator>Felipe Theodoro</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[cake php]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[newsletter]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.ftgoncalves.com/?p=31</guid>
		<description><![CDATA[Pequeno histórico

Nestes últimos dias estou me dedicando a construir plugins funcionais para trabalhar com o cake. Inicialmente verifiquei quais plugins poderiam começar e me lembrei das principais funcionalidades que as empresas necessitam em um site corporativo. Lógico, são os famosos e-mails marketing!
Estes e-mails marketing dependem de uma série de fatores históricos. Primeiro: necessitam aceitar HTML. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Pequeno histórico</strong></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p class="western">Nestes últimos dias estou me dedicando a construir plugins funcionais para trabalhar com o cake. Inicialmente verifiquei quais plugins poderiam começar e me lembrei das principais funcionalidades que as empresas necessitam em um site corporativo. Lógico, são os famosos e-mails marketing!<br />
Estes e-mails marketing dependem de uma série de fatores históricos. Primeiro: necessitam aceitar HTML. Um e-mail que se preze é o que chama a atenção de quem esta a ler. Segundo: Nunca -e nunca mesmo- caiam nas entranhas das caixas de SPAM.<br />
Outro fator importantíssimo para uma empresa é o reuso, ou seja, ela não quer se preocupar com o layout do e-mail, pois o mesmo já foi definido há tempos em outro lote, então não admite-se tempo perdido com a adaptação de um novo e-mail.<br />
Foi pensando nisso que me esforcei para criação deste plugin,o Pmail, cujo o nome é uma abreviação de PHP Mail. Este traz consigo um layout que proporciona comentários da ação a ser executada, facilitando o entendimento. O seu principal idioma é o inglês. Pretendo-nas versões futuras disponibilizar em português.</p>
<p><strong>Estrutura</strong></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p class="western">O Pmail segue uma estrutura bem familiar: a de camadas, onde:</p>
<p class="western">Layer : É a primeira camada. Consiste no layout do e-mail.<br />
Email: É a segunda camada. Configura o email a ser enviado, possibilitando assim o reúso do layer. Ou seja, você garante um histórico de layers para que no futuro seja reutilizado.<br />
Groups: O Pmail foi desenvolvido pensando em grupos de contatos ou seja é possível mandar e-mails para o grupo A e C e não mandar para o B.</p>
<p class="western">O Pmail está em sua primeira versão: beta 0.1.0.70Beta.</p>
<p><strong>Demo</strong></p>
<p>Existe uma versão demo do Pmail no endereço <a title="Pmail demo" href="http://www.pmailgroup.org/teste/pmail">www.pmailgroup.org/teste/pmail</a><br />
<!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->Atenção! Este demo não é atualizado com frequência, podendo assim mostrar instabilidade.</p>
<p><strong>Download</strong></p>
<p><a title="Pmail site" href="http://code.google.com/p/pmailgroup/">http://code.google.com/p/pmailgroup/</a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p class="western">Atenção! O Pmail foi testado somente na versão 1.2 do CakePHP.</p>
<p class="western"><strong>Licença</strong></p>
<p class="western">O Pmail esta com sobre a licença GPL v3.0. Segue o link para mais informações <a title="Licença de uso GPL v3" href="http://www.opensource.org/licenses/gpl-3.0.html">http://www.opensource.org/licenses/gpl-3.0.html</a>.</p>
<p><strong>Suporte</strong></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p>Pretendo me dedicar o máximo possível para garantir novas versões ao Pmail. Estou apto a receber ajuda de colaboradores que se interessem em desenvolvê-lo.<br />
Para ter um contato mais próximo com desenvolvedores que pretendem usá-lo, estou criando um site onde poderão abrir tickets de bugs e sugestões: <a title="WebSite oficial pmail" href="http://www.pmailgroup.org">www.pmailgroup.org</a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p class="western">Agora estou trabalhando em mais um plugin: o Pbanner, que será um gerenciador de banners.</p>
<p class="western">Até mais! <img src='http://blog.ftgoncalves.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftgoncalves.com/2009/02/pmail-e-mail-marketing-um-plugin-para-o-cakephp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
