Пример #1
0
 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);