<?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 01/09/2009
 */

// Inclusao da Tabela Responsavel e Responsavel-Aluno Responsavel
if ( isset($nomeResponsavel) && (trim($nomeResponsavel) <> '' or strlen($nomeResponsavel) != 0) )
{
   $a = array ("1", "2", "3", "4", "5", "6", "7", "8");

   if (!isset($tipoDocIdResponsavel) or !in_array($tipoDocIdResponsavel, $a) )
   {
       $tipoDocIdResponsavel = '0';
   }

   if (!isset($numDocIdResponsavel) or trim($numDocIdResponsavel) == '')
   {
	$numDocIdResponsavel = geraTimeStamp();
   }

   $nomeResponsavel = preparaNome($nomeResponsavel);

	// VERIFICA SE O REGISTRO DO(A) RESPONSAVEL JA FOI INSERIDO
	$sql = "select * from responsavel
			where tipodocidresponsavel = '$tipoDocIdResponsavel' and
               	  numdocidresponsavel  = '$numDocIdResponsavel'";

	$result = executaQuery($dbh,$sql);
	if (!$result)
   	{
       $result = executaQuery($dbh,"ROLLBACK");
       if (!$result)
       {
          $erroFatal = "Erro em Transa��o Interna do Sistema - Informar Administrador";
          $_SESSION["f_retornoFatal"] = $erroFatal;
          exit;
       }
       $erro = "Erro na Selecao do Responsavel-Aluno para gravacao de Responsavel - Responsavel";
       $_SESSION["f_retorno"]= $erro;
       pg_close($dbh);
       header('location:recadastra.php?reacao=retorno&acao='.$acao.'&inepaluno='.$inepAluno);
       exit;
   	}

	/* INSERE RESPONSAVEL SE NAUM EXISTIR ANTERIORMENTE */
	if (!($linhaResultado = pg_fetch_array($result)))
	{

	   $sql = "INSERT INTO responsavel
	   (
	      tipoDocIdResponsavel,
	      numDocIdResponsavel,
	      ufDocIdResponsavel,
	      emissaoDocIdResponsavel,
	      orgaoEmissorDocIdResponsavel,
	      docResponsavelComprovado,
	      docResponsavelDigitalizado,
	      nomeResponsavel

	   ) VALUES (

	     '$tipoDocIdResponsavel',
	     '$numDocIdResponsavel',
	     '$ufDocIdResponsavel',
	      $emissaoDocIdResponsavel,
	     '$orgaoEmissorDocIdResponsavel',
	     '$docResponsavelComprovado',
	     '$docResponsavelDigitalizado',
	     '$nomeResponsavel'

	   )";

	   $result = executaQuery($dbh, $sql);
	   if (!$result)
	   {
	   		echo "<br>RESP SQL: <br>$sql<br>";     // retirar ......
	   		die(pg_last_error());                  // retirar .....
	      $result = executaQuery($dbh,"ROLLBACK");
	      if (!$result)
	      {
	         $erroFatal = "Erro em Transa��o Interna do Sistema - Informar Administrador";
	         $_SESSION["f_retornoFatal"] = $erroFatal;
	         exit;
	      }
	      $erro = "Erro na Grava��o de Responsavel - Responsavel";
	      $_SESSION["f_retorno"]= $erro;
	      pg_close($dbh);
	      header('location:recadastra.php?reacao=retorno&acao='.$acao.'&inepaluno='.$inepAluno);
	      exit;
	   }

		$sql = cleanSql($sql);
		$textoScript .= $sql . ';';

	} // END RESPONSAVEL


   $sql = "INSERT INTO responsavelAluno
   (
      tipoDocIdResponsavel,
      numDocIdResponsavel,
      inepAluno,
      grauParentescoResponsavel

   ) VALUES (

      '$tipoDocIdResponsavel',
      '$numDocIdResponsavel',
      '$inepAluno',
      '$grauParentescoResponsavel'
   )";

   $result = executaQuery($dbh, $sql);
   if (!$result)
   {
      $result = executaQuery($dbh,"ROLLBACK");
      if (!$result)
      {
         $erroFatal = "Erro em Transa��o Interna do Sistema - Informar Administrador";
         $_SESSION["f_retornoFatal"] = $erroFatal;
         exit;
      }
      $erro = "Erro na Grava��o de Responsavel Aluno - Responsavel 2";
      $_SESSION["f_retorno"]= $erro;
      pg_close($dbh);
      header('location:recadastra.php?reacao=retorno&acao='.$acao.'&inepaluno='.$inepAluno);
      exit;
   }
   $sql = cleanSql($sql);
   $textoScript .= $sql . ';';
}

?>
