<?php

/*
 * Copyright 2008 ICMBio
 * Este arquivo é parte do programa SISICMBio
 * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos
 * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão
 * 2 da Licença.
 *
 * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem
 * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a
 * Licença Pública Geral GNU/GPL em português para maiores detalhes.
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt",
 * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço
 * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF)
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
 * */
$usuario = Controlador::getInstance()->usuario;
$aColumns = array('ID', 'NU_REF', 'INTERESSADO', 'NU_RES', 'NM_USUARIO_ORIGEM', 'NM_USUARIO_DESTINO', 'NM_UNIDADE_DESTINO', 'NM_USUARIO_RESPOSTA', 'NULL', 'NULL', 'DT_PRAZO', 'DT_RESPOSTA', 'DIAS_RESPOSTA');
$aColumnsFTS = array('NU_REF', 'INTERESSADO', 'NU_RES', 'NM_USUARIO_ORIGEM', 'NM_USUARIO_DESTINO', 'NM_UNIDADE_DESTINO', 'NM_USUARIO_RESPOSTA');
$sIndexColumn = "ID";
$sTable = "VW_PRAZOS_RESPOSTAS_SETOR";
$sExtraQuery = "ID_USUARIO_ORIGEM != {$usuario->ID} AND ID_UNIDADE_ORIGEM = {$usuario->ID_UNIDADE}";
print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, null, $sExtraQuery, $aColumnsFTS);
$p1 = new Point(3, 3);
$p2 = new Point(1, 2);
echo $grid->distance($p1, $p2) . "\n";
$p1 = new Point(30, 312);
$p2 = new Point(1131, 272);
echo $grid->distance($p1, $p2) . "\n";
$p1 = new Point(10, 10);
$p2 = new Point(20, 20);
echo $grid->distance($p1, $p2) . "\n";
echo var_dump($grid->cmpPoints($p1, $p2));
$p1 = new Point(10, 10);
$p2 = new Point(10, 10);
echo var_dump($grid->cmpPoints($p1, $p2));
echo "\n\n";
$grid->displayGrid();
echo $grid->getGrid();
echo '-----------------------------------------------------------------------' . "\n";
$points = array();
$points[] = new Point(1, 3);
$points[] = new Point(7, 14);
$points[] = new Point(13, 8);
$points[] = new Point(8, 10);
echo $grid->mapPoint($points);
echo $grid->getGrid();
echo '-----------------------------------------------------------------------' . "\n";
echo var_dump($points);
echo '-----------------------------------------------------------------------' . "\n";
$arr = array(1, 2, 3);
echo '-----------------------------------------------------------------------' . "\n";
//NOTE: function from http://stackoverflow.com/a/10223120/4223423
function permuteArray($items, $perms = array(), &$p = array())
<?php

$aColumns = array('ID', 'DT_PRAZO', 'MOVIMENTO', 'DEMANDA', 'DT_RESPOSTA', 'RESPOSTA', 'ORGAO');
$aColumnsFTS = array('MOVIMENTO', 'DEMANDA', 'RESPOSTA', 'ORGAO');
$sIndexColumn = "ID";
$sTable = "ext__snas__vw_historico_prazos_demandas";
print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, null, " DIGITAL_PAI='{$_REQUEST['pai']}' AND DIGITAL_FILHO='{$_REQUEST['digital']}'", $aColumnsFTS);
/*
 * Copyright 2008 ICMBio
 * Este arquivo é parte do programa SISICMBio
 * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos
 * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão
 * 2 da Licença.
 *
 * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem
 * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a
 * Licença Pública Geral GNU/GPL em português para maiores detalhes.
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt",
 * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço
 * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF)
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
 * */
/**
 * Constrói a grid para ser apresentada na view.
 * 
 * @param array $aColumns colunas a serem apresentadas na grid
 * @param string $sIndexColumn coluna indexada
 * @param string[VIEW|QUERY SQL] $sTable obrigatório, pode ser uma view ou uma query.
 * @param string $sExtraQuery opcional (representa o where)
 * @param array $auxView opcional (apenas se usa quando a tabela for especificamente uma query)
 */
$aColumns = array('ID', 'NOME', 'DESCRICAO', 'TIPO', 'FUNC_GET_PERMISSAO_UNIDADE' => "sgdoc.fn_permissao_unidade({$_GET['unidade']}, ID)", 'FUNC_GET_PERMISSAO_USUARIO' => "sgdoc.fn_permissao_usuario({$_GET['usuario']}, ID)");
$aColumnsFTS = array('NOME', 'DESCRICAO', 'TIPO');
$sIndexColumn = 'ID';
$sTable = 'VW_RECURSOS';
print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, NULL, false, $aColumnsFTS);
    $extraSql = '';
    $i = 0;
    foreach ($arrayPesquisa as $chave => $valor) {
        if (!empty($valor)) {
            if ($i > 0) {
                $extraSql .= " AND ";
            }
            $tipoCampo = strtolower($arrayMapTabela[$chave]);
            if ($tipoCampo != 'string') {
                $extraSql .= "{$chave} = {$valor}";
            } else {
                $extraSql .= "CAST({$chave} AS TEXT) ILIKE '%{$valor}%'";
            }
            $i++;
        }
    }
    return $extraSql;
}
$aColumns = array('ID', 'CPF', 'USUARIO', 'NOME', 'TELEFONE', 'EMAIL', 'SKYPE', 'STATUS', 'ID');
$aColumnsFTS = array('CPF', 'USUARIO', 'NOME', 'TELEFONE', 'EMAIL', 'SKYPE');
$sIndexColumn = "ID";
$sTable = "TB_USUARIOS";
if (isset($_GET['PESQUISA'])) {
    //DEIXA SÓ NÚMEROS NOS CAMPOS DE CPF E TELEFONE PARA PESQUISA
    $_GET['PESQUISA']['CPF'] = preg_replace('/[^\\d]/', '', $_GET['PESQUISA']['CPF']);
    $_GET['PESQUISA']['TELEFONE'] = preg_replace('/[^\\d]/', '', $_GET['PESQUISA']['TELEFONE']);
    $mapeamentoTabela = array('USUARIO' => 'string', 'NOME' => 'string', 'TELEFONE' => 'string', 'EMAIL' => 'string', 'ID_UNIDADE' => 'int', 'SKYPE' => 'string', 'CPF' => 'string');
    $extraSql = montaWherePesquisa($_GET['PESQUISA'], $mapeamentoTabela);
}
print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, null, isset($extraSql) ? $extraSql : false, $aColumnsFTS);