Commit c9e21bda0d726106a6c631e6b2d7fd48c98383ff

Authored by Edmar Moretti
1 parent 1b0d9e44

Otimização das rotinas do tipo getalllayersname

admin/admin.db
No preview for this file type
admin/php/editormapfile.php
@@ -212,12 +212,11 @@ switch (strtoupper($funcao)) @@ -212,12 +212,11 @@ switch (strtoupper($funcao))
212 $mapfile = $locaplic."/temas/".$codigoMap.".map"; 212 $mapfile = $locaplic."/temas/".$codigoMap.".map";
213 $mapa = ms_newMapObj($mapfile); 213 $mapa = ms_newMapObj($mapfile);
214 $nomes = $mapa->getalllayernames(); 214 $nomes = $mapa->getalllayernames();
215 - if($cachedir != "")  
216 - { 215 + if($cachedir != ""){
217 $d = $cachedir; 216 $d = $cachedir;
218 } 217 }
219 - else  
220 - {$d = $dir_tmp."/cache"; 218 + else{
  219 + $d = $dir_tmp."/cache";
221 } 220 }
222 foreach($nomes as $nome) 221 foreach($nomes as $nome)
223 { 222 {
@@ -1080,7 +1079,7 @@ function refazerLayer() @@ -1080,7 +1079,7 @@ function refazerLayer()
1080 $nl = ms_newLayerObj($mapatema,$layernovo); 1079 $nl = ms_newLayerObj($mapatema,$layernovo);
1081 $nl->set("name",$codigomap); 1080 $nl->set("name",$codigomap);
1082 $nl->setmetadata("nomeoriginal",""); 1081 $nl->setmetadata("nomeoriginal","");
1083 - $nl->setmetadata("temaoriginal",""); 1082 + $nl->setmetadata("arquivotemaoriginal","");
1084 $nl->setmetadata("olopacity",""); 1083 $nl->setmetadata("olopacity","");
1085 $nl->setmetadata("olstatus",""); 1084 $nl->setmetadata("olstatus","");
1086 $nl->setmetadata("gmopacity",""); 1085 $nl->setmetadata("gmopacity","");
@@ -1216,17 +1215,17 @@ function autoClassesLayer() @@ -1216,17 +1215,17 @@ function autoClassesLayer()
1216 {$geral = $locaplic."/aplicmap/geral1.map"; 1215 {$geral = $locaplic."/aplicmap/geral1.map";
1217 } 1216 }
1218 $mapageral = ms_newMapObj($geral); 1217 $mapageral = ms_newMapObj($geral);
1219 - $nomestemp = $mapageral->getalllayernames();  
1220 - foreach($nomestemp as $l) 1218 + $numlayers = $mapageral->numlayers;
  1219 + for ($i=0;$i < $numlayers;$i++)
1221 { 1220 {
1222 - $layertemp = $mapageral->getlayerbyname($l); 1221 + $layertemp = $mapageral->getlayer($i);
1223 $layertemp->set("status",MS_DELETE); 1222 $layertemp->set("status",MS_DELETE);
1224 } 1223 }
1225 $mapatemp = ms_newMapObj($mapfile); 1224 $mapatemp = ms_newMapObj($mapfile);
1226 - $nomestemp = $mapatemp->getalllayernames();  
1227 - foreach($nomestemp as $l) 1225 + $numlayers = $mapatemp->numlayers;
  1226 + for ($i=0;$i < $numlayers;$i++)
1228 { 1227 {
1229 - $layertemp = $mapatemp->getlayerbyname($l); 1228 + $layertemp = $mapatemp->getlayer($i);
1230 ms_newLayerObj($mapageral, $layertemp); 1229 ms_newLayerObj($mapageral, $layertemp);
1231 } 1230 }
1232 $mapageral->save($nometemp); 1231 $mapageral->save($nometemp);
admin/php/menutemas.php
@@ -1130,10 +1130,10 @@ function alteraTemas() @@ -1130,10 +1130,10 @@ function alteraTemas()
1130 if($mapa = @ms_newMapObj($mapfile)) 1130 if($mapa = @ms_newMapObj($mapfile))
1131 { 1131 {
1132 $mapa = ms_newMapObj($mapfile); 1132 $mapa = ms_newMapObj($mapfile);
1133 - $nomes = $mapa->getalllayernames();  
1134 - foreach($nomes as $n) 1133 + $numlayers = $mapa->numlayers;
  1134 + for ($i=0;$i < $numlayers;$i++)
1135 { 1135 {
1136 - $layer = $mapa->getlayerbyname($n); 1136 + $layer = $mapa->getlayer($i);
1137 $layer->setmetadata("permitedownload",strtolower($download)); 1137 $layer->setmetadata("permitedownload",strtolower($download));
1138 $layer->setmetadata("permiteogc",strtolower($ogc)); 1138 $layer->setmetadata("permiteogc",strtolower($ogc));
1139 $layer->setmetadata("permitekml",strtolower($kml)); 1139 $layer->setmetadata("permitekml",strtolower($kml));
classesphp/classe_atlas.php
@@ -40,12 +40,12 @@ class Atlas @@ -40,12 +40,12 @@ class Atlas
40 /* 40 /*
41 Function: __construct 41 Function: __construct
42 42
43 -Cria um objeto atlas 43 +Cria um objeto atlas
44 44
45 parameters: 45 parameters:
46 46
47 $atlasxml - Objeto xml com o atlas. 47 $atlasxml - Objeto xml com o atlas.
48 -*/ 48 +*/
49 function __construct($xml) 49 function __construct($xml)
50 { 50 {
51 error_reporting(E_ALL); 51 error_reporting(E_ALL);
@@ -152,10 +152,10 @@ locaplic - localiza&amp;ccedil;&amp;atilde;o do i3geo no servidor @@ -152,10 +152,10 @@ locaplic - localiza&amp;ccedil;&amp;atilde;o do i3geo no servidor
152 $temasa = array(); 152 $temasa = array();
153 $layers = array(); 153 $layers = array();
154 $mapa = ms_newMapObj($map_file); 154 $mapa = ms_newMapObj($map_file);
155 - $nomes = $mapa->getalllayernames();  
156 - foreach ($nomes as $n) 155 + $numlayers = $mapa->numlayers;
  156 + for ($i=0;$i < $numlayers;$i++)
157 { 157 {
158 - $l = $mapa->getlayerbyname($n); 158 + $l = $mapa->getlayer($i);
159 if (($l->getmetadata("ATLAS")) != "nao") 159 if (($l->getmetadata("ATLAS")) != "nao")
160 {$l->set("status",MS_DELETE);} 160 {$l->set("status",MS_DELETE);}
161 } 161 }
@@ -203,12 +203,12 @@ locaplic - localiza&amp;ccedil;&amp;atilde;o do i3geo no servidor @@ -203,12 +203,12 @@ locaplic - localiza&amp;ccedil;&amp;atilde;o do i3geo no servidor
203 $m = new Mapa($map_file); 203 $m = new Mapa($map_file);
204 $m->adicionaTema((implode(",",$temasa)),$locaplic,"nao"); 204 $m->adicionaTema((implode(",",$temasa)),$locaplic,"nao");
205 $m->salva(); 205 $m->salva();
206 - 206 +
207 $mapa = ms_newMapObj($map_file); 207 $mapa = ms_newMapObj($map_file);
208 - $nomes = $mapa->getalllayernames();  
209 - foreach ($nomes as $n) 208 + $numlayers = $mapa->numlayers;
  209 + for ($i=0;$i < $numlayers;$i++)
210 { 210 {
211 - $l = $mapa->getlayerbyname($n); 211 + $l = $mapa->getlayer($i);
212 if (($l->getmetadata("ATLAS")) != "nao") 212 if (($l->getmetadata("ATLAS")) != "nao")
213 {$l->set("status",MS_OFF);} 213 {$l->set("status",MS_OFF);}
214 } 214 }
@@ -233,12 +233,12 @@ locaplic - localiza&amp;ccedil;&amp;atilde;o do i3geo no servidor @@ -233,12 +233,12 @@ locaplic - localiza&amp;ccedil;&amp;atilde;o do i3geo no servidor
233 } 233 }
234 if (count($newext) == 4) 234 if (count($newext) == 4)
235 {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);} 235 {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);}
236 - $mapa->save($map_file); 236 + $mapa->save($map_file);
237 } 237 }
238 if(!function_exists("sobeAnno")){ 238 if(!function_exists("sobeAnno")){
239 include_once("funcoes_gerais.php"); 239 include_once("funcoes_gerais.php");
240 } 240 }
241 - sobeAnno($map_file); 241 + sobeAnno($map_file);
242 if ($w == ""){$w = 300;} 242 if ($w == ""){$w = 300;}
243 if($h == ""){$h = 300;} 243 if($h == ""){$h = 300;}
244 return (array("link"=>$link,"w"=>$w,"h"=>$h,"mapexten"=>implode(" ",$newext))); 244 return (array("link"=>$link,"w"=>$w,"h"=>$h,"mapexten"=>implode(" ",$newext)));
classesphp/classe_atributos.php
@@ -742,9 +742,11 @@ $resolucao - Resolucao de busca. @@ -742,9 +742,11 @@ $resolucao - Resolucao de busca.
742 */ 742 */
743 function identifica($opcao,$xy,$resolucao) 743 function identifica($opcao,$xy,$resolucao)
744 { 744 {
745 - $temas = $this->mapa->getalllayernames();  
746 - foreach ($temas as $tem) 745 + $numlayers = $mapa->numlayers;
  746 + for ($i=0;$i < $numlayers;$i++)
747 { 747 {
  748 + $layer = $mapa->getlayer($i);
  749 + $tem = $l->name;
748 $vermultilayer = new vermultilayer(); 750 $vermultilayer = new vermultilayer();
749 $vermultilayer->verifica($this->arquivo,$tem); 751 $vermultilayer->verifica($this->arquivo,$tem);
750 if ($vermultilayer->resultado == 1) // o tema e multi layer 752 if ($vermultilayer->resultado == 1) // o tema e multi layer
@@ -758,8 +760,7 @@ $resolucao - Resolucao de busca. @@ -758,8 +760,7 @@ $resolucao - Resolucao de busca.
758 } 760 }
759 else 761 else
760 { 762 {
761 - $l = $this->mapa->getlayerbyname($tem);  
762 - if (($l->getmetadata("escondido") == "") && ($l->getmetadata("identifica") != "nao")) 763 + if (($layer->getmetadata("escondido") == "") && ($layer->getmetadata("identifica") != "nao"))
763 {$listatemas[] = $tem;} 764 {$listatemas[] = $tem;}
764 } 765 }
765 } 766 }
@@ -971,10 +972,11 @@ $wkt - (opcional) {boolean} inclui ou n&amp;atilde;o o valor do wkt da geometria @@ -971,10 +972,11 @@ $wkt - (opcional) {boolean} inclui ou n&amp;atilde;o o valor do wkt da geometria
971 if ($opcao == "tip") 972 if ($opcao == "tip")
972 { 973 {
973 $ltemp = array(); 974 $ltemp = array();
974 - $listatemas = $this->mapa->getalllayernames();  
975 - foreach ($listatemas as $tema) 975 + $numlayers = $this->mapa->numlayers;
  976 + for ($i=0;$i < $numlayers;$i++)
976 { 977 {
977 - $tl = $this->mapa->getlayerbyname($tema); 978 + $tl = $mapa->getlayer($i);
  979 + $tema = $tl->name;
978 $itemtip = $tl->getmetadata("TIP"); 980 $itemtip = $tl->getmetadata("TIP");
979 if ($itemtip != "") 981 if ($itemtip != "")
980 { 982 {
classesphp/classe_legenda.php
@@ -41,68 +41,68 @@ class Legenda @@ -41,68 +41,68 @@ class Legenda
41 { 41 {
42 /* 42 /*
43 Variavel: $mapa 43 Variavel: $mapa
44 - 44 +
45 Objeto mapa 45 Objeto mapa
46 */ 46 */
47 protected $mapa; 47 protected $mapa;
48 /* 48 /*
49 Variavel: $arquivo 49 Variavel: $arquivo
50 - 50 +
51 Arquivo map file 51 Arquivo map file
52 */ 52 */
53 protected $arquivo; 53 protected $arquivo;
54 /* 54 /*
55 Variavel: $layer 55 Variavel: $layer
56 - 56 +
57 Objeto layer 57 Objeto layer
58 */ 58 */
59 protected $layer; 59 protected $layer;
60 /* 60 /*
61 Variavel: $nome 61 Variavel: $nome
62 - 62 +
63 Nome do layer 63 Nome do layer
64 */ 64 */
65 protected $nome; 65 protected $nome;
66 /* 66 /*
67 Variavel: $grupo 67 Variavel: $grupo
68 - 68 +
69 Array com os temas do grupo, se houver 69 Array com os temas do grupo, se houver
70 */ 70 */
71 protected $grupo; 71 protected $grupo;
72 /* 72 /*
73 Variavel: $visiveis 73 Variavel: $visiveis
74 - 74 +
75 Temas do grupo que s&atilde;o vis&iacute;veis em fun&ccedil;&atilde;o da escala 75 Temas do grupo que s&atilde;o vis&iacute;veis em fun&ccedil;&atilde;o da escala
76 */ 76 */
77 protected $visiveis; 77 protected $visiveis;
78 /* 78 /*
79 Variavel: $indices 79 Variavel: $indices
80 - 80 +
81 Indices dos layers do grupo 81 Indices dos layers do grupo
82 */ 82 */
83 protected $indices; 83 protected $indices;
84 /* 84 /*
85 Variavel: $templateleg 85 Variavel: $templateleg
86 - 86 +
87 Template da legenda 87 Template da legenda
88 */ 88 */
89 - protected $templateleg; 89 + protected $templateleg;
90 /* 90 /*
91 Variavel: $localaplicacao 91 Variavel: $localaplicacao
92 - 92 +
93 Localiza&ccedil;&atilde;o da aplica&ccedil;&atilde;o 93 Localiza&ccedil;&atilde;o da aplica&ccedil;&atilde;o
94 */ 94 */
95 protected $localaplicacao; 95 protected $localaplicacao;
96 /* 96 /*
97 Variavel: $v 97 Variavel: $v
98 - 98 +
99 Vers&atilde;o atual do Mapserver (primeiro d&iacute;gito) 99 Vers&atilde;o atual do Mapserver (primeiro d&iacute;gito)
100 */ 100 */
101 - public $v; 101 + public $v;
102 /* 102 /*
103 Function: __construct 103 Function: __construct
104 104
105 -Cria um objeto Legenda 105 +Cria um objeto Legenda
106 106
107 parameters: 107 parameters:
108 108
@@ -126,7 +126,7 @@ $template - nome do template para processar a legenda @@ -126,7 +126,7 @@ $template - nome do template para processar a legenda
126 $this->v = $this->v["principal"]; 126 $this->v = $this->v["principal"];
127 $this->localaplicacao = $locaplic; 127 $this->localaplicacao = $locaplic;
128 if($map_file == "") 128 if($map_file == "")
129 - {return;} 129 + {return;}
130 $this->mapa = ms_newMapObj($map_file); 130 $this->mapa = ms_newMapObj($map_file);
131 $this->arquivo = $map_file; 131 $this->arquivo = $map_file;
132 if($tema != "" && @$this->mapa->getlayerbyname($tema)) 132 if($tema != "" && @$this->mapa->getlayerbyname($tema))
@@ -166,8 +166,8 @@ $template - nome do template para processar a legenda @@ -166,8 +166,8 @@ $template - nome do template para processar a legenda
166 /* 166 /*
167 function: salva 167 function: salva
168 168
169 -Salva o mapfile atual  
170 -*/ 169 +Salva o mapfile atual
  170 +*/
171 function salva() 171 function salva()
172 { 172 {
173 if (connection_aborted()){exit();} 173 if (connection_aborted()){exit();}
@@ -194,7 +194,7 @@ Constrói o SLD que &amp;eacute; aplicado ao metadata wms_sld_body. O SLD resultante @@ -194,7 +194,7 @@ Constrói o SLD que &amp;eacute; aplicado ao metadata wms_sld_body. O SLD resultante
194 if($sld != "") 194 if($sld != "")
195 {$this->layer->setmetadata("wms_sld_body",str_replace('"',"'",$sld));} 195 {$this->layer->setmetadata("wms_sld_body",str_replace('"',"'",$sld));}
196 $this->layer->set("type",$tipotemp); 196 $this->layer->set("type",$tipotemp);
197 - } 197 + }
198 } 198 }
199 199
200 /* 200 /*
@@ -248,7 +248,7 @@ string com a legenda HTML @@ -248,7 +248,7 @@ string com a legenda HTML
248 {$desligar[] = $conta;} 248 {$desligar[] = $conta;}
249 $conta = $conta + 1; 249 $conta = $conta + 1;
250 } 250 }
251 - } 251 + }
252 } 252 }
253 $legenda = $this->mapa->legend; 253 $legenda = $this->mapa->legend;
254 $legenda->set("template",$this->templateleg); 254 $legenda->set("template",$this->templateleg);
@@ -269,10 +269,10 @@ string de variaveis no formato javascript que permitem montar a legenda. @@ -269,10 +269,10 @@ string de variaveis no formato javascript que permitem montar a legenda.
269 */ 269 */
270 function legendaGrafica() 270 function legendaGrafica()
271 { 271 {
272 - $nomeslayers = $this->mapa->getalllayernames();  
273 - foreach ($nomeslayers as $nomelayer) 272 + $numlayers = $mapa->numlayers;
  273 + for ($i=0;$i < $numlayers;$i++)
274 { 274 {
275 - $layer = $this->mapa->getlayerbyname($nomelayer); 275 + $layer = $mapa->getlayer($i);
276 if (($layer->data != "") && (strtoupper($layer->getmetadata("escondido")) != "SIM") && (strtoupper($layer->getmetadata("tema")) != "NAO")) 276 if (($layer->data != "") && (strtoupper($layer->getmetadata("escondido")) != "SIM") && (strtoupper($layer->getmetadata("tema")) != "NAO"))
277 { 277 {
278 if ($layer->numclasses > 0) 278 if ($layer->numclasses > 0)
@@ -286,7 +286,7 @@ string de variaveis no formato javascript que permitem montar a legenda. @@ -286,7 +286,7 @@ string de variaveis no formato javascript que permitem montar a legenda.
286 $nomeImagem = nomeRandomico(); 286 $nomeImagem = nomeRandomico();
287 $imgo = $this->mapa->drawlegend(); 287 $imgo = $this->mapa->drawlegend();
288 if($imgo->imagepath == "") 288 if($imgo->imagepath == "")
289 - {echo "Erro IMAGEPATH vazio";exit;} 289 + {echo "Erro IMAGEPATH vazio";exit;}
290 $nomer = ($imgo->imagepath)."leg".$nomeImagem.".png"; 290 $nomer = ($imgo->imagepath)."leg".$nomeImagem.".png";
291 $imgo->saveImage($nomer); 291 $imgo->saveImage($nomer);
292 $nomer = ($imgo->imageurl).basename($nomer); 292 $nomer = ($imgo->imageurl).basename($nomer);
@@ -314,11 +314,11 @@ array @@ -314,11 +314,11 @@ array
314 $layer = $this->mapa->getlayerbyname($l); 314 $layer = $this->mapa->getlayerbyname($l);
315 //verifica se &eacute; wms ou wfs 315 //verifica se &eacute; wms ou wfs
316 $c = $layer->connectiontype; 316 $c = $layer->connectiontype;
317 - 317 +
318 $s = $layer->getmetadata("wms_sld_url"); 318 $s = $layer->getmetadata("wms_sld_url");
319 $im = $layer->getmetadata("legendaimg"); 319 $im = $layer->getmetadata("legendaimg");
320 $nc = $layer->numclasses; 320 $nc = $layer->numclasses;
321 - 321 +
322 // 322 //
323 //se for wms e tiver classes define o tipo de layer para poder gerar a legenda corretamente 323 //se for wms e tiver classes define o tipo de layer para poder gerar a legenda corretamente
324 // 324 //
@@ -329,7 +329,7 @@ array @@ -329,7 +329,7 @@ array
329 if($tiporep == "linear") 329 if($tiporep == "linear")
330 {$layer->set("type",MS_LAYER_LINE);} 330 {$layer->set("type",MS_LAYER_LINE);}
331 if ($tiporep == "pontual") 331 if ($tiporep == "pontual")
332 - {$layer->set("type",MS_LAYER_POINT);} 332 + {$layer->set("type",MS_LAYER_POINT);}
333 } 333 }
334 // 334 //
335 //se for WMS e n&atilde;o tiver classes, tenta pegar a legenda via requisi&ccedil;&atilde;o WMS 335 //se for WMS e n&atilde;o tiver classes, tenta pegar a legenda via requisi&ccedil;&atilde;o WMS
@@ -506,7 +506,7 @@ Retorna uma lista de s&amp;iacute;mbolos clic&amp;aacute;veis no formato HTML. @@ -506,7 +506,7 @@ Retorna uma lista de s&amp;iacute;mbolos clic&amp;aacute;veis no formato HTML.
506 506
507 Para cada tipo de simbologia deve haver um arquivo .map com as defini&ccedil;&otilde;es b&aacute;sicas. 507 Para cada tipo de simbologia deve haver um arquivo .map com as defini&ccedil;&otilde;es b&aacute;sicas.
508 508
509 -Todos os s&iacute;mbolos do arquivo symbols/simbolos ser&atilde;o retornados como imagens. 509 +Todos os s&iacute;mbolos do arquivo symbols/simbolos ser&atilde;o retornados como imagens.
510 510
511 parameters: 511 parameters:
512 512
@@ -570,7 +570,7 @@ String no formato HTML com as imagens dos s&amp;iacute;mbolos @@ -570,7 +570,7 @@ String no formato HTML com as imagens dos s&amp;iacute;mbolos
570 $nomel = $l->name; 570 $nomel = $l->name;
571 $tematemp= $this->mapa->getlayerbyname($nomel); 571 $tematemp= $this->mapa->getlayerbyname($nomel);
572 $c = $tematemp->getClass(0); 572 $c = $tematemp->getClass(0);
573 - $e = $c->getstyle(0); 573 + $e = $c->getstyle(0);
574 $e->set("symbolname",$nomes); 574 $e->set("symbolname",$nomes);
575 $e->set("size",$tamanho); 575 $e->set("size",$tamanho);
576 $e->set("width",$width); 576 $e->set("width",$width);
@@ -654,7 +654,7 @@ $symbolname - Nome do s&amp;iacute;mbolo. @@ -654,7 +654,7 @@ $symbolname - Nome do s&amp;iacute;mbolo.
654 654
655 $size - Tamanho que ser&aacute; aplicado ao s&iacute;mbolo. 655 $size - Tamanho que ser&aacute; aplicado ao s&iacute;mbolo.
656 656
657 -$opacidade - Opacidade 657 +$opacidade - Opacidade
658 */ 658 */
659 function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern,$angle) 659 function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern,$angle)
660 { 660 {
@@ -755,7 +755,7 @@ array - &quot;imagecolor&quot;=&gt;$imagecolor,&quot;transparent&quot;=&gt;transparent,&quot;position&quot;=&gt;$positi @@ -755,7 +755,7 @@ array - &quot;imagecolor&quot;=&gt;$imagecolor,&quot;transparent&quot;=&gt;transparent,&quot;position&quot;=&gt;$positi
755 } 755 }
756 else 756 else
757 $labelsize = $label->size; 757 $labelsize = $label->size;
758 - 758 +
759 $tipofonte = $label->type; 759 $tipofonte = $label->type;
760 return(array("tipofonte"=>$tipofonte,"font"=>$font,"imagecolor"=>$imagecolor,"transparent"=>transparent,"position"=>$position,"status"=>$status,"outlinecolor"=>$outlinecolor,"keyspacingy"=>$keyspacingy,"keyspacingx"=>$keyspacingx,"keysizey"=>$keysizey,"keysizex"=>$keysizex,"height"=>$height,"width"=>$width,"labelsize"=>$labelsize)); 760 return(array("tipofonte"=>$tipofonte,"font"=>$font,"imagecolor"=>$imagecolor,"transparent"=>transparent,"position"=>$position,"status"=>$status,"outlinecolor"=>$outlinecolor,"keyspacingy"=>$keyspacingy,"keyspacingx"=>$keyspacingx,"keysizey"=>$keysizey,"keysizex"=>$keysizex,"height"=>$height,"width"=>$width,"labelsize"=>$labelsize));
761 } 761 }
@@ -812,7 +812,7 @@ $width @@ -812,7 +812,7 @@ $width
812 $cor = explode(",",$imagecolor); 812 $cor = explode(",",$imagecolor);
813 $corres->setRGB($cor[0],$cor[1],$cor[2]); 813 $corres->setRGB($cor[0],$cor[1],$cor[2]);
814 $label = $legenda->label; 814 $label = $legenda->label;
815 - 815 +
816 if ($fonte != "bitmap") 816 if ($fonte != "bitmap")
817 { 817 {
818 $label->set("type",MS_TRUETYPE); 818 $label->set("type",MS_TRUETYPE);
classesphp/classe_mapa.php
@@ -107,7 +107,7 @@ Salva o mapfile atual @@ -107,7 +107,7 @@ Salva o mapfile atual
107 */ 107 */
108 function salva() 108 function salva()
109 { 109 {
110 - if (connection_aborted()){exit();} 110 + if(connection_aborted()){exit();}
111 $this->mapa->save($this->arquivo); 111 $this->mapa->save($this->arquivo);
112 } 112 }
113 /* 113 /*
@@ -928,7 +928,7 @@ Os layers que formam grupos tamb&amp;eacute;m s&amp;atilde;o processados, tendo seus nom @@ -928,7 +928,7 @@ Os layers que formam grupos tamb&amp;eacute;m s&amp;atilde;o processados, tendo seus nom
928 Cada novo layer receber&aacute; um novo nome, definido de forma aleatória. 928 Cada novo layer receber&aacute; um novo nome, definido de forma aleatória.
929 Os nomes dos temas podem conter o caminho completo do mapfile. 929 Os nomes dos temas podem conter o caminho completo do mapfile.
930 O nome original do LAYER (NAME) sera armazenado no metadata nomeoriginal 930 O nome original do LAYER (NAME) sera armazenado no metadata nomeoriginal
931 -O nome do tema (mapfile) original sera armazenado no metadata temaoriginal 931 +O nome do tema (mapfile) original sera armazenado no metadata arquivotemaoriginal
932 932
933 Parametros: 933 Parametros:
934 934
@@ -985,8 +985,9 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao @@ -985,8 +985,9 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao
985 {$nlayer->setmetadata("classe","");} 985 {$nlayer->setmetadata("classe","");}
986 autoClasses($nlayer,$this->mapa); 986 autoClasses($nlayer,$this->mapa);
987 $nlayer->set("status",MS_DEFAULT); 987 $nlayer->set("status",MS_DEFAULT);
  988 + $nNome = str_replace(".map","",basename($nomemap));
  989 + $nlayer->setmetadata("arquivotemaoriginal",$nNome);
988 $nlayer->setmetadata("nomeoriginal",$nlayer->name); 990 $nlayer->setmetadata("nomeoriginal",$nlayer->name);
989 - $nlayer->setmetadata("temaoriginal",str_replace(".map","",basename($nomemap)));  
990 $nlayer->set("name",$nomeunico[$n]); 991 $nlayer->set("name",$nomeunico[$n]);
991 //altera o nome do grupo se existir 992 //altera o nome do grupo se existir
992 if ($nlayer->group != " " && $nlayer->group != "" ) 993 if ($nlayer->group != " " && $nlayer->group != "" )
classesphp/classe_vermultilayer.php
@@ -40,48 +40,48 @@ class vermultilayer @@ -40,48 +40,48 @@ class vermultilayer
40 { 40 {
41 /* 41 /*
42 Variavel: $resultado 42 Variavel: $resultado
43 - 43 +
44 Indica se &eacute; multi-layer ou n&atilde;o (0 ou 1) 44 Indica se &eacute; multi-layer ou n&atilde;o (0 ou 1)
45 */ 45 */
46 var $resultado; 46 var $resultado;
47 /* 47 /*
48 Variavel: $temas 48 Variavel: $temas
49 - 49 +
50 Lista de códigos dos temas 50 Lista de códigos dos temas
51 */ 51 */
52 var $temas; //lista de nomes de temas se for um grupo 52 var $temas; //lista de nomes de temas se for um grupo
53 /* 53 /*
54 Variavel: $layers 54 Variavel: $layers
55 - 55 +
56 Lista de objetos layers 56 Lista de objetos layers
57 */ 57 */
58 var $layers; //lista de objetos temas se for um grupo 58 var $layers; //lista de objetos temas se for um grupo
59 /* 59 /*
60 Variavel: $nomes 60 Variavel: $nomes
61 - 61 +
62 Lista de nomes dos temas 62 Lista de nomes dos temas
63 */ 63 */
64 var $nomes; //lista de nomes se for um grupo 64 var $nomes; //lista de nomes se for um grupo
65 /* 65 /*
66 Variavel: $nomesvisiveis 66 Variavel: $nomesvisiveis
67 - 67 +
68 Lista dos nomes dos temas vis&iacute;veis 68 Lista dos nomes dos temas vis&iacute;veis
69 */ 69 */
70 var $nomesvisiveis; //nomes dos temas vis&iacute;veis na escala 70 var $nomesvisiveis; //nomes dos temas vis&iacute;veis na escala
71 /* 71 /*
72 Variavel: $temasvisiveis 72 Variavel: $temasvisiveis
73 - 73 +
74 Lista com os códigos dos temas vis&iacute;veis 74 Lista com os códigos dos temas vis&iacute;veis
75 */ 75 */
76 var $temasvisiveis; //temas vi'siveis na escala 76 var $temasvisiveis; //temas vi'siveis na escala
77 /* 77 /*
78 function: verifica 78 function: verifica
79 - 79 +
80 Verifica se um tema &eacute; multilayer 80 Verifica se um tema &eacute; multilayer
81 - 81 +
82 parameters: 82 parameters:
83 $mapfile - arquivo mapfile 83 $mapfile - arquivo mapfile
84 - 84 +
85 $tema - código do tema que ser&aacute; verificado 85 $tema - código do tema que ser&aacute; verificado
86 */ 86 */
87 function verifica($mapfile,$tema) //$mapfile = arquivo .map, $tema = nome do layer 87 function verifica($mapfile,$tema) //$mapfile = arquivo .map, $tema = nome do layer
@@ -89,16 +89,17 @@ class vermultilayer @@ -89,16 +89,17 @@ class vermultilayer
89 $map = ms_newMapObj($mapfile); 89 $map = ms_newMapObj($mapfile);
90 $map->preparequery(); 90 $map->preparequery();
91 $escala = $map->scaledenom ; 91 $escala = $map->scaledenom ;
92 - $todoslayers = $map->getAlllayernames();  
93 $multilayer = 0; 92 $multilayer = 0;
94 $temas = array(); 93 $temas = array();
95 $layers = array(); 94 $layers = array();
96 $nomes = array(); 95 $nomes = array();
97 $nomesvisiveis = array(); 96 $nomesvisiveis = array();
98 $temasvisiveis = array(); 97 $temasvisiveis = array();
99 - foreach ($todoslayers as $temai) 98 +
  99 + $numlayers = $map->numlayers;
  100 + for ($i=0;$i < $numlayers;$i++)
100 { 101 {
101 - $layer = $map->getlayerbyname($temai); 102 + $layer = $map->getlayer($i);
102 $testa = 0; 103 $testa = 0;
103 //verifica se o tema &eacute; visivel na escala 104 //verifica se o tema &eacute; visivel na escala
104 $mins = $layer->minscaledenom; 105 $mins = $layer->minscaledenom;
@@ -131,10 +132,11 @@ class vermultilayer @@ -131,10 +132,11 @@ class vermultilayer
131 $multilayer = 1; 132 $multilayer = 1;
132 $temas[] = $temai; 133 $temas[] = $temai;
133 $layers[] = $layer; 134 $layers[] = $layer;
134 - $nomes[] = pegaNome($layer); 135 + $pn = pegaNome($layer);
  136 + $nomes[] = $pn;
135 if ($testa == 0) 137 if ($testa == 0)
136 { 138 {
137 - $nomesvisiveis[] = pegaNome($layer); 139 + $nomesvisiveis[] = $pn;
138 $temasvisiveis[] = $temai; 140 $temasvisiveis[] = $temai;
139 } 141 }
140 } 142 }
classesphp/funcoes_gerais.php
@@ -2100,10 +2100,10 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) @@ -2100,10 +2100,10 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
2100 if($teste == "") 2100 if($teste == "")
2101 { 2101 {
2102 $maptemp = ms_newMapObj($temasdir."/".$tema.".map"); 2102 $maptemp = ms_newMapObj($temasdir."/".$tema.".map");
2103 - $temastemp = $maptemp->getalllayernames();  
2104 - foreach ($temastemp as $tt) 2103 + $numlayers = $maptemp->numlayers;
  2104 + for ($i=0;$i < $numlayers;$i++)
2105 { 2105 {
2106 - $ll = $maptemp->getlayerbyname($tt); 2106 + $ll = $maptemp->getlayer($i);
2107 $permite = $ll->getmetadata("permitedownload"); 2107 $permite = $ll->getmetadata("permitedownload");
2108 if($permite != "nao") 2108 if($permite != "nao")
2109 {ms_newLayerObj($map, $ll);} 2109 {ms_newLayerObj($map, $ll);}
@@ -2255,10 +2255,10 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa) @@ -2255,10 +2255,10 @@ function downloadTema2($map_file,$tema,$locaplic,$dir_tmp,$postgis_mapa)
2255 $nomemapfileurl = ""; 2255 $nomemapfileurl = "";
2256 if(file_exists($temasdir."/".$tema.".map")){ 2256 if(file_exists($temasdir."/".$tema.".map")){
2257 $maptemp = ms_newMapObj($temasdir."/".$tema.".map"); 2257 $maptemp = ms_newMapObj($temasdir."/".$tema.".map");
2258 - $temas = $maptemp->getAllLayerNames();  
2259 - foreach ($temas as $l) 2258 + $numlayers = $maptemp->numlayers;
  2259 + for ($i=0;$i < $numlayers;$i++)
2260 { 2260 {
2261 - $gl = $maptemp->getlayerbyname($l); 2261 + $gl = $maptemp->getlayer($i);
2262 $gl->set("data",""); 2262 $gl->set("data","");
2263 $gl->set("connection",""); 2263 $gl->set("connection","");
2264 } 2264 }
@@ -3101,10 +3101,10 @@ function listaLayersIndevidos($map_file){ @@ -3101,10 +3101,10 @@ function listaLayersIndevidos($map_file){
3101 $c = $m->numlayers; 3101 $c = $m->numlayers;
3102 for ($i=0;$i < $c;++$i) { 3102 for ($i=0;$i < $c;++$i) {
3103 $layer = $m->getlayer($i); 3103 $layer = $m->getlayer($i);
3104 - $meta = $layer->getmetadata("temaoriginal"); 3104 + $meta = $layer->getmetadata("arquivotemaoriginal");
3105 if($meta != ""){ 3105 if($meta != ""){
3106 $t = $restritos[$meta]; 3106 $t = $restritos[$meta];
3107 - if(!in_array($t,$gruposusr)){ 3107 + if($t && !in_array($t,$gruposusr)){
3108 array_push($indevidos,$layer->name); 3108 array_push($indevidos,$layer->name);
3109 } 3109 }
3110 } 3110 }
classesphp/mapa_googleearth.php
@@ -116,19 +116,20 @@ function retornaWms($map_fileX,$postgis_mapa){ @@ -116,19 +116,20 @@ function retornaWms($map_fileX,$postgis_mapa){
116 // 116 //
117 $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php"; 117 $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php";
118 $qy = file_exists($qyfile); 118 $qy = file_exists($qyfile);
119 - $layersNames = $mapa->getalllayernames();  
120 $o = $mapa->outputformat; 119 $o = $mapa->outputformat;
121 $o->set("imagemode",MS_IMAGEMODE_RGBA); 120 $o->set("imagemode",MS_IMAGEMODE_RGBA);
122 if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao´e alterado 121 if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao´e alterado
123 - foreach ($layersNames as $layerName) 122 + $numlayers = $mapa->numlayers;
  123 + for ($i=0;$i < $numlayers;$i++)
124 { 124 {
125 - $l = $mapa->getLayerByname($layerName); 125 + $l = $mapa->getlayer($i);
126 if ($l->getmetadata("classesnome") != "") 126 if ($l->getmetadata("classesnome") != "")
127 { 127 {
128 if(!function_exists("autoClasses")) 128 if(!function_exists("autoClasses"))
129 {include_once("funcoes_gerais.php");} 129 {include_once("funcoes_gerais.php");}
130 autoClasses($l,$mapa); 130 autoClasses($l,$mapa);
131 } 131 }
  132 + $layerName = $l->name;
132 if($layerName != $_GET["layer"]) 133 if($layerName != $_GET["layer"])
133 {$l->set("status",MS_OFF);} 134 {$l->set("status",MS_OFF);}
134 if($layerName == $_GET["layer"] || $l->group == $_GET["layer"] && $l->group != "") 135 if($layerName == $_GET["layer"] || $l->group == $_GET["layer"] && $l->group != "")
@@ -213,7 +214,7 @@ function retornaWms($map_fileX,$postgis_mapa){ @@ -213,7 +214,7 @@ function retornaWms($map_fileX,$postgis_mapa){
213 $cor = $classe0->getstyle(0)->color; 214 $cor = $classe0->getstyle(0)->color;
214 $cor->setrgb($c->red,$c->green,$c->blue); 215 $cor->setrgb($c->red,$c->green,$c->blue);
215 $cor = $classe0->getstyle(0)->outlinecolor; 216 $cor = $classe0->getstyle(0)->outlinecolor;
216 - $cor->setrgb($c->red,$c->green,$c->blue); 217 + $cor->setrgb($c->red,$c->green,$c->blue);
217 $status = $l->open(); 218 $status = $l->open();
218 $status = $l->whichShapes($mapa->extent); 219 $status = $l->whichShapes($mapa->extent);
219 while ($shape = $l->nextShape()) 220 while ($shape = $l->nextShape())
classesphp/mapa_googlemaps.php
@@ -126,13 +126,14 @@ $mapa = ms_newMapObj($map_fileX); @@ -126,13 +126,14 @@ $mapa = ms_newMapObj($map_fileX);
126 $ret = $mapa->extent; 126 $ret = $mapa->extent;
127 $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php"; 127 $qyfile = dirname($map_fileX)."/".$_GET["layer"].".php";
128 $qy = file_exists($qyfile); 128 $qy = file_exists($qyfile);
129 -  
130 -$layersNames = $mapa->getalllayernames();  
131 $cache = false; 129 $cache = false;
132 if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao´e alterado 130 if(!isset($_GET["telaR"])){//no caso de projecoes remotas, o mapfile nao´e alterado
133 - foreach ($layersNames as $layerName) 131 +
  132 + $numlayers = $mapa->numlayers;
  133 + for ($i=0;$i < $numlayers;$i++)
134 { 134 {
135 - $l = $mapa->getLayerByname($layerName); 135 + $l = $mapa->getlayer($i);
  136 + $layerName = $l->name;
136 if ($l->getmetadata("classesnome") != "") 137 if ($l->getmetadata("classesnome") != "")
137 { 138 {
138 if(!function_exists("autoClasses")) 139 if(!function_exists("autoClasses"))
@@ -176,8 +177,10 @@ if(!isset($_GET[&quot;telaR&quot;])){//no caso de projecoes remotas, o mapfile nao´e alter @@ -176,8 +177,10 @@ if(!isset($_GET[&quot;telaR&quot;])){//no caso de projecoes remotas, o mapfile nao´e alter
176 } 177 }
177 else{ 178 else{
178 $mapa->setProjection("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m"); 179 $mapa->setProjection("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m");
179 - foreach ($layersNames as $layerName){  
180 - $l = $mapa->getLayerByname($layerName); 180 + $numlayers = $mapa->numlayers;
  181 + for ($i=0;$i < $numlayers;$i++)
  182 + {
  183 + $l = $mapa->getlayer($i);
181 if($l->getProjection() == "" ) 184 if($l->getProjection() == "" )
182 {$l->setProjection("proj=latlong,a=6378137,b=6378137");} 185 {$l->setProjection("proj=latlong,a=6378137,b=6378137");}
183 } 186 }
@@ -260,7 +263,7 @@ else @@ -260,7 +263,7 @@ else
260 } 263 }
261 $l->close(); 264 $l->close();
262 } 265 }
263 - 266 +
264 } 267 }
265 if (!function_exists('imagepng')) 268 if (!function_exists('imagepng'))
266 { 269 {
@@ -297,7 +300,7 @@ else{ @@ -297,7 +300,7 @@ else{
297 header('Content-Length: '.filesize($nomer)); 300 header('Content-Length: '.filesize($nomer));
298 header('Content-Type: image/png'); 301 header('Content-Type: image/png');
299 fpassthru(fopen($nomer, 'rb')); 302 fpassthru(fopen($nomer, 'rb'));
300 - exit; 303 + exit;
301 } 304 }
302 function salvaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){ 305 function salvaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){
303 global $img,$map_size; 306 global $img,$map_size;
@@ -333,7 +336,7 @@ function carregaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){ @@ -333,7 +336,7 @@ function carregaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){
333 header('Content-Type: image/png'); 336 header('Content-Type: image/png');
334 fpassthru(fopen($nome, 'rb')); 337 fpassthru(fopen($nome, 'rb'));
335 exit; 338 exit;
336 - } 339 + }
337 } 340 }
338 function nomeRand($n=10) 341 function nomeRand($n=10)
339 { 342 {
ferramentas/imprimir/svg.php
@@ -3,7 +3,7 @@ body @@ -3,7 +3,7 @@ body
3 {margin:20px;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 14px;width:300px} 3 {margin:20px;font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 14px;width:300px}
4 A 4 A
5 {text-align:left;font-family: Verdana, Arial, Helvetica, sans-serif;color: #2F4632;} 5 {text-align:left;font-family: Verdana, Arial, Helvetica, sans-serif;color: #2F4632;}
6 -A:hover 6 +A:hover
7 {color: #4142ff;font-weight: normal;font-family: Verdana, Arial, Helvetica, sans-serif;} 7 {color: #4142ff;font-weight: normal;font-family: Verdana, Arial, Helvetica, sans-serif;}
8 </style> 8 </style>
9 <body> 9 <body>
@@ -75,10 +75,10 @@ if($leb-&gt;type == &quot;MS_BITMAP&quot;){ @@ -75,10 +75,10 @@ if($leb-&gt;type == &quot;MS_BITMAP&quot;){
75 $leb->set("font","Arial"); 75 $leb->set("font","Arial");
76 } 76 }
77 //altera o nome das classes vazias 77 //altera o nome das classes vazias
78 -$temas = $map->getalllayernames();  
79 -foreach ($temas as $tema) 78 +$numlayers = $map->numlayers;
  79 +for ($i=0;$i < $numlayers;$i++)
80 { 80 {
81 - $layer = $map->getlayerbyname($tema); 81 + $layer = $map->getlayer($i);
82 if (($layer->data != "") && (strtolower($layer->getmetadata("escondido")) != "sim") && (strtolower($layer->getmetadata("tema")) != "sim")) 82 if (($layer->data != "") && (strtolower($layer->getmetadata("escondido")) != "sim") && (strtolower($layer->getmetadata("tema")) != "sim"))
83 { 83 {
84 if ($layer->numclasses > 0) 84 if ($layer->numclasses > 0)
geraminiatura.php
@@ -186,11 +186,11 @@ function verificaMiniatura($map,$tipo,$admin=false) @@ -186,11 +186,11 @@ function verificaMiniatura($map,$tipo,$admin=false)
186 echo "erro no arquivo $tema <br>"; 186 echo "erro no arquivo $tema <br>";
187 return; 187 return;
188 } 188 }
189 - $temasn = $nmapa->getAllLayerNames();  
190 $dados = ""; 189 $dados = "";
191 - foreach ($temasn as $teman) 190 + $numlayers = $nmapa->numlayers;
  191 + for ($i=0;$i < $numlayers;$i++)
192 { 192 {
193 - $layern = $nmapa->getLayerByName($teman); 193 + $layern = $nmapa->getlayer($i);
194 $layern->set("status",MS_DEFAULT); 194 $layern->set("status",MS_DEFAULT);
195 ms_newLayerObj($mapa, $layern); 195 ms_newLayerObj($mapa, $layern);
196 autoClasses($layern,$mapa,$locaplic); 196 autoClasses($layern,$mapa,$locaplic);
ms_criamapa.php
@@ -480,7 +480,8 @@ function adaptaLayers(){ @@ -480,7 +480,8 @@ function adaptaLayers(){
480 global $tmpfname; 480 global $tmpfname;
481 $mapa = ms_newMapObj($tmpfname); 481 $mapa = ms_newMapObj($tmpfname);
482 $path = $mapa->shapepath; 482 $path = $mapa->shapepath;
483 - for($i=0;$i<($mapa->numlayers);++$i) 483 + $numlayers = $mapa->numlayers;
  484 + for($i=0;$i<$numlayers;++$i)
484 { 485 {
485 $layer = $mapa->getLayer($i); 486 $layer = $mapa->getLayer($i);
486 $ok = true; 487 $ok = true;
@@ -648,7 +649,8 @@ function incluiTemasIniciais() @@ -648,7 +649,8 @@ function incluiTemasIniciais()
648 if ($layern->name == "estadosl") 649 if ($layern->name == "estadosl")
649 {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");} 650 {$layern->set("data",$locaplic."/aplicmap/dados/estados.shp");}
650 $layern->setmetadata("nomeoriginal",$layern->name); 651 $layern->setmetadata("nomeoriginal",$layern->name);
651 - $layern->setmetadata("temaoriginal",str_replace(".map","",basename($arqtemp))); 652 + $nNome = str_replace(".map","",basename($arqtemp)).
  653 + $layern->setmetadata("arquivotemaoriginal",$nNome);
652 autoClasses($layern,$mapn); 654 autoClasses($layern,$mapn);
653 // 655 //
654 //necess&aacute;rio para n&atilde;o alterar a extens&atilde;o do mapa por esse par&acirc;metro 656 //necess&aacute;rio para n&atilde;o alterar a extens&atilde;o do mapa por esse par&acirc;metro
@@ -1103,9 +1105,10 @@ function incluiMapaGvsig($gvsiggvp,$gvsigview){ @@ -1103,9 +1105,10 @@ function incluiMapaGvsig($gvsiggvp,$gvsigview){
1103 $gm = new gvsig2mapfile($gvsiggvp); 1105 $gm = new gvsig2mapfile($gvsiggvp);
1104 $dataView = $gm->getViewData($gvsigview); 1106 $dataView = $gm->getViewData($gvsigview);
1105 //var_dump($dataView);exit; 1107 //var_dump($dataView);exit;
1106 - $lnames = $mapn->getalllayernames();  
1107 - foreach($lnames as $name){  
1108 - $layer = $mapn->getlayerbyname($name); 1108 + $numlayers = $mapn->numlayers;
  1109 + for ($i=0;$i < $numlayers;$i++)
  1110 + {
  1111 + $layer = $mapn->getlayer($i);
1109 $layer->set("status",MS_DELETE); 1112 $layer->set("status",MS_DELETE);
1110 } 1113 }
1111 $next = $dataView["extent"]; 1114 $next = $dataView["extent"];
pacotes/gvsig/gvsig2mapfile/upload.php
@@ -47,9 +47,10 @@ if (isset($_FILES[&#39;i3GEOuploadfile&#39;][&#39;name&#39;])) @@ -47,9 +47,10 @@ if (isset($_FILES[&#39;i3GEOuploadfile&#39;][&#39;name&#39;]))
47 $gm = new gvsig2mapfile($Arquivon); 47 $gm = new gvsig2mapfile($Arquivon);
48 $views = $gm->getViewsNames(); 48 $views = $gm->getViewsNames();
49 $dataView = $gm->getViewData($views[0]); 49 $dataView = $gm->getViewData($views[0]);
50 - $lnames = $mapn->getalllayernames();  
51 - foreach($lnames as $name){  
52 - $layer = $mapn->getlayerbyname($name); 50 + $numlayers = $mapn->numlayers;
  51 + for ($i=0;$i < $numlayers;$i++)
  52 + {
  53 + $layer = $mapn->getlayer($i);
53 $layer->set("status",MS_DELETE); 54 $layer->set("status",MS_DELETE);
54 } 55 }
55 $next = $dataView["extent"]; 56 $next = $dataView["extent"];
@@ -59,7 +60,7 @@ if (isset($_FILES[&#39;i3GEOuploadfile&#39;][&#39;name&#39;])) @@ -59,7 +60,7 @@ if (isset($_FILES[&#39;i3GEOuploadfile&#39;][&#39;name&#39;]))
59 $mapn->save(str_replace(".gvp",".map",$Arquivon)); 60 $mapn->save(str_replace(".gvp",".map",$Arquivon));
60 $handle = fopen(str_replace(".gvp",".map",$Arquivon), "r"); 61 $handle = fopen(str_replace(".gvp",".map",$Arquivon), "r");
61 echo "<html>"; 62 echo "<html>";
62 - while (!feof($handle)) 63 + while (!feof($handle))
63 { 64 {
64 $linha = fgets($handle); 65 $linha = fgets($handle);
65 echo $linha."<br>"; 66 echo $linha."<br>";
testamapfile.php
@@ -190,12 +190,12 @@ function verifica($map,$solegenda) @@ -190,12 +190,12 @@ function verifica($map,$solegenda)
190 } 190 }
191 //echo $base;exit; 191 //echo $base;exit;
192 $mapa = ms_newMapObj($base); 192 $mapa = ms_newMapObj($base);
193 - 193 +
194 error_reporting(0); 194 error_reporting(0);
195 - $temasn = $mapa->getAllLayerNames();  
196 - foreach ($temasn as $teman) 195 + $numlayers = $mapa->numlayers;
  196 + for ($i=0;$i < $numlayers;$i++)
197 { 197 {
198 - $layern = $mapa->getLayerByName($teman); 198 + $layern = $mapa->getlayer($i);
199 if (!empty($postgis_mapa)) 199 if (!empty($postgis_mapa))
200 { 200 {
201 if ($layern->connectiontype == MS_POSTGIS) 201 if ($layern->connectiontype == MS_POSTGIS)
@@ -211,7 +211,7 @@ function verifica($map,$solegenda) @@ -211,7 +211,7 @@ function verifica($map,$solegenda)
211 } 211 }
212 } 212 }
213 } 213 }
214 - 214 +
215 if(!stristr($tema, '.php') === FALSE){ 215 if(!stristr($tema, '.php') === FALSE){
216 echo "<br>Arquivo <i>$tema</i> &eacute; um programa PHP. O teste pode n&atilde;o funcionar.<br>"; 216 echo "<br>Arquivo <i>$tema</i> &eacute; um programa PHP. O teste pode n&atilde;o funcionar.<br>";
217 include_once($locaplic."/".$tema); 217 include_once($locaplic."/".$tema);
@@ -234,7 +234,7 @@ function verifica($map,$solegenda) @@ -234,7 +234,7 @@ function verifica($map,$solegenda)
234 printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); 234 printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
235 $error = $error->next(); 235 $error = $error->next();
236 } 236 }
237 - return; 237 + return;
238 } 238 }
239 } 239 }
240 else{ 240 else{
@@ -255,11 +255,11 @@ function verifica($map,$solegenda) @@ -255,11 +255,11 @@ function verifica($map,$solegenda)
255 return; 255 return;
256 } 256 }
257 } 257 }
258 - $temasn = $nmapa->getAllLayerNames(); 258 + $numlayers = $nmapa->numlayers;
259 $dados = ""; 259 $dados = "";
260 - foreach ($temasn as $teman) 260 + for ($i=0;$i < $numlayers;$i++)
261 { 261 {
262 - $layern = $nmapa->getLayerByName($teman); 262 + $layern = $mapa->getlayer($i);
263 $layern->set("status",MS_DEFAULT); 263 $layern->set("status",MS_DEFAULT);
264 if (!empty($postgis_mapa)) 264 if (!empty($postgis_mapa))
265 { 265 {
teste.php 0 → 100644
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
  1 +<?php
  2 +$n = 10;
  3 +for($i=0;$i<$n;++$i){
  4 + echo $i."<br>";
  5 +}
  6 +
  7 +?>
0 \ No newline at end of file 8 \ No newline at end of file