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 retorna 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,$esquemaadmin; try { include("conexao.php"); $tabela = $esquemaadmin.$tabela; $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(0); $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,$esquemaadmin; try { $res = false; if($tabela == "i3geoestat_mapa_grupo") { $grupo = pegaDados("select * from ".$esquemaadmin."i3geoestat_mapa_tema where id_mapa_grupo=$id"); if(count($grupo) > 0) $res = true; } if($tabela == "i3geoestat_mapa") { $grupo = pegaDados("select * from ".$esquemaadmin."i3geoestat_mapa_grupo where id_mapa=$id"); if(count($grupo) > 0) $res = true; } if($tabela == "i3geoestat_classificacao") { $r = pegaDados("select * from ".$esquemaadmin."i3geoestat_classes where id_classificacao=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoestat_conexao") { $r = pegaDados("select * from ".$esquemaadmin."i3geoestat_medida_variavel where codigo_estat_conexao=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoestat_tipo_periodo") { $r = pegaDados("select * from ".$esquemaadmin."i3geoestat_medida_variavel where codigo_tipo_periodo=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoestat_unidade_medida") { $r = pegaDados("select * from ".$esquemaadmin."i3geoestat_medida_variavel where codigo_unidade_medida=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoestat_fonteinfo") { $r = pegaDados("select * from ".$esquemaadmin."i3geoestat_fonteinfo_medida where id_fonteinfo=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoestat_variavel") { $r = pegaDados("select * from ".$esquemaadmin."i3geoestat_medida_variavel where codigo_variavel=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoestat_medida_variavel") { $link = pegaDados("select * from ".$esquemaadmin."i3geoestat_medida_variavel_link where id_medida_variavel=$id"); $parametro = pegaDados("select * from ".$esquemaadmin."i3geoestat_parametro_medida where id_medida_variavel=$id"); $fonte = pegaDados("select * from ".$esquemaadmin."i3geoestat_fonteinfo_medida where id_medida_variavel=$id"); if(count($link) > 0 || count($parametro) > 0 || count($fonte) > 0) $res = true; } if($tabela == "i3geoadmin_n2") { $r = pegaDados("select * from ".$esquemaadmin."i3geoadmin_n3 where id_n2=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geousr_grupos") { $r = pegaDados("select * from ".$esquemaadmin."i3geousr_gruposusuario where id_grupo=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geousr_usuarios") { $r = pegaDados("select * from ".$esquemaadmin."i3geousr_papelusuario where id_usuario=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_n1") { $r = pegaDados("select * from ".$esquemaadmin."i3geoadmin_n2 where id_n1=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_menus") { $r = pegaDados("select * from ".$esquemaadmin."i3geoadmin_n1 where id_menu=$id"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_grupos") { $r = pegaDados("select n1.id_grupo from ".$esquemaadmin."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 ".$esquemaadmin."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 ".$esquemaadmin."i3geoadmin_n3 where id_tema = '$id'"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_sistemas") { $r = pegaDados("SELECT id_sistema from ".$esquemaadmin."i3geoadmin_sistemasf where id_sistema ='$id'"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_atlas") { $r = pegaDados("SELECT id_atlas from ".$esquemaadmin."i3geoadmin_atlasp where id_atlas ='$id'"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_atlasp") { $r = pegaDados("SELECT id_prancha from ".$esquemaadmin."i3geoadmin_atlast where id_prancha ='$id'"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_n2") { $r = pegaDados("SELECT id_n3 from ".$esquemaadmin."i3geoadmin_n3 where id_n2 ='$id'"); if(count($r) > 0) $res = true; } if($tabela == "i3geoadmin_n1") { $r = pegaDados("SELECT id_n2 from ".$esquemaadmin."i3geoadmin_n2 where id_n1 ='$id'"); if(count($r) > 0) $res = true; $r = pegaDados("SELECT id_raiz from ".$esquemaadmin."i3geoadmin_raiz where nivel='1' and id_nivel ='$id'"); if(count($r) > 0) $res = true; } if($tabela == "mapfiles") { $r = pegaDados("SELECT id_tema from ".$esquemaadmin."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: formularioLoginMaster Mostra formulário para login quando é necessário o uso da variável $i3geomaster cadastrada em ms_configura.php Parametros: action {string} - php que será executado no submit do formulário */ function formularioLoginMaster($action){ echo "
"; echo "
Essa conexão pode não ser segura e os dados de usuário/senha podem ser descobertos

"; echo "Nome do usuário master cadastrado em ms_configura.php:

"; echo "Senha:

"; echo "
"; } /* Function: verificaMaster Verifica se um usuário e senha está cadastrado no ms_configura Parametros: usuario {string} senha {string} i3geomaster {array} - variável existente no ms_configura.php com o cadastro de usuários masters */ function verificaMaster($usuario,$senha,$i3geomaster){ global $i3geomaster; foreach($i3geomaster as $teste){ if(!empty($usuario) && !empty($senha) && $teste["usuario"] == $usuario && $teste["senha"] == $senha){ return true; } } return false; } 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; } ?>