예제 #1
0
 public function executa()
 {
     $contaPadrao = 4;
     //Acesso
     $login = $_POST['login'];
     $email = $_POST['email'];
     $senha = $_POST['senha'];
     $confirmar = $_POST['confirmar'];
     $chave = $_POST['chave'];
     //Pessoais
     $nome = $_POST['nome'];
     $cpf = $_POST['cpf'];
     $rg = $_POST['rg'];
     $emissor = $_POST['emissor'];
     $nascimento = Validacoes::getDataBanco($_POST['nascimento']);
     $sexo = $_POST['sexo'];
     //Contato
     $cep = $_POST['cep'];
     $logradouro = $_POST['logradouro'];
     $numero = $_POST['numero'];
     $complemento = $_POST['complemento'];
     $bairro = $_POST['bairro'];
     $estado = $_POST['estado'];
     $cidade = $_POST['cidade'];
     $residencial = $_POST['residencial'];
     $celular = $_POST['celular'];
     $comercial = $_POST['comercial'];
     //Plano
     //1-Persa (299); 2-Angorá(499); 3-Himaláia(999); 4-Pré-cadastro(50)
     $plano = $_POST['plano'];
     $tamanho = $_POST['tamanho'];
     $amigaId = $_POST['amiga-id'];
     $recebeInfo = isset($_POST['noticias']) ? 1 : 0;
     //$termos = isset($_POST['termos']) ? 1 : 0;
     $termos = 1;
     //Validações
     $validar = new Validar();
     $validaLogin = $validar->login($login);
     $validaEmail = Validacoes::validaEmail($email);
     $validaSenha = $senha == $confirmar;
     $validaNome = Validacoes::validaVazio($nome);
     $validaCpf = $validar->cpf($cpf);
     $validaRg = Validacoes::validaVazio($rg);
     $validaEmissor = Validacoes::validaVazio($emissor);
     $validaNascimento = Validacoes::validaDataBanco($nascimento);
     $validaSexo = Validacoes::validaVazio($sexo);
     $validaCep = Validacoes::validaVazio($cep);
     $validaLogradouro = Validacoes::validaVazio($logradouro);
     $validaNumero = Validacoes::validaVazio($numero);
     $validaBairro = Validacoes::validaVazio($bairro);
     $validaCidade = Validacoes::validaVazio($cidade);
     $validaResidencial = Validacoes::validaVazio($residencial);
     $validaCelular = Validacoes::validaVazio($celular);
     $validaComercial = Validacoes::validaVazio($comercial);
     $validaTelefones = $validaCelular || $validaResidencial || $validaComercial;
     $validaPlano = Validacoes::validaVazio($plano);
     $validaTermos = $termos == 1;
     //Validar a amiga é especial
     if ($validaLogin && $validaEmail && $validaSenha && $validaNome && $validaCpf && $validaRg && $validaEmissor && $validaNascimento && $validaSexo && $validaCep && $validaLogradouro && $validaNumero && $validaBairro && $validaCidade && $validaTelefones && $validaPlano && $validaTermos) {
         $pessoa = new Pessoa();
         $pessoa->set_nome($nome);
         $pessoa->set_email($email);
         $pessoa->set_login($login);
         $pessoa->set_senha(md5($senha));
         $pessoa->set_dataNascimento($nascimento);
         $amigaId = $amigaId == 0 ? $contaPadrao : $amigaId;
         $pessoa->set_idPai($amigaId);
         $pessoa->set_cpf($cpf);
         $pessoa->set_rg($rg);
         $pessoa->set_orgaoExpedidor($emissor);
         $pessoa->set_sexo($sexo);
         $pessoa->set_recebeInfo($recebeInfo);
         $pessoa->set_status(1);
         $endereco = new Endereco();
         $endereco->set_logradouro($logradouro);
         $endereco->set_numero($numero);
         $endereco->set_complemento($complemento);
         $endereco->set_bairro($bairro);
         $endereco->set_cep($cep);
         $endereco->set_idCidade($cidade);
         $endereco->set_idtipoEndereco(1);
         $pessoa->set_endereco($endereco);
         if ($validaResidencial) {
             $telefone = new Telefone();
             $telefone->set_numero($residencial);
             $telefone->set_idTipoNumero(2);
             $pessoa->set_telefone($telefone);
         }
         if ($validaCelular) {
             $telefone = new Telefone();
             $telefone->set_numero($celular);
             $telefone->set_idTipoNumero(1);
             $pessoa->set_telefone($telefone);
         }
         if ($validaComercial) {
             $telefone = new Telefone();
             $telefone->set_numero($comercial);
             $telefone->set_idTipoNumero(3);
             $pessoa->set_telefone($telefone);
         }
         $dao = new PessoaDAO();
         $contrato = new Contrato();
         $contrato->set_idPlano($plano);
         $contrato->set_tamanho($tamanho);
         $planoLicencaCompleto = $dao->buscaLicencaCadastro($chave);
         $chaveGerada = $dao->geraLicenca();
         $chaveFoi = false;
         if ($planoLicencaCompleto) {
             $planoLicenca = $planoLicencaCompleto['idplano'];
             $contratoUsouLicenca = $planoLicencaCompleto['idcontrato'] == 0 || is_null($planoLicencaCompleto['idcontrato']);
             //Se o contrato for nulo, é porque nunca foi usada
             //echo is_null($contratoUsouLicenca) ? 'nulo' : 'Nao nulo';
             //echo "<br />Plano: $plano <-> $planoLicenca  ==== $contratoUsouLicenca";
             if ($plano == $planoLicenca && $contratoUsouLicenca) {
                 $chaveFoi = true;
                 $chaveGerada = $chave;
             }
         }
         $licenca = $chaveGerada;
         $contrato->set_licenca($licenca);
         $pessoa->set_contrato($contrato);
         if ($id = $dao->insere($pessoa)) {
             //Verificando licença para poder aprovar
             $contratos = $dao->getContratos($id);
             $contrato = $contratos[0];
             $idContrato = $contrato['idcontrato'];
             if ($chaveFoi) {
                 //Chave deu certo!
                 $dao->aprovar($idContrato, 5);
                 $dao->baixaLicenca($idContrato, $chave);
             }
             //Enviando e-mail
             $assunto = "Bem-vinda ao clube da Thy";
             $mensagem = "Estamos muito felizes por você agora fazer parte do nosso clube!";
             $paraEmail = $pessoa->get_email();
             $paraNome = $pessoa->get_nome();
             $email = new EnviaEmail();
             $licenca = $chaveFoi ? '' : $licenca;
             $idContratoFaturaGeral = $dao->getContratoFatura($idContrato);
             $idContratoFatura = $idContratoFaturaGeral['idcontrato_fatura'];
             $email->montaMensagem($paraNome, $assunto, $mensagem, $licenca, $pessoa->get_login(), $idContratoFatura, $this->getBaseUrl());
             $email->enviaEmail($paraEmail, $paraNome);
             $criptografia = new Criptografia();
             $crip = $chaveFoi ? 'ok' : $criptografia->codifica($licenca, $idContratoFatura);
             header("Location: agradecimentos/" . $crip);
         } else {
             echo "Erro!";
         }
     } else {
         echo '<script>alert("Você deve informar todos os dados"); window.history.go(-1);</script>';
         exit;
     }
 }