Bem vindo ao Helvete av Silas Ribas! :D

Usando a biblioteca padrão para a API do PagSeguro no Zend Framework

Usando a biblioteca padrão para a API do PagSeguro no Zend Framework

Salve,

O Candido Sales ( @candidosales ) me procurou sobre o problema de carregar  a biblioteca padrão para uso da API do PagSeguro, que eles mesmos distribuem, no Zend Framework. Eu consegui resolver isso e não tinha compartilhado isso no blog mas na lista ZFBrasil, no GoogleGroups, já tinha postado.

Se está com o mesmo problema, veja o ótimo post do Candido sobre como usar e outras explicações: http://candidosg.com/2012/04/28/pagseguro-zend-1-11/

* O modo de carregamento mostrado por ser usado para qualquer tipo de bibliotecas externas/independentes. Mas isso vai acabar por que o PHP-FIG ( github.com/php-fig ) criou o PSR-0 que é o padrão de Autoload do PHP e as novas versões dos frameworks Zend Framework ( ZF2, que está em beta ) e o Symfony ( SF2, já lançado ) já usam bem como outras ferrament e é indicado a todos usarem. :D

Valeu!

28/04/2012 2 comments Read More
Zend_Date e verificação se uma data maior ou menor que outra

Zend_Date e verificação se uma data maior ou menor que outra

O Zend Framework tem uma coleção muito grande de bibliotecas e com ótimos recursos. Uma delas é o Zend_Date, que você já pode supor, é para trabalhar com tudo relacionado a Tempo/Data/Hora.

Um dos ótimos recursos dela é o de comparação de data onde você pode verificar se uma data X é maior ( vem depois ) ou menor ( vem antes ) que uma outra. Evitando assim vários códigos para conversão para timestamp, que é uma das soluções usadas por algumas pessoas.

Vamos pegar 2 datas e comparar elas pra ver qual vem antes ou depois com os métodos isEarlier() e isLater():

Zend_Date::isEarlier() – saber se uma data vem anterior a outra;

Zend_Date::isLater – saber se uma data vem após a outra;

Exemplo:

$data1 = new Zend_Date( '01/02/2012', 'dd/MM/YYYY' );
$data2 = new Zend_Date( '02/02/2012', 'dd/MM/YYYY' );

if( $data1->isEarlier($data2) )
{
    echo 'Correto! Dia 01/02/2012 vem antes de 02/02/2012';
}
else
{
    echo 'Ixe! Deu merda!';
}

if( $data2->isLater($data1) )
{
    echo 'Correto! Dia 02/02/2012 vem depois de 01/02/2012';
}
else
{
    echo 'Ixe! Deu merda!';
}

Veja que os exemplos são parecidos mas só muda a ordem para poder usar os dois métodos.

Para mais leia a documentação: http://framework.zend.com/manual/en/zend.date.html

Obrigado!

26/04/2012 0 comments Read More
Problema do mysql.sock no ZendServer CE para OSX

Problema do mysql.sock no ZendServer CE para OSX

Salve,

Tive um problema após a instalação do ZendServer CE 5.6. Simplesmente não foi criado o link em /tmp/ como de costume, então é fácil resolver:

sudo ln -s /usr/local/zend/mysql/tmp/mysql.sock /tmp/mysql.sock

Se estiver usando o Navcat e ao criar a conexão com o MySQL mesmo colocando todos os dados ele insistir que não está conectando no servidor MySQL, vá para a aba Advanced marque a opção Use socket file: e passe o caminho do link simbólico: /tmp/mysql.sock

Sem problemas agora, é só mandar conectar ou testar para ter uma certeza que funcionou.

Valeu!

08/02/2012 0 comments Read More
Usando o Snippely no Mac OSX compartilhando o banco de dados no Dropbox

Usando o Snippely no Mac OSX compartilhando o banco de dados no Dropbox

Salve,

No post Usando o Snippely em vários locais com Dropbox no Ubuntu Natty 11.04 foi ensinado no Ubuntu, mas serve para qualquer Linux. No Mac OSX, por causa das suas frescuras e estrutura de diretório diferente do Linux, você vai ter um puta trabalho…pra descobrir onde fica o bendito banco de dados do Snippely. Mas agora eu achei e compartilho como usa ele junto com Dropbox.

~/Library/Preferences/com.snippely.{parte variável pela instalação}/Local\ Store/

Agora é entrar na pasta, apagar o application.db e criar o link simbólico:

ln -s ~/Dropbox/Snippely/application.db .

* lembrando que o caminho para seu arquivo application.db no Dropbox pode ser diferente, é só você definir ai o caminho como você usa.

Valeu!

03/01/2012 0 comments Read More
Instalando extensão PHP via Pecl no MAMP/MacOSX

Instalando extensão PHP via Pecl no MAMP/MacOSX

Salve,

Estou usando agora o MacOSX e, por hora, o melhor gerenciador de ambiente de desenvolvimento PHP para MacOSX é o MAMP e pra complementar tem o MAMP Pro que te dá mais ferramentas bacanas. Pra quem está no Linux acho que não precisa de um gerenciador por que o apt-get/yum já faz um ótimo trabalho para gerenciar esses pacotes/programas e é super fácil, ponto para o Linux.

Meu problema foi: no MAMP eu não achei como instalar ( ferramenta nele ) as extensões, coisa que no Wamp e outros tem. Isso é um super #fail. No Linux seria via pecl já estaria tudo lindo, mas no MacOSX não tem local fixo de instalação dos pacotes do PHP, ai deixa a merda fedida de usar.

Como eu tinha instala o PHP pelo Brew antes, ele continua instalado aqui, para saber basta ver se existe o comando php, via terminal. Se existir será fácil:

sudo pecl install mongo

Ele instala aqui: /usr/lib/php/extensions/no-debug-non-zts-20090626/
Depois é criar o link simbólico para a pasta de extensão do MAMP que fica aqui: /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/

* O pecl que vem no MAMP não rodou aqui, dá erro no Config.php, que eu não cheguei a procurar pois já estou com o pecl instalado aqui, mesmo sendo de outra instalação.

Depois que criou o link simbólico, agora é necessário adicionar no php.ini. Isso vai depender de duas coisas: qual versão do PHP está usando e se está usando o MAMP Pro. Seu php.ini será um desses:

/Applications/MAMP/bin/php/php5.2.17/conf/php.ini
/Applications/MAMP/bin/php/php5.3.6/conf/php.ini
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini

Ai voce adiciona: extension=mongo.so

E reinicia o MAMP e pronto. Espero que eles consigam fazer uma ferramenta para realizar essa tarefa por que o valor não é tão baratinho e é algo de extrema importância.

Valeu!

19/12/2011 0 comments Read More
Informando o valor fixo do frete para o Pagseguro

Informando o valor fixo do frete para o Pagseguro

Salve,

Com problema ao especificar o valor do frete para o Pagseguro, demorei mas consegui. Infelizmente a documentação não deixa de forma clara. Então segue a dica:

Na configuração do frete no painel do Pagseguro, escolha o tipo Frete fixo e Adicional com valor fixo informe 0 ( zero ) para o Valor fixo para os adicionais, na adição dos itens, informe o valor do frete no primeiro item e nos demais informe 0 ( zero ). Pronto, agora ele vai aceitar lá como valor de frete o que você informou.

Para calcular o frete direto com o webservice dos Correios/ECT com PHP use a biblioteca que peguei do iMasters e adaptei ( refatorei várias coisas e adicionei funcionalidades ) aqui:  https://github.com/silasrm/correios

09/11/2011 0 comments Read More
Limpando campos do formulário com jQuery

Limpando campos do formulário com jQuery

Salve,

Precisei limpar todos os campos de um form e achei que o jQuery teria algo já pronto, mas não encontrei, com isso nas pesquisa achei a solução super simples do Pau Sanchez:

jQuery.fn.reset = function () {
  $(this).each (function() { this.reset(); });
}

Eu coloquei num arquivo, chamei e usei: $(‘#meu_form’).reset();

Muito fácil!

21/05/2011 0 comments Read More
Convertendo PDF em PNG/JPG

Convertendo PDF em PNG/JPG

Salve,

Precisei converter um PDF simples, uma página, em uma imagem. Mais simples impossível.

*Necessita do ImageMagick

Para PNG:
convert x.pdf x.png

Para JPG:
convert x.pdf x.jpg

Valeu!

21/05/2011 0 comments Read More
Usando o Snippely em vários locais com Dropbox no Ubuntu Natty 11.04

Usando o Snippely em vários locais com Dropbox no Ubuntu Natty 11.04

Salve,

Que o Dropbox é uma mão na roda com sua solução de nuvem integrada ao sistema de arquivo fácil e rápido todos sabem, então juntando isso com o Snippely, ferramenta para guardar Snippets bem fácil, bonita e muito boa feita em Adobe Air, é algo muito bom e simples de integrar.

* O nome da pasta do Snippely dentro da .appdata pode ser diferente entre usuários/máquinas

  1. Instale o Snippely
  2. Configure sua conta do Dropbox
  3. Mova o arquivo ~/.appdata/com.snippely.6E4C758165F11BBEC90F106AA88CF53EB51547B1.1/Local\ Store/application.db para sua pasta do Dropbox: mv ~/.appdata/com.snippely.6E4C758165F11BBEC90F106AA88CF53EB51547B1.1/Local\ Store/application.db ~/Dropbox/Snippely/application.db
  4. Crie um link simbólico desse arquivo no Dropbox: ln -s ~/Dropbox/Snippely/application.db ~/.appdata/com.snippely.6E4C758165F11BBEC90F106AA88CF53EB51547B1.1/Local\ Store/application.db

Pronto, agora é só criar e ao salvar o Dropbox atualizará seu banco de dados de snippets. Onde você desejar usar, é só fazer o link simbólico do arquivo.

12/05/2011 0 comments Read More
Ubuntu 10.10 no Notebook Acer 5741Z-4888

Ubuntu 10.10 no Notebook Acer 5741Z-4888

Salve,

Comprei esse notebook simples para minha esposa, tem uma configuração modesta mas para ela, Jornalista e estudante de Petróleo&Gás, cai muito bem, não precisa de muitos recursos além do oferecido pela máquina, mas eu acho que uma máquina com uma configuração mais nova e potente é sempre bom pois aumenta o período sem precisar de troca, mas essa está muito boa ao comparar o custo/benefício.

Tive problemas com a parte gráfica após instalar o Ubuntu 10.10. O que aconteceu? Quando iniciava, simplesmente não subia o XOrg. Pensei rápido: algo com o driver da placa de video Intel HD. Depois reparei outro problema: não reconheceu a placa de som. Então após pensar fiz o seguinte:

- Entrar via Recovery Mode, iniciar a opção “Interface gráfica com qualidade mínima”, ele vai rodar com driver VESA, ai inicia normal ( ou via terminal mesmo, mas via terminal a minha tela congelava, travando o notebook, quando iniciar com o VESA funciona sem travar ).
- Abrir o terminal e: sudo apt-get update && sudo apt-get upgrade
Baixe as atualizações, aqui foram quase 400MB de atualização, considerando que essa versão já tem vários meses e já está próximo do lançamento da nova versão, a 11.04, que será dia 28/04.
- Adicione o repositório com drivers para placas Intel: sudo add-apt-repository ppa:glasen/intel-driver
- Atualize e instale o pacote xserver-xorg-video-intel com: sudo apt-get update && sudo apt-get install xserver-xorg-video-intel
- Configure o /etc/X11/xorg.conf com o driver Intel.
- Reinicie e teste. Aqui foram esse passo-a-passo.

Então com isso o Compiz está funcionando, carregando normal o XOrg e o áudio também está normal. Não achei mais problemas.
Qualquer novo problema, avise-me para que eu possa ajudar.

Valeu!

22/04/2011 3 comments Read More