public function validarEtapaChave()
 {
     // De acordo com indetificação principal?
     if ($this->campoChave == 'cpf') {
         $this->valorChave = PLib::coalesce($_POST['cpf'], $_GET['cpf']);
         $cpf = PLib::validade_cpf($this->valorChave);
         if ($cpf === fase) {
             $this->erro = "Informe um CPF válido.";
         } else {
             $this->valorChave = Plib::str_mask(PLib::only_numbers($this->valorChave), "###.###.###-##");
         }
     } else {
         $this->valorChave = sanitize_email($_POST['email']);
         $email = is_email($this->valorChave);
         if (!$email) {
             $this->erro = "Informe um email válido.";
         } else {
             $this->valorChave = trim(strtolower($this->valorChave));
         }
     }
     if ($this->erro == null) {
         $this->avancar = true;
         $obterPor = 'getBy' . ucfirst($this->campoChave);
         // Tentar localizar pessoa
         $this->pessoa = Pessoas::getInstance()->{$obterPor}($this->valorChave);
         // Encontramos alguém?
         if ($this->pessoa != null) {
             // Trazer dados para sessão
             $_SESSION['id_pessoa'] = $this->pessoa->id;
             $this->pessoaNome = $this->pessoa->nome;
         } else {
             $this->pessoa = new Pessoa();
             // Tentar obter a pessoa por uma integração?
             /** @var $integracao Integracao */
             $integracao = Integracoes::getInstance()->getByServico('PhormarPessoa');
             if ($integracao) {
                 $pessoaIntegragao = $integracao->getPessoa($this->valorChave);
                 if ($pessoaIntegragao != null) {
                     $this->pessoa = $pessoaIntegragao;
                     //                        var_dump($pessoaIntegragao->extras);
                     //                        var_dump($this->pessoa);
                     //                        die('ok');
                     // Salvar pessoa, certificar que esteja registrada
                     $this->certificarPessoa();
                 }
                 //                    var_dump($pessoaIntegragao);
             }
             // Nova pessoa
             $this->pessoa->newsletter = true;
         }
         $_SESSION['inscricao_chave'] = $this->valorChave;
         //            if ($debug)
         //                PLib::var_dump($this->pessoa,"Pessoa");
         // Se confirmação imediata
         if ($this->evento->confirmacao == 'imediata' || $this->evento->confirmacao == 'posterior') {
             $this->avancarTexto = "Concluir Inscrição";
         }
     }
     if ($this->erro == null) {
         // Aplicar desconto?
         if ($_POST['ticket'] != null) {
             $result = Inscricoes::getInstance()->aplicarTicket($this->evento, $_POST['ticket']);
             if ($result !== true) {
                 $erro = $result;
             }
         }
     }
 }
コード例 #2
0
 public static function getPessoa($idPessoa, $falharSeNaoEncontrada = true)
 {
     /* @var $pessoa Pessoa */
     if (ctype_digit($idPessoa)) {
         $pessoa = Pessoas::getInstance()->getById($idPessoa);
     } else {
         $idPessoa = urldecode($idPessoa);
         if (filter_var($idPessoa, FILTER_VALIDATE_EMAIL) || PLib::validade_cpf($idPessoa) || PLib::is_valid_md5($idPessoa)) {
             $pessoa = Pessoas::getInstance()->getByMd5($idPessoa);
         } else {
             echo json_encode(array('erro' => 'Valor não aceito'));
             die;
         }
     }
     if ($pessoa == null && $falharSeNaoEncontrada) {
         echo json_encode(array('erro' => 'Pessoa não localizada na base de dados (' . $idPessoa . ')'));
     } else {
         return $pessoa;
     }
 }
コード例 #3
0
 private static function importarCsv($evento)
 {
     if (count($_POST) > 0) {
         $confirmar = $_POST['confirmar'] == 1;
         $presente = $_POST['presente'] == 1;
         $novasPessoas = 0;
         $inscricoes = 0;
         // Subir arquivo
         if ($_FILES['arquivo']) {
             $file = $_FILES['arquivo']['tmp_name'];
             $row = 1;
             $handle = fopen($file, "r");
             while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                 //                    echo "<hr>";
                 //                    var_dump($data);
                 //                    echo "<hr>";
                 $dados = explode(";", $data[0]);
                 //                    var_dump($dados);
                 //                    echo "<hr>";
                 if ($dados) {
                     $nome = trim(ucfirst(utf8_encode($dados[0])));
                     $email = trim(strtolower($dados[1]));
                     $cpf = trim($dados[2]);
                     $celular = trim($dados[3]);
                     //                        echo "$nome $email $cpf $celular<br>";
                     if ($nome != null && (filter_var($email, FILTER_VALIDATE_EMAIL) != false || PLib::validade_cpf($cpf))) {
                         if ($email) {
                             $valor = $email;
                         } else {
                             $valor = $cpf;
                         }
                         // Certificar pessoa
                         $pessoa = Pessoas::getInstance()->getByMd5($valor);
                         if ($pessoa == null) {
                             $pessoa = new Pessoa();
                             $pessoa->nome = $nome;
                             $pessoa->email = $email;
                             $pessoa->cpf = $cpf;
                             $pessoa->celular = $celular;
                             $pessoa = Pessoas::getInstance()->insert($pessoa);
                             $novasPessoas++;
                         }
                         $inscricoes++;
                         //                            var_dump($pessoa);echo "<hr>";
                         // Certificar inscrição
                         $inscricao = Inscricoes::getInstance()->getByEventoPessoa($evento->id, $pessoa->id);
                         if ($inscricao == null) {
                             $inscricao = Inscricoes::getInstance()->certificarInscricao($evento, $pessoa);
                         }
                         //                            var_dump($inscricao);
                         if ($confirmar) {
                             $inscricao->confirmar();
                         }
                         if ($presente) {
                             $inscricao->presenca();
                         }
                     } else {
                         echo "<hr>Sem dados suficientes em um registro para importação:";
                         echo "<pre>";
                         var_dump($dados);
                         echo "</pre>";
                         echo "<b>Inscrição não importada.</b><br>";
                     }
                 }
             }
             fclose($handle);
         }
         // Abrir
         // Percorrer contatos
         //            var_dump($_POST);
         //            var_dump($_FILES);
         //confirmar presente
         //            setFlash("Inscrições importadas: ".$inscricoes.  "<br>Novas pessoas importadas: ".$novasPessoas);
         echo "<br><h2>Resultado da Importação</h2></h2><hr>Inscrições importadas: " . $inscricoes . "<br>Novas pessoas importadas: " . $novasPessoas;
         //            self::showList($evento);
     }
     //        } else {
     require_once PLUGINPATH . '/view/inscricoes/importar_csv.php';
     //        }
 }