Last active
November 7, 2015 18:30
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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