diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php
index 77f0894..0f8b3dd 100755
--- a/admin/php/editormapfile.php
+++ b/admin/php/editormapfile.php
@@ -300,7 +300,7 @@ switch (strtoupper($funcao))
$dirs[] = $d."/".$nome;
$dirs[] = $d."/googlemaps/".$nome;
foreach($dirs as $dir){
- rrmdir($dir);
+ rename($dir,$dir."_removido");
}
}
retornaJSON("ok");
@@ -2568,20 +2568,24 @@ function removeCabecalho($arq,$symbolset=true)
}
}
fclose($handle);
- chmod($arq, 0666);
+ //chmod($arq, 0666);
}
function rrmdir($dir) {
if (is_dir($dir)) {
- chmod($dir,0777);
+ //chmod($dir,0777);
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
- chmod($dir."/".$object,0777);
- if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
+ //chmod($dir."/".$object,0777);
+ if (filetype($dir."/".$object) == "dir"){
+ rrmdir($dir."/".$object);
+ } else {
+ rename($dir."/".$object,$dir."/".$object."_removido");
+ }
}
}
reset($objects);
rmdir($dir);
}
}
-?>
+?>
\ No newline at end of file
diff --git a/classesphp/classe_metaestatinfo.php b/classesphp/classe_metaestatinfo.php
index 9a14dbb..5973d5b 100755
--- a/classesphp/classe_metaestatinfo.php
+++ b/classesphp/classe_metaestatinfo.php
@@ -1210,7 +1210,7 @@ class MetaestatInfo{
* @param codigo da variavel
* @param id da medida de variavel
*/
- function listaMedidaVariavel($codigo_variavel,$id_medida_variavel=""){
+ function listaMedidaVariavel($codigo_variavel="",$id_medida_variavel=""){
$sql = "SELECT i3geoestat_medida_variavel.*,i3geoestat_variavel.nome as nome_variavel,i3geoestat_unidade_medida.permitemedia,i3geoestat_unidade_medida.permitesoma,i3geoestat_unidade_medida.nome as unidade_medida ";
$sql .= "FROM ".$this->esquemaadmin."i3geoestat_variavel ";
$sql .= "JOIN ".$this->esquemaadmin."i3geoestat_medida_variavel ";
diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php
index bd74d91..e9f5d29 100755
--- a/classesphp/funcoes_gerais.php
+++ b/classesphp/funcoes_gerais.php
@@ -465,11 +465,13 @@ $arq {string} - Nome do arquivo que será gravado
function gravaDados($dados,$arq)
{
$fp = fopen($arq,"w");
- foreach ($dados as $dado)
- {
- fwrite($fp,$dado."\n");
+ if($fp != false){
+ foreach ($dados as $dado)
+ {
+ fwrite($fp,$dado."\n");
+ }
+ fclose($fp);
}
- fclose($fp);
}
/*
Function: listaTrueType
diff --git a/css/i3geo7.css.php b/css/i3geo7.css.php
old mode 100755
new mode 100644
index ded3963..ded3963
--- a/css/i3geo7.css.php
+++ b/css/i3geo7.css.php
diff --git a/ferramentas/saiku/cartograma.php b/ferramentas/saiku/cartograma.php
index b89bba6..87403f2 100755
--- a/ferramentas/saiku/cartograma.php
+++ b/ferramentas/saiku/cartograma.php
@@ -1,11 +1,11 @@
listaTipoRegiao($codigo_tipo_regiao);
$titulolayer = $meta["nome_tipo_regiao"];
diff --git a/ferramentas/saiku/esquemaxml.php b/ferramentas/saiku/esquemaxml.php
index 5ed2fc0..a9efe22 100755
--- a/ferramentas/saiku/esquemaxml.php
+++ b/ferramentas/saiku/esquemaxml.php
@@ -1,59 +1,34 @@
listaTipoRegiao();
}
@@ -70,10 +44,7 @@ else{
$regioes = array($m->listaTipoRegiao($codigo_tipo_regiao));
}
$s = "";
-
-if(empty($saikuConfigDataSource['tabelaDimensaoTempo'])){
- $saikuConfigDataSource['tabelaDimensaoTempo'] = "i3geo_metaestat.dim_tempo";
-}
+*/
$medidas = $m->listaMedidaVariavel();
@@ -85,9 +56,7 @@ $todasAsRegioes = $m->listaTipoRegiao();
foreach($todasAsRegioes as $R){
$chavesRegiao[$R["codigo_tipo_regiao"]] = $R;
}
-
//inicia montagem do XML
-
//
//cria as dimensoes de tipo temporal
//
@@ -149,14 +118,16 @@ ob_end_clean();
//grava os dados em um arquivo. O usuario pode evitar isso e imprimir direto na tela
//usando output "xml"
//
-if($_GET["output"] != "xml"){
+/*
+if(empty($_GET["output"]) || (!empty($_GET["output"]) && $_GET["output"] != "xml")){
gravaDados(array($xml),$arquivoXmlEsquema);
}
+*/
imprimeEsquema();
//////////////////////////////////////////////////////////////////////////////////////////
-function caminhoRegiao($hs,$chavesRegiao,$h,$regiaoInicial,$caminho)
+function caminhoRegiao($hs,$chavesRegiao,$h,$regiaoInicial,$caminho=array())
{
foreach($hs as $n){
if($n["codigo_tipo_regiao"] == $regiaoInicial){
@@ -170,28 +141,20 @@ function caminhoRegiao($hs,$chavesRegiao,$h,$regiaoInicial,$caminho)
return $caminho;
}
function converte($texto){
- $texto = str_replace("&","&",htmlentities($texto,ENT_NOQUOTES,mb_detect_encoding($texto)));
+ $texto = str_replace("&","&",htmlentities($texto,ENT_NOQUOTES,'UTF-8'));
return $texto;
}
function imprimeEsquema(){
global $saikuUrl,$nomeConexao,$xml;
- if($_GET["output"] == "xml"){
- if(!empty($_GET["xmlesquema"])){
- echo header("Content-type: application/xml");
- header("Location:".$_GET["xmlesquema"]);
- }
- else{
- imprimeXml($xml);
- }
+ @ob_end_clean();
+ header("Content-type: application/xml");
+ if(!empty($_GET["xmlesquema"])){
+ header("Location:".$_GET["xmlesquema"]);
}
else{
- header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]."&mapext=".$_GET["mapext"]."&origem=".$_GET["origem"]."®iao=".$_GET["regiao"]);
+ echo $xml;
}
}
-function imprimeXml($xml){
- echo header("Content-type: application/xml");
- echo $xml;
-}
function criaMapfileInicial(){
global $mapext;
if(empty($_GET["g_sid"])){
@@ -209,17 +172,19 @@ function criaConexaoEsquema(){
global $dir_tmp, $urlXmlEsquema;
$nomeConexao = nomeRandomico();
//pega a sessao PHP aberta pelo i3Geo ou ms_criamapa.php
- session_name("i3GeoPHP");
- session_id($_GET["g_sid"]);
- session_start();
- $map_file = $_SESSION["map_file"];
- if(empty($_GET["xmlesquema"])){
- $urlXmlEsquema = $_SESSION["tmpurl"].basename(dirname($map_file))."/".$nomeConexao.".xml";
- }
- else{
- $urlXmlEsquema = $_GET["xmlesquema"];
- //cria um nome de arquivo reaproveitável
- $nomeConexao = md5($_GET["xmlesquema"]);
+ if(!empty($_GET["g_sid"])){
+ session_name("i3GeoPHP");
+ session_id($_GET["g_sid"]);
+ session_start();
+ $map_file = $_SESSION["map_file"];
+ if(empty($_GET["xmlesquema"])){
+ $urlXmlEsquema = $_SESSION["tmpurl"].basename(dirname($map_file))."/".$nomeConexao.".xml";
+ }
+ else{
+ $urlXmlEsquema = $_GET["xmlesquema"];
+ //cria um nome de arquivo reaproveitável
+ $nomeConexao = md5($_GET["xmlesquema"]);
+ }
}
//$arquivoXmlEsquema = dirname($map_file)."/".$nomeConexao.".xml";
return $nomeConexao.".txt";
@@ -251,7 +216,11 @@ function gravaDataSource(){
);
*/
global $arquivoXmlEsquema,$saikuConfigDataSource,$nomeConexao,$urlXmlEsquema,$dir_tmp;
+
$nomeDatasource = $dir_tmp."/saiku-datasources/".$nomeConexao;
+ //nao funciona como url
+ //error_reporting(E_ALL);
+ $urlXmlEsquema = "http//localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=xml";
if(!file_exists($arquivoXmlEsquema)){
$stringDatasource = "
type={$saikuConfigDataSource["type"]}
@@ -406,10 +375,12 @@ function sqlDasRegioes($regiao,$caminho,$chavesRegiao){
function dimensoesGeo(){
global $chavesRegiao, $m, $selecaoRegiao, $regioes, $filhosDaRegiao, $VirtualCubeDimensionDaRegiao, $VirtualCubeMeasureDaRegiao;
//essas variaveis sao globais e usadas em outras funcoes
- foreach($regioes as $regiao){
- $filhosDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
- $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
- $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
+ if(!empty($regioes)){
+ foreach($regioes as $regiao){
+ $filhosDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
+ $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
+ $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
+ }
}
//xml normal
$xml1 = "";
@@ -602,25 +573,26 @@ function dimensoesTabelas(){
$VirtualCubeDimension[] = "
";
-
- array_push(
- $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
- ""
- );
- array_push(
- $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
- ""
- );
-
- array_push(
- $VirtualCubeDimensionDaMedida[$c["nome_variavel"]],
- ""
- );
- array_push(
- $VirtualCubeDimensionDaMedida[$c["nome_variavel"]],
- ""
- );
-
+ if(array_key_exists($c["codigo_tipo_regiao"],$VirtualCubeDimensionDaRegiao)){
+ array_push(
+ $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
+ ""
+ );
+ array_push(
+ $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
+ ""
+ );
+ }
+ if(array_key_exists($c["nome_variavel"],$VirtualCubeDimensionDaMedida)){
+ array_push(
+ $VirtualCubeDimensionDaMedida[$c["nome_variavel"]],
+ ""
+ );
+ array_push(
+ $VirtualCubeDimensionDaMedida[$c["nome_variavel"]],
+ ""
+ );
+ }
//verifica as dimensoes do tipo tempo
$dimEnsoes = array();
@@ -643,11 +615,12 @@ function dimensoesTabelas(){
";
$dimEnsoes[] = $u;
- array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"");
+ if(array_key_exists($c["codigo_tipo_regiao"],$VirtualCubeDimensionDaRegiao)){
+ array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"");
+ }
}
//outros parametros
$outrosParametros = array();
-
foreach($parametros as $parametro){
$k = $parametro["esquemadb"]."_".$parametro["tabela"]."_".$parametro["coluna"];
if($parametro["tipo"] > 5 || $parametro["tipo"] == 0){
@@ -655,7 +628,9 @@ function dimensoesTabelas(){
$VirtualCubeDimension[] = "";
$u = "";
$dimEnsoes[] = $u;
- array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"");
+ if(array_key_exists($c["codigo_tipo_regiao"],$VirtualCubeDimensionDaRegiao)){
+ array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"");
+ }
}
}
@@ -722,13 +697,14 @@ function dimensoesTabelas(){
";
}
//inclui as dimensoes filhas
- foreach($filhosDaRegiao[$c["codigo_tipo_regiao"]] as $fr){
- $xml .= "
-
-
- ";
+ if(array_key_exists($c["codigo_tipo_regiao"],$filhosDaRegiao)){
+ foreach($filhosDaRegiao[$c["codigo_tipo_regiao"]] as $fr){
+ $xml .= "
+
+
+ ";
+ }
}
-
$xml .= implode(" ",array_unique($dimEnsoes));
//inclui cada elemento em medida
@@ -753,7 +729,9 @@ function dimensoesTabelas(){
";
$VirtualCubeMeasure[] = $u;
- array_push($VirtualCubeMeasureDaRegiao[$c["codigo_tipo_regiao"]],$u);
+ if(array_key_exists($c["codigo_tipo_regiao"],$VirtualCubeMeasureDaRegiao)){
+ array_push($VirtualCubeMeasureDaRegiao[$c["codigo_tipo_regiao"]],$u);
+ }
//verifica em qual variavel entra
//
$u = "";
@@ -778,18 +756,20 @@ function cuboTodas(){
function cuboRegioes(){
global $regioes, $VirtualCubeDimensionDaRegiao, $VirtualCubeMeasureDaRegiao, $filhosDaRegiao;
$xml = "";
- foreach($regioes as $regiao){
- //inclui os parametros para a regiao de acordo com os filhos que possui
- $d = $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]];
- $mm = $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]];
- foreach($filhosDaRegiao[$regiao["codigo_tipo_regiao"]] as $f){
- $mm = array_merge($mm,$VirtualCubeMeasureDaRegiao[$f]);
- }
- if(count(array_unique($mm)) > 0){
- $xml .= '';
- $xml .= implode(" ",array_unique($d));
- $xml .= implode(" ",array_unique($mm));
- $xml .= '';
+ if(!empty($regioes)){
+ foreach($regioes as $regiao){
+ //inclui os parametros para a regiao de acordo com os filhos que possui
+ $d = $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]];
+ $mm = $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]];
+ foreach($filhosDaRegiao[$regiao["codigo_tipo_regiao"]] as $f){
+ $mm = array_merge($mm,$VirtualCubeMeasureDaRegiao[$f]);
+ }
+ if(count(array_unique($mm)) > 0){
+ $xml .= '';
+ $xml .= implode(" ",array_unique($d));
+ $xml .= implode(" ",array_unique($mm));
+ $xml .= '';
+ }
}
}
return $xml;
diff --git a/ferramentas/saiku/index.js b/ferramentas/saiku/index.js
index ef46637..5782a08 100755
--- a/ferramentas/saiku/index.js
+++ b/ferramentas/saiku/index.js
@@ -167,7 +167,7 @@ i3GEOF.saiku =
},
iniciaJanelaFlutuante2 : function() {
var mapext = i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten), url =
- i3GEO.configura.locaplic + "/ferramentas/saiku/esquemaxml.php?origem=i3geo&g_sid=" + i3GEO.configura.sid + "&locaplic="
+ i3GEO.configura.locaplic + "/ferramentas/saiku/startsaiku.php?origem=i3geo&g_sid=" + i3GEO.configura.sid + "&locaplic="
+ i3GEO.configura.locaplic + "&mapext=" + mapext, cabecalho = function() {
}, minimiza = function() {
i3GEO.janela.iconiza("i3GEOF.saikuMapa",100);
@@ -198,7 +198,7 @@ i3GEOF.saiku =
},
aplicar : function() {
var mapext = i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten);
- window.open(i3GEO.configura.locaplic + "/ferramentas/saiku/esquemaxml.php?origem=i3geo&g_sid=" + i3GEO.configura.sid
+ window.open(i3GEO.configura.locaplic + "/ferramentas/saiku/startsaiku.php?origem=i3geo&g_sid=" + i3GEO.configura.sid
+ "&locaplic=" + i3GEO.configura.locaplic + "&mapext=" + mapext);
},
atualizaMapa : function() {
diff --git a/ferramentas/saiku/startsaiku.php b/ferramentas/saiku/startsaiku.php
new file mode 100755
index 0000000..06815ad
--- /dev/null
+++ b/ferramentas/saiku/startsaiku.php
@@ -0,0 +1,119 @@
+"OLAP",
+ "driver"=>"mondrian.olap4j.MondrianOlap4jDriver",
+ "location"=>"jdbc:mondrian:Jdbc=jdbc:postgresql",
+ "serverdb"=>"localhost",
+ "port"=>"5432",
+ "database"=>"i3geosaude",
+ "JdbcDrivers"=>"org.postgresql.Driver",
+ "username"=>"postgres",
+ "password"=>"postgres"
+ );
+ */
+ global $arquivoXmlEsquema,$saikuConfigDataSource,$nomeConexao,$urlXmlEsquema,$dir_tmp;
+
+ $nomeDatasource = $dir_tmp."/saiku-datasources/".$nomeConexao;
+ //nao funciona como url
+ //error_reporting(E_ALL);
+ //$urlXmlEsquema = "http://localhost/i3geo/ferramentas/saiku/esquemaxml.php";
+
+ $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
+ $protocolo = $protocolo[0];
+ $protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT'];
+ $urlXmlEsquema = str_replace("startsaiku","esquemaxml",$protocolo.$_SERVER["PHP_SELF"]);
+
+ //error_log($urlXmlEsquema);
+
+ //if(!file_exists($arquivoXmlEsquema)){
+ $stringDatasource = "
+ type={$saikuConfigDataSource["type"]}
+ name={$nomeConexao}
+ driver={$saikuConfigDataSource["driver"]}
+ location={$saikuConfigDataSource["location"]}://{$saikuConfigDataSource["serverdb"]}:{$saikuConfigDataSource["port"]}/{$saikuConfigDataSource["database"]};Catalog={$urlXmlEsquema};JdbcDrivers={$saikuConfigDataSource["JdbcDrivers"]};
+ username={$saikuConfigDataSource["username"]}
+ password={$saikuConfigDataSource["password"]}
+ ";
+ //salva o arquivo com a fonte
+ gravaDados(array($stringDatasource),$nomeDatasource);
+ //}
+}
+?>
diff --git a/init/index.js b/init/index.js
index 1471e54..00e9f25 100755
--- a/init/index.js
+++ b/init/index.js
@@ -64,7 +64,7 @@ botoesIni = [
"target": "_self"
},{
"img":"saiku_free_small",
- "href": "../ferramentas/saiku/esquemaxml.php?locaplic="+window.location.href.replace("/init/index.php",""),
+ "href": "../ferramentas/saiku/startsaiku.php?locaplic="+window.location.href.replace("/init/index.php",""),
"titulo":$trad(25,g_traducao_init),
"subtitulo": $trad("25a",g_traducao_init),
"fa": "bar-chart",
diff --git a/js/i3geo_tudo_compacto7.js.php b/js/i3geo_tudo_compacto7.js.php
old mode 100755
new mode 100644
index 2f44a2b..2f44a2b
--- a/js/i3geo_tudo_compacto7.js.php
+++ b/js/i3geo_tudo_compacto7.js.php
diff --git a/ms_configura.php b/ms_configura.php
index 07f7865..377737b 100755
--- a/ms_configura.php
+++ b/ms_configura.php
@@ -816,7 +816,7 @@ else //se for linux
*
* Para trocar, altere a linha abaixo
*/
-if(empty($_COOKIE["i3geolingua"])){
+if(empty($_COOKIE["i3geolingua"]) && array_key_exists('HTTP_ACCEPT_LANGUAGE',$_SERVER)){
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$l = "pt";
if($lang == "en" || $lang == "es"){
diff --git a/testainstal/index.js b/testainstal/index.js
index 80e8a92..84ac8ce 100755
--- a/testainstal/index.js
+++ b/testainstal/index.js
@@ -78,7 +78,7 @@ botoesIni = [
"target": "_self"
},{
"img":"../imagens/saiku_free_small.png",
- "href":"../ferramentas/saiku/esquemaxml.php?locaplic="+window.location.href.replace("/init/index.php",""),
+ "href":"../ferramentas/saiku/startsaiku.php?locaplic="+window.location.href.replace("/init/index.php",""),
"titulo":$trad(25,g_traducao_init),
"subtitulo": $trad("25a",g_traducao_init),
"fa": "bar-chart",
--
libgit2 0.21.2