From d3c524186a3b3a0298af8629d85a4dcaa87c516e Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sun, 16 Sep 2007 02:43:22 +0000 Subject: [PATCH] Inclusão de opções de verificação de erros na inicialização do mapa. No ms_criamapa.php, cada layer é verificado para identificar se o arquivo shapefile utilizado realmente existe. --- classesjs/i3geo_tudo_compacto.js | 5 +++-- classesjs/iniciamma.js | 6 +++++- classesjs/iniciamma_compacto.js | 5 +++-- classesphp/mapa_inicia.php | 4 ++++ ms_criamapa.php | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 83 insertions(+), 6 deletions(-) diff --git a/classesjs/i3geo_tudo_compacto.js b/classesjs/i3geo_tudo_compacto.js index cff8550..5101927 100644 --- a/classesjs/i3geo_tudo_compacto.js +++ b/classesjs/i3geo_tudo_compacto.js @@ -1263,7 +1263,8 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor if(!window.testaferramentas){alert("ferramentas.js com problemas");} if(!window.testaajax){alert("redesenho.js com problemas");} 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);} - this.montaMapa=function(retorno){ if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="
Para abrir o mapa utilize o link:
"+g_locaplic+"/ms_criamapa.php"; return("linkquebrado");} + this.montaMapa=function(retorno){ if(retorno.data.search("erro.")>-1){ alert(retorno.data);} + if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="
Para abrir o mapa utilize o link:
"+g_locaplic+"/ms_criamapa.php"; return("linkquebrado");} 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()"} ] }; 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()"} ];} @@ -1286,7 +1287,7 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor if($i("maisBotoes2")){YAHOO.janelaBotoes2.xp.panel.moveTo(imagemxi,imagemyi+10);} mudaiconf("pan"); if(g_entorno=="sim"){ geraURLentorno(); var letras=["L","O","N","S"]; for(l=0;l -1) + { + alert(retorno.data); + } if (retorno.data == "linkquebrado") { objaguarde.fecha("montaMapa"); @@ -902,7 +906,7 @@ function Mapa(e,m) } } else - {trataErro();alert("Erro. Impossivel criar o mapa");return;} + {alert("Erro. Impossivel criar o mapa "+retorno.data);return;} //ativa a guia correta var temp = g_guiaativa.split("guia"); mostraguiaf(temp[1]); diff --git a/classesjs/iniciamma_compacto.js b/classesjs/iniciamma_compacto.js index 284ea4f..576b909 100644 --- a/classesjs/iniciamma_compacto.js +++ b/classesjs/iniciamma_compacto.js @@ -15,7 +15,8 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor if(!window.testaferramentas){alert("ferramentas.js com problemas");} if(!window.testaajax){alert("redesenho.js com problemas");} 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);} - this.montaMapa=function(retorno){ if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="
Para abrir o mapa utilize o link:
"+g_locaplic+"/ms_criamapa.php"; return("linkquebrado");} + this.montaMapa=function(retorno){ if(retorno.data.search("erro.")>-1){ alert(retorno.data);} + if(retorno.data=="linkquebrado"){ objaguarde.fecha("montaMapa"); document.body.style.backgroundColor="white"; document.body.innerHTML="
Para abrir o mapa utilize o link:
"+g_locaplic+"/ms_criamapa.php"; return("linkquebrado");} 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()"} ] }; 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()"} ];} @@ -38,7 +39,7 @@ function Mapa(e,m){ objaguarde=new aguarde(); objposicaocursor=new posicaocursor if($i("maisBotoes2")){YAHOO.janelaBotoes2.xp.panel.moveTo(imagemxi,imagemyi+10);} mudaiconf("pan"); if(g_entorno=="sim"){ geraURLentorno(); var letras=["L","O","N","S"]; for(l=0;lset_data("erro. $locaplic nao existe (variavel locaplic - corrija o ms_configura.php)");return;} + if (!file_exists($map_file)) + {$cp->set_data("erro. $map_file nao existe (variavel map_file utilize o testainstal.php)");return;} //altera o tamanho do query map para ficar igual ao do mapa include("classe_mapa.php"); $m = new Mapa($map_file); diff --git a/ms_criamapa.php b/ms_criamapa.php index 7b5867e..4cc341b 100644 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -211,6 +211,7 @@ if (!file_exists($dir_tmp."/index.htm")) // //cria os objetos map // +ms_ResetErrorList(); if (file_exists($base)) { $map = ms_newMapObj($base); @@ -221,6 +222,13 @@ else $map = ms_newMapObj($temasaplic."/".$base.".map"); $mapn = ms_newMapObj($temasaplic."/".$base.".map"); } +$error = ms_GetErrorObj(); +while($error && $error->code != MS_NOERR) +{ + printf("
Error in %s: %s
\n", $error->routine, $error->message); + $error = $error->next(); +} +ms_ResetErrorList(); // //verifica a lista de temas da inicializacao, adicionando-os se necessário // @@ -263,6 +271,13 @@ foreach ($alayers as $arqt) } } } +$error = ms_GetErrorObj(); +while($error && $error->code != MS_NOERR) +{ + printf("
Error in %s: %s
\n", $error->routine, $error->message); + $error = $error->next(); +} +ms_ResetErrorList(); // //liga os temas definidos em $layers // @@ -279,6 +294,13 @@ if (isset($layers)) {$layern = $mapn->getLayerByName($l);$layern->set("status",MS_DEFAULT);} } } +$error = ms_GetErrorObj(); +while($error && $error->code != MS_NOERR) +{ + printf("
Error in %s: %s
\n", $error->routine, $error->message); + $error = $error->next(); +} +ms_ResetErrorList(); // //aplica ao mapa os parâmetros passados pela URL // @@ -309,6 +331,13 @@ if ((isset($mapext)) && ($mapext != "")) if (count($newext) == 4) {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);} } +$error = ms_GetErrorObj(); +while($error && $error->code != MS_NOERR) +{ + printf("
Error in %s: %s
\n", $error->routine, $error->message); + $error = $error->next(); +} +ms_ResetErrorList(); // //configura os endereços corretos // @@ -334,6 +363,13 @@ if (isset($executa)) if (function_exists($executa)) {eval($executa."();");} } +$error = ms_GetErrorObj(); +while($error && $error->code != MS_NOERR) +{ + printf("
Error in %s: %s
\n", $error->routine, $error->message); + $error = $error->next(); +} +ms_ResetErrorList(); //inclui pontos via url if (isset($pontos)) { @@ -390,11 +426,42 @@ if (isset($pontos)) $cor->setRGB(255,0,0); $salvo = $mapa->save($tmpfname); } +$error = ms_GetErrorObj(); +while($error && $error->code != MS_NOERR) +{ + printf("
Error in %s: %s
\n", $error->routine, $error->message); + $error = $error->next(); +} +ms_ResetErrorList(); // //se vc quiser para o script aqui, para verificar erros, descomente a linha abaixo // //exit; - +// +//verifica os dados de cada layer +// +$mapa = ms_newMapObj($tmpfname); +$path = $mapa->shappath; +for($i=0;$i<($mapa->numlayers);$i++) +{ + $layer = $mapa->getLayer($i); + $ok = true; + if ($layer->connection == "") + { + $ok = false; + $d = $layer->data; + if((file_exists($d)) || (file_exists($d.".shp"))) + {$ok = true;} + else + { + if((file_exists($path."/".$d)) || (file_exists($path."/".$d.".shp"))) + {$ok = true;} + } + } + if ($ok == false) + {$layer->set("status",MS_OFF);} +} +$mapa->save($tmpfname); // // gera a url para abrir o mapa // interface = arquivo html que será aberto -- libgit2 0.21.2