Globalizando o “loading” do jQuery/Ajax

Segue abaixo uma maneira de globalizar o loading do ajax nos sites, bem simples e fácil de fazer:

  1. $(document).ready(function(){
  2.     $(document).ajaxStart(function() {
  3.         // Aqui deve-se chamar a função que mostra o <em>loading</em> na tela.
  4.     }).ajaxComplete(function() {
  5.         // Aqui deve-se chamar a função que remove o <em>loading</em> da tela.
  6.     });
  7. });

Muito simples de utilizar não? Isso ajuda a não ter que fazer o tratamento em cada chamada Ajax.

Falha de Segurança

Isso prova que o WordPress tem furos de segurança, meu site foi hackeado dia 07/01/2010 como podem ver na imagem abaixo.

Subtrair horas com JS

A função abaixo tem o objetivo de subtrair duas horas passadas para ela.

  1. function subtraiHora(hrA, hrB) {
  2.         if(hrA.length != 5 || hrB.length != 5) return "00:00";
  3.        
  4.         temp = 0;
  5.         nova_h = 0;
  6.         novo_m = 0;
  7.  
  8.         hora1 = hrA.substr(0, 2) * 1;
  9.         hora2 = hrB.substr(0, 2) * 1;
  10.         minu1 = hrA.substr(3, 2) * 1;
  11.         minu2 = hrB.substr(3, 2) * 1;
  12.        
  13.         temp = minu1 – minu2;
  14.         while(temp < 0) {
  15.                 nova_h++;
  16.                 temp = temp + 60;
  17.         }
  18.         novo_m = temp.toString().length == 2 ? temp : ("0" + temp);
  19.  
  20.         temp = hora1 – hora2 – nova_h;
  21.         while(temp < 0) {
  22.                 temp = temp + 24;
  23.         }
  24.         nova_h = temp.toString().length == 2 ? temp : ("0" + temp);
  25.  
  26.         return nova_h + ‘:’ + novo_m;
  27. }

Como usar:

  1. novaHora = subtraiHora("12:00", "02:27");
  2. novaHora -> "09:33"

Calcular distância entre dois pontos GPS

Olá, após um tempinho sem publicar trago uma função que serve para calcular a distância entre dois pontos GPS (com Latitude e Longitude cada). A função é bem simples de utilizar e retorna o resultado em metros.

  1. function distanciaPontosGPS($p1LA, $p1LO, $p2LA, $p2LO) {
  2.     $r = 6371.0;
  3.        
  4.     $p1LA = $p1LA * pi() / 180.0;
  5.     $p1LO = $p1LO * pi() / 180.0;
  6.     $p2LA = $p2LA * pi() / 180.0;
  7.     $p2LO = $p2LO * pi() / 180.0;
  8.        
  9.     $dLat = $p2LA$p1LA;
  10.     $dLong = $p2LO$p1LO;
  11.        
  12.     $a = sin($dLat / 2) * sin($dLat / 2) + cos($p1LA) * cos($p2LA) * sin($dLong / 2) * sin($dLong / 2);
  13.     $c = 2 * atan2(sqrt($a), sqrt(1$a));
  14.        
  15.     return round($r * $c * 1000); // resultado em metros.
  16. }

Como usar:

  1. echo distanciaPontosGPS(-26.91545, -49.063632, -26.917985, -49.061143);

Resultado será: 375

Tempo de carregamento da página

Olá pessoal, vi na net um meio legal e mais correto para saber o tempo que uma página demorou pra processar e chegar no navegador do cliente.

  1. $tempo = mktime()$_SERVER[‘REQUEST_TIME’];

$tempo -> Tempo que demorou para carregar a página a partir da hora em que chegou a requisição no servidor.

Lembre-se: Este código deve ser colocado no final da página, sendo o “último código PHP” da página. Para colocar ele na tela você pode usar como quiser a variável $tempo, obviamente depois de definir ela ^^.

Criar janelas dinâmicas com JS

Olá, abaixo segue um script para criação de janelas dinamicamente em JS, o exemplo que faço é muito simples, mas esta função pode ser utilizada em casos diversos.

  1. function criaJanela(nome, conteudo, parametros) {
  2.         nova = open("", nome, parametros);
  3.         nova.document.write(conteudo);
  4.         nova.focus();
  5. }

Como usar:

  1. <html>
  2. <head>
  3. <title>Abre Janela Dinâmica</title>
  4. </head>
  5. <body>
  6. <input type="button" value="Testa Janela" onclick="criaJanela(‘minhaJanela’, ‘Este é o <b>conteúdo</b> da janela.’, ‘width=400, height=250’)" />
  7. </body>
  8. </html>

Claro, não esqueça de adicionar a função no código acima para funcionar ^^.

Somar horas com JS

A função abaixo tem o objetivo de somar duas horas passadas para ela, com a opção de zerar a hora após as 23 horas ou seguir a diante.

  1. function somaHora(hrA, hrB, zerarHora) {
  2.         if(hrA.length != 5 || hrB.length != 5) return "00:00";
  3.        
  4.         temp = 0;
  5.         nova_h = 0;
  6.         novo_m = 0;
  7.  
  8.         hora1 = hrA.substr(0, 2) * 1;
  9.         hora2 = hrB.substr(0, 2) * 1;
  10.         minu1 = hrA.substr(3, 2) * 1;
  11.         minu2 = hrB.substr(3, 2) * 1;
  12.        
  13.         temp = minu1 + minu2;
  14.         while(temp > 59) {
  15.                 nova_h++;
  16.                 temp = temp – 60;
  17.         }
  18.         novo_m = temp.toString().length == 2 ? temp : ("0" + temp);
  19.  
  20.         temp = hora1 + hora2 + nova_h;
  21.         while(temp > 23 && zerarHora) {
  22.                 temp = temp – 24;
  23.         }
  24.         nova_h = temp.toString().length == 2 ? temp : ("0" + temp);
  25.  
  26.         return nova_h + ‘:’ + novo_m;
  27. }

Como usar:

  1. novaHora = somaHora("12:00", "02:27", false);
  2. novaHora -> "14:27"
  3.  
  4. novaHora = somaHora("22:50", "05:10", true);
  5. novaHora -> "04:00"
  6.  
  7. novaHora = somaHora("22:50", "05:10", false);
  8. novaHora -> "28:00"

Número de dias entre duas datas

A função abaixo calcula o número de dias existentes entre duas datas informadas no formato brasileiro, podendo ser facilmente alterado.

  1. function diasIntervalo($dataI, $dataF) {
  2.         $diaI = substr($dataI, 0, 2);
  3.         $mesI = substr($dataI, 3, 2);
  4.         $anoI = substr($dataI, 6, 4);
  5.  
  6.         $diaF = substr($dataF, 0, 2);
  7.         $mesF = substr($dataF, 3, 2);
  8.         $anoF = substr($dataF, 6, 4);
  9.  
  10.         $ini = mktime(0,0,0, $mesI, $diaI, $anoI);
  11.         $fim = mktime(0,0,0, $mesF, $diaF, $anoF);
  12.         $dias = round(($fim$ini) / 86400);
  13.  
  14.         return $dias;
  15. }

Como usar:

  1. $dias = diasIntervalo("01/02/2009", "15/03/2009");
  2. $dias -> 42

Cookies com JS

Olá pessoal, trago mais umas funções úteis para vocês, são funções para trabalhar com cookies de forma mais prática e limpa.

  1. function createCookie(name, value, days) {
  2.     if (days) {
  3.         var date = new Date();
  4.         date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  5.         var expires = "; expires=" + date.toGMTString();
  6.     }
  7.     else var expires = "";
  8.     document.cookie = name + "=" + value + expires + "; path=/";
  9.     if(days > 0 && readCookie("ckPrimeiroCriado") != "1") document.cookie = "ckPrimeiroCriado=1" + expires + "; path=/";
  10. }
  11.  
  12. function readCookie(name) {
  13.     var nameEQ = name + "=";
  14.     var ca = document.cookie.split(‘;’);
  15.     for (var i = 0; i < ca.length; i++) {
  16.         var c = ca[i];
  17.         while (c.charAt(0) == ‘ ‘) c = c.substring(1, c.length);
  18.         if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  19.     }
  20.     return null;
  21. }
  22.  
  23. function eraseCookie(name) {
  24.     createCookie(name, "", -1);
  25. }

Como usar:

  1. createCookie(‘Exemplo’, ‘Meu primeiro cookie’, 1); // Cria um cookie chamado Exemplo com o valor especificado que expira em 1 dia.
  2. readCookie(‘Exemplo’); // Retorna ‘Meu primeiro cookie’;
  3. eraseCookie(‘Exemplo’); // Destrói o cookie.

Cálculo de Juros com PHP

Abaixo estão duas funções para calcular o valor de parcelas de Juros Simples e Juros Composto:

  1. function jurosSimples($valor, $taxa, $parcelas) {
  2.         $taxa = $taxa / 100;
  3.  
  4.         $m = $valor * (1 + $taxa * $parcelas);
  5.         $valParcela = number_format($m / $parcelas, 2, ",", ".");
  6.  
  7.         return $valParcela;
  8. }
  9.  
  10. function jurosComposto($valor, $taxa, $parcelas) {
  11.         $taxa = $taxa / 100;
  12.  
  13.         $valParcela = $valor * pow((1 + $taxa), $parcelas);
  14.         $valParcela = number_format($valParcela / $parcelas, 2, ",", ".");
  15.  
  16.         return $valParcela;
  17. }

Como usar:

  1. $valorParcelaSimples = jurosSimples(3556.00, 1.20, 6);
  2. $valorParcelaComposto = jurosComposto(3556.00, 1.20, 6);
  3.  
  4. $valorParcelaSimples -> 635,34
  5. $valorParcelaComposto -> 636,64

OBS: Os valores são passados no tipo double. Ex: 3.556,00 = 3556.00

← Previous PageNext Page →