Ejemplo n.º 1
0
 private function tela_to_trabalho(\Entity\Trabalho $trabalho)
 {
     //Pega dados da interface.
     $data = $this->input->post();
     //$id_usuario = (int) $_SESSION["id_usuario"];
     $titulo = $data["ctitulo"];
     if ($titulo == '') {
         throw new Exception("Título do trabalho não preenchido");
     }
     //$titulo = mysql_real_escape_string($data["cTitulo"]);
     //$titulo_ordenar = html_entity_decode(strip_tags($titulo), ENT_QUOTES, "UTF-8");
     $resumo = $data["cresumo"];
     if ($resumo == '') {
         throw new Exception("Resumo do trabalho não preenchido");
     }
     //<<<<<<<<<<<<<<<<<< Alex implementar<<<<<<<<<<<<<<<<<<<<<<<<<
     $quant_cars_resumo = tamanho_resumo($resumo);
     if ($quant_cars_resumo > TRAB_QUANT_MAX_CARS_RESUMO) {
         throw new Exception("Resumo com " . $quant_cars_resumo . " caracteres. Excedeu o máximo permitido (" . TRAB_QUANT_MAX_CARS_RESUMO . " caracteres)");
     }
     //Campo é obrigatório <<<<<<<<<<<<<<<<<<
     $resumo2 = "---";
     //Se for usar mysql_real_escape_string() tem que ser depois de tamanho_resumo().
     //$resumo = mysql_real_escape_string($resumo);
     //$resumo2 = html_entity_decode(strip_tags($resumo), ENT_QUOTES, "UTF-8");
     $palavra1 = html_entity_decode($data["palavra1"]);
     if ($palavra1 == '') {
         throw new Exception("Palavra-chave 1 não preenchida");
     }
     $palavra2 = html_entity_decode($data["palavra2"]);
     if ($palavra2 == '') {
         throw new Exception("Palavra-chave 2 não preenchida");
     }
     $palavra3 = html_entity_decode($data["palavra3"]);
     if ($palavra3 == '') {
         throw new Exception("Palavra-chave 3 não preenchida");
     }
     $id_area = (int) $data["id_area"];
     if ($id_area <= 0) {
         throw new Exception("Área temática não preenchida");
     }
     $id_categoria = (int) $data["id_categoria"];
     if ($id_categoria <= 0) {
         throw new Exception("Categoria não preenchida");
     }
     $id_modalidade = (int) $data["id_modalidade"];
     if ($id_modalidade <= 0) {
         throw new Exception("Modalidade não preenchida");
     }
     $apoiadores = html_entity_decode($data["apoiadores"]);
     $turno1 = $data["turno1"];
     $turno2 = $data["turno2"];
     $turno3 = $data["turno3"];
     if ($turno1 == '') {
         throw new Exception("Turno preferencial 1 não foi escolhido");
     }
     if ($turno1 == '') {
         throw new Exception("Turno preferencial 2 não foi escolhido");
     }
     if ($turno1 == '') {
         throw new Exception("Turno preferencial 3 não foi escolhido");
     }
     if ($turno1 == $turno2 || $turno1 == $turno3 || $turno2 == $turno3) {
         throw new Exception("Os três turnos devem ser diferentes");
     }
     //Nao instancia trabalho pois estah vindo por parametro.
     //$trabalho = new \Entity\Trabalho;
     $trabalho->setTitulo($titulo);
     //$trabalho->setTituloOrdenar($titulo_ordenar);
     $trabalho->fk_area = $id_area;
     $trabalho->fk_categoria = $id_categoria;
     $trabalho->fk_modalidade = $id_modalidade;
     $trabalho->setResumo($resumo);
     $trabalho->setResumo2($resumo2);
     $trabalho->setPalavra1($palavra1);
     $trabalho->setPalavra2($palavra2);
     $trabalho->setPalavra3($palavra3);
     $trabalho->setApoiadores($apoiadores);
     $trabalho->setTurno1($turno1);
     $trabalho->setTurno2($turno2);
     $trabalho->setTurno3($turno3);
     return $trabalho;
 }
 /**
  * Inseri um registro na tabela
  *
  * @parametro TrabalhoMySql trabalho
  */
 public function insert(\Entity\Trabalho $Trabalho)
 {
     //Nao preenche os campos data_atualizacao e ip_atualizacao.
     //Preenche o campo data_cadastro automaticamente com a data atual do servidor de banco de dados.
     $sql = "INSERT INTO {$this->table} (fk_area, fk_categoria, fk_modalidade, nivel, titulo, titulo_ordenar, palavra1, palavra2, palavra3, apoiadores, resumo, resumo2, status, data_cadastro, ip_cadastro, fk_sessao, seq_sessao, nota, premiado, turno1, turno2, turno3) VALUES ( :fkArea,  :fkCategoria,  :fkModalidade,  :nivel,  :titulo,  :tituloOrdenar,  :palavra1,  :palavra2,  :palavra3,  :apoiadores,  :resumo,  :resumo2,  :status,  sysdate(),  :ipCadastro,  :fkSessao,  :seqSessao,  :nota,  :premiado, :turno1, :turno2, :turno3)";
     $fkArea = $Trabalho->getFkArea();
     $fkCategoria = $Trabalho->getFkCategoria();
     $fkModalidade = $Trabalho->getFkModalidade();
     $nivel = $Trabalho->getNivel();
     $titulo = $Trabalho->getTitulo();
     $tituloOrdenar = $Trabalho->getTituloOrdenar();
     $palavra1 = $Trabalho->getPalavra1();
     $palavra2 = $Trabalho->getPalavra2();
     $palavra3 = $Trabalho->getPalavra3();
     $apoiadores = $Trabalho->getApoiadores();
     $resumo = $Trabalho->getResumo();
     $resumo2 = $Trabalho->getResumo2();
     $status = $Trabalho->getStatus();
     $ipCadastro = $Trabalho->getIpCadastro();
     $fkSessao = $Trabalho->getFkSessao();
     $seqSessao = $Trabalho->getSeqSessao();
     $nota = $Trabalho->getNota();
     $premiado = $Trabalho->getPremiado();
     $turno1 = $Trabalho->getTurno1();
     $turno2 = $Trabalho->getTurno2();
     $turno3 = $Trabalho->getTurno3();
     $stmt = ConnectionFactory::prepare($sql);
     $stmt->bindParam(':fkArea', $fkArea);
     $stmt->bindParam(':fkCategoria', $fkCategoria);
     $stmt->bindParam(':fkModalidade', $fkModalidade);
     $stmt->bindParam(':nivel', $nivel);
     $stmt->bindParam(':titulo', $titulo);
     $stmt->bindParam(':tituloOrdenar', $tituloOrdenar);
     $stmt->bindParam(':palavra1', $palavra1);
     $stmt->bindParam(':palavra2', $palavra2);
     $stmt->bindParam(':palavra3', $palavra3);
     $stmt->bindParam(':apoiadores', $apoiadores);
     $stmt->bindParam(':resumo', $resumo);
     $stmt->bindParam(':resumo2', $resumo2);
     $stmt->bindParam(':status', $status);
     //$stmt->bindParam(':dataCadastro', $dataCadastro);
     //$stmt->bindParam(':dataAtualizacao', $dataAtualizacao);
     $stmt->bindParam(':ipCadastro', $ipCadastro);
     //$stmt->bindParam(':ipAtualizacao', $ipAtualizacao);
     $stmt->bindParam(':fkSessao', $fkSessao);
     $stmt->bindParam(':seqSessao', $seqSessao);
     $stmt->bindParam(':nota', $nota);
     $stmt->bindParam(':premiado', $premiado);
     $stmt->bindParam(':turno1', $turno1);
     $stmt->bindParam(':turno2', $turno2);
     $stmt->bindParam(':turno3', $turno3);
     $stmt->execute();
     $sql = "SELECT LAST_INSERT_ID() as last_id";
     $stmt = ConnectionFactory::prepare($sql);
     $stmt->execute();
     $last_id = (array) $stmt->fetch();
     //Pega o id_trabalho que foi gerado no banco e atualiza o objeto Trabalho.
     $id_trabalho = 0;
     foreach ($last_id as $value) {
         $id_trabalho = $value;
     }
     $Trabalho->setIdTrabalho($id_trabalho);
     return $id_tabalho;
 }
Ejemplo n.º 3
0
 public function salvar_dados_trabalho(\Entity\Trabalho $trabalho)
 {
     //Instancia um DAO, para inserir ou atualizar o trabalho.
     $trabalho_dao = new TrabalhoMySqlDAO();
     $id_trabalho = $trabalho->getIdTrabalho();
     //Se id_trabalho for zero ou menor entao insere um novo trabalho.
     if ($id_trabalho <= 0) {
         //Insere trabalho.
         $id_trabalho = $trabalho_dao->insert($trabalho);
         //Insere trabalho_autor_curso.
         /*
               $trab_aut_curso = new TrabalhoAutorCurso();
               $trab_aut_curso_dao = new TrabalhoAutorCursoMySqlDAO();
               $trab_aut_curso->setFkAutor($id_usuario);
               $trab_aut_curso->setFkCurso($id_curso);
               $trab_aut_curso->setFkTrabalho($id_trabalho);
               $trab_aut_curso->setEmailTrabalho($email_trabalho);
               $trab_aut_curso->setSeq(1);
               $trab_aut_curso_dao->insert($trab_aut_curso);
         *
         */
         //Envia email para autor do trabalho.
         //envia_email_trabalho_inscrito($id_trabalho, $titulo, $email_trabalho);
     } else {
         //Atualiza trabalho.
         $trabalho_dao->update($trabalho);
     }
     /*
     
         $resp = 0;
         if (!isset($id_usuario)) {
           // erro: sessão expirou ou não existe
           return 1;
         }
     
         if ( (ETAPA_INSCRICAO_TRABALHO == 0) && (ETAPA_CORRECAO_TRABALHO_1 == 0) ) {
           // erro: etapa não permite inserir trabalho.
           return 2;
         }
     
         //Verifica se o usuário é um autor.
         $autor_dao = new AutorMySqlDAO();
         $result = $autor_dao->load($id_usuario);
         if ($result == null) {
           // erro: usuário não é autor
           return 3;
         }
     
         //Verifica se tamanho do resumo está correto.
         $tam_resumo = tamanho_resumo($resumo);
         if ($tam_resumo > QUANT_MAX_CARS_RESUMO) {
           return -$tam_resumo;
         }
     
         $curso_dao = new CursoMySqlDAO();
         $res_curso = $curso_dao->load($id_curso);
         if ($res_curso == null) {
           //Não é um curso do autor.
           return 5;
         }
         $nivel = $res_curso->nivel;
         $valida_modalidade = valida_modalidade_trabalho_autor($id_usuario, $id_trabalho, $modalidade);
         if ($valida_modalidade > 0) {
           //Erro na validacao da modalidade.
           return $valida_modalidade;
         }
     
         //verifica turnos
         if ( !valida_turnos($turno1, $turno2, $turno3) ) {
           //turnos inválidos.
           return 6;
         }
     */
     return 0;
 }
 public function setTurno3($turno3)
 {
     $this->__load();
     return parent::setTurno3($turno3);
 }