From cdabc834431e9590bb1bfdd78906a71f44de0a2e Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 12 May 2014 14:17:53 +0000 Subject: [PATCH] V5.0 - inclusão de opção para acessar o saiku fora do i3geo --- ferramentas/saiku/esquemaxml.php | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------ init/dicionario.js | 8 +++++++- init/index.php | 8 ++++++-- 3 files changed, 71 insertions(+), 51 deletions(-) diff --git a/ferramentas/saiku/esquemaxml.php b/ferramentas/saiku/esquemaxml.php index 9668046..3aff760 100755 --- a/ferramentas/saiku/esquemaxml.php +++ b/ferramentas/saiku/esquemaxml.php @@ -1,23 +1,30 @@ numlayers; +//obtem do mapfile em uso os layers que sao do sistema metaestat, sao regioes e que possuem selecao $codigo_tipo_regiao = ""; -for ($i=0;$i < $c;++$i){ - $l = $mapa->getlayer($i); - //verifica o alias na conexao - if (!empty($postgis_mapa)){ - if ($l->connectiontype == MS_POSTGIS){ - $lcon = $l->connection; - if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){ - if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade - {$l->set("connection",$postgis_mapa);} - else{ - $l->set("connection",$postgis_mapa[$lcon]); +if($map_file != ""){ + $mapa = ms_newMapObj($map_file); + $c = $mapa->numlayers; + for ($i=0;$i < $c;++$i){ + $l = $mapa->getlayer($i); + //verifica o alias na conexao + if (!empty($postgis_mapa)){ + if ($l->connectiontype == MS_POSTGIS){ + $lcon = $l->connection; + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){ + if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade + {$l->set("connection",$postgis_mapa);} + else{ + $l->set("connection",$postgis_mapa[$lcon]); + } } } } - } - // - $registros = array(); - if($l->status == MS_DEFAULT && $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO") != ""){ - $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); - //verifica se tem selecao - $qyfile = dirname($map_file)."/".$l->name.".php"; - if(file_exists($qyfile)){ - //pega os registros - $shapes = retornaShapesSelecionados($l,$map_file,$mapa); - //pega o nome da coluna que identifica cada registro - $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); - $item = $regiao["identificador"]; - foreach($shapes as $shape){ - $registros[] = $shape->values[$item]; + // + $registros = array(); + if($l->status == MS_DEFAULT && $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO") != ""){ + //verifica se tem selecao + $qyfile = dirname($map_file)."/".$l->name.".php"; + if(file_exists($qyfile)){ + $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); + //pega os registros + $shapes = retornaShapesSelecionados($l,$map_file,$mapa); + //pega o nome da coluna que identifica cada registro + $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); + $item = $regiao["identificador"]; + foreach($shapes as $shape){ + $registros[] = $shape->values[$item]; + } + $reg = $item." IN ('".implode("','",$registros)."') "; + $selecaoRegiao[$codigo_tipo_regiao] = array( + "item" => $item, + "sql" => $reg + ); + break; //mantem a primeira ocorrencia de regiao que possui selecao + } + else{ + $selecaoRegiao[$codigo_tipo_regiao] = ""; } - $reg = $item." IN ('".implode("','",$registros)."') "; - $selecaoRegiao[$codigo_tipo_regiao] = array( - "item" => $item, - "sql" => $reg - ); - break; //mantem a primeira ocorrencia de regiao que possui selecao - } - else{ - $selecaoRegiao[$codigo_tipo_regiao] = ""; } } } @@ -258,7 +267,7 @@ $medidas = $m->listaMedidaVariavel(); $tbs = array(); foreach($medidas as $medida){ - if($medida["codigo_tipo_regiao"] == $codigo_tipo_regiao){ + if($codigo_tipo_regiao == "" || $medida["codigo_tipo_regiao"] == $codigo_tipo_regiao){ $k = $medida["esquemadb"].$medida["tabela"]; if(empty($tbs[$k])){ $tbs[$k] = array($medida); @@ -268,10 +277,10 @@ foreach($medidas as $medida){ } } } - //monta os cubos para cada esquema.tabela diferente $VirtualCubeDimension = array(); $VirtualCubeMeasure = array(); + foreach($tbs as $tb){ //cabecalho de cada cubo obtido da primeira medida $c = $tb[0]; @@ -344,6 +353,7 @@ error_reporting(0); ob_end_clean(); gravaDados(array($xml),$arquivoXmlEsquema); + header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]."&mapext=".$_GET["mapext"]); function converte($texto){ diff --git a/init/dicionario.js b/init/dicionario.js index d41b927..b306b62 100755 --- a/init/dicionario.js +++ b/init/dicionario.js @@ -142,5 +142,11 @@ es:"" pt:"Documentação da API", en:"", es:"" +}], +25: [ +{ +pt:"SAIKU - análise de dados estatísticos", +en:"", +es:"" }] -}; \ No newline at end of file +}; diff --git a/init/index.php b/init/index.php index b34ba2e..31b1815 100755 --- a/init/index.php +++ b/init/index.php @@ -170,6 +170,10 @@ botoesIni.push({ "href":"../kml.php", "titulo":$trad(12,g_traducao_init) },{ + "img":"../imagens/saiku_free_small.png", + "href":"../ferramentas/saiku/esquemaxml.php", + "titulo":$trad(25,g_traducao_init) + },{ "img":"insert-link.png", "href":"../geradordelinks.htm", "titulo":$trad(13,g_traducao_init) @@ -179,11 +183,11 @@ botoesIni.push({ "titulo":$trad(14,g_traducao_init) },{ "img":"accessories-dictionary.png", - "href":"../documentacao/manual-i3geo-5_0-pt.pdf", + "href":"../documentacao/manual-i3geo-6_0-pt.pdf", "titulo":$trad(15,g_traducao_init) },{ "img":"accessories-dictionary.png", - "href":"../documentacao/manual-admin-i3geo-5_0-pt.pdf", + "href":"../documentacao/manual-admin-i3geo-6_0-pt.pdf", "titulo":$trad(21,g_traducao_init) },{ "img":"accessories-dictionary.png", -- libgit2 0.21.2