encode($obj);
if (!mb_detect_encoding($texto,"UTF-8",true))
$texto = utf8_encode($texto);
echo $texto;
//}
/*
include_once($locaplic."/pacotes/cpaint/JSON/json2.php");
error_reporting(0);
$j = new Services_JSON();
$texto = $j->encode($obj);
if (!mb_detect_encoding($texto,"UTF-8",true))
$texto = utf8_encode($texto);
header("Content-type: text/ascii; charset=UTF-8");
header('Expires: Fri, 14 Mar 1980 20:53:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
echo $texto;
exit;
*/
}
/*
Function: verificaDuplicados
Verifica se o resultado de um SQL retoena mais de um registro
Parametros:
sql {string} - sql que será executado
dbh {PDO} - objeto PDO de conexão com o banco
Retorno:
{boolean}
*/
function verificaDuplicados($sql,$dbh)
{
$res = $dbh->query($sql,PDO::FETCH_ASSOC);
if(count($res->fetchAll())>0)
return true;
else
return false;
}
/*
Function: exclui
Exlcui um registro de uma tabela do banco de dados de administração
Utiliza variáveis globais para fazer a consulta ao banco
Globals:
tabela - nome da tabela
coluna - nome da coluna
id - valor
*/
function exclui()
{
global $tabela,$coluna,$id;
try
{
include("conexao.php");
$dbhw->query("DELETE from $tabela WHERE $coluna = $id");
$dbhw = null;
$dbh = null;
return "ok";
}
catch (PDOException $e)
{
return "Error!: " . $e->getMessage();
}
}
/*
Function: pegaDados
Executa um sql de busca de dados
Parametros:
sql {string} - sql que será executado
locaplic {string} - endereço do i3Geo no sistema de arquivos
Retorno:
Array originada de fetchAll
*/
function pegaDados($sql,$locaplic="")
{
$resultado = array();
if($locaplic == "")
include("conexao.php");
else
include("$locaplic/admin/php/conexao.php");
error_reporting(E_ALL);
$q = $dbh->query($sql,PDO::FETCH_ASSOC);
if($q)
{
$resultado = $q->fetchAll();
$dbh = null;
$dbhw = null;
return $resultado;
}
else
{
$e = $dbh->errorInfo();
//$e1 = $dbhw->errorInfo();
$dbh = null;
$dbhw = null;
//echo " erro: ".$e[2];
throw new Exception(" erro admin.php funcao pegaDados:
".$e[2]."
");
}
}
/*
Function: verificaFilhos
Verifica se o pai tem filhos nos componentes hierárquicos do banco de administração
Por exemplo, pode-se verificar se um grupo possuí subgrupos, indicando-se como tabela i3geoadmin_grupos e o id do grupo
Variáveis globais:
tabela {string} - tabela do banco de dados
id {string} - valor a ser procurado
Retorno:
{booleano}
*/
function verificaFilhos()
{
global $tabela,$id;
try
{
$res = false;
if($tabela == "i3geoadmin_n2")
{
$r = pegaDados("select * from i3geoadmin_n3 where id_n2=$id");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_n1")
{
$r = pegaDados("select * from i3geoadmin_n2 where id_n1=$id");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_menus")
{
$r = pegaDados("select * from i3geoadmin_n1 where id_menu=$id");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_grupos")
{
$r = pegaDados("select n1.id_grupo from i3geoadmin_n1 as n1, i3geoadmin_n2 as n2 where n1.id_n1 = n2.id_n1 and n1.id_grupo = '$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_subgrupos")
{
$r = pegaDados("select n2.id_subgrupo from i3geoadmin_n3 as n3, i3geoadmin_n2 as n2 where n2.id_n2 = n3.id_n3 and n2.id_subgrupo = '$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_temas")
{
$r = pegaDados("select id_tema from i3geoadmin_n3 where id_tema = '$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_sistemas")
{
$r = pegaDados("SELECT id_sistema from i3geoadmin_sistemasf where id_sistema ='$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_atlas")
{
$r = pegaDados("SELECT id_atlas from i3geoadmin_atlasp where id_atlas ='$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_atlasp")
{
$r = pegaDados("SELECT id_prancha from i3geoadmin_atlast where id_prancha ='$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_n2")
{
$r = pegaDados("SELECT id_n3 from i3geoadmin_n3 where id_n2 ='$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "i3geoadmin_n1")
{
$r = pegaDados("SELECT id_n2 from i3geoadmin_n2 where id_n1 ='$id'");
if(count($r) > 0)
$res = true;
$r = pegaDados("SELECT id_raiz from i3geoadmin_raiz where nivel='1' and id_nivel ='$id'");
if(count($r) > 0)
$res = true;
}
if($tabela == "mapfiles")
{
$r = pegaDados("SELECT id_tema from i3geoadmin_n3 where id_tema ='$id'");
if(count($r) > 0)
$res = true;
}
return $res;
}
catch (PDOException $e)
{
return "Error!: " . $e->getMessage();
}
}
/*
Function: resolveAcentos
Converte uma string para uma codificação de caracteres determinada
Parametros:
palavra {string} - palavra a ser convertida
tipo {string} - ISO|UTF
Retorno:
{string}
*/
function resolveAcentos($palavra,$tipo)
{
if($tipo == "ISO")
{
$palavra = mb_convert_encoding($palavra,"AUTO","ISO-8859-1");
}
if($tipo == "UTF")
{
$palavra = mb_convert_encoding($palavra,"AUTO","UTF-8");
}
if($tipo == "html")
$palavra = htmlentities($palavra);
if($tipo == "palno")
$palavra = urldecode($palavra);
return $palavra;
}
function mapfilebase($base,$locaplic){
$versao = versao();
$versao = $versao["principal"];
if(isset($base) && $base != ""){
if(file_exists($base))
{$f = $base;}
else
{$f = $locaplic."/aplicmap/".$base.".map";}
}
else
{
$f = "";
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
{$f = $locaplic."/aplicmap/geral1windowsv".$versao.".map";}
else
{
if($f == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){
$f = "/var/www/i3geo/aplicmap/geral1debianv".$versao.".map";
}
if($f == "" && file_exists('/var/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){
$f = "/var/www/html/i3geo/aplicmap/geral1fedorav".$versao.".map";
}
if($f == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){
$f = "/opt/www/html/i3geo/aplicmap/geral1v".$versao.".map";
}
if($f == "")
{$f = $locaplic."/aplicmap/geral1v".$versao.".map";}
}
}
return $f;
}
?>