:)

Web

Artigos sobre desenvolvimento web.

Inversor de URL’s

Posted by on mar 28, 2011 in Dica, Web | 0 comments

A gente sempre acha naqueles protetores de links urls invertidas. O que realmente atrapalha! Então eu tava usando por conta essa ferramenta aqui, tá no site da Sr. Web, mas de autoria minha =)

Sugestões são bem vindas! Clique no botão abaixo para acessar:

Inversor de URL Read More

Acid2 e Acid3 no IE9 e na concorrência

Posted by on mar 18, 2011 in Internet, Resenha, Web | 3 comments

Acid2 e Acid3 no IE9 e na concorrência

A Microsoft liberou o IE9 essa semana, e em dia conseguiram 2 milhões de downloads. Por enquando a atualização do navegador é opcional e ele só é suportado apartir do Vista. Usuários do Windows XP continuarão usando a versão 8 do navegador, e todos, inclusive a Miscrosoft, esperam que as pessoas abandonem o IE6.

E hoje, lendo um artigo do Meiobit em que eles diziam que a nova versão é para o usuário doméstico e não pro harduser, me deparei com o seguinte:

Não adianta gastar homem/hora, um recurso finito para implementar alguma bobagem que ninguém usa só pra fazer bonito num Acid3 da vida. Que aliás só diz respeito a nerds, que não são o público-alvo do IE9.

Pra quem não conhece, os Acid Tests, testam a performance dos navegadores em relação aos webstandards. O IE sempre se saiu muito mal nos testes, abaixo uma comparação usando o Acid 2:

Acid2 IE

Clique no botão de leia mais para continuar lendo este artigo.

Read More

InfoGráfico – Tecnologias e Sistemas econômicos

Posted by on dez 22, 2010 in Web | 0 comments

Read More

“CALA BOCA GALVAO” em 1º lugar nos Trending Topics do Twitter

Posted by on jun 12, 2010 in Internet, Web | 0 comments

Nimguém está imune.

Começou uma campanha no Twitter logo após os shows de abertura da copa chamada CALABOCAGALVAO. Porque o cargo de locutor pra ele é pouco, precisa de um monólogo pra estar satisfeito. E o pior é ele achar que tá “abafando”, que provavelmente se pensa tão popular, não escapou disso. Finalmente o povo agora pode dar um feedback do que acha do locutor mais popular brasileiro. O site What the Trend divulga estatísticas em tempo real dos trending topics do twitter.

A hashtag pulou rapidamente do 3º lugar pro 1º em cerca de 3 horas! É a típica propaganda negativa, e o pior, subiu rápido, porque o os estrangeiros ajudaram na campanha perguntando: “what is #CALABOCAGALVAO“?

E aí pronto! O humor entra em cena. Foi espalhado que Galvão era um pássaro em extinsão, ou que seria o novo single da Lady Gaga, ou as duas coisas combinadas, que seria um single sobre o pássaro em extinsão no Brasil. Depois disso, virou baderna!

O What The Trend ainda dá uma explicação:

People are saying “Shut Up Galvão”, Galvão Bueno is a Brazilian sports commentator who is a little annoying sometimes. Not a rare bird and not a Lady Gaga Single.

E tem também, a versão brasileira da explicação:

Fico imaginando, como deve estar se sentindo Galvão Bueno, provavelmente puto, porém contente, acho que ele acredita na filosofia: “Falem mal, mas falem de mim”. Com certeza amanhã pela manhã ele será o cara mais procurado da Copa do Mundo. Quero ver ele dar as caras no programa Bem Amigos da SporTV e falar agora de Twitter! Agora Galvão Bueno é celebridade mundial!

E agora, abracem a campanha #CALABOCAFAUSTAO!.

Read More

Classe PHP para integridade de dados.

Posted by on fev 18, 2010 in php, Web | 0 comments

Esse código é meio temporário, em breve eu coloco ele numa classe e disponibilizo para vocês:

Vocês podem usar este código a vontade nos trabalhos de vocês.

Vejam abaixo:
[php smarttabs="true" tabsize="4" toolbar="true"]<?php

//Troca aspas simples por entities
function _no_single_quotes($str) {
return str_replace("’","&#39;",$str);
}

//Retira as barras inversas
function _no_slashes($str) {
return str_replace("\","",$str);
}

//Deixa a string somente com números
function _just_numbers($str) {
return ereg_replace("[^0-9]","",$str);
}

//Retira: espaços no início e fim, barras inversas
//Troca por entities: ampersand (&), aspas dupla ("), aspas simples (‘), menor que (<), maior que (>)
function fix_string($str) {
return trim(_no_slashes(htmlspecialchars($str,ENT_QUOTES)));
}

//Trata uma string para ser usada em URLs ou nomes de arquivos
function fix_to_url($str) {
$str_lower = strtolower(trim($str)); //remove espaços do início e fim e deixa tudo em minúsculo
$strtr = strtr($str_lower, ‘ÀÁÃÂÉÊÍÓÕÔÚÜÇÑàáãâéêíóõôúüçñ ‘,’aaaaeeiooouucnaaaaeeiooouucn-’); //traduz alguns caracteres
$str_replace = ereg_replace(‘[^0-9a-z-]‘,”,$strtr); //deixa a string apenas com alfa numéricos e com os traçõs (-)
return ereg_replace(‘-{1,}’, ‘-’, $str_replace); //retorna a string formatada para uma URL (aplica um novo replace para tirar os traços que ficaram em sequência (—) )
}

//Inversão entre os formatos dd/mm/yyyy e yyyy-mm-dd
function fix_date($date) {
$x = split("[^0-9]",$date);
$sep = (strlen($x[0]) <= 2)?"-":"/";
return $x[2].$sep.$x[1].$sep.$x[0];
}

//Formata um datetime para o padrão português Brasil
function fix_datetime($datetime) {
$x = explode(" ",$datetime);
return fix_date($x[0])." ".$x[1];
}

//Formatar o número de telefone/fax
function fix_phone($number) {
$x = _just_numbers($number);
if (strlen($x) >= 10) {
$final = substr($x,-4);
$pre = substr($x,-8,4);
$ddd = substr($x,-10,2);
return "($ddd) $pre-$final";
} else {
return $number;
}
}

//Formata o número do CPF
function fix_cpf($cpf) {
$cpf = _just_numbers($cpf);
return substr($cpf,0,3).".".substr($cpf,3,3).".".substr($cpf,6,3)."-".substr($cpf,9,2);
}

//Formata o número do CNPJ
function fix_cnpj($cnpj) {
$cnpj = _just_numbers($cnpj);
return substr($cnpj,0,2).".".substr($cnpj,2,3).".".substr($cnpj,5,3)."/".substr($cnpj,8,4)."-".substr($cnpj,12,2);
}

//Formata o CEP
function fix_cep($cep) {
$cep = _just_numbers($cep);
return substr($cep,0,5)."-".substr($cep,5,3);
}

//Retira atributos e tags (Útil para limpar o conteúdo submetido através de um textarea com o editor TinyMce)
//Utilize o parâmetro $tags para informar quais tags são aceitas e o parâmetro $attributes para informar quais atributos *não* são aceitos
function fix_html_text($text, $tags = array("b","strong","i","em","strike","ul","ol","li","blockquote","q","cite","a","img","object","param","embed","sub","sup","table","th","tr","td","caption","h1","h2","h3","h4","h5","h6","p","pre","address","br","hr"), $attributes = array("style")) {

$text = stripslashes($text); //Remove aspas de addslashes (o valor sempre será recebido com aspas, em /config/globals_cfg.php todos os $_POST são configurados para receber addslashes)

//Atributos não permitidos
foreach ($attributes as $attribute) {
preg_match_all("|$attribute="(.*)"|U",$text,$out_not_allowed, PREG_PATTERN_ORDER);
foreach ($out_not_allowed[0] as $attribute_not_allowed) {
$attributes_not_allowed[] = $attribute_not_allowed;
}
}

//Array com todas as tags permitidas
foreach ($tags as $tag) {
$allowed_tags[] = "<$tag>";
}

$replace = str_replace($attributes_not_allowed,null,$text); //substitui por null todos os atributos não desejados
$replace2 = eregi_replace(" {1,}>",">",$replace); //retira algumas sobras, ex. <strong > para <strong>
$replace3 = eregi_replace(" {1,}"," ",$replace2); //substitui sequências de espaços por um espaço, ex. <img src="foto.jpg" /> para <img src="foto.jpg" />
$replace4 = eregi_replace("<[A-Za-z]{1,}>(&nbsp;| )?</[A-Za-z]{1,}>","",$replace3); //exclui tags vazias, ex. <p></p>, <div> </div>
$fixhtml = $replace4;

if($encoding == ‘iso-8859-1′){
return _no_single_quotes(html_entity_decode(strip_tags($fixhtml,implode($allowed_tags))));
} else {
return _no_single_quotes(strip_tags($fixhtml,implode($allowed_tags)));
}
}

//Limita a quantidade de palavras de uma string
function word_limit($str, $limit = 100) {
$words = explode(" ",$str);
if (count($words) > $limit) {
for ($i = 0; $i <= $limit-1; $i++) {
$w[] = $words[$i];
}
return implode(" ",$w)."…";
} else {
return $str;
}
}

//Quebra uma string em linhas usando um caracter de quebra de linha
function word_wrap($str, $width = 75, $break = "<br />") {
return wordwrap($str,$width,$break,1);
}

//Checa se é um email válido
function is_email($email) {
return (preg_match("/^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/",$email))?true:false;
}

//Checa se é uma data válida
//Utilize o parâmetro $format para informar o formato da data a ser validada
function is_date($date, $format = "dd/mm/yyyy") {
$w = split("[^a-zA-Z0-9]",$format);
$x = split("[^0-9]",$date);
$z = (count($w) === count($x))?array_combine($w, $x):false;
return ($z and checkdate($z['mm'],$z['dd'],$z['yyyy']))?true:false;
}

//Checa se pode ser um telefone
function is_phone($number) {
return (strlen(_just_numbers($number)) >= 10)?true:false;
}

function is_cpf($cpf) {
/**
* Função para validar CPF (Cadastro de Pessoas Físicas)
*
* @author Paulo Ricardo F. Santos <v1d4l0k4.at.gmail.dot.com>
* @copyright Copyright &copy; 2006, Paulo Ricardo F. Santos
* @license http://creativecommons.org/licenses/by-nc-sa/2.0/br Commons Creative
* @version 20070316
* @param string $cpf CPF que deseja validar
* @return bool true caso seje válido, false caso não seje válido
*/
$cpf = str_pad(ereg_replace(‘[^0-9]‘, ”, $cpf), 11, ’0′, STR_PAD_LEFT);

if (strlen($cpf) != 11 || $cpf == ’00000000000′ || $cpf == ’99999999999′) {
return false;
} else {
for ($t = 9; $t < 11; $t++) {
for ($d = 0, $c = 0; $c < $t; $c++) {
$d += $cpf{$c} * (($t + 1) – $c);
}

$d = ((10 * $d) % 11) % 10;

if ($cpf{$c} != $d) {
return false;
}
}

return true;
}
}

function is_cnpj($cnpj) {
/**
* Função para validar CNPJ (Cadastro Nacional da Pessoa Jurídica)
*
* @author Paulo Ricardo F. Santos <v1d4l0k4.at.gmail.dot.com>
* @copyright Copyright &copy; 2006, Paulo Ricardo F. Santos
* @license http://creativecommons.org/licenses/by-nc-sa/2.0/br Commons Creative
* @version 20070316
* @param string $cnpj CNPJ que deseja validar
* @return bool true caso seje válido, false caso não seje válido
*/
$cnpj = str_pad(ereg_replace(‘[^0-9]‘, ”, $cnpj), 14, ’0′, STR_PAD_LEFT);

if (strlen($cnpj) != 14) {
return false;
} else {
for ($t = 12; $t < 14; $t++) {
for ($d = 0, $p = $t – 7, $c = 0; $c < $t; $c++) {
$d += $cnpj{$c} * $p;
$p = ($p < 3) ? 9 : –$p;
}

$d = ((10 * $d) % 11) % 10;

if ($cnpj{$c} != $d) {
return false;
}
}

return true;
}
}

//Verfica se a string pode ser um CEP (número com 8 dígitos)
function is_cep($cep) {
return (strlen(_just_numbers($cep)) == 8)?true:false;
}

//Verifica se a string pode ser uma imagem (baseado na extensão), não é verificado se o arquivo é realmente uma imagem
function is_img($str, $img_exts = array("JPG","JPEG","jpg","jpeg","GIF","gif","PNG","png")) {
$ext = _extension($str);
return (in_array($ext,$img_exts))?true:false;
}

?>[/php]

Read More

Themes e Labs no Google Apps

Posted by on mar 31, 2009 in Gmail, Google, Web | 4 comments

Google AppsO Google Apps implementou hoje o recurso de temas para o Gmail para a sua versão corporativa. Os temas presentes são os mesmos contidos na versão do Gmail atual sem qualquer alteração.

Pra quem gosta de dar uma customizada no Gmail e enjoou daquele verde horroroso das labels, isso é muito bem. Pois aquele verde realmente era irritante.

Percebi também que o Gmail Labs também está ativo, mas não sei dizer ao certo se já estava ativo ou não, pois percebi apenas hoje.

UPDATE: Descobri hoje que o Google inaugurou a versão do labs para o Apps hoje.

Read More
Página 1 de 212