Commit bb13277c13e7aadd46ba4e880d7d75a2abf73302

Authored by Edmar Moretti
1 parent ea5d9965

Inclusão do link para o curso de i3Geo na página inicial

Ajustes na geração do xml esquema para SAIKU
ferramentas/saiku/esquemaxml.php
1 1 <?php
2   -//utilize output=xml para debug
  2 +//
  3 +//utilize &output=xml para ver o xml
  4 +//
  5 +//utilize &xmlesquema= caso o XML ja exista
  6 +//
  7 +//http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=&xmlesquema=http://localhost/testemondrian.xml
  8 +//
3 9 //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas
4 10 if(empty($_GET["g_sid"])){
5 11 include(dirname(__FILE__)."/../../ms_criamapa.php");
6 12 //reinicia a url
7   - $urln = "?g_sid=".session_id()."&locaplic=".$_GET["locaplic"]."&mapext=".$mapext."&origem=".$_GET["origem"]."&output=".$_GET["output"];
  13 + $urln = "?g_sid=".session_id()."&locaplic=".$_GET["locaplic"]."&mapext=".$mapext."&origem=".$_GET["origem"]."&output=".$_GET["output"]."&xmlesquema=".$_GET["xmlesquema"];
8 14 header("Location:".$urln);
9 15 exit;
10 16 }
... ... @@ -22,11 +28,16 @@ session_name(&quot;i3GeoPHP&quot;);
22 28 session_id($_GET["g_sid"]);
23 29 session_start();
24 30 $map_file = $_SESSION["map_file"];
25   -$urlXmlEsquema = $_SESSION["tmpurl"].basename(dirname($map_file))."/".$nomeConexao.".xml";
  31 +if(empty($_GET["xmlesquema"])){
  32 + $urlXmlEsquema = $_SESSION["tmpurl"].basename(dirname($map_file))."/".$nomeConexao.".xml";
  33 +}
  34 +else{
  35 + $urlXmlEsquema = $_GET["xmlesquema"];
  36 +}
26 37 $arquivoXmlEsquema = dirname($map_file)."/".$nomeConexao.".xml";
27 38  
28 39 /*
29   -$saikuConfigDataSource vem do ms_configura.php
  40 + $saikuConfigDataSource vem do ms_configura.php
30 41  
31 42 Exemplo de arquivo de fonte:
32 43 type=OLAP
... ... @@ -39,15 +50,15 @@ password=postgres
39 50 Array com os parametros definidos em ms_configura:
40 51  
41 52 $saikuConfigDataSource = array(
42   - "type"=>"OLAP",
43   - "driver"=>"mondrian.olap4j.MondrianOlap4jDriver",
44   - "location"=>"jdbc:mondrian:Jdbc=jdbc:postgresql",
45   - "serverdb"=>"localhost",
46   - "port"=>"5432",
47   - "database"=>"i3geosaude",
48   - "JdbcDrivers"=>"org.postgresql.Driver",
49   - "username"=>"postgres",
50   - "password"=>"postgres"
  53 + "type"=>"OLAP",
  54 + "driver"=>"mondrian.olap4j.MondrianOlap4jDriver",
  55 + "location"=>"jdbc:mondrian:Jdbc=jdbc:postgresql",
  56 + "serverdb"=>"localhost",
  57 + "port"=>"5432",
  58 + "database"=>"i3geosaude",
  59 + "JdbcDrivers"=>"org.postgresql.Driver",
  60 + "username"=>"postgres",
  61 + "password"=>"postgres"
51 62 );
52 63 */
53 64 $stringDatasource = "
... ... @@ -60,395 +71,415 @@ password={$saikuConfigDataSource[&quot;password&quot;]}
60 71 ";
61 72 //salva o arquivo com a fonte
62 73 gravaDados(array($stringDatasource),$nomeDatasource);
63   -$m = new Metaestat();
64   -$selecaoRegiao = array();
65   -//obtem do mapfile em uso os layers que sao do sistema metaestat, sao regioes e que possuem selecao
66   -$codigo_tipo_regiao = "";
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]);
  74 +
  75 +if(empty($_GET["xmlesquema"])){
  76 + $m = new Metaestat();
  77 +
  78 + //
  79 + //obtem do mapfile em uso os layers que sao do sistema metaestat, sao regioes e que possuem selecao
  80 + //
  81 + $selecaoRegiao = array();
  82 + $codigo_tipo_regiao = "";
  83 + if($map_file != ""){
  84 + $mapa = ms_newMapObj($map_file);
  85 + $c = $mapa->numlayers;
  86 + for ($i=0;$i < $c;++$i){
  87 + $l = $mapa->getlayer($i);
  88 + //verifica o alias na conexao
  89 + if (!empty($postgis_mapa)){
  90 + if ($l->connectiontype == MS_POSTGIS){
  91 + $lcon = $l->connection;
  92 + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){
  93 + if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade
  94 + {$l->set("connection",$postgis_mapa);
  95 + }
  96 + else{
  97 + $l->set("connection",$postgis_mapa[$lcon]);
  98 + }
81 99 }
82 100 }
83 101 }
84   - }
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];
  102 + //
  103 + $registros = array();
  104 + if($l->status == MS_DEFAULT && $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO") != ""){
  105 + //verifica se tem selecao
  106 + $qyfile = dirname($map_file)."/".$l->name.".php";
  107 + if(file_exists($qyfile)){
  108 + $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO");
  109 + //pega os registros
  110 + $shapes = retornaShapesSelecionados($l,$map_file,$mapa);
  111 + //pega o nome da coluna que identifica cada registro
  112 + $regiao = $m->listaTipoRegiao($codigo_tipo_regiao);
  113 + $item = $regiao["identificador"];
  114 + foreach($shapes as $shape){
  115 + $registros[] = $shape->values[$item];
  116 + }
  117 + $reg = $item." IN ('".implode("','",$registros)."') ";
  118 + $selecaoRegiao[$codigo_tipo_regiao] = array(
  119 + "item" => $item,
  120 + "sql" => $reg
  121 + );
  122 + break; //mantem a primeira ocorrencia de regiao que possui selecao
  123 + }
  124 + else{
  125 + $selecaoRegiao[$codigo_tipo_regiao] = "";
99 126 }
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] = "";
109 127 }
110 128 }
111 129 }
112   -}
113   -if($codigo_tipo_regiao == ""){
114   - $regioes = $m->listaTipoRegiao();
115   -}
116   -else{
117   - $regioes = array($m->listaTipoRegiao($codigo_tipo_regiao));
118   -}
119   -//echo "<pre>";var_dump($regioes);exit;
120   -$regiao = "";
121   -$item = "";
122   -$registros = "";
123   -//echo "<pre>";var_dump($regioes);exit;
124   -
125   -$xml = "<Schema name='i3Geo Metaestat'>";
126   -//cria as dimensoes de tipo temporal
127   -if(empty($saikuConfigDataSource['tabelaDimensaoTempo'])){
128   - $saikuConfigDataSource['tabelaDimensaoTempo'] = "i3geo_metaestat.dim_tempo";
129   -}
130   -$sqlAno = "select nu_ano from ".$saikuConfigDataSource['tabelaDimensaoTempo']." group by nu_ano order by nu_ano";
131   -$sqlMes = "select nu_ano::text,nu_mes::text,ds_mes_abreviado as mes,COALESCE (nu_ano::text||'-'||nu_mes::text,nu_ano::text) as nu_anomes from ".$saikuConfigDataSource['tabelaDimensaoTempo']." group by nu_ano,nu_mes,mes,nu_anomes order by nu_ano,nu_mes";
132   -//dimensoes temporais
133   -$xml .= "
  130 + if($codigo_tipo_regiao == ""){
  131 + $regioes = $m->listaTipoRegiao();
  132 + }
  133 + else{
  134 + $regioes = array($m->listaTipoRegiao($codigo_tipo_regiao));
  135 + }
  136 + //echo "<pre>";var_dump($regioes);exit;
  137 + $regiao = "";
  138 + $item = "";
  139 + $registros = "";
  140 + //echo "<pre>";var_dump($regioes);exit;
  141 +
  142 + $xml = "<Schema name='i3Geo Metaestat'>";
  143 + //cria as dimensoes de tipo temporal
  144 + if(empty($saikuConfigDataSource['tabelaDimensaoTempo'])){
  145 + $saikuConfigDataSource['tabelaDimensaoTempo'] = "i3geo_metaestat.dim_tempo";
  146 + }
  147 + $sqlAno = "select nu_ano from ".$saikuConfigDataSource['tabelaDimensaoTempo']." group by nu_ano order by nu_ano";
  148 + $sqlMes = "select nu_ano::text,nu_mes::text,ds_mes_abreviado as mes,COALESCE (nu_ano::text||'-'||nu_mes::text,nu_ano::text) as nu_anomes from ".$saikuConfigDataSource['tabelaDimensaoTempo']." group by nu_ano,nu_mes,mes,nu_anomes order by nu_ano,nu_mes";
  149 + //dimensoes temporais
  150 + $xml .= "
134 151 <Dimension name='Anual' type='TimeDimension' caption='Tempo: Anual'>
135   - <Hierarchy hasAll='true' primaryKey='nu_ano'>
136   - <view alias='tempo_ano' ><SQL dialect='generic' >$sqlAno</SQL></view>
137   - <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' levelType='TimeYears'/>
138   - </Hierarchy>
  152 + <Hierarchy hasAll='true' primaryKey='nu_ano'>
  153 + <view alias='tempo_ano' ><SQL dialect='generic' >$sqlAno</SQL></view>
  154 + <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' levelType='TimeYears'/>
  155 + </Hierarchy>
139 156 </Dimension>
140 157 <Dimension name='Mensal' type='TimeDimension' caption='Tempo: Mensal'>
141   - <Hierarchy hasAll='true' primaryKey='nu_anomes'>
142   - <view alias='tempo_ano' ><SQL dialect='generic' >$sqlMes</SQL></view>
143   - <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' levelType='TimeYears'/>
144   - <Level nameColumn='mes' name='Mes' column='nu_mes' type='Numeric' uniqueMembers='false' levelType='TimeMonths'/>
145   - </Hierarchy>
  158 + <Hierarchy hasAll='true' primaryKey='nu_anomes'>
  159 + <view alias='tempo_ano' ><SQL dialect='generic' >$sqlMes</SQL></view>
  160 + <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' levelType='TimeYears'/>
  161 + <Level nameColumn='mes' name='Mes' column='nu_mes' type='Numeric' uniqueMembers='false' levelType='TimeMonths'/>
  162 + </Hierarchy>
146 163 </Dimension>
147 164 <Dimension name='Tempo' type='TimeDimension' caption='Tempo'>
148   - <Hierarchy hasAll='true' primaryKey='nu_anomes'>
149   - <view alias='tempo' ><SQL dialect='generic' >$sqlMes</SQL></view>
150   - <Level name='Ano' column='nu_ano' type='String' uniqueMembers='true' levelType='TimeYears'/>
151   - <Level nameColumn='mes' name='Mes' column='nu_mes' type='String' uniqueMembers='false' levelType='TimeMonths'/>
152   - </Hierarchy>
  165 + <Hierarchy hasAll='true' primaryKey='nu_anomes'>
  166 + <view alias='tempo' ><SQL dialect='generic' >$sqlMes</SQL></view>
  167 + <Level name='Ano' column='nu_ano' type='String' uniqueMembers='true' levelType='TimeYears'/>
  168 + <Level nameColumn='mes' name='Mes' column='nu_mes' type='String' uniqueMembers='false' levelType='TimeMonths'/>
  169 + </Hierarchy>
153 170 </Dimension>
154   -";
155   -//dimensoes geograficas
156   -//as dimensoes sao duplicadas
157   -//uma delas contem o geocodigo que permite a geracao do mapa
158   -
159   -//guarda as regioes filhas de uma determinada regiao (chave)
160   -$filhosDaRegiao = array();
161   -$VirtualCubeDimensionDaRegiao = array();
162   -$VirtualCubeMeasureDaRegiao = array();
163   -foreach($regioes as $regiao){
164   - $filhosDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
165   - $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
166   - $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
167   -}
168   -$xml1 = "";
169   -$xml2 = "";
170   -foreach($regioes as $regiao){
171   - $caminho = $m->hierarquiaPath($regiao["codigo_tipo_regiao"]);
172   - $xml1 .= "
173   - <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' caption='Onde:".converte($regiao["nome_tipo_regiao"])."'>
174   - <Hierarchy hasAll='true' primaryKey='codigo'>
175 171 ";
176   - $xml2 .= "
  172 + //dimensoes geograficas
  173 + //as dimensoes sao duplicadas
  174 + //uma delas contem o geocodigo que permite a geracao do mapa
  175 +
  176 + //guarda as regioes filhas de uma determinada regiao (chave)
  177 + $filhosDaRegiao = array();
  178 + $VirtualCubeDimensionDaRegiao = array();
  179 + $VirtualCubeMeasureDaRegiao = array();
  180 + foreach($regioes as $regiao){
  181 + $filhosDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
  182 + $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
  183 + $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]] = array();
  184 + }
  185 + $xml1 = "";
  186 + $xml2 = "";
  187 + foreach($regioes as $regiao){
  188 + $caminho = $m->hierarquiaPath($regiao["codigo_tipo_regiao"]);
  189 + $xml1 .= "
  190 + <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' caption='Onde:".converte($regiao["nome_tipo_regiao"])."'>
  191 + <Hierarchy hasAll='true' primaryKey='{$regiao['identificador']}'>
  192 + ";
  193 + $xml2 .= "
177 194 <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_geocod' caption='GeoCod:".converte($regiao["nome_tipo_regiao"])."'>
178   - <Hierarchy hasAll='true' primaryKey='codigo'>
179   - ";
180   - //cria uma view juntando as tabelas da hierarquia de regioes
181   - $n = count($caminho);
182   - $colunas = array();
183   - $niveis1 = array();
184   - $niveis2 = array();
185   - $sql = "SELECT __COLUNAS__ FROM {$regiao['esquemadb']}.{$regiao['tabela']} AS regiao ";
186   - $colunas[] = "regiao.{$regiao['identificador']} AS codigo ";
187   - $colunas[] = "regiao.{$regiao['colunanomeregiao']} AS nome";
188   - //$colunas[] = "regiao".$regiao['identificador'];
189   - $tabelaAnt = "regiao";
190   -
191   - for($i=0;$i<$n;$i++){
192   - $r = $m->listaTipoRegiao($caminho[$i]);
193   -
194   - array_push($filhosDaRegiao[$caminho[$i]],$regiao["codigo_tipo_regiao"]);
195   -
196   - $colunas[] = "j$i.{$r['colunanomeregiao']} AS j$i{$r['colunanomeregiao']}";
197   - $colunas[] = "j$i.{$r['identificador']} AS j$i{$r['identificador']}";
198   - $sql .= "INNER JOIN {$r['esquemadb']}.{$r['tabela']}
199   - AS j$i ON j$i.{$r['identificador']}::text = {$tabelaAnt}.{$r['identificador']}::text
  195 + <Hierarchy hasAll='true' primaryKey='{$regiao['identificador']}'>
200 196 ";
201   - $tabelaAnt = "j".$i;
202   - $niveis1[] = "
  197 + //cria uma view juntando as tabelas da hierarquia de regioes
  198 + $n = count($caminho);
  199 + $colunas = array();
  200 + $niveis1 = array();
  201 + $niveis2 = array();
  202 + $sql = "SELECT __COLUNAS__ FROM {$regiao['esquemadb']}.{$regiao['tabela']} AS regiao ";
  203 + $colunas[] = "regiao.{$regiao['identificador']} as codigo ";
  204 + $colunas[] = "regiao.{$regiao['colunanomeregiao']} AS nome";
  205 + //$colunas[] = "regiao".$regiao['identificador'];
  206 + $tabelaAnt = "regiao";
  207 +
  208 + for($i=0;$i<$n;$i++){
  209 + $r = $m->listaTipoRegiao($caminho[$i]);
  210 +
  211 + array_push($filhosDaRegiao[$caminho[$i]],$regiao["codigo_tipo_regiao"]);
  212 +
  213 + $colunas[] = "j$i.{$r['colunanomeregiao']} AS j$i{$r['colunanomeregiao']}";
  214 + $colunas[] = "j$i.{$r['identificador']} AS j$i{$r['identificador']}";
  215 + $sql .= "INNER JOIN {$r['esquemadb']}.{$r['tabela']}
  216 + AS j$i ON j$i.{$r['identificador']}::text = {$tabelaAnt}.{$r['identificador']}::text
  217 + ";
  218 + $tabelaAnt = "j".$i;
  219 + $niveis1[] = "
203 220 <Level name='".converte($r["nome_tipo_regiao"])."'
204   - column='{$r['identificador']}'
205   - nameColumn='j$i{$r["colunanomeregiao"]}' uniqueMembers='false'/>
206   - ";
207   - $niveis2[] = "
  221 + column='j$i{$r['identificador']}'
  222 + nameColumn='j$i{$r["colunanomeregiao"]}' uniqueMembers='false'/>
  223 + ";
  224 + $niveis2[] = "
208 225 <Level name='".converte($r["nome_tipo_regiao"])." - GeoCod #{$caminho[$i]}'
209   - column='{$r['identificador']}'
210   - nameColumn='j$i{$r["identificador"]}' uniqueMembers='false'/>
211   - ";
212   - }
213   - $niveis1[] = "
  226 + column='j$i{$r['identificador']}'
  227 + nameColumn='j$i{$r["identificador"]}' uniqueMembers='false'/>
  228 + ";
  229 + }
  230 + $niveis1[] = "
214 231 <Level name='".converte($regiao["nome_tipo_regiao"])."'
215   - column='codigo'
216   - nameColumn='nome' uniqueMembers='true' >
  232 + column='codigo'
  233 + nameColumn='nome' uniqueMembers='true' >
217 234 </Level>
218   - ";
219   - $niveis2[] = "
  235 + ";
  236 + $niveis2[] = "
220 237 <Level name='".converte($regiao["nome_tipo_regiao"])." - GeoCod #{$regiao["codigo_tipo_regiao"]}'
221   - column='codigo'
222   - nameColumn='codigo' uniqueMembers='true' />
223   - ";
224   - //verifica outras colunas
225   - $vis = $regiao['colunasvisiveis'];
226   - if($vis != ""){
227   - $vis = str_replace(";",",",$vis);
228   - $vis = str_replace(",,",",",$vis);
229   - $vis = explode(",",$vis);
230   - foreach($vis as $v){
231   - $colunas[] = "regiao.".$v." as ".$v;
  238 + column='codigo'
  239 + nameColumn='codigo' uniqueMembers='true' />
  240 + ";
  241 + //verifica outras colunas
  242 + $vis = $regiao['colunasvisiveis'];
  243 + if($vis != ""){
  244 + $vis = str_replace(";",",",$vis);
  245 + $vis = str_replace(",,",",",$vis);
  246 + $vis = explode(",",$vis);
  247 + foreach($vis as $v){
  248 + $colunas[] = "regiao.".$v." as ".$v;
  249 + }
  250 + $colunas = array_unique($colunas);
232 251 }
233   - $colunas = array_unique($colunas);
234   - }
235   - $colunas = implode($colunas,",");
236   - $sql = str_replace("__COLUNAS__",$colunas,$sql);
237   - //inclui a selecao se houver
238   - if(!empty($selecaoRegiao[$regiao["codigo_tipo_regiao"]]))
239   - $rs = $selecaoRegiao[$regiao["codigo_tipo_regiao"]];
240   - $pos = strpos($sql, "regiao.".$rs["item"]." ");
241   - if($rs != "" || !$pos === false){
242   - $sql .= " WHERE regiao.".$rs["sql"];
243   - }
244   -
245   - $xml1 .= "
246   - <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' ><SQL dialect='generic' >$sql</SQL></view>
247   - ";
248   - $xml2 .= "
249   - <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_GeoCod' ><SQL dialect='generic' >$sql</SQL></view>
250   - ";
251   - $xml1 .= implode(" ",$niveis1);
252   - $xml2 .= implode(" ",$niveis2);
253   - $xml1 .= "
254   - </Hierarchy>
  252 + $colunas = implode($colunas,",");
  253 + $sql = str_replace("__COLUNAS__",$colunas,$sql);
  254 + //inclui a selecao se houver
  255 + if(!empty($selecaoRegiao[$regiao["codigo_tipo_regiao"]]))
  256 + $rs = $selecaoRegiao[$regiao["codigo_tipo_regiao"]];
  257 + $pos = strpos($sql, "regiao.".$rs["item"]." ");
  258 + if($rs != "" || !$pos === false){
  259 + $sql .= " WHERE regiao.".$rs["sql"];
  260 + }
  261 +
  262 + $xml1 .= "
  263 + <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' ><SQL dialect='generic' >$sql</SQL></view>
  264 + ";
  265 + $xml2 .= "
  266 + <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_GeoCod' ><SQL dialect='generic' >$sql</SQL></view>
  267 + ";
  268 + $xml1 .= implode(" ",$niveis1);
  269 + $xml2 .= implode(" ",$niveis2);
  270 + $xml1 .= "
  271 + </Hierarchy>
255 272 </Dimension>
256   - ";
257   - $xml2 .= "
258   - </Hierarchy>
  273 + ";
  274 + $xml2 .= "
  275 + </Hierarchy>
259 276 </Dimension>
260   - ";
261   -}
262   -//echo "<pre>";var_dump($filhosDaRegiao);exit;
263   -//outras dimensoes definidas nos parametros e que nao sejam do tipo tempo
264   -$parametros = $m->listaTodosParametros();
265   -$dimOutras = array();
266   -foreach($parametros as $p){
267   - //apenas as nao tempo
268   - if($p["tipo"] < 1 || $p["tipo"] > 5){
269   - $k = $p["esquema"]."_".$p["tabela"]."_".$p["coluna"];
270   - if(empty($tbs[$k])){
271   - $dimOutras[$k] = $p;
272   - }
273   - else{
274   - array_push($dimOutras[$k],$p);
  277 + ";
  278 + }
  279 + //echo "<pre>";var_dump($filhosDaRegiao);exit;
  280 + //outras dimensoes definidas nos parametros e que nao sejam do tipo tempo
  281 + $parametros = $m->listaTodosParametros();
  282 + $dimOutras = array();
  283 + foreach($parametros as $p){
  284 + //apenas as nao tempo
  285 + if($p["tipo"] < 1 || $p["tipo"] > 5){
  286 + $k = $p["esquema"]."_".$p["tabela"]."_".$p["coluna"];
  287 + if(empty($tbs[$k])){
  288 + $dimOutras[$k] = $p;
  289 + }
  290 + else{
  291 + array_push($dimOutras[$k],$p);
  292 + }
275 293 }
276 294 }
277   -}
278   -$xml3 = "";
279   -foreach($dimOutras as $d){
280   - $k = $p["esquemadb"]."_".$d["tabela"]."_".$d["coluna"];
281   - $xml3 .= "
  295 + $xml3 = "";
  296 + foreach($dimOutras as $d){
  297 + $k = $p["esquemadb"]."_".$d["tabela"]."_".$d["coluna"];
  298 + $xml3 .= "
282 299 <Dimension name='".$k."' caption='".converte($d["nome"])."'>
283   - <Hierarchy hasAll='true' primaryKey='codigo'>
284   - ";
285   - //cria uma view juntando as tabelas da hierarquia de regioes
286   - $colunas = "dim.{$d['coluna']} as codigo, ";
287   - $colunas .= "dim.{$d['coluna']} AS nome";
288   - $sql = "SELECT {$colunas} FROM ".$d['esquemadb'].".".$d['tabela']." as dim group by codigo";
289   - $xml3 .= "<view alias='".$k."' ><SQL dialect='generic' >$sql</SQL></view>";
290   - $xml3 .= "<Level name='".converte($d["nome"])."'
291   - column='codigo'
292   - nameColumn='nome' uniqueMembers='true' />
293   - ";
294   - $xml3 .= "</Hierarchy>
  300 + <Hierarchy hasAll='true' primaryKey='codigo'>
  301 + ";
  302 + //cria uma view juntando as tabelas da hierarquia de regioes
  303 + $colunas = "dim.{$d['coluna']} as codigo, ";
  304 + $colunas .= "dim.{$d['coluna']} AS nome";
  305 + $sql = "SELECT {$colunas} FROM ".$d['esquemadb'].".".$d['tabela']." as dim group by codigo";
  306 + $xml3 .= "<view alias='".$k."' ><SQL dialect='generic' >$sql</SQL></view>";
  307 + $xml3 .= "<Level name='".converte($d["nome"])."'
  308 + column='codigo'
  309 + nameColumn='nome' uniqueMembers='true' />
  310 + ";
  311 + $xml3 .= "</Hierarchy>
295 312 </Dimension>";
296   -}
297   -$xml .= $xml1.$xml2.$xml3;
298   -//junta as medidas conforme o nome da tabela utilizada
299   -$medidas = $m->listaMedidaVariavel();
300   -//var_dump($medidas);exit;
301   -$tbs = array();
302   -//echo $codigo_tipo_regiao;exit;
303   -foreach($medidas as $medida){
304   - if($codigo_tipo_regiao == "" || $medida["codigo_tipo_regiao"] == $codigo_tipo_regiao){
305   - $k = $medida["esquemadb"].$medida["tabela"];
306   - //echo "<pre>".$k;
307   - if(empty($tbs[$k])){
308   - $tbs[$k] = array($medida);
309   - }
310   - else{
311   - array_push($tbs[$k],$medida);
  313 + }
  314 + $xml .= $xml1.$xml2.$xml3;
  315 + //junta as medidas conforme o nome da tabela utilizada
  316 + $medidas = $m->listaMedidaVariavel();
  317 + //var_dump($medidas);exit;
  318 + $tbs = array();
  319 + //echo $codigo_tipo_regiao;exit;
  320 + foreach($medidas as $medida){
  321 + if($codigo_tipo_regiao == "" || $medida["codigo_tipo_regiao"] == $codigo_tipo_regiao){
  322 + $k = $medida["esquemadb"].$medida["tabela"];
  323 + //echo "<pre>".$k;
  324 + if(empty($tbs[$k])){
  325 + $tbs[$k] = array($medida);
  326 + }
  327 + else{
  328 + array_push($tbs[$k],$medida);
  329 + }
312 330 }
313 331 }
314   -}
315   -//monta os cubos para cada esquema.tabela diferente
316   -$VirtualCubeDimension = array();
317   -$VirtualCubeMeasure = array();
318   -//echo "<pre>";var_dump($tbs)."<br>";exit;
319   -foreach($tbs as $tb){
320   - //cabecalho de cada cubo obtido da primeira medida
321   - $c = $tb[0];
322   - $VirtualCubeDimension[] = "
  332 + //monta os cubos para cada esquema.tabela diferente
  333 + $VirtualCubeDimension = array();
  334 + $VirtualCubeMeasure = array();
  335 + //echo "<pre>";var_dump($tbs)."<br>";exit;
  336 + foreach($tbs as $tb){
  337 + //cabecalho de cada cubo obtido da primeira medida
  338 + $c = $tb[0];
  339 + $VirtualCubeDimension[] = "
323 340 <VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}' />
324   - ";
325   - $VirtualCubeDimension[] = "
  341 + ";
  342 + $VirtualCubeDimension[] = "
326 343 <VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}_geocod' />
327   - ";
328   - array_push(
329   - $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
330   - "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}' />"
331   - );
332   - array_push(
333   - $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
334   - "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}_geocod' />"
335   - );
336   - //verifica as dimensoes do tipo tempo
337   - $dimEnsoes = array();
338   - //echo "<pre>";var_dump($tb)."<br>";
339   - foreach($tb as $medida){
340   - //echo "<pre>";var_dump($medida)."<br>";
341   - $parametros = $m->listaParametro($medida["id_medida_variavel"],"","",false,false);
342   - $parComposto = array(); //guarda a composicao da chave que liga com a dimensao
343   - $colunaAdicionais = array();
344   - //parametro do tipo tempo
345   - if(count($parametros) > 0){
346   - foreach($parametros as $parametro){
347   - if($parametro["tipo"] < 5 && $parametro["tipo"] > 0){
348   - $parComposto[] = $parametro["coluna"];
  344 + ";
  345 + array_push(
  346 + $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
  347 + "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}' />"
  348 + );
  349 + array_push(
  350 + $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],
  351 + "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}_geocod' />"
  352 + );
  353 + //verifica as dimensoes do tipo tempo
  354 + $dimEnsoes = array();
  355 + //echo "<pre>";var_dump($tb)."<br>";
  356 + foreach($tb as $medida){
  357 + //echo "<pre>";var_dump($medida)."<br>";
  358 + $parametros = $m->listaParametro($medida["id_medida_variavel"],"","",false,false);
  359 + $parComposto = array(); //guarda a composicao da chave que liga com a dimensao
  360 + $colunaAdicionais = array();
  361 + //parametro do tipo tempo
  362 + if(count($parametros) > 0){
  363 + foreach($parametros as $parametro){
  364 + if($parametro["tipo"] < 5 && $parametro["tipo"] > 0){
  365 + $parComposto[] = $parametro["coluna"];
  366 + }
349 367 }
350   - }
351   - $VirtualCubeDimension[] = "
  368 + $VirtualCubeDimension[] = "
352 369 <VirtualCubeDimension name='Tempo' />
353   - ";
354   - $u = "
  370 + ";
  371 + $u = "
355 372 <DimensionUsage foreignKey='".implode("_",$parComposto)."_' name='Tempo' source='Tempo'/>
356   - ";
357   - $dimEnsoes[] = $u;
358   - array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"<VirtualCubeDimension name='Tempo' />");
359   - }
360   - //outros parametros
361   - $outrosParametros = array();
362   - //TODO criar as dimensoes aqui
363   - //echo "<pre>";var_dump($parametros);
364   - foreach($parametros as $parametro){
365   - $k = $parametro["esquemadb"]."_".$parametro["tabela"]."_".$parametro["coluna"];
366   - if($parametro["tipo"] > 5 || $parametro["tipo"] == 0){
367   - $outrosParametros[] = $k;
368   - $VirtualCubeDimension[] = "<VirtualCubeDimension name='{$k}' />";
369   - $u = "<DimensionUsage foreignKey='{$parametro["coluna"]}' name='nome' source='{$k}'/>";
  373 + ";
370 374 $dimEnsoes[] = $u;
371   - array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"<VirtualCubeDimension name='{$k}' />");
  375 + array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"<VirtualCubeDimension name='Tempo' />");
  376 + }
  377 + //outros parametros
  378 + $outrosParametros = array();
  379 + //echo "<pre>";var_dump($parametros);
  380 + foreach($parametros as $parametro){
  381 + $k = $parametro["esquemadb"]."_".$parametro["tabela"]."_".$parametro["coluna"];
  382 + if($parametro["tipo"] > 5 || $parametro["tipo"] == 0){
  383 + $outrosParametros[] = $k;
  384 + $VirtualCubeDimension[] = "<VirtualCubeDimension name='{$k}' />";
  385 + $u = "<DimensionUsage foreignKey='{$parametro["coluna"]}' name='nome' source='{$k}'/>";
  386 + $dimEnsoes[] = $u;
  387 + array_push($VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]],"<VirtualCubeDimension name='{$k}' />");
  388 + }
372 389 }
373 390 }
374   - }
375   - //$dimEnsoes[] = '<DimensionUsage foreignKey="coduf" name="codigo_tipo_regiao_2" source="codigo_tipo_regiao_2"/>';
376   - $xml .= "
377   - <Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>";
378   - $incluirChaves = array("*");
379   -
380   - if(count($parComposto) > 0){
381   - //$sql = "select *,".implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_ from {$c["esquemadb"]}.{$c["tabela"]}";
382   - $incluirChaves[] = implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_";
383   - }
384   - if(count($outrosParametros) > 0){
385   - foreach($outrosParametros as $o){
386   - //$incluirChaves[] = $o."::text as ".$o."_";
387   - }
388   - }
389   -
390   - $sql = "select ".implode(",",$incluirChaves)." from {$c["esquemadb"]}.{$c["tabela"]}";
391   -
392   - $xml .= "
393   - <view alias='view_{$c["esquemadb"]}{$c["tabela"]}' ><SQL dialect='generic' >$sql</SQL></view>
394   - <DimensionUsage foreignKey='".$c["colunaidgeo"]."' name='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."' source='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."'/>
395   - <DimensionUsage foreignKey='".$c["colunaidgeo"]."' name='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."_geocod' source='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."_geocod'/>
396   - ";
397   -
398   - $xml .= implode(" ",array_unique($dimEnsoes));
399   -
400   - //inclui cada elemento em medida
401   - foreach($tb as $medida){
402   - $agregador = "sum";
403   - if($medida["permitesoma"] == 0 && $medida["permitemedia"] == 1){
404   - $agregador = "avg";
  391 + //$dimEnsoes[] = '<DimensionUsage foreignKey="coduf" name="codigo_tipo_regiao_2" source="codigo_tipo_regiao_2"/>';
  392 + $xml .= "
  393 + <Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>";
  394 + $incluirChaves = array("*");
  395 +
  396 + if(count($parComposto) > 0){
  397 + //$sql = "select *,".implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_ from {$c["esquemadb"]}.{$c["tabela"]}";
  398 + $incluirChaves[] = implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_";
405 399 }
406   - if($medida["permitesoma"] == 0 && $medida["permitemedia"] == 0){
407   - $agregador = "count";
  400 + if(count($outrosParametros) > 0){
  401 + foreach($outrosParametros as $o){
  402 + //$incluirChaves[] = $o."::text as ".$o."_";
  403 + }
408 404 }
  405 +
  406 + $sql = "select ".implode(",",$incluirChaves)." from {$c["esquemadb"]}.{$c["tabela"]}";
  407 +
409 408 $xml .= "
410   - <Measure name='id_medida_variavel_".$medida["id_medida_variavel"]."' caption='".converte($medida["nomemedida"])."' column='".$medida["colunavalor"]."' aggregator='".$agregador."' />
  409 + <view alias='view_{$c["esquemadb"]}{$c["tabela"]}' ><SQL dialect='generic' >$sql</SQL></view>
  410 + <DimensionUsage foreignKey='".$c["colunaidgeo"]."' name='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."' source='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."'/>
  411 + <DimensionUsage foreignKey='".$c["colunaidgeo"]."' name='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."_geocod' source='codigo_tipo_regiao_".$c["codigo_tipo_regiao"]."_geocod'/>
411 412 ";
412   - $u = "
  413 +
  414 + $xml .= implode(" ",array_unique($dimEnsoes));
  415 +
  416 + //inclui cada elemento em medida
  417 + foreach($tb as $medida){
  418 + $agregador = "sum";
  419 + if($medida["permitesoma"] == 0 && $medida["permitemedia"] == 1){
  420 + $agregador = "avg";
  421 + }
  422 + if($medida["permitesoma"] == 0 && $medida["permitemedia"] == 0){
  423 + $agregador = "count";
  424 + }
  425 + $xml .= "
  426 + <Measure name='id_medida_variavel_".$medida["id_medida_variavel"]."' caption='".converte($medida["nomemedida"])."' column='".$medida["colunavalor"]."' aggregator='".$agregador."' />
  427 + ";
  428 + $u = "
413 429 <VirtualCubeMeasure cubeName='Tabela: {$c["esquemadb"]}{$c["tabela"]}' name='[Measures].[id_medida_variavel_".$medida["id_medida_variavel"]."]'/>
414   - ";
415   - $VirtualCubeMeasure[] = $u;
416   - array_push($VirtualCubeMeasureDaRegiao[$c["codigo_tipo_regiao"]],$u);
417   - }
418   - $xml .= "
  430 + ";
  431 + $VirtualCubeMeasure[] = $u;
  432 + array_push($VirtualCubeMeasureDaRegiao[$c["codigo_tipo_regiao"]],$u);
  433 + }
  434 + $xml .= "
419 435 </Cube>
420 436 ";
421   -}
422   -$xml .= '<VirtualCube name="Todas as medidas" >';
423   -$VirtualCubeDimension = array_unique($VirtualCubeDimension);
424   -$VirtualCubeMeasure = array_unique($VirtualCubeMeasure);
425   -$xml .= implode(" ",$VirtualCubeDimension);
426   -$xml .= implode(" ",$VirtualCubeMeasure);
427   -$xml .= '</VirtualCube>';
428   -//
429   -//cubos por regiao
430   -//
431   -//$filhosDaRegiao = array();
432   -//$VirtualCubeDimensionDaRegiao = array();
433   -//$VirtualCubeMeasureDaRegiao = array();
434   -foreach($regioes as $regiao){
435   - $xml .= '<VirtualCube name="'.converte($regiao["nome_tipo_regiao"]).'" >';
436   - $xml .= implode(" ",array_unique($VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]]));
437   - $xml .= implode(" ",array_unique($VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]]));
  437 + }
  438 + $xml .= '<VirtualCube name="Todas as medidas" >';
  439 + $VirtualCubeDimension = array_unique($VirtualCubeDimension);
  440 + $VirtualCubeMeasure = array_unique($VirtualCubeMeasure);
  441 + $xml .= implode(" ",$VirtualCubeDimension);
  442 + $xml .= implode(" ",$VirtualCubeMeasure);
438 443 $xml .= '</VirtualCube>';
  444 + //
  445 + //cubos por regiao
  446 + //
  447 + //$filhosDaRegiao = array();
  448 + //$VirtualCubeDimensionDaRegiao = array();
  449 + //$VirtualCubeMeasureDaRegiao = array();
  450 +
  451 + foreach($regioes as $regiao){
  452 + //inclui os parametros para a regiao de acordo com os filhos que possui
  453 + $d = $VirtualCubeDimensionDaRegiao[$regiao["codigo_tipo_regiao"]];
  454 + $m = $VirtualCubeMeasureDaRegiao[$regiao["codigo_tipo_regiao"]];
  455 + foreach($filhosDaRegiao[$regiao["codigo_tipo_regiao"]] as $f){
  456 + //$d = array_merge($d,$VirtualCubeDimensionDaRegiao[$f]);
  457 + $m = array_merge($m,$VirtualCubeMeasureDaRegiao[$f]);
  458 + }
  459 + if(count(array_unique($m)) > 0){
  460 + $xml .= '<VirtualCube name="Regi&amp;atilde;o: '.converte($regiao["nome_tipo_regiao"]).'" >';
  461 + $xml .= implode(" ",array_unique($d));
  462 + $xml .= implode(" ",array_unique($m));
  463 + $xml .= '</VirtualCube>';
  464 + }
  465 + }
  466 + $xml .= "</Schema>";
  467 + error_reporting(0);
  468 + ob_end_clean();
  469 +
  470 + if($_GET["output"] == "xml"){
  471 + echo header("Content-type: application/xml");
  472 + echo $xml;exit;
  473 + }
  474 + gravaDados(array($xml),$arquivoXmlEsquema);
439 475 }
440   -$xml .= "</Schema>";
441   -error_reporting(0);
442   -ob_end_clean();
443   -
444   -if($_GET["output"] == "xml"){
445   - echo header("Content-type: application/xml");
446   - echo $xml;exit;
  476 +if($_GET["output"] == "xml"){
  477 + echo header("Content-type: application/xml");
  478 + header("Location:".$_GET["xmlesquema"]);
  479 +}
  480 +else{
  481 + header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]."&mapext=".$_GET["mapext"]."&origem=".$_GET["origem"]);
447 482 }
448   -gravaDados(array($xml),$arquivoXmlEsquema);
449   -
450   -header("Location:".$saikuUrl."/?nomeConexao=".$nomeConexao."&locaplic=".$_GET["locaplic"]."&g_sid=".$_GET["g_sid"]."&mapext=".$_GET["mapext"]."&origem=".$_GET["origem"]);
451   -
452 483 function converte($texto){
453 484 $texto = str_replace("&","&amp;",htmlentities($texto));
454 485 //$texto = htmlentities($texto);
... ...
init/dicionario.js
1   -g_traducao_init = {
2   -1: [
3   -{
4   -pt:"Remover essa tela de apresenta&ccedil;&atilde;o (depois voc&ecirc; poder&aacute; ir direto para http:// localhost/i3geo/init)",
5   -en:"",
6   -es:""
7   -}],
8   -2: [
9   -{
10   -pt:"Teste da instala&ccedil;&atilde;o",
11   -en:"",
12   -es:""
13   -}],
14   -3: [
15   -{
16   -pt:"Sistema de administra&ccedil;&atilde;o",
17   -en:"",
18   -es:""
19   -}],
20   -4: [
21   -{
22   -pt:"Mapa com interface Openlayers",
23   -en:"",
24   -es:""
25   -}],
26   -5: [
27   -{
28   -pt:"Mapa com interface Openlayers (modo debug)",
29   -en:"",
30   -es:""
31   -}],
32   -6: [
33   -{
34   -pt:"Mapa com interface Google Maps",
35   -en:"",
36   -es:""
37   -}],
38   -7: [
39   -{
40   -pt:"Mapa com interface Google Earth",
41   -en:"",
42   -es:""
43   -}],
44   -8: [
45   -{
46   -pt:"Cartogramas (METAESTAT)",
47   -en:"",
48   -es:""
49   -}],
50   -9: [
51   -{
52   -pt:"Editor de regi&otilde;es (METAESTAT)",
53   -en:"",
54   -es:""
55   -}],
56   -10: [
57   -{
58   -pt:"Download de dados geo",
59   -en:"",
60   -es:""
61   -}],
62   -11: [
63   -{
64   -pt:"Servi&ccedil;os OGC (WMS e WFS)",
65   -en:"",
66   -es:""
67   -}],
68   -12: [
69   -{
70   -pt:"Cat&aacute;logo de temas no formato KML",
71   -en:"",
72   -es:""
73   -}],
74   -13: [
75   -{
76   -pt:"Gerador de links permanentes",
77   -en:"",
78   -es:""
79   -}],
80   -14: [
81   -{
82   -pt:"Exemplos de customiza&ccedil;&atilde;o da interface de mapas",
83   -en:"",
84   -es:""
85   -}],
86   -15: [
87   -{
88   -pt:"Manual de uso",
89   -en:"",
90   -es:""
91   -}],
92   -16: [
93   -{
94   -pt:"Registro de bugs",
95   -en:"",
96   -es:""
97   -}],
98   -17: [
99   -{
100   -pt:"Guia de migra&ccedil;&atilde;o",
101   -en:"",
102   -es:""
103   -}],
104   -18: [
105   -{
106   -pt:"Integre mapas em outras aplica&ccedil;&otilde;es",
107   -en:"",
108   -es:""
109   -}],
110   -19: [
111   -{
112   -pt:"ATEN&Ccedil;&Atilde;O!!! Essa instala&ccedil;&atilde;o est&aacute; vulner&aacute;vel: edite o arquivo i3geo/ms_configura.php e altere o login e senha definidos na vari&aacute;vel $i3geomaster.<br>Ao acessar o i3Geo em um servidor que n&atilde;o seja o localhost os mapas ficar&atilde;o bloqueados at&eacute; que essa edi&ccedil;&atilde;o seja feita.",
113   -en:"",
114   -es:""
115   -}],
116   -20: [
117   -{
118   -pt:"Incluia um link apenas na sua p&aacute;gina",
119   -en:"",
120   -es:""
121   -}],
122   -21: [
123   -{
124   -pt:"Manual de administra&ccedil;&atilde;o",
125   -en:"",
126   -es:""
127   -}],
128   -22: [
129   -{
130   -pt:"Google Maps com aplica&ccedil;&atilde;o de estilo",
131   -en:"",
132   -es:""
133   -}],
134   -23: [
135   -{
136   -pt:"Mapa com Open Street Map (OSM)",
137   -en:"",
138   -es:""
139   -}],
140   -24: [
141   -{
142   -pt:"Documenta&ccedil;&atilde;o da API",
143   -en:"",
144   -es:""
145   -}],
146   -25: [
147   -{
148   -pt:"SAIKU - an&aacute;lise de dados estat&iacute;sticos",
149   -en:"",
150   -es:""
151   -}],
152   -26: [
153   -{
154   -pt:"Teste do conversor de projeto GVP para Mapfile",
155   -en:"",
156   -es:""
157   -}],
158   -27: [
159   -{
160   -pt:"Lista de Atlas cadastrados",
161   -en:"",
162   -es:""
163   -}]
164   -};
  1 +g_traducao_init =
  2 + {
  3 + 1 : [
  4 + {
  5 + pt : "Remover essa tela de apresenta&ccedil;&atilde;o (depois voc&ecirc; poder&aacute; ir direto para http:// localhost/i3geo/init)",
  6 + en : "",
  7 + es : ""
  8 + }
  9 + ],
  10 + 2 : [
  11 + {
  12 + pt : "Teste da instala&ccedil;&atilde;o",
  13 + en : "",
  14 + es : ""
  15 + }
  16 + ],
  17 + 3 : [
  18 + {
  19 + pt : "Sistema de administra&ccedil;&atilde;o",
  20 + en : "",
  21 + es : ""
  22 + }
  23 + ],
  24 + 4 : [
  25 + {
  26 + pt : "Mapa com interface Openlayers",
  27 + en : "",
  28 + es : ""
  29 + }
  30 + ],
  31 + 5 : [
  32 + {
  33 + pt : "Mapa com interface Openlayers (modo debug)",
  34 + en : "",
  35 + es : ""
  36 + }
  37 + ],
  38 + 6 : [
  39 + {
  40 + pt : "Mapa com interface Google Maps",
  41 + en : "",
  42 + es : ""
  43 + }
  44 + ],
  45 + 7 : [
  46 + {
  47 + pt : "Mapa com interface Google Earth",
  48 + en : "",
  49 + es : ""
  50 + }
  51 + ],
  52 + 8 : [
  53 + {
  54 + pt : "Cartogramas (METAESTAT)",
  55 + en : "",
  56 + es : ""
  57 + }
  58 + ],
  59 + 9 : [
  60 + {
  61 + pt : "Editor de regi&otilde;es (METAESTAT)",
  62 + en : "",
  63 + es : ""
  64 + }
  65 + ],
  66 + 10 : [
  67 + {
  68 + pt : "Download de dados geo",
  69 + en : "",
  70 + es : ""
  71 + }
  72 + ],
  73 + 11 : [
  74 + {
  75 + pt : "Servi&ccedil;os OGC (WMS e WFS)",
  76 + en : "",
  77 + es : ""
  78 + }
  79 + ],
  80 + 12 : [
  81 + {
  82 + pt : "Cat&aacute;logo de temas no formato KML",
  83 + en : "",
  84 + es : ""
  85 + }
  86 + ],
  87 + 13 : [
  88 + {
  89 + pt : "Gerador de links permanentes",
  90 + en : "",
  91 + es : ""
  92 + }
  93 + ],
  94 + 14 : [
  95 + {
  96 + pt : "Exemplos de customiza&ccedil;&atilde;o da interface de mapas",
  97 + en : "",
  98 + es : ""
  99 + }
  100 + ],
  101 + 15 : [
  102 + {
  103 + pt : "Manual de uso",
  104 + en : "",
  105 + es : ""
  106 + }
  107 + ],
  108 + 16 : [
  109 + {
  110 + pt : "Registro de bugs",
  111 + en : "",
  112 + es : ""
  113 + }
  114 + ],
  115 + 17 : [
  116 + {
  117 + pt : "Guia de migra&ccedil;&atilde;o",
  118 + en : "",
  119 + es : ""
  120 + }
  121 + ],
  122 + 18 : [
  123 + {
  124 + pt : "Integre mapas em outras aplica&ccedil;&otilde;es",
  125 + en : "",
  126 + es : ""
  127 + }
  128 + ],
  129 + 19 : [
  130 + {
  131 + pt : "ATEN&Ccedil;&Atilde;O!!! Essa instala&ccedil;&atilde;o est&aacute; vulner&aacute;vel: edite o arquivo i3geo/ms_configura.php e altere o login e senha definidos na vari&aacute;vel $i3geomaster.<br>Ao acessar o i3Geo em um servidor que n&atilde;o seja o localhost os mapas ficar&atilde;o bloqueados at&eacute; que essa edi&ccedil;&atilde;o seja feita.",
  132 + en : "",
  133 + es : ""
  134 + }
  135 + ],
  136 + 20 : [
  137 + {
  138 + pt : "Incluia um link apenas na sua p&aacute;gina",
  139 + en : "",
  140 + es : ""
  141 + }
  142 + ],
  143 + 21 : [
  144 + {
  145 + pt : "Manual de administra&ccedil;&atilde;o",
  146 + en : "",
  147 + es : ""
  148 + }
  149 + ],
  150 + 22 : [
  151 + {
  152 + pt : "Google Maps com aplica&ccedil;&atilde;o de estilo",
  153 + en : "",
  154 + es : ""
  155 + }
  156 + ],
  157 + 23 : [
  158 + {
  159 + pt : "Mapa com Open Street Map (OSM)",
  160 + en : "",
  161 + es : ""
  162 + }
  163 + ],
  164 + 24 : [
  165 + {
  166 + pt : "Documenta&ccedil;&atilde;o da API",
  167 + en : "",
  168 + es : ""
  169 + }
  170 + ],
  171 + 25 : [
  172 + {
  173 + pt : "SAIKU - an&aacute;lise de dados estat&iacute;sticos",
  174 + en : "",
  175 + es : ""
  176 + }
  177 + ],
  178 + 26 : [
  179 + {
  180 + pt : "Teste do conversor de projeto GVP para Mapfile",
  181 + en : "",
  182 + es : ""
  183 + }
  184 + ],
  185 + 27 : [
  186 + {
  187 + pt : "Lista de Atlas cadastrados",
  188 + en : "",
  189 + es : ""
  190 + }
  191 + ],
  192 + 28 : [
  193 + {
  194 + pt : "Curso de i3Geo em Gvsig-training",
  195 + en : "",
  196 + es : ""
  197 + }
  198 + ]
  199 + };
... ...
init/index.php
... ... @@ -212,6 +212,10 @@ botoesIni.push({
212 212 "href":"../documentacao",
213 213 "titulo":$trad(24,g_traducao_init)
214 214 },{
  215 + "img":"accessories-dictionary.png",
  216 + "href":"http://moodle.gvsig-training.com/course/view.php?id=11",
  217 + "titulo":$trad(28,g_traducao_init)
  218 + },{
215 219 "img":"tools-report-bug.png",
216 220 "href":"http://svn.softwarepublico.gov.br/trac/i3geo",
217 221 "titulo":$trad(16,g_traducao_init)
... ...