Skip to content

Instantly share code, notes, and snippets.

@digitalbocca
Last active November 7, 2015 18:30
Show Gist options
  • Save digitalbocca/ffc4d8532b8d7e2359dc to your computer and use it in GitHub Desktop.
Save digitalbocca/ffc4d8532b8d7e2359dc to your computer and use it in GitHub Desktop.
Exemplo de uso da classe DateTime do PHP adicionando um intervalo de 30 dias
<?php
/**
* NÃO USE EM PRODUÇÃO
* APENAS UM EXEMPLO PARA FINS DIDATICOS
*
* QUANDO O USUARIO TENTA SE LOGAR PASSA POR UMA VERIFICAÇÃO ONDE
* O SISTEMA DECIDE SE ELE VAI SER BLOQUEADO
*
* CASO PRECISE SER BLOQUEADO CHAMA ESSA FUNÇÃO PASSANDO O ID DO USUARIO
*
* ESTA FUNÇÃO FAZ:
*
* RECEBE O ID DO USUARIO PARA FAZER O UPDATE
* PEGA A DATA ATUAL
* SOMA 30 DIAS
* GRAVA A NOVA DATA DEIXANDO O USUARIO BLOQUEADO POR ESSE PERIODO
*/
public static function bloqueioAutomatico($cod){
$hoje = new DateTime();
$ultima = new DateTime();
$ultimaformatada = $ultima->format('Y-m-d');
$hoje->add(new DateInterval('P30D'));
$formatada = $hoje->format('Y-m-d');
//ESSES METODOS E PARAMETROS SÃO ESTATICOS NÃO HÁ INSTANCIA
self::conectar(self::$servidor);
$query = "UPDATE ".self::$tabela." SET ativo = :ativo,
ultimapresenca = :ultima,
reativacao = :reativacao
WHERE id = :id";
$consulta = self::$conexao->prepare($query);
$consulta->bindValue(':ativo', 0);
$consulta->bindValue(':ultima', $ultimaformatada);
$consulta->bindValue(':reativacao', $formatada );
$consulta->bindValue(':id', $cod);
$consulta->execute();
echo "BLOQUEADO<br />";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment