<?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>>
 */

<?
// Esse script recupera os indicadores aos quais
// um usu�rio tem acesso

// recupera a identifica��o do usu�rio
// usar vari�vel de sess�o
// $sc_usuario  = trim(pg_escape_string($_POST['form_usuario']));
// $sc_senha    = md5(trim(pg_escape_string($_POST['form_senha'])));

//carrega arquivo de conex�o
include "includes/pg_begin.php";

include_once "includes/acesso_constantes.php"; //carrega arquivo de constantes para verifica��o de acesso
include_once "includes/acesso_verificacao.php"; //carrega arquivo que possui fun��o para verifica��o de acesso

// seleciona os indicadores
// ATENCAO: alterar o select para buscar apenas indicadores aos quais o usu�rio tem acesso a algum indicador
$sql="
	select * 
	from indicador I, tema T";

// filtro por granularidade (from)
if ($sc_granularidade && $sc_granularidade != '*') {
	$sql .= ", indicadorgranularidade IG";
}

// filtro por periodicidade (from)
if ($sc_periodicidade && $sc_periodicidade != '*') {
	$sql .= ", indicadorperiodicidade IP";
}

// where 
	$sql .= " where I.codigotema = T.codigotema";
	
// filtro por tema (where)
if ($sc_tema && $sc_tema != '*') {
	$sql .= " and T.codigotema = " . $sc_tema;
}
	
// filtro por granularidade (where)
if ($sc_granularidade && $sc_granularidade != '*') {
	$sql .= " and I.codigoindicador = IG.codigoindicador";
	$sql .= " and IG.codigogranularidade = " . $sc_granularidade;
}

// filtro por periodicidade (where)
if ($sc_periodicidade && $sc_periodicidade != '*') {
	$sql .= " and I.codigoindicador = IP.codigoindicador";
	$sql .= " and IP.codigoperiodicidade = " . $sc_periodicidade;
}

// finaliza��o do comando
$sql .= " order by T.nometema, I.codigoindicadorclassif, I.codigoindicador";

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

if (!$result) {
   header('location:index.php?msn=4');
   exit;
}

// mostra o in�cio da lista de op��es
echo '<SELECT name="form_indicador" onChange="myForm.submit()">' . "\n";

// mostra a op��o por todos os temas SE TIVER ACESSO
if (ACESSO_Verifica_Permissao(ACESSO_OBJETO_TEMA, ACESSO_PERMISSAO_CONSULTA, ''))
{
    echo '<OPTION value="*">= todos os indicadores' . "\n";
}

// recupera as tuplas selecionadas
while ($nt=pg_fetch_array($result))
{
	//atribui valor a variaveis locais para db
	$db_codigoindicador = trim(pg_escape_string($nt['codigoindicador']));
	$db_nomeindicador   = trim(pg_escape_string($nt['nomeindicador']));
	$db_nometema        = trim(pg_escape_string($nt['nometema']));
    $db_codigotema = trim(pg_escape_string($nt['codigotema']));
	
	// verifica se valor est� pr�-selecionado
	$selected = '';
	if ($db_codigoindicador == $sc_indicador) {$selected = 'SELECTED';}

	// verifica se tem algum valor na s�rie hist�rica
	$sql2="
	select *
	from seriehistorica S
	where S.codigoindicador = '" . $db_codigoindicador . "'  
	and S.status = 0";
	$result2=pg_query($dbh, $sql2);
	if (pg_NumRows($result2) == 0) {
		$db_serie = '&times;';
	} else {
		$db_serie = '';
	}
    
    if (ACESSO_Verifica_Permissao(ACESSO_OBJETO_TEMA, ACESSO_PERMISSAO_CONSULTA, $db_codigotema))
    {
	    echo '<OPTION value="' . $db_codigoindicador . '" ' . $selected . '>' . $db_nometema . ' - ' . $db_nomeindicador . ' (' . $db_codigoindicador . ') ' . $db_serie . "\n";
    }
}

// mostra o final da lista de op��es
echo '</SELECT>' . "\n";


//carrega arquivo para finalizar conex�o
include "includes/pg_end.php";


?>