//Data formato mysql: 2011-12-31
function data_valida($str_data){
$aDate_parts = explode(“-”,$str_data);
$dia=$aDate_parts[2];
$mes=$aDate_parts[1];
$ano=$aDate_parts[0];
if(checkdate($mes,$dia,$ano)){
if(($ano>1920)&&($ano<2000)){
return true;
}
}
return false;
}
Validar data de aniversário
30 11 2011Comentários : Deixar um comentário »
Categorias : Noticias
Desabilitar cache no WordPress
12 10 2011Você está editando um site no WordPress, muda aqui, muda ali, e nada funciona. Parece até que está editando outra página, em outro local, ou que os arquivos não estão sendo enviados por FTP pro lugar certo.
Isso pode ser problema de cache.
A vantagem de usar cache é que torna o site muito mais rápido. A desvantagem é que no desenvolvimento acontece esse tipo de problema relatado acima.
Existem vários plugins para controlar o cache no WordPress. Mas esses plugins são ótimos para melhorar a performance DEPOIS que o site está pronto. Durante o desenvolvimento, o melhor é trabalhar sem cache.
Pra fazer isso, basta editar o seu arquivo wp-config.php e acrescentar as linhas:
//Para habilitar o cache
define('WP_CACHE', true);
define('ENABLE_CACHE', true);
//Para desabilitar o cache
define('WP_CACHE', false);
define('DISABLE_CACHE', true);
// Para definir uma expiração para o cache, em segundos
//define('CACHE_EXPIRATION_TIME', 3600);
Há outras opções, mas estas são as mais simples e que podem salvar um bom tempo do seu trabalho.
Comentários : Deixar um comentário »
Categorias : Tecnologia, Wordpress
Alterando o limite das palavras no the_excerpt()
26 09 2011A função the_excerpt() traz as primeiras 55 palavras do post. Se o post tiver mais de 55 palavras, acrescenta reticências “…” e um link para ver o post inteiro. Esta função é bem limitada e rígida, não tem muito o que fazer com ela. São 55 palavras, as reticências e o link, e não tem choro.
Mas e se você quiser mostrar apenas as 20 primeiras palavras, e depois botar um “[...]” e tirar o link que geralmente fica em inglês? Até a versão 3.2.1 do WP simplesmente não dá. Só no braço.
É óbvio que alguém já passou por essa necessidade antes. Existem vários plugins pra alterar o funcionamento do Excerpt. Sugiro usar o Content and Excerpt Word Limit, ele é bem simples, fácil de configurar e funciona. Nas configurações você define como quer que apareçam as reticências (ou o que for) no final da frase e qual o texto do ‘leia mais’.
Um macete: Se você não quiser o link “Leia Mais”, no campo “What do you want your read more link to be?”, não apague o conteúdo, mas deixe um espaço. Se você apagar, o plugin irá colocar o texto default de novo. Em inglês.
Comentários : Deixar um comentário »
Categorias : Tecnologia, Wordpress
Angry Birds em Stonehenge?!?
25 09 2011
Comentários : Deixar um comentário »
Categorias : Tecnologia
Diferentes formas de sintaxe em PHP
12 09 2011O PHP é um interpretador de código bastante flexível. Ele compreende e aceita diferentes tipos de sintaxe sem qualquer diferença em relação a performance.
Quem é mais familiarizado com programação estilo Basic ou ASP encontrará mais facilidade usando if ()… endif; por exemplo, enquanto aqueles mais familiarizados com o C irão preferir o if(){..}. Seguem abaixo algumas sintaxes usadas pelo PHP:
if(condicao){
}elseif(outra_condicao){
}else{
}
//ou:
if(condicao):
elseif(outra_condicao):
else:
endif;
for($i=0;$i<$x;$i++){
}
//ou
for($i=0;$i<$x;$i++):
endfor;
foreach($array as $key=>$value){
}
//ou
foreach($array as $key=>$value):
endforeach;
while($condicao){
}
//ou
while($condicao):
endwhile;
switch($variavel){
case ‘x’:
break;
default:
break;
}
//ou
switch($variavel):
case ‘x’:
break;
default:
break;
endswitch;
Comentários : Deixar um comentário »
Categorias : PHP, Tecnologia
Geração de senha aleatória (randômica) em PHP
12 09 2011Sabem aquela tela de login com um botão ‘esqueci minha senha’?
Para sistemas que não criptografam a senha com MD5 (ou outro algoritmo de encriptação), basta ler a senha no banco de dados e enviar para o e-mail do usuário.
Mas se a senha é criptografada, geralmente não há como recuperá-la. É necessário criar uma senha nova e enviar para o usuário.
É para isso que serve a função abaixo. Esta função pode ser melhorada, incluindo caracteres especiais, tirando os números “1″ e “0″ e as letras “l”e “o”… enfim, cada um pode mudar conforme sua necessidade.
Antes que alguém comente, é claro que existem outras formas para geração de senha, usando array com shuffle, expressão regular, etc. Este é apenas um método, bastante simples e fácil de entender; a intenção é ser o mais didático possível.
//Gera senha aleatória no formato a9A9a9A9, com o tamanho que for definido pelo parametro length
function create_password($length = "6"){
$new_pass = "";
$kind=0;
for($i=0; $i<$length; $i++) {
// $kind=rand(1,3);
$kind++;
if ($kind>4){
$kind=1;
}
switch ($kind){
case 1:
$char=chr(rand(97,122)); //a-z
break;
case 2:
$char=chr(rand(48,57)); //0-9
break;
case 3:
$char=chr(rand(65,90)); //A-Z
break;
case 4:
$char=chr(rand(48,57)); //0-9
break;
}
$new_pass .= $char;
}
return $new_pass;
}
Comentários : Deixar um comentário »
Categorias : PHP, Tecnologia
Select de Estados (UFs) em PHP
12 09 2011Um problema bem conhecido dos desenvolvedores de sites é a criação de um campo select com uma lista dos estados brasileiros.
Vários sistemas utilizam uma tabela com os estados, aproveitando para colocar informações específicas como impostos, fuso horário, etc.
Quando não há essa necessidade, podemos simplesmente usar uma função para montar esse select automaticamente:
function insere_select_uf($nome_campo, $uf_default){
$result='
<select name="'.$nome_campo.'">
<option value="__">Escolha um Estado</option>
<option value="AC"'.($uf_default=="AC"?" selected":"").'>Acre</option>
<option value="AL"'.($uf_default=="AL"?" selected":"").'>Alagoas</option>
<option value="AM"'.($uf_default=="AM"?" selected":"").'>Amazonas</option>
<option value="AP"'.($uf_default=="AP"?" selected":"").'>Amapá</option>
<option value="BA"'.($uf_default=="BA"?" selected":"").'>Bahia</option>
<option value="CE"'.($uf_default=="CE"?" selected":"").'>Ceará</option>
<option value="DF"'.($uf_default=="DF"?" selected":"").'>Distrito Federal</option>
<option value="ES"'.($uf_default=="ES"?" selected":"").'>Espírito Santo</option>
<option value="GO"'.($uf_default=="GO"?" selected":"").'>Goiás</option>
<option value="MA"'.($uf_default=="MA"?" selected":"").'>Maranhão</option>
<option value="MG"'.($uf_default=="MG"?" selected":"").'>Minas Gerais</option>
<option value="MS"'.($uf_default=="MS"?" selected":"").'>Mato Grosso do Sul</option>
<option value="MT"'.($uf_default=="MT"?" selected":"").'>Mato Grosso</option>
<option value="PA"'.($uf_default=="PA"?" selected":"").'>Pará</option>
<option value="PB"'.($uf_default=="PB"?" selected":"").'>Paraíba</option>
<option value="PE"'.($uf_default=="PE"?" selected":"").'>Pernambuco</option>
<option value="PI"'.($uf_default=="PI"?" selected":"").'>Piauí</option>
<option value="PR"'.($uf_default=="PR"?" selected":"").'>Paraná</option>
<option value="RJ"'.($uf_default=="RJ"?" selected":"").'>Rio de Janeiro</option>
<option value="RN"'.($uf_default=="RN"?" selected":"").'>Rio Grande do Norte</option>
<option value="RO"'.($uf_default=="RO"?" selected":"").'>Rondônia</option>
<option value="RR"'.($uf_default=="RR"?" selected":"").'>Roraima</option>
<option value="RS"'.($uf_default=="RS"?" selected":"").'>Rio Grande do Sul</option>
<option value="SC"'.($uf_default=="SC"?" selected":"").'>Santa Catarina</option>
<option value="SE"'.($uf_default=="SE"?" selected":"").'>Sergipe</option>
<option value="SP"'.($uf_default=="SP"?" selected":"").'>São Paulo</option>
<option value="TO"'.($uf_default=="TO"?" selected":"").'>Tocantins</option>
</select>';
return $result;
}
Comentários : Deixar um comentário »
Categorias : PHP, Tecnologia
Função para inserir combobox (select) automaticamente em PHP
12 09 2011Os programadores PHP sabem que a montagem de campos select em formulários geralmente é trabalhosa e repetitiva. Esse script tem a função de automatizar um pouco esse processo. Uso ele largamente em minhas aplicações:
/*
COMO FUNCIONA:
O nome do campo input que está pedindo o lookup. Ex: <input name=$nome_campo value=$valor $on_change>
Ex: select $campo_desc from $tabela where $where order by $order_by
A variável campo_desc pode ter vários nomes de campos separados por vírgula e sem espaço. Ex: 'campo_1,campo2,campo_3'.
Nesse caso o select vai mostrar uma lista no formato 'campo_1 - campo_2 - campo_3'
campo_id_result é usado somente para quando há problema de ambiguidade, no caso de concatenaçao de duas tabelas que possuem o mesmo id.
*/
function insere_select($nome_campo,$campo_id,$campo_desc,$tabela,$where,$order_by,$valor,$onChange, $campo_id_result=''){
$sql="SELECT ".addslashes($campo_id).", ".addslashes($campo_desc)." FROM ".addslashes($tabela);
if(!empty($where)):
$sql.=" WHERE (".$where.")";//Não pode ter addslashes aqui, pois pode ser passado parametro entre aspas
endif;
if(!empty($order_by)):
$sql.=" ORDER BY ".$order_by;
endif;
// $retorno=$sql.". VALOR PADRAO=".$valor.", campo_id_result=".$campo_id_result.".";
$retorno.="<select name='".$nome_campo."' id='".$nome_campo."' ".$onChange."><option value=''>== Escolha ==</option>";
$rs_aux=mysql_query($sql) or die(mysql_error()."\n SQL: ".$sql);
if (mysql_num_rows($rs_aux)>0):
if(!empty($campo_id_result) and ($campo_id_result!="undefined")):
$campo_id=$campo_id_result;
endif;
while ($row_rs_aux=mysql_fetch_array($rs_aux)):
$retorno.="
<option value='".$row_rs_aux[$campo_id]."'";
if ($valor==$row_rs_aux[$campo_id]):
$retorno.=" selected";
endif;
$retorno.=">";
$desc=explode(',',$campo_desc);
$i=0;
foreach($desc as $key=>$value):
if($i>0):
$retorno.=" - ";
endif;
$i++;
$retorno.=$row_rs_aux[$value];
endforeach;
$retorno.="</option>";
endwhile;
mysql_free_result($rs_aux);
endif;
$retorno.="</select>";
// echo htmlspecialchars($retorno);
return $retorno;
}
Comentários : Deixar um comentário »
Categorias : PHP, Tecnologia
Tabelas, quebras de linha e problemas de formatação de texto no WordPress
10 09 2011Quem tem um mínimo de experiência no WordPress já deve ter descoberto que o editor dele (TinyMCE para WP) não dá suporte, elimina ou desconfigura completamente as tabelas, às vezes até mesmo aquelas inseridas à mão no código HTML.
Há três formas para se resolver isso: baixando a versão full do TinyMCE, instalando um plugin para fazer aparecer os botões de tabelas no MCE, ou trocando definitivamente ele pelo CKEditor, que é o editor WYSIWYG mais usado no mundo hoje. Recomendo fortemente esta última opção, pois o CKEditor é muito mais completo, flexível e fácil de usar que o TinyMCE.
Outro problema muito comum é a QUEBRA DE LINHA: Ao inserir um post com alguma formatação e uma quebra de linha normal (enter) logo depois, o editor salva corretamente, mas na próxima vez que for editar a postagem, está tudo grudado de novo. Sem falar em diversos problemas com alinhamento de imagens, perda de formatação de texto, etc, etc. O CKEditor também corrige praticamente tudo isso.
Depois de instalar o CKEditor, 90% dos problemas de formatação do WordPress estão resolvidos. Para o restante, basta procurar na Web sua dificuldade específica e certamente já haverá um plugin para resolver isso também.
Comentários : Deixar um comentário »
Categorias : Noticias, Wordpress
Convertendo data MySQL para qualquer formato
9 09 2011Uma função em PHP que pega uma data em formato MySQL (Y-m-d H:i:s) e a converte para qualquer formato desejado:
/*
mysql_date='2009-12-31 23:59:59'
syntax='d/m/Y H:i:s', ou qualquer formato usado na função date() do PHP
*/
function mysql_datetime_2_any_datetime_format($syntax,$mysql_date) {
$year = substr($mysql_date,0,4);
$month = substr($mysql_date,5,2);
$day = substr($mysql_date,8,2);
$hour = substr($mysql_date,11,2);
$min = substr($mysql_date,14,2);
$sec = substr($mysql_date,17,2);
return date($syntax,mktime($hour,$min,$sec,$month,$day,$year));
}
Comentários : 1 Comentário »
Categorias : Noticias, PHP, Tecnologia