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; } } } }
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; } }
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'; // } }