protected function criptoVar($attribute, $value, $password = false)
 {
     $cripto = new Cripto();
     if (!$password) {
         $this->{$attribute} = $cripto->encode($value);
     } else {
         $this->{$attribute} = $cripto->passHash($value);
     }
     return $this;
 }
 public function login()
 {
     $token = new Security();
     $token->checkToken();
     // Recebe o valor enviado pelo formulário de login
     $username = filter_input(INPUT_POST, 'username');
     $password = filter_input(INPUT_POST, 'password');
     // Verifica se todos os campos foram preenchidos
     if ($username && $password) {
         $cripto = new Cripto();
         // cripitografa os dados enviados
         $username = $cripto->encode($username);
         // consulta se existe um susário registrado com o USERNAME fornecido
         $result = $this->findByUsername($username);
         if (!$result) {
             // retorna a mensagem de dialogo
             msg::showMsg('<strong>Usuário Inválido.</strong>' . ' Verifique se digitou corretamente.' . '<script>focusOn("username");</script>', 'warning');
         }
         if ($result['active'] === '2') {
             // retorna a mensagem de dialogo
             msg::showMsg('<strong>Usuário Bloqueado!</strong><br>' . ' Consulte o Administrador do Sistema para mais informações.' . '<br><style>body{background-color:#CD2626;</style>' . ADCONT, 'danger');
         }
         // verifica a autenticidade da senha
         if ($cripto->passVerify($password, $result['password'])) {
             // Caso seja um usuário autêntico, inicia a sessão
             $this->registerSession($result);
             return true;
             // stop script
         } else {
             // retorna a mensagem de dialogo
             msg::showMsg('<strong>Senha Inválida.</strong>' . ' Verifique se digitou corretamente.' . '<script>focusOn("password");</script>', 'warning');
         }
     }
     // retorna a mensagem de dialogo
     msg::showMsg('Todos os campos são preenchimento obrigatório.', 'danger');
 }