<?PHP
/*
 * DIREITOS AUTORAIS RESERVADOS (C) 2007 UFRJ
 * 
 * ESTE PROGRAMA É SOFTWARE LIVRE; VOCÊ PODE REDISTRIBUÍ-LO E/OU MODIFICÁ-LO SOB OS
 * TERMOS DA LICENÇA PÚBLICA GERAL GNU CONFORME PUBLICADA PELA FREE SOFTWARE FOUNDATION;
 * TANTO A VERSÃO 2 DA LICENÇA, COMO (A SEU CRITÉRIO) QUALQUER VERSÃO POSTERIOR.

 * ESTE PROGRAMA É DISTRIBUÍDO NA EXPECTATIVA DE QUE SEJA ÚTIL, PORÉM, SEM NENHUMA GARANTIA;
 * NEM MESMO A GARANTIA IMPLÍCITA DE COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
 * CONSULTE A LICENÇA PÚBLICA GERAL DO GNU PARA MAIS DETALHES.
 * 
 * VOCÊ DEVE TER RECEBIDO UMA CÓPIA DA LICENÇA PÚBLICA GERAL DO GNU JUNTO COM ESTE PROGRAMA; 
 * SE NÃO, ACESSE <<HTTP://WWW.GNU.ORG/LICENSES/LICENSES.PT-BR.HTML>>
 */

<?php
/*
 * Pontifical Catholic University of Rio de Janeiro
 *
 * Authors: LabBio Group
 * Created on 02/09/2009
 */

// -----------------------------------------------------------
//     Rotinas para remover dados das tabelas
// -----------------------------------------------------------
$sql = "select * from especial where inepAluno = '$inepAluno'";
$resultSel = pg_query($dbh, $sql);
if ($resultSel)
{
  $sql = "delete from especial where inepAluno = '$inepAluno'";
  $resultDel = pg_query($dbh, $sql);
  if (!$resultDel)
  {
    pg_query($dbh, "ROLLBACK");
    $erro = "Erro ao apagar registros da tabela EspecialAluno";
    $_SESSION["f_retorno"] = $erro;
    header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
    exit;
  }
}

$sql = "select * from infoComplementar where inepAluno = '$inepAluno'";
$resultSel = pg_query($dbh, $sql);
if ($resultSel)
{
  $sql = "delete from infoComplementar where inepAluno = '$inepAluno'";
  $resultDel = pg_query($dbh, $sql);
  if (!$resultDel)
  {
    pg_query($dbh, "ROLLBACK");
    $erro = "Erro ao apagar registros da tabela infoComplementar";
    $_SESSION["f_retorno"] = $erro;
    header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
    exit;
  }
}

$sql = "select * from matriculaAnterior where inepAluno = '$inepAluno'";
$resultSel = pg_query($dbh, $sql);
if ($resultSel)
{
  $sql = "delete from matriculaAnterior where inepAluno = '$inepAluno'";
  $resultDel = pg_query($dbh, $sql);
  if (!$resultDel)
  {
    pg_query($dbh, "ROLLBACK");
    $erro = "Erro ao apagar registros da tabela matriculaAnterior";
    $_SESSION["f_retorno"] = $erro;
    header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
    exit;
  }
}

// exclusao de matricula atual

$sql = "select * from matriculaAtual where inepAluno = '$inepAluno'";
$resultSel = pg_query($dbh, $sql);
if ($resultSel)
{
  $sql = "delete from matriculaAtual where inepAluno = '$inepAluno'";
  $resultDel = pg_query($dbh, $sql);
  if (!$resultDel)
  {
    pg_query($dbh, "ROLLBACK");
    $erro = "Erro ao apagar registros da tabela matriculaAtual";
    $_SESSION["f_retorno"] = $erro;
    header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
    exit;
  }
}

// exclusao da relacao responsavel com aluno


$sql = "delete from responsavelaluno
    	where  inepaluno = '$inepAluno'";
$result = pg_query($dbh, $sql);
if (!$result)
{
   pg_query($dbh, "ROLLBACK");
   $erro = "Erro ao apagar registro de responsavel pai - aluno";
   $_SESSION["f_retorno"] = $erro;
   header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
   exit;
}


// verifica se responsavel ligado a outro aluno

$a = array ("0", "1", "2", "3", "4", "5", "6", "7", "8");

if (isset($tipoDocIdPai) && in_array($tipoDocIdPai, $a) )
{
    $sql = "select * from responsavelaluno
            where tipodocidresponsavel = '$tipoDocIdPai'  and
                  numdocidresponsavel  = '$numDocIdPai'   and
                  inepaluno not in ('$inepAluno')" ;

    $result = pg_query($dbh, $sql);
    if (!$result)
    {
       pg_query($dbh, "ROLLBACK");
       $erro = "Erro ao acessar responsavel para exclusao na atualizacao";
       $_SESSION["f_retorno"] = $erro;
       header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
       exit;
    }

    if (!($linhaResultado = pg_fetch_array($result)))
    {

// caso n�o esteja pode apagar o responsavel

        $sql = "delete from responsavel
        where  tipodocidresponsavel = '$tipoDocIdPai' and
               numdocidresponsavel  = '$numDocIdPai'";
        $result = pg_query($dbh, $sql);
        if (!$result)
        {
           pg_query($dbh, "ROLLBACK");
           $erro = "Erro ao apagar registro de responsavel pai";
           $_SESSION["f_retorno"] = $erro;
           header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
           exit;
        }
    }
}

// para os outros tipos de responsaveis o mesmo racioc�nio

$a = array ("0", "1", "2", "3", "4", "5", "6", "7", "8");

if (isset($tipoDocIdMae) && in_array($tipoDocIdMae, $a) )
{

    $sql = "select * from responsavelaluno
            where tipodocidresponsavel = '$tipoDocIdMae'  and
                  numdocidresponsavel  = '$numDocIdMae'   and
                  inepaluno not in('$inepAluno')" ;

    $result = pg_query($dbh, $sql);
    if (!$result)
    {
       pg_query($dbh, "ROLLBACK");
       $erro = "Erro ao acessar responsavel para exclusao na atualizac�o";
       $_SESSION["f_retorno"] = $erro;
       header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
       exit;
    }

    if (!($linhaResultado = pg_fetch_array($result)))
    {
        $sql = "delete from responsavel
        where  tipodocidresponsavel = '$tipoDocIdMae' and
               numdocidresponsavel  = '$numDocIdMae'";
        $result = pg_query($dbh, $sql);
        if (!$result){
           pg_query($dbh, "ROLLBACK");
           $erro = "Erro ao apagar registro de responsavel - mae";
           $_SESSION["f_retorno"] = $erro;
           header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
           exit;
        }
    }
}

//echo "<br>ANTES DE REMOVER RESPONSAVEL<br>";
//echo "<br>TIPO DOC ID RESPONSAVEL: <br>" . var_dump($tipoDocIdResponsavel);

$a = array ("0", "1", "2", "3", "4", "5", "6", "7", "8");

if (isset($tipoDocIdResponsavel) && in_array($tipoDocIdResponsavel, $a) )
{
    $sql = "select * from responsavelaluno
            where tipodocidresponsavel = '$tipoDocIdResponsavel' and
                  numdocidresponsavel  = '$numDocIdResponsavel'  and
                  inepaluno not in ('$inepAluno')" ;

//	echo "<br>SQL1: <br>$sql<br>";

    $result = pg_query($dbh, $sql);
    if (!$result)
    {
       pg_query($dbh, "ROLLBACK");
       $erro = "Erro ao acessar responsavel para exclusao por aluno na atualizac�o";
       $_SESSION["f_retorno"] = $erro;
       header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
       exit;
    }

    if (!($linhaResultado = pg_fetch_array($result)))
    {
        $sql = "delete from responsavel
                where  tipodocidresponsavel = '$tipoDocIdResponsavel' and
                       numdocidresponsavel  = '$numDocIdResponsavel'";

//		echo "<br>SQL2: <br>$sql<br>";

        $result = pg_query($dbh, $sql);

        if (!$result)
        {
           pg_query($dbh, "ROLLBACK");
           $erro = "Erro ao apagar registro de responsavel";
           $_SESSION["f_retorno"] = $erro;
           header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
           exit;
        }
    }
}

//echo "<br>DEPOIS DE REMOVER RESPONSAVEL<br>";
//exit;

// exclusao de registro de irmaosAluno

$sql = "select * from irmaosAluno where inepAluno = '$inepAluno'";
$resultSel = pg_query($dbh, $sql);
if ($resultSel)
{
  $sql = "delete from irmaosAluno where inepAluno = '$inepAluno'";
  $resultDel = pg_query($dbh, $sql);
  if (!$resultDel)
  {
    pg_query($dbh, "ROLLBACK");
    $erro = "Erro ao apagar registros da irmaosAluno";
    $_SESSION["f_retorno"] = $erro;
    header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
    exit;
  }
}

// exclusao de registro de aluno

$sql = "select * from aluno where inepAluno = '$inepAluno'";
$resultSel = pg_query($dbh, $sql);
if ($resultSel)
{
  $sql = "delete from aluno where inepAluno = '$inepAluno'";
  $resultDel = pg_query($dbh, $sql);
  if (!$resultDel)
  {
    pg_query($dbh, "ROLLBACK");
    $erro = "Erro ao apagar registros da aluno";
    $_SESSION["f_retorno"] = $erro;
    header('location:recadastra.php?reacao=retorno&acao=atualizar&inepaluno='.$inepAluno);
    exit;
  }
}

?>