Commit cdabc834431e9590bb1bfdd78906a71f44de0a2e
1 parent
25ccad56
Exists in
master
V5.0 - inclusão de opção para acessar o saiku fora do i3geo
Showing
3 changed files
with
71 additions
and
51 deletions
Show diff stats
ferramentas/saiku/esquemaxml.php
1 | 1 | <?php |
2 | -if(empty($_GET["g_sid"])){ | |
3 | - echo "erro"; | |
4 | - exit; | |
5 | -} | |
2 | + | |
6 | 3 | include(dirname(__FILE__)."/../../classesphp/funcoes_gerais.php"); |
7 | 4 | include(dirname(__FILE__)."/../../admin/php/classe_metaestat.php"); |
8 | 5 | if(!isset($dir_tmp)){ |
9 | 6 | include(dirname(__FILE__)."/../../ms_configura.php"); |
10 | 7 | } |
11 | -//pega a sessao PHP aberta pelo i3Geo | |
8 | +$nomeConexao = nomeRandomico(); | |
9 | +$nomeDatasource = $dir_tmp."/saiku-datasources/".$nomeConexao; | |
10 | + | |
11 | +//quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas | |
12 | +if(empty($_GET["g_sid"])){ | |
13 | + include(dirname(__FILE__)."/../../ms_criamapa.php"); | |
14 | + //reinicia a url | |
15 | + $urln = "?g_sid=".session_id(); | |
16 | + header("Location:".$urln); | |
17 | + exit; | |
18 | +} | |
19 | + | |
20 | +//pega a sessao PHP aberta pelo i3Geo ou ms_criamapa.php | |
12 | 21 | session_name("i3GeoPHP"); |
13 | 22 | session_id($_GET["g_sid"]); |
14 | 23 | session_start(); |
15 | - | |
16 | 24 | $map_file = $_SESSION["map_file"]; |
17 | -$nomeConexao = nomeRandomico(); | |
18 | -$nomeDatasource = $dir_tmp."/saiku-datasources/".$nomeConexao; | |
19 | 25 | $urlXmlEsquema = $_SESSION["tmpurl"].basename(dirname($map_file))."/".$nomeConexao.".xml"; |
20 | 26 | $arquivoXmlEsquema = dirname($map_file)."/".$nomeConexao.".xml"; |
27 | + | |
21 | 28 | /* |
22 | 29 | $saikuConfigDataSource vem do ms_configura.php |
23 | 30 | |
... | ... | @@ -55,49 +62,51 @@ password={$saikuConfigDataSource["password"]} |
55 | 62 | gravaDados(array($stringDatasource),$nomeDatasource); |
56 | 63 | $m = new Metaestat(); |
57 | 64 | $selecaoRegiao = array(); |
58 | -//obtem os layers que sao do sistema metaestat, sao regioes e que possuem selecao | |
59 | -$mapa = ms_newMapObj($map_file); | |
60 | -$c = $mapa->numlayers; | |
65 | +//obtem do mapfile em uso os layers que sao do sistema metaestat, sao regioes e que possuem selecao | |
61 | 66 | $codigo_tipo_regiao = ""; |
62 | -for ($i=0;$i < $c;++$i){ | |
63 | - $l = $mapa->getlayer($i); | |
64 | - //verifica o alias na conexao | |
65 | - if (!empty($postgis_mapa)){ | |
66 | - if ($l->connectiontype == MS_POSTGIS){ | |
67 | - $lcon = $l->connection; | |
68 | - if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){ | |
69 | - if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade | |
70 | - {$l->set("connection",$postgis_mapa);} | |
71 | - else{ | |
72 | - $l->set("connection",$postgis_mapa[$lcon]); | |
67 | +if($map_file != ""){ | |
68 | + $mapa = ms_newMapObj($map_file); | |
69 | + $c = $mapa->numlayers; | |
70 | + for ($i=0;$i < $c;++$i){ | |
71 | + $l = $mapa->getlayer($i); | |
72 | + //verifica o alias na conexao | |
73 | + if (!empty($postgis_mapa)){ | |
74 | + if ($l->connectiontype == MS_POSTGIS){ | |
75 | + $lcon = $l->connection; | |
76 | + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){ | |
77 | + if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade | |
78 | + {$l->set("connection",$postgis_mapa);} | |
79 | + else{ | |
80 | + $l->set("connection",$postgis_mapa[$lcon]); | |
81 | + } | |
73 | 82 | } |
74 | 83 | } |
75 | 84 | } |
76 | - } | |
77 | - // | |
78 | - $registros = array(); | |
79 | - if($l->status == MS_DEFAULT && $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO") != ""){ | |
80 | - $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); | |
81 | - //verifica se tem selecao | |
82 | - $qyfile = dirname($map_file)."/".$l->name.".php"; | |
83 | - if(file_exists($qyfile)){ | |
84 | - //pega os registros | |
85 | - $shapes = retornaShapesSelecionados($l,$map_file,$mapa); | |
86 | - //pega o nome da coluna que identifica cada registro | |
87 | - $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); | |
88 | - $item = $regiao["identificador"]; | |
89 | - foreach($shapes as $shape){ | |
90 | - $registros[] = $shape->values[$item]; | |
85 | + // | |
86 | + $registros = array(); | |
87 | + if($l->status == MS_DEFAULT && $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO") != ""){ | |
88 | + //verifica se tem selecao | |
89 | + $qyfile = dirname($map_file)."/".$l->name.".php"; | |
90 | + if(file_exists($qyfile)){ | |
91 | + $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); | |
92 | + //pega os registros | |
93 | + $shapes = retornaShapesSelecionados($l,$map_file,$mapa); | |
94 | + //pega o nome da coluna que identifica cada registro | |
95 | + $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); | |
96 | + $item = $regiao["identificador"]; | |
97 | + foreach($shapes as $shape){ | |
98 | + $registros[] = $shape->values[$item]; | |
99 | + } | |
100 | + $reg = $item." IN ('".implode("','",$registros)."') "; | |
101 | + $selecaoRegiao[$codigo_tipo_regiao] = array( | |
102 | + "item" => $item, | |
103 | + "sql" => $reg | |
104 | + ); | |
105 | + break; //mantem a primeira ocorrencia de regiao que possui selecao | |
106 | + } | |
107 | + else{ | |
108 | + $selecaoRegiao[$codigo_tipo_regiao] = ""; | |
91 | 109 | } |
92 | - $reg = $item." IN ('".implode("','",$registros)."') "; | |
93 | - $selecaoRegiao[$codigo_tipo_regiao] = array( | |
94 | - "item" => $item, | |
95 | - "sql" => $reg | |
96 | - ); | |
97 | - break; //mantem a primeira ocorrencia de regiao que possui selecao | |
98 | - } | |
99 | - else{ | |
100 | - $selecaoRegiao[$codigo_tipo_regiao] = ""; | |
101 | 110 | } |
102 | 111 | } |
103 | 112 | } |
... | ... | @@ -258,7 +267,7 @@ $medidas = $m->listaMedidaVariavel(); |
258 | 267 | $tbs = array(); |
259 | 268 | |
260 | 269 | foreach($medidas as $medida){ |
261 | - if($medida["codigo_tipo_regiao"] == $codigo_tipo_regiao){ | |
270 | + if($codigo_tipo_regiao == "" || $medida["codigo_tipo_regiao"] == $codigo_tipo_regiao){ | |
262 | 271 | $k = $medida["esquemadb"].$medida["tabela"]; |
263 | 272 | if(empty($tbs[$k])){ |
264 | 273 | $tbs[$k] = array($medida); |
... | ... | @@ -268,10 +277,10 @@ foreach($medidas as $medida){ |
268 | 277 | } |
269 | 278 | } |
270 | 279 | } |
271 | - | |
272 | 280 | //monta os cubos para cada esquema.tabela diferente |
273 | 281 | $VirtualCubeDimension = array(); |
274 | 282 | $VirtualCubeMeasure = array(); |
283 | + | |
275 | 284 | foreach($tbs as $tb){ |
276 | 285 | //cabecalho de cada cubo obtido da primeira medida |
277 | 286 | $c = $tb[0]; |
... | ... | @@ -344,6 +353,7 @@ error_reporting(0); |
344 | 353 | ob_end_clean(); |
345 | 354 | |
346 | 355 | gravaDados(array($xml),$arquivoXmlEsquema); |
356 | + | |
347 | 357 | header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]."&mapext=".$_GET["mapext"]); |
348 | 358 | |
349 | 359 | function converte($texto){ | ... | ... |
init/dicionario.js
... | ... | @@ -142,5 +142,11 @@ es:"" |
142 | 142 | pt:"Documentação da API", |
143 | 143 | en:"", |
144 | 144 | es:"" |
145 | +}], | |
146 | +25: [ | |
147 | +{ | |
148 | +pt:"SAIKU - análise de dados estatísticos", | |
149 | +en:"", | |
150 | +es:"" | |
145 | 151 | }] |
146 | -}; | |
147 | 152 | \ No newline at end of file |
153 | +}; | ... | ... |
init/index.php
... | ... | @@ -170,6 +170,10 @@ botoesIni.push({ |
170 | 170 | "href":"../kml.php", |
171 | 171 | "titulo":$trad(12,g_traducao_init) |
172 | 172 | },{ |
173 | + "img":"../imagens/saiku_free_small.png", | |
174 | + "href":"../ferramentas/saiku/esquemaxml.php", | |
175 | + "titulo":$trad(25,g_traducao_init) | |
176 | + },{ | |
173 | 177 | "img":"insert-link.png", |
174 | 178 | "href":"../geradordelinks.htm", |
175 | 179 | "titulo":$trad(13,g_traducao_init) |
... | ... | @@ -179,11 +183,11 @@ botoesIni.push({ |
179 | 183 | "titulo":$trad(14,g_traducao_init) |
180 | 184 | },{ |
181 | 185 | "img":"accessories-dictionary.png", |
182 | - "href":"../documentacao/manual-i3geo-5_0-pt.pdf", | |
186 | + "href":"../documentacao/manual-i3geo-6_0-pt.pdf", | |
183 | 187 | "titulo":$trad(15,g_traducao_init) |
184 | 188 | },{ |
185 | 189 | "img":"accessories-dictionary.png", |
186 | - "href":"../documentacao/manual-admin-i3geo-5_0-pt.pdf", | |
190 | + "href":"../documentacao/manual-admin-i3geo-6_0-pt.pdf", | |
187 | 191 | "titulo":$trad(21,g_traducao_init) |
188 | 192 | },{ |
189 | 193 | "img":"accessories-dictionary.png", | ... | ... |