<?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; plugin</title>
	<atom:link href="http://blog.ftgoncalves.com/tag/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ftgoncalves.com</link>
	<description>sempre Realimentação positiva</description>
	<lastBuildDate>Tue, 31 Aug 2010 15:17:48 +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>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>13</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>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>
