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; }
function salvar_trabalho($id_trabalho, $status) { $id_usuario = (int) $_SESSION["id_usuario"]; $titulo = $_POST["cTitulo"]; //$titulo = mysql_real_escape_string($_POST["cTitulo"]); $titulo_ordenar = html_entity_decode(strip_tags($titulo), ENT_QUOTES, "UTF-8"); $resumo = $_POST["cResumo"]; //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($_POST["palavra1"]); $palavra2 = html_entity_decode($_POST["palavra2"]); $palavra3 = html_entity_decode($_POST["palavra3"]); $area = (int) $_POST["area"]; $categoria = (int) $_POST["categoria"]; $modalidade = (int) $_POST["modalidade"]; $apoiadores = html_entity_decode($_POST["apoiadores"]); $turno1 = $_POST["turno1"]; $turno2 = $_POST["turno2"]; $turno3 = $_POST["turno3"]; $id_curso = (int) $_POST["curso"]; $email_trabalho = html_entity_decode($_POST["email_trabalho"]); $ip_servidor = $_SERVER['REMOTE_ADDR']; $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; } //Instancia um trabalho. $trabalho_dao = new TrabalhoMySqlDAO(); $trabalho = new Trabalho(); $trabalho->setFkArea($area); $trabalho->setFkCategoria($categoria); $trabalho->setFkModalidade($modalidade); $trabalho->setNivel($nivel); $trabalho->setTitulo($titulo); $trabalho->setTituloOrdenar($titulo_ordenar); $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); $trabalho->setIpCadastro($ip_servidor); $trabalho->setStatus($status); //Se id_trabalho negativo 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->setIdTrabalho($id_trabalho); $trabalho_dao->update($trabalho); } return 0; }