public function verificar_cpf($cpf)
 {
     $valid_cpf = valida_cpf($cpf);
     //eval(Psy\sh());
     if (!$valid_cpf) {
         echo 'invalid';
     } else {
         $user = $this->usuario_bo->find_user_by($cpf);
         if ($user != null && $user != false) {
             echo 'true';
         } else {
             echo 'false';
         }
     }
 }
 public function fazer_inscricao()
 {
     $data = $this->input->post();
     $this->avaliador_vm->populate();
     if (comparar_email_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'Os e-mails não conferem');
         $this->inscricao_falha();
         return;
     }
     if (comparar_senha_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'As senhas não conferem');
         $this->inscricao_falha();
         return;
     }
     if (!$this->avaliador_vm->validate()) {
         $this->session->set_flashdata('erro', 'Os dados não foram preenchidos corretamente');
         $this->inscricao_falha();
         return;
     }
     $avaliador = $this->avaliador_vm->loadAvaliador();
     $usuario = $this->avaliador_vm->loadUsuario();
     $campus_id = $this->avaliador_vm->get_campus();
     $area_id = $this->avaliador_vm->get_areaTematica();
     $id_avaliador = $this->avaliador_bo->cadastrar_avaliador($avaliador, $usuario, $campus_id, $area_id);
     if ($id_avaliador) {
         $this->usuario_bo->setUserSession($id_avaliador);
         $this->session->set_flashdata('sucesso', 'Dados cadastrados com sucesso!');
         redirect(base_url() . './usuario/avaliador_ctr');
     } else {
         $this->session->set_flashdata('erro', 'Aconteceu algum erro. O usuário não foi cadastrado!');
     }
 }
 /**
  * Realiza a inscrição
  * @return null
  */
 public function fazer_inscricao()
 {
     $data = $this->input->post();
     $this->orientador_inscricao_vm->setCpf($data['cpf']);
     $this->orientador_inscricao_vm->setNome($data['nome']);
     $this->orientador_inscricao_vm->setEmail($data['email']);
     $this->orientador_inscricao_vm->setSenha($data['senha']);
     $this->orientador_inscricao_vm->setInstituicao($data['instituicao']);
     $this->orientador_inscricao_vm->setCampus($data['campus']);
     $this->orientador_inscricao_vm->setTipoServidor($data['tipo_servidor']);
     // TODO: refatorar!! Validações sempre no ViewModel
     if (comparar_email_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'Os e-mails não conferem');
         $this->inscricao_falha();
         return;
     }
     if (comparar_senha_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'As senhas não conferem');
         $this->inscricao_falha();
         return;
     }
     $orientador = $this->orientador_inscricao_vm->load_orientador();
     $usuario = $this->orientador_inscricao_vm->load_user();
     if (array_key_exists('senha', $data)) {
         $id_orientador = $this->orientador_bo->cadastrar_orientador($orientador, $usuario, $this->orientador_inscricao_vm->getCampus());
         if ($id_orientador) {
             $this->usuario_bo->setUserSession($id_orientador);
             $this->session->set_flashdata('sucesso', 'Dados cadastrados com sucesso!');
             redirect(base_url() . './usuario/orientador_ctr');
         } else {
             $this->session->set_flashdata('erro', 'Aconteceu algum erro. O usuário não foi cadastrado!');
         }
     }
     redirect('../usuario/orientador_ctr/inscricao/' . $data['cpf']);
 }
 /**
  * redireciona para view de inscrição
  * @param null $cpf_param o cpf
  */
 public function inscricao($cpf_param = NULL)
 {
     $cpf = valida_cpf($cpf_param);
     $user_logged = $this->usuario_bo->getUserSession();
     if ($user_logged) {
         $isAutor = $this->autor_bo->isCurrentUserAutor();
         if ($isAutor) {
             $this->session->set_flashdata('aviso', 'Usuario já cadastrado como autor');
             redirect(base_url() . 'usuario/autor_ctr');
         } else {
             redirect(base_url() . 'usuario/autor_ctr/inscricao_incremental');
         }
     } else {
         if ($cpf != null) {
             if ($cpf == false) {
                 $this->session->set_flashdata('erro', 'O CPF informado é inválido');
                 redirect(base_url() . 'home/home_ctr');
             } else {
                 $this->autor_inscricao_vm->setCpf($cpf);
                 $data['autor'] = $this->autor_inscricao_vm;
                 $data['is_registered'] = FALSE;
                 $data['cpf'] = $this->autor_inscricao_vm->getCpf();
                 $data['instituicao_list'] = $this->instituicao_bo->list_all();
                 $this->load->view('autor/inscricao_autor.html.php', $data);
             }
         } else {
             $this->session->set_flashdata('erro', 'O link de inscrição não pode ser acessado sem informar o CPF');
             redirect(base_url() . 'home/home_ctr');
         }
     }
 }
 public function area_geral()
 {
     $user = $this->usuario_bo->getUserSession();
     $papeis = $this->usuario_bo->carregar_papeis($user['id']);
     /**
      * Aqui seto os cabeçalhos do cache
      * Com isso defino que todas as requisições para a action index
      * feitas nos próximos 1800 segundos (30 minutos) não chegarão aqui
      * apenas repassarão as mesmas informações, EVITANDO ASSIM PERGUNTAS DESNECESSÁRIAS
      * AO SERVIDOR, E CONSEQUENTEMENTE AO BANCO! 
      */
     //$this->output->set_header("Cache-Control: private, max-age=" . Usuario_ctr::SECONDS);
     //$this->output->set_header("Expires: ".gmdate('r', time() + Usuario_ctr::SECONDS ));
     $mais_que_um_papel = $this->usuario_bo->has_more_that_one_papel($papeis);
     $vars = array('papeis' => $papeis, 'mais_que_um_papel' => $mais_que_um_papel);
     $this->load->view('area_geral_usuario.html.php', $vars);
 }
 private function valida_salvar_inscricao_redirect()
 {
     if (!$this->valida_inscricao_redirect()) {
         return false;
         //
     }
     $validacao = 1;
     $user = $this->usuario_bo->getUserSession();
     //Dados dos formulários da tela.
     $data_post = $this->input->post();
     //Verifica se tamanho do resumo está correto.
     //$tam_resumo = tamanho_resumo($resumo);
     //if ($tam_resumo > QUANT_MAX_CARS_RESUMO) {
     //   $validacao = -$tam_resumo;
     //}
     //verifica turnos
     //if ( !valida_turnos($turno1, $turno2, $turno3) ) {
     //turnos inválidos.
     // return 6;
     //}
     if ($validacao == 1) {
         return true;
     } else {
         if ($validacao < 0) {
             $erro = "Quantidade máxima de caracteres no resumo está errada.";
         } else {
             if ($validacao == 2) {
                 $erro = "erro 2";
             } else {
                 if ($validacao == 3) {
                     $erro = "erro 3";
                 } else {
                     $erro = "erro x";
                 }
             }
         }
     }
     //redireciona.
     //Não deve chegar a retornar
     return false;
 }
 public function fazer_inscricao()
 {
     $this->voluntario_inscricao_vm->populate();
     try {
         $this->voluntario_inscricao_vm->validate();
         $voluntario = $this->voluntario_inscricao_vm->loadVoluntario();
         $usuario = $this->voluntario_inscricao_vm->loadUsuario();
         $curso_id = $this->voluntario_inscricao_vm->getCurso();
         $voluntario_id = $this->voluntario_bo->cadastrarVoluntario($voluntario, $usuario, $curso_id);
     } catch (Exception $ex) {
         $this->session->set_flashdata('erro', $ex->getMessage());
         $this->inscricao_falha();
     }
     if ($voluntario_id) {
         $this->usuario_bo->setUserSession($voluntario_id);
         $this->session->set_flashdata('sucesso', 'Dados cadastrados com sucesso!');
         redirect(base_url() . './usuario/voluntario_ctr');
     } else {
         $this->session->set_flashdata('erro', 'Aconteceu algum erro. O usuário não foi cadastrado!');
     }
 }
 public function fazer_inscricao()
 {
     $this->ouvinte_inscricao_vm->populate();
     try {
         $this->ouvinte_inscricao_vm->validate();
         $ouvinte = $this->ouvinte_inscricao_vm->loadOuvinte();
         $usuario = $this->ouvinte_inscricao_vm->loadUsuario();
         $instituicao_id = $this->ouvinte_inscricao_vm->getInstituicao();
         $campus_id = $this->ouvinte_inscricao_vm->getCampus();
         $curso_id = $this->ouvinte_inscricao_vm->getCurso();
         $id_ouvinte = $this->ouvinte_bo->cadastrarOuvinte($ouvinte, $usuario, $instituicao_id, $campus_id, $curso_id);
     } catch (Exception $ex) {
         $this->session->set_flashdata('erro', $ex->getMessage());
         $this->inscricao_falha();
     }
     if ($id_ouvinte) {
         $this->usuario_bo->setUserSession($id_ouvinte);
         $this->session->set_flashdata('sucesso', 'Dados cadastrados com sucesso!');
         redirect(base_url() . './usuario/ouvinte_ctr');
     } else {
         $this->session->set_flashdata('erro', 'Aconteceu algum erro. O usuário não foi cadastrado!');
     }
 }
 public function usuarioLogadoPodeCorrigir($id_trabalho)
 {
     //Pega ID do usuario logado.
     $user = $this->usuario_bo->getUserSession();
     $id_usuario = $user['id'];
     //Verifica se o usuário logado é o orientador principal do trabalho.
     if (!$this->isUserOrientadorPrincipalInTrabalho($id_usuario, $id_trabalho)) {
         throw new Exception("Somente o orientador pode INVALIDAR o trabalho.");
     }
     //Verifica se evento está na ETAPA adequada.
     //Alexdg ..... <<<<<<<<<<
     if (false) {
         throw new Exception("Etapa do evento não permite INVALIDAR trabalho.");
     }
     //Verifica se STATUS atual do trabalho permite INVALIDAR.
     /* @var $trabalho \Entity\Trabalho */
     $trabalho = $this->trabalho_dao->find_one_by($id_trabalho);
     $status = $trabalho->getStatus();
     if ($status != STATUS_TRAB_ENVIADO) {
         throw new Exception("Somente trabalhos PENDENTES ou ENVIADOS pode ser INVALIDADOS.");
     }
     return true;
 }
 public function isCurrrentUserOuvinte()
 {
     $user = $this->usuario_bo->getUserSession();
     $papeis = $this->usuario_bo->carregar_papeis($user['id']);
     return $papeis['ouvinte'] == true;
 }
 public function isCurrentUserVoluntario()
 {
     $user = $this->usuario_bo->getUserSession();
     $papeis = $this->usuario_bo->carregar_papeis($user['id']);
     return $papeis['voluntario'] == true;
 }
 public function isCurrentUserAvaliador()
 {
     $user = $this->usuario_bo->getUserSession();
     $papeis = $this->usuario_bo->carregar_papeis($user['id']);
     return $papeis['avaliador'] == true;
 }