Commit d3c524186a3b3a0298af8629d85a4dcaa87c516e

Authored by Edmar Moretti
1 parent c0d8d332

Inclusão de opções de verificação de erros na inicialização do mapa. No ms_criam…

…apa.php, cada layer é verificado para identificar se o arquivo shapefile utilizado realmente existe.
classesjs/i3geo_tudo_compacto.js
... ... @@ -1263,7 +1263,8 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor
1263 1263 if(!window.testaferramentas){alert("ferramentas.js com problemas");}
1264 1264 if(!window.testaajax){alert("redesenho.js com problemas");}
1265 1265 objaguarde.abre("montaMapa","Aguarde...iniciando o mapa"); var cp=new cpaint(); cp.set_response_type("JSON"); var p=g_locaplic+"/classesphp/mapa_controle.php?funcao=inicia&embedLegenda="+g_embedLegenda+"&w="+this.w+"&h="+this.h+"&g_sid="+g_sid; cp.call(p,"iniciaMapa",this.montaMapa);}
1266   - this.montaMapa=function(retorno){ if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="<br>Para abrir o mapa utilize o link:<br><a href="+g_locaplic+"/ms_criamapa.php >"+g_locaplic+"/ms_criamapa.php</a>"; return("linkquebrado");}
  1266 + this.montaMapa=function(retorno){ if(retorno.data.search("erro.")>-1){ alert(retorno.data);}
  1267 + if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="<br>Para abrir o mapa utilize o link:<br><a href="+g_locaplic+"/ms_criamapa.php >"+g_locaplic+"/ms_criamapa.php</a>"; return("linkquebrado");}
1267 1268 else{ if((retorno.data !="erro")&&(retorno.data !=undefined)){ eval(retorno.data); if(oMenuData==""){ oMenuData={ "ajudas": [{text: "Sobre o I3Geo", url: "javascript:g_hlpt='sobrei3geo';ajudaf('abre')"},{text: "Sistema", url: "javascript:abreDoc()"},{text: "WikiBook", url: "http://pt.wikibooks.org/wiki/I3geo"},{text: "Tutoriais", url: "http://mapas.mma.gov.br/wikibooki3geo"},{text: "Blog", url: "http://sistemas.mma.gov.br/blogs/index.php?blog=6"}, ], "analise": [{text: "Geometrias", url: "javascript:analisaGeometrias()"},{text: "Grade de poligonos", url: "javascript:gradePol()"},{text: "Grade de pontos", url: "javascript:gradePontos()"},{text: "Grade de hexágonos", url: "javascript:gradeHex()"},{text: "Entorno(buffer)", url: "javascript:buffer()"},{text: "Centróide", url: "javascript:centroide()"},{text: "N pontos em poligono", url: "javascript:nptPol()"},{text: "Ponto em poligono/raster", url: "javascript:pontoempoligono()"},{text: "Distribuição de pontos", url: "javascript:pontosdistri()"}
1268 1269 ] }; if(!$i("listaPropriedades")){ oMenuData.propriedades=[{text: "Tipo de imagem", url: "javascript:tipoimagem()"},{text: "Legenda", url: "javascript:opcoesLegenda()"},{text: "Escala", url: "javascript:opcoesEscala()"},{text: "Tamanho", url: "javascript:tamanho()"},{text: "Ativa/desativa entorno", url: "javascript:ativaEntorno()"},{text: "Ativa/desativa logo", url: "javascript:ativaLogo()"},{text: "Cor da selecao", url: "javascript:queryMap()"},{text: "Cor do fundo", url: "javascript:corFundo()"},{text: "Grade de coordenadas", url: "javascript:gradeCoord()"}
1269 1270 ];}
... ... @@ -1286,7 +1287,7 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor
1286 1287 if($i("maisBotoes2")){YAHOO.janelaBotoes2.xp.panel.moveTo(imagemxi,imagemyi+10);}
1287 1288 mudaiconf("pan"); if(g_entorno=="sim"){ geraURLentorno(); var letras=["L","O","N","S"]; for(l=0;l<letras.length;l++){ if($i("img"+letras[l])){ $i("img"+letras[l]).style.width=objmapa.w; $i("img"+letras[l]).style.height=objmapa.h; $i("img"+letras[l]).style.display="block";}}
1288 1289 ajustaEntorno();}}
1289   - else{trataErro();alert("Erro. Impossivel criar o mapa");return;}
  1290 + else{alert("Erro. Impossivel criar o mapa "+retorno.data);return;}
1290 1291 var temp=g_guiaativa.split("guia"); mostraguiaf(temp[1]); if($i(objmapa.guiaListaMapas)){ if(g_locmapas==""){$i(objmapa.guiaListaMapas).style.display="none"}}
1291 1292 if(pCookie("g_janelaMen")){g_janelaMen=pCookie("g_janelaMen");}
1292 1293 if(g_janelaMen=="sim"){initJanelaMen();}
... ...
classesjs/iniciamma.js
... ... @@ -725,6 +725,10 @@ function Mapa(e,m)
725 725 */
726 726 this.montaMapa = function (retorno)
727 727 {
  728 + if (retorno.data.search("erro.") > -1)
  729 + {
  730 + alert(retorno.data);
  731 + }
728 732 if (retorno.data == "linkquebrado")
729 733 {
730 734 objaguarde.fecha("montaMapa");
... ... @@ -902,7 +906,7 @@ function Mapa(e,m)
902 906 }
903 907 }
904 908 else
905   - {trataErro();alert("Erro. Impossivel criar o mapa");return;}
  909 + {alert("Erro. Impossivel criar o mapa "+retorno.data);return;}
906 910 //ativa a guia correta
907 911 var temp = g_guiaativa.split("guia");
908 912 mostraguiaf(temp[1]);
... ...
classesjs/iniciamma_compacto.js
... ... @@ -15,7 +15,8 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor
15 15 if(!window.testaferramentas){alert("ferramentas.js com problemas");}
16 16 if(!window.testaajax){alert("redesenho.js com problemas");}
17 17 objaguarde.abre("montaMapa","Aguarde...iniciando o mapa"); var cp=new cpaint(); cp.set_response_type("JSON"); var p=g_locaplic+"/classesphp/mapa_controle.php?funcao=inicia&embedLegenda="+g_embedLegenda+"&w="+this.w+"&h="+this.h+"&g_sid="+g_sid; cp.call(p,"iniciaMapa",this.montaMapa);}
18   - this.montaMapa=function(retorno){ if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="<br>Para abrir o mapa utilize o link:<br><a href="+g_locaplic+"/ms_criamapa.php >"+g_locaplic+"/ms_criamapa.php</a>"; return("linkquebrado");}
  18 + this.montaMapa=function(retorno){ if(retorno.data.search("erro.")>-1){ alert(retorno.data);}
  19 + if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="<br>Para abrir o mapa utilize o link:<br><a href="+g_locaplic+"/ms_criamapa.php >"+g_locaplic+"/ms_criamapa.php</a>"; return("linkquebrado");}
19 20 else{ if((retorno.data !="erro")&&(retorno.data !=undefined)){ eval(retorno.data); if(oMenuData==""){ oMenuData={ "ajudas": [{text: "Sobre o I3Geo", url: "javascript:g_hlpt='sobrei3geo';ajudaf('abre')"},{text: "Sistema", url: "javascript:abreDoc()"},{text: "WikiBook", url: "http://pt.wikibooks.org/wiki/I3geo"},{text: "Tutoriais", url: "http://mapas.mma.gov.br/wikibooki3geo"},{text: "Blog", url: "http://sistemas.mma.gov.br/blogs/index.php?blog=6"}, ], "analise": [{text: "Geometrias", url: "javascript:analisaGeometrias()"},{text: "Grade de poligonos", url: "javascript:gradePol()"},{text: "Grade de pontos", url: "javascript:gradePontos()"},{text: "Grade de hexágonos", url: "javascript:gradeHex()"},{text: "Entorno(buffer)", url: "javascript:buffer()"},{text: "Centróide", url: "javascript:centroide()"},{text: "N pontos em poligono", url: "javascript:nptPol()"},{text: "Ponto em poligono/raster", url: "javascript:pontoempoligono()"},{text: "Distribuição de pontos", url: "javascript:pontosdistri()"}
20 21 ] }; if(!$i("listaPropriedades")){ oMenuData.propriedades=[{text: "Tipo de imagem", url: "javascript:tipoimagem()"},{text: "Legenda", url: "javascript:opcoesLegenda()"},{text: "Escala", url: "javascript:opcoesEscala()"},{text: "Tamanho", url: "javascript:tamanho()"},{text: "Ativa/desativa entorno", url: "javascript:ativaEntorno()"},{text: "Ativa/desativa logo", url: "javascript:ativaLogo()"},{text: "Cor da selecao", url: "javascript:queryMap()"},{text: "Cor do fundo", url: "javascript:corFundo()"},{text: "Grade de coordenadas", url: "javascript:gradeCoord()"}
21 22 ];}
... ... @@ -38,7 +39,7 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor
38 39 if($i("maisBotoes2")){YAHOO.janelaBotoes2.xp.panel.moveTo(imagemxi,imagemyi+10);}
39 40 mudaiconf("pan"); if(g_entorno=="sim"){ geraURLentorno(); var letras=["L","O","N","S"]; for(l=0;l<letras.length;l++){ if($i("img"+letras[l])){ $i("img"+letras[l]).style.width=objmapa.w; $i("img"+letras[l]).style.height=objmapa.h; $i("img"+letras[l]).style.display="block";}}
40 41 ajustaEntorno();}}
41   - else{trataErro();alert("Erro. Impossivel criar o mapa");return;}
  42 + else{alert("Erro. Impossivel criar o mapa "+retorno.data);return;}
42 43 var temp=g_guiaativa.split("guia"); mostraguiaf(temp[1]); if($i(objmapa.guiaListaMapas)){ if(g_locmapas==""){$i(objmapa.guiaListaMapas).style.display="none"}}
43 44 if(pCookie("g_janelaMen")){g_janelaMen=pCookie("g_janelaMen");}
44 45 if(g_janelaMen=="sim"){initJanelaMen();}
... ...
classesphp/mapa_inicia.php
... ... @@ -84,6 +84,10 @@ Essa string é recuperada no lado do javascript com eval().
84 84 function iniciaMapa()
85 85 {
86 86 global $locaplic,$cp,$embedLegenda,$map_file,$mapext,$w,$h,$locsistemas,$locidentifica,$R_path,$locmapas,$locmapserv,$postgis_con;
  87 + if (!file_exists($locaplic))
  88 + {$cp->set_data("erro. $locaplic nao existe (variavel locaplic - corrija o ms_configura.php)");return;}
  89 + if (!file_exists($map_file))
  90 + {$cp->set_data("erro. $map_file nao existe (variavel map_file utilize o testainstal.php)");return;}
87 91 //altera o tamanho do query map para ficar igual ao do mapa
88 92 include("classe_mapa.php");
89 93 $m = new Mapa($map_file);
... ...
ms_criamapa.php
... ... @@ -211,6 +211,7 @@ if (!file_exists($dir_tmp.&quot;/index.htm&quot;))
211 211 //
212 212 //cria os objetos map
213 213 //
  214 +ms_ResetErrorList();
214 215 if (file_exists($base))
215 216 {
216 217 $map = ms_newMapObj($base);
... ... @@ -221,6 +222,13 @@ else
221 222 $map = ms_newMapObj($temasaplic."/".$base.".map");
222 223 $mapn = ms_newMapObj($temasaplic."/".$base.".map");
223 224 }
  225 +$error = ms_GetErrorObj();
  226 +while($error && $error->code != MS_NOERR)
  227 +{
  228 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  229 + $error = $error->next();
  230 +}
  231 +ms_ResetErrorList();
224 232 //
225 233 //verifica a lista de temas da inicializacao, adicionando-os se necessário
226 234 //
... ... @@ -263,6 +271,13 @@ foreach ($alayers as $arqt)
263 271 }
264 272 }
265 273 }
  274 +$error = ms_GetErrorObj();
  275 +while($error && $error->code != MS_NOERR)
  276 +{
  277 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  278 + $error = $error->next();
  279 +}
  280 +ms_ResetErrorList();
266 281 //
267 282 //liga os temas definidos em $layers
268 283 //
... ... @@ -279,6 +294,13 @@ if (isset($layers))
279 294 {$layern = $mapn->getLayerByName($l);$layern->set("status",MS_DEFAULT);}
280 295 }
281 296 }
  297 +$error = ms_GetErrorObj();
  298 +while($error && $error->code != MS_NOERR)
  299 +{
  300 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  301 + $error = $error->next();
  302 +}
  303 +ms_ResetErrorList();
282 304 //
283 305 //aplica ao mapa os parâmetros passados pela URL
284 306 //
... ... @@ -309,6 +331,13 @@ if ((isset($mapext)) &amp;&amp; ($mapext != &quot;&quot;))
309 331 if (count($newext) == 4)
310 332 {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);}
311 333 }
  334 +$error = ms_GetErrorObj();
  335 +while($error && $error->code != MS_NOERR)
  336 +{
  337 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  338 + $error = $error->next();
  339 +}
  340 +ms_ResetErrorList();
312 341 //
313 342 //configura os endereços corretos
314 343 //
... ... @@ -334,6 +363,13 @@ if (isset($executa))
334 363 if (function_exists($executa))
335 364 {eval($executa."();");}
336 365 }
  366 +$error = ms_GetErrorObj();
  367 +while($error && $error->code != MS_NOERR)
  368 +{
  369 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  370 + $error = $error->next();
  371 +}
  372 +ms_ResetErrorList();
337 373 //inclui pontos via url
338 374 if (isset($pontos))
339 375 {
... ... @@ -390,11 +426,42 @@ if (isset($pontos))
390 426 $cor->setRGB(255,0,0);
391 427 $salvo = $mapa->save($tmpfname);
392 428 }
  429 +$error = ms_GetErrorObj();
  430 +while($error && $error->code != MS_NOERR)
  431 +{
  432 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  433 + $error = $error->next();
  434 +}
  435 +ms_ResetErrorList();
393 436 //
394 437 //se vc quiser para o script aqui, para verificar erros, descomente a linha abaixo
395 438 //
396 439 //exit;
397   -
  440 +//
  441 +//verifica os dados de cada layer
  442 +//
  443 +$mapa = ms_newMapObj($tmpfname);
  444 +$path = $mapa->shappath;
  445 +for($i=0;$i<($mapa->numlayers);$i++)
  446 +{
  447 + $layer = $mapa->getLayer($i);
  448 + $ok = true;
  449 + if ($layer->connection == "")
  450 + {
  451 + $ok = false;
  452 + $d = $layer->data;
  453 + if((file_exists($d)) || (file_exists($d.".shp")))
  454 + {$ok = true;}
  455 + else
  456 + {
  457 + if((file_exists($path."/".$d)) || (file_exists($path."/".$d.".shp")))
  458 + {$ok = true;}
  459 + }
  460 + }
  461 + if ($ok == false)
  462 + {$layer->set("status",MS_OFF);}
  463 +}
  464 +$mapa->save($tmpfname);
398 465 //
399 466 // gera a url para abrir o mapa
400 467 // interface = arquivo html que será aberto
... ...