function valida_modalidade_trabalho_autor($id_modalidade, $id_trabalho, $id_autor) { //Quantidade de trabalhos como autor principal. $trabalho_dao = new TrabalhoMySqlDAO(); $trabalhos = $trabalho_dao->queryTrabalhosByAutorPrincipal($id_autor); $quant_trab = count($trabalhos); if ($quant_trab == 0) { return true; //ok } if ($quant_trab == 1) { //Tem apenas um trabalho //Verifica se é um trabalho com modalidade diferente //$trabalhos = $autor_dao->queryTrabalhosAutorPrincipal($id_autor); $trabalho = $trabalhos[0]; $fk_trabalho = $trabalho->fk_trabalho; $modalidade_trabalho = $trabalho->fk_modalidade; //Se estiver inserindo um trabalho novo. if ($id_trabalho == -1) { if ($modalidade_trabalho != $id_modalidade) { //Modalidade é diferente. Ok. return true; //ok } else { //Erro: mesma modalidade. throw new Exception("Não é permitido mais de um trabalho do mesmo autor com mesma modalidade. Você não pode inscrever um trabalho com a mesma modalidade."); } } else { //Está modificando o único trabalho então pode modificar a modalidade sem necessitar nenhuma verificação. return true; //ok } } //quant==1 if ($quant_trab == MAX_TRABALHOS_COMO_AUTOR_PRINCIPAL) { //Se estiver inserindo um novo trabalho entao NAO pode. if ($id_trabalho == -1) { throw new Exception("Número máximo de trabalhos permitidos é " . MAX_TRABALHOS_COMO_AUTOR_PRINCIPAL); } else { $trabalho_dao = new TrabalhoMySqlDAO(); $trabalho = $trabalho_dao->load($id_trabalho); if ($trabalho->fk_modalidade == $id_modalidade) { //Ok, nao está tentando modificar modalidade do trabalho. return true; //ok } else { //Já é autor de 2 trabalhos. //Por enquanto não é permitido mudar a modalidade. //Está tentando modificar a modalidade, mas não pode, pois já tem 2 trabalhos. throw new Exception("Não é permitido mais de um trabalho do mesmo autor com mesma modalidade. Você não pode salvar um trabalho com a mesma modalidade."); } } } // quant == 2 //Mais de 2 trabalhos, algum ERRO de consistência no sistema. throw new Exception("Autor possui mais de " . MAX_TRABALHOS_COMO_AUTOR_PRINCIPAL . " trabalhos"); }
function valida_modalidade_trabalho_autor($id_autor, $id_trabalho, $modalidade) { $autor_dao = new AutorMySqlDAO(); //Quantidade de trabalhos como autor principal. $quant_trab = $autor_dao->queryQuantidadeTrabalhosAutorPrincipal($id_autor); if ($quant_trab == 0) { return 0; //ok } if ($quant_trab == 1) { //Tem apenas um trabalho //Verifica se é um trabalho com modalidade diferente $trabalhos = $autor_dao->queryTrabalhosAutorPrincipal($id_autor); $trabalho = $trabalhos[0]; $fk_trabalho = $trabalho->fk_trabalho; $modalidade_trabalho = $trabalho->fk_modalidade; //Se estiver inserindo um trabalho novo. if ($id_trabalho == -1) { if ($modalidade_trabalho != $modalidade) { //Modalidade é diferente. Ok. return 0; } else { //Erro: mesma modalidade. return 11; } } else { //Está modificando o único trabalho então pode modificar a modalidade sem necessitar nenhuma verificação. return 0; } } //quant==1 if ($quant_trab == 2) { //Se estiver inserindo um novo trabalho entao NAO pode. if ($id_trabalho == -1) { return 12; } else { $trabalho_dao = new TrabalhoMySqlDAO(); $trabalho = $trabalho_dao->load($id_trabalho); if ($trabalho->fk_modalidade == $modalidade) { //Ok, nao está tentando modificar modalidade do trabalho. return 0; } else { //Já é autor de 2 trabalhos. //Por enquanto não é permitido mudar a modalidade. //Está tentando modificar a modalidade, mas não pode, pois já tem 2 trabalhos. return 13; } } } //Mais de 2 trabalhos, algum ERRO de consistência no sistema. return 14; }
<?php require_once '../../controller/autoloadreload.php'; Login::VerificaLogin(); $trab = new TrabalhoMySqlDAO(); $id = $_REQUEST['idTrabalho']; $trabalho = $trab->load($id); $areaDao = new AreaMySqlDAO(); $area = $areaDao->load($trabalho->fk_area); $categoriaDao = new CategoriaMySqlDAO(); $categoria = $categoriaDao->load($trabalho->fk_categoria); $modalidadeDao = new ModalidadeMySqlDAO(); $modalidade = $modalidadeDao->load($trabalho->fk_modalidade); ?> <tr style="background-color:#CCDAB4;"> <td>ID</td> <td>Área Tematica</td> <td>Categoria</td> <td>Modalidade</td> </tr> <tr> <td><?php echo $trabalho->id_trabalho; ?> </td> <td><?php echo OtherFuctions::lmWord($area->nome, 40); ?> </td> <td><?php echo OtherFuctions::lmWord($categoria->nome, 30);