Orientação a objetos no CSS Setembro 2, 2009
Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Designer, Gerênciamento de Projetos e Produtos, Linguagens.Tags: CSS, Nicolle Sullivan, Orientação a Objetos em CSS
add a comment
Nicolle Sullivan em sua apresenta descreve a Orientação a Objetos em CSS, criando módulos reutilizáveis, criando uma folha de estilo mais clara, leve e limpa.
Como não conheço bem o assunto e estou engatinhando, preferi deixar o resultado da pesquisa com vídeos e pdf’s que podem ser acessados no link stubbornella.org
Abraço,
Ederson Melo – @edersonmelo
Pagamentos online com paypal e PHP Junho 8, 2009
Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Gerênciamento de Projetos e Produtos, Html, Linguagens, PHP.Tags: paypal, Paypal em sites PHP, PHP, sourceforge
1 comment so far
O uso do Paypal em sites tem sido muito empregado nos últimos tempos. Mas quando vamos pesquisar na web sobre o assunto, acabamos encontrando muitos posts, porém, todo iguais e isso inclui os erros também. Encontrei 20 posts e todos iguais copiados de um único blog, do qual as configurações informadas não funcionam e os links para baixar o “API” em PHP não existe.
O objetivo do post é mostrar a simplicidade na utilização do Paypal em sites PHP.

Então vamos começar com o básico. O arquivo para download aqui ou sourceforge(que recomendo por estar sempre atualizado).
Extrair os arquivos do .zip, que devem conter os seguintes arquivos:
config.inc.php
Configuração do script
global_config.inc.php
Funções globais que serão usadas no script
payment.php
Botão para pagamento pré-configurado
orderform.php
Formulário pré-configurado para testes
process.php
Serve para processar o envio das informações de transação para o PayPal
success.php
Mensagem de resposta de sucesso ao enviar a transação para o PayPal
cancelled.php
Mensagem de Erro quando a transação falha.
ipn.php
Recebe informações da API do PayPal e interpreta os resultados
ipn_success.php
Executado somente se a transação tiver sido executado com sucesso
ipn_error.php
Executado somente se a transação deu erro
Fora o .css que não é preciso comentar pois nada vamos alterar nele.
Dentro da pasta includes você deve configurar o arquivo config.inc.php, com a conta que você deve ter criado no PayPal.
<?php
/*
* config.inc.php
*
* EDERSON MELO
* Copyright (c) 2004 PayPal Inc
* Released under Common Public License 1.0
* http://opensource.org/licenses/cpl.php
*///Configuration Settings
$paypal[business]=”emaildaconta@meumail.com”;
$paypal[site_url]=”http://www.meusite.com/”;
$paypal[image_url]=”";
$paypal[success_url]=”paypal/success.php”;
//$paypal[success_url]=”paypal/ipn/ipn.php”;
$paypal[cancel_url]=”paypal/error.php”;
$paypal[notify_url]=”paypal/ipn/ipn.php”;
$paypal[return_method]=”2″; //1=GET 2=POST
$paypal[currency_code]=”USD”; //[USD,GBP,JPY,CAD,EUR]
$paypal[lc]=”US”;$paypal[url]=”http://www.paypal.com/cgi-bin/webscr”;
//$paypal[url]=”https://www.paypal.com/cgi-bin/webscr”;
//$paypal[url]=”https://www.sandbox.paypal.com/cgi-bin/webscr”;
$paypal[post_method]=”fso”; //fso=fsockopen(); curl=curl command line libCurl=php compiled with libCurl support
$paypal[curl_location]=”/usr/local/bin/curl”;$paypal[bn]=”toolkit-php”;
$paypal[cmd]=”_xclick”;//Payment Page Settings
$paypal[display_comment]=”0″; //0=yes 1=no
$paypal[comment_header]=”Comments”;
$paypal[continue_button_text]=”Continue >>”;
$paypal[background_color]=”"; //”"=white 1=black
$paypal[display_shipping_address]=”"; //”"=yes 1=no
$paypal[display_comment]=”1″; //”"=yes 1=no//Product Settings
$paypal[item_name]=”$_POST[item_name]“;
$paypal[item_number]=”$_POST[item_number]“;
$paypal[amount]=”$_POST[amount]“;
$paypal[on0]=”$_POST[on0]“;
$paypal[os0]=”$_POST[os0]“;
$paypal[on1]=”$_POST[on1]“;
$paypal[os1]=”$_POST[os1]“;
$paypal[quantity]=”$_POST[quantity]“;
$paypal[edit_quantity]=”"; //1=yes “”=no
$paypal[invoice]=”$_POST[invoice]“;
$paypal[tax]=”$_POST[tax]“;//Shipping and Taxes
$paypal[shipping_amount]=”$_POST[shipping_amount]“;
$paypal[shipping_amount_per_item]=”";
$paypal[handling_amount]=”";
$paypal[custom_field]=”";//Customer Settings
$paypal[firstname]=”$_POST[firstname]“;
$paypal[lastname]=”$_POST[lastname]“;
$paypal[address1]=”$_POST[address1]“;
$paypal[address2]=”$_POST[address2]“;
$paypal[city]=”$_POST[city]“;
$paypal[state]=”$_POST[state]“;
$paypal[zip]=”$_POST[zip]“;
$paypal[email]=”$_POST[email]“;
$paypal[phone_1]=”$_POST[phone1]“;
$paypal[phone_2]=”$_POST[phone2]“;
$paypal[phone_3]=”$_POST[phone3]“;?>
O Paypal pode ser bem incrementado e criado configurações intermediárias durante o processo de pagamento. Como adicionar loading e ícones personalizados no seu site.
Por falando em ícones, no site fineicons encontrei os principais cartões de pagamento, até mais do que aceito pelo Paypal e são excelentes para incrementar seu site.
Espero que o post tenha real utilidade e que mais a frente possamos estar discutindo maiores implementações.
Abraço,
Ederson Melo – @edersonmelo
genealógia das linguagens de programação Março 11, 2009
Posted by edersonmelo in Ajax, Android, Arquitetura e Design de Sistemas Para Web(e intranet), Asp, CSS, CSharp, DotNEt, Gerênciamento de Projetos e Produtos, Grails, Groovy, Hibernate, Html, JBoss, Java, Linguagens, PHP, Python, Spring, Visual Studio, XML, XSL, c#, jpa, jsf, jsp, jstl, php, python, struts, tomcat.Tags: C#, delphi, dot.net, genealógia das linguagens de programação, PHP, Python, vb
2 comments
Você alguma vez parou para pensar a origem, a raiz da linguagem que você está usando hoje? Eu não, até a achar um mapa, ou árvore genealógica das linguagens de programação.

É muito bacana, vou mandar imprimir em formato de pôster para por na parede (Sem comentários, sei que não tem nada mais nerd).

Ederson Melo
Microformatos Outubro 15, 2008
Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Html, Linguagens, XML.Tags: hCalendar, hCard, Html, Microformatos, Technorati, W3C Cascading Style Sheet, Web Standards Project, XHTML, XML
add a comment
Microformatos é um conjunto de formatos abertos projetados para adicionar semântica em qualquer documento XML, especialmente HTML/XHTML.
Foi criado por Tantek Çelik, chefe de tecnologia do Technorati e menbro do Web Standards Project e especialista da W3C Cascading Style Sheet.
Aplicações, como buscadores, podem extrair informações específicas de páginas que usam microformatos, como informações de contato, evento, licença, etc. Como exemplo para indicar que a página apontada por um link é de um amigo:
<a href=”http://www.siteseuamigo.com/” rel=”friend”>Amigo</a>
Os mecanismos de busca e os spiders possuem um algoritmo cuja função principal é verificar o que é mais relevante, de forma a criar relações
entre as informações obtidas sobre cada documento da web, que por sua vez geram ratings e rankings baseados nestas inter–relações.
A série de especificações:
- hCalendar
- hCard
- rel–license
- rel–nofollow
- rel–tag
- VoteLinks
- XFN (http://gmpg.org/xfn/) (see also: xfn–implementations)
- XMDP (http://gmpg.org/xmdp/)
- XOXO
Fontes:
Wikipedia | microformats
Abraço,
Ederson Melo
Tamanhos e acessibilidades Outubro 8, 2008
Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Gerênciamento de Projetos e Produtos, Html.Tags: %, cm, CSS, em, ex, in, mm, pc, pt, px, unidades de medidas em CSS
add a comment
Nos cursos sempre aprendemos(ou deveríamos aprender) unidades de medidas em CSS. Tais unidades, tem como importância o auxílio na acessibilidade do site e evidentemente que na formatação do mesmo.
O valor de uma propriedade, por exemplo, font-size, pode-se expressar em unidades de comprimento, ou em unidades de porcentagem.
Unidades de Comprimento
Unidades absolutas
* in (polegadas)
* cm (centímetros)
* mm (milímetros)
* pt (pontos)
* pc (picas)
* px (pixels)
Unidades relativas
* em
* ex
Unidades de Porcentagem
* %
De todas, as unidades recomendadas são as relativas.
Com esse tipo de medida, o autor mantém um controle relativo em relação ao tamanho da fonte padrão do usuário, onde pode especificar quanto maior ou menor se vê o texto na página.
Mas por que não utilizar medidas absolutas? As unidades absolutas como px (pixel), cm (centímetros), pt (pontos), permitem um controle exato da aparência da página, sempre e quando, que seja visualizada com o fim que ela foi projetada (onde se acaba a acessibilidade da página). Por exemplo, a unidade px tem um valor diferente dependendo da resolução da tela e do tipo de computador usuário. Assim, um sistema Windows mantém uma equivalência de 96px por polegada, e o Macintosh, 72 px por polegada. Se utilizarmos pt (pontos), no lugar de px (pixels) o tamanho dos pontos dependem da resolução do usuário.
Abaixo a tabela equivalente as medidas e seus valores aproximados, pois tudo depende do Navegador utilizado e também do Sistema Operacional:
| Pontos | Pixels | Em’s | % |
|---|---|---|---|
| 6pt | 8px | 0.5em | 50% |
| 7pt | 9px | 0.55em | 55% |
| 7.5pt | 10px | 0.625em | 62.5% |
| 8pt | 11px | 0.7em | 70% |
| 9pt | 12px | 0.75em | 75% |
| 10pt | 13px | 0.8em | 80% |
| 10.5pt | 14px | 0.875em | 87.5% |
| 11pt | 15px | 0.95em | 95% |
| 12pt | 16px | 1em | 100% |
| 13pt | 17px | 1.05em | 105% |
| 13.5pt | 18px | 1.125em | 112.5% |
| 14pt | 19px | 1.2em | 120% |
| 14.5pt | 20px | 1.25em | 125% |
| 15pt | 21px | 1.3em | 130% |
| 16pt | 22px | 1.4em | 140% |
| 17pt | 23px | 1.45em | 145% |
| 18pt | 24px | 1.5em | 150% |
| 20pt | 26px | 1.6em | 160% |
| 22pt | 29px | 1.8em | 180% |
| 24pt | 32px | 2em | 200% |
| 26pt | 35px | 2.2em | 220% |
| 27pt | 36px | 2.25em | 225% |
| 28pt | 37px | 2.3em | 230% |
| 29pt | 38px | 2.35em | 235% |
| 30pt | 40px | 2.45em | 245% |
| 32pt | 42px | 2.55em | 255% |
| 34pt | 45px | 2.75em | 275% |
| 36pt | 48px | 3em | 300% |
Fonte: Não lembro(Peço desculpas mas realmente não lembro as fontes consultadas)
Abraço,
Ederson Melo
CMS’s Outubro 1, 2008
Posted by edersonmelo in Ajax, Arquitetura e Design de Sistemas Para Web(e intranet), Banco de Dados, CSS, Gerênciamento de Projetos e Produtos, Hibernate, Html, Java, Linguagens, MSSql, Mysql, Oracle, PHP, PostgreSQL, Python, XML, XSL, jsf, jsp, jstl, php, python, tomcat.Tags: apache license, cms, drupal, ez publish, free, GPL, informix, japs, Java, joomla, microsoft sql, Mysql, Oracle, PHP, phpcms, plone, PostgreSQL, Vignette, xoops
add a comment
Procurando sobre CMS’s desenvolvidos em php, para ter uma idéia melhor da quantidade que temos disponíveis, achei uma lista completa na wiki. Coloquei a lista mais abaixo para quem deseja conferir.
E claro, aprendi um pouco mais sobre CMS.
CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo.
Um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação.
Características na maioria dos CMS:
- Suporte a múltiplos usuários (registro, gerenciamento e atribuição de papéis a vários usuários).
- Edição de conteúdo facilitada.
- As funcionalidades iniciais podem ser ampliadas ou novas podem ser adicionadas através de plugins e/ou módulos.
- Gerenciamento e controle de documentos através de publicação, revisão, arquivamento e eliminação de documentos.
- Camada de apresentação gerenciada através de templates, permitindo a troca rápida da interface independente do conteúdo.
- Controle de Fluxo. Por exemplo, um usuário pode enviar um artigo para um site, mas este não é publicado imediatamente, até que seja revisto por um editor e depois aprovado por um editor-chefe.
Em 1995, a CNET, uma empresa de mídia web, resolveu comercializar seu CMS através de uma empresa à parte, denominada Vignette, iniciando assim o comércio de gerenciadores de conteúdo.
Fontes:
Abraço,
Ederson Melo
seletor :not() Setembro 10, 2008
Posted by edersonmelo in CSS, Html, Linguagens.Tags: anieto2k, CSS, css3, FF 2, IE 5.5, IE 6, IE 7, IE8b2, iPhone 3G, Opera 9.5b, Saf 3.0 Win, Saf 3.1 Win, seletor :not(), W3C
2 comments
O seletor :not() ainda não está implementado completamente nos browsers, como a tabela abaixo mostra:
| Value | IE 5.5 | IE 6 | IE 7 | IE 8b2 | FF 2 | FF 2 | Saf 3.0 Win | Saf 3.1 Win | iPhone 3G | Opera 9.5b |
|---|---|---|---|---|---|---|---|---|---|---|
|
Negation of a selector |
No | Yes | Yes | Yes | ||||||
Mas me ajudou em uma class genérica onde acabei tendo alguns ítens do type Submit mesmo. Basicamente ele tem como funcionalidade básica negar algo:
input#exemplo {
background-color:blue;
}
/* Todos os elementos que não contenham o #exemplo */
input:not(#exemplo) {
background-color:green;
}
/* Todos os elementos que não sejam do tipo Submit */
input:not([type="submit"]) {
font-size:3em;
}
Fontes:
W3C
http://www.w3.org/TR/css3-selectors/
anieto2k
http://www.anieto2k.com/2008/08/25/el-selector-not-de-css3/
Abraço,
Ederson Melo
Fluxo conteúdo dentro tabelas Setembro 8, 2008
Posted by edersonmelo in CSS, Html, Linguagens.Tags: auto_table, CSS, dinâmicos, fixed_table, tabelas, table
add a comment
Em muitos casos o uso de tabelas é recomendado. Casos em que você realmente tem uma tabela lá no meio do seu layout, por exemplo.
Em alguns casos, as tabelas podem incluir dados dinâmicos ou não. Uma solução é a utilização de css’s específicos para que o fluxo acompanhe o conteúdo na tabela.
Então podemos utilizar:
Para fluxo acompanhar o conteúdo:
.auto_table{
table-layout:auto;
}Para fluxo de tamanho fixo:
.fixed_table{
table-layout:fixed;
}
Abraço,
Ederson Melo
