Commit 285785ff2779e2cd0fc6ea89cf0ece22ffb43baf

Authored by Edmar Moretti
1 parent 39fa7f25

Inclusão de variável para definir a interface (ms_configura.php). Reformulação n…

…a inicialização para ganho de performance.
aplicmap/geral.htm
@@ -159,9 +159,18 @@ vc pode optar por colocar mensagens de ajuda em algum lugar @@ -159,9 +159,18 @@ vc pode optar por colocar mensagens de ajuda em algum lugar
159 <!-- aqui são mostradas imagens obtidas do metadata mensagem que pode existir em cada layer --> 159 <!-- aqui são mostradas imagens obtidas do metadata mensagem que pode existir em cada layer -->
160 <tr style="border:0px"><td colspan=3 style=background-color:black ><input style="border:0px none; background-color:black;color:white;font-size:12pt;" type="text" size="1" id="i3geo_letreiro" ></td></tr> 160 <tr style="border:0px"><td colspan=3 style=background-color:black ><input style="border:0px none; background-color:black;color:white;font-size:12pt;" type="text" size="1" id="i3geo_letreiro" ></td></tr>
161 <tr style="border:0px"><td colspan=3 style=background-color:black;color:white >geoprocessamento@mma.gov.br</td></tr> 161 <tr style="border:0px"><td colspan=3 style=background-color:black;color:white >geoprocessamento@mma.gov.br</td></tr>
162 -  
163 </table> 162 </table>
164 163
  164 +<center>
  165 +<br><br>
  166 +<table><tr>
  167 +<td colspan=3 ><center><img src='../imagens/i3geo1.jpg'></td></tr>
  168 +<tr><td style="padding:10px;"><center><img src='../imagens/pspb.png'></td>
  169 +<td style="padding:10px;"><center><img src='../imagens/mapserv.png'></td>
  170 +<td style="padding:10px;"><center><a href='http://mapas.mma.gov.br/download' target=blank ><img src='../imagens/somerights20_pt.gif' ></a></td>
  171 +</tr></table>
  172 +
  173 +
165 <!-- 174 <!--
166 Barra de botoes que serão incluídos na janela móvel de navegação 175 Barra de botoes que serão incluídos na janela móvel de navegação
167 Para excluir um botão é só apagar a linha. 176 Para excluir um botão é só apagar a linha.
ms_configura.php
@@ -16,9 +16,13 @@ As variáveis de configuração são definidas em blocos diferentes conforme o siste @@ -16,9 +16,13 @@ As variáveis de configuração são definidas em blocos diferentes conforme o siste
16 O ms_criamapa.php carrega o ms_configura.php e armazena a maior parte das variáveis na seção. Algumas variáveis 16 O ms_criamapa.php carrega o ms_configura.php e armazena a maior parte das variáveis na seção. Algumas variáveis
17 são também fornecidas para o cliente (navegador) na inicialização do mapa e ficam disponíveis em variáveis javascript. 17 são também fornecidas para o cliente (navegador) na inicialização do mapa e ficam disponíveis em variáveis javascript.
18 18
19 -File: i3geo/ms_configura.php 19 +Arquivo:
20 20
21 -About: Licença 21 +i3geo/ms_configura.php
  22 +
  23 +Licenca:
  24 +
  25 +GPL2
22 26
23 I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 27 I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
24 28
@@ -39,32 +43,41 @@ Free Software Foundation, Inc., no endereço @@ -39,32 +43,41 @@ Free Software Foundation, Inc., no endereço
39 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 43 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
40 */ 44 */
41 /* 45 /*
42 - Variable: $mensagemInicia 46 + Variavel: mensagemInicia
43 47
44 Mensagem de inicialização mostrada pelo programa ms_criamapa.php 48 Mensagem de inicialização mostrada pelo programa ms_criamapa.php
  49 +
  50 + Tipo:
  51 + {string}
45 */ 52 */
46 $mensagemInicia = 'Versão 4.2 beta 3'; 53 $mensagemInicia = 'Versão 4.2 beta 3';
47 /* 54 /*
48 - Variable: $tituloInstituicao 55 + Variable: tituloInstituicao
  56 +
  57 + Nome que será utilizado em alguns cabeçalhos e títulos de páginas
49 58
50 - Nome que será utilizado em alguns cabçalhos e títulos de páginas 59 + Tipo:
  60 + {string}
51 */ 61 */
52 $tituloInstituicao = "MMA - Ministerio do Meio Ambiente"; 62 $tituloInstituicao = "MMA - Ministerio do Meio Ambiente";
53 /* 63 /*
54 - Variable: $googleApiKey 64 + Variable: googleApiKey
55 65
56 Chave utilizada pela API do Google maps. 66 Chave utilizada pela API do Google maps.
57 67
58 A API do Google maps é utilizada em algumas funcionalidades do i3geo. Vc deve registrar uma chave 68 A API do Google maps é utilizada em algumas funcionalidades do i3geo. Vc deve registrar uma chave
59 no site do Google para o seu endereço de servidor web. veja como fazer em: 69 no site do Google para o seu endereço de servidor web. veja como fazer em:
60 http://code.google.com/apis/maps/signup.html 70 http://code.google.com/apis/maps/signup.html
  71 +
  72 + Tipo:
  73 + {string}
61 */ 74 */
62 $googleApiKey = "ABQIAAAAKguAlmd-hSDulF2T_tfWMxT3OAK09d_ZSDyC36iPGlww-4j-9xSrR2ZZUxVeZC01q8anfe5ntl_U4w"; 75 $googleApiKey = "ABQIAAAAKguAlmd-hSDulF2T_tfWMxT3OAK09d_ZSDyC36iPGlww-4j-9xSrR2ZZUxVeZC01q8anfe5ntl_U4w";
63 76
64 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) 77 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
65 { 78 {
66 /* 79 /*
67 - Variable: $navegadoresLocais 80 + Variable: navegadoresLocais
68 81
69 Ip dos usuarios que podem navegar no servidor para acessar arquivos de dados geográficos. 82 Ip dos usuarios que podem navegar no servidor para acessar arquivos de dados geográficos.
70 83
@@ -81,7 +94,9 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -81,7 +94,9 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
81 $navegadoresLocais = ""; 94 $navegadoresLocais = "";
82 95
83 Com a opção ativa na interface do mapa, o ip do cliente é verificado e caso estiver registrado no array, a navegação pelos diretórios do servidor será permitida. Para mais detalhes, veja a ferramenta i3geo/ferramentas/navegacaodir 96 Com a opção ativa na interface do mapa, o ip do cliente é verificado e caso estiver registrado no array, a navegação pelos diretórios do servidor será permitida. Para mais detalhes, veja a ferramenta i3geo/ferramentas/navegacaodir
84 - 97 +
  98 + Tipo:
  99 + {array}
85 */ 100 */
86 $navegadoresLocais = array( 101 $navegadoresLocais = array(
87 array( 102 array(
@@ -93,50 +108,68 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -93,50 +108,68 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
93 ) 108 )
94 ); 109 );
95 /* 110 /*
96 - Variable: $editores 111 + Variable: editores
97 112
98 Ip dos usuarios que podem administrar o i3geo via navegador. 113 Ip dos usuarios que podem administrar o i3geo via navegador.
99 114
100 Separe os ips por vírgula. Os usuários que tiverem seus ips listados, poderão editar o diretório i3geo/temas, desde que os mesmos tenham direito de leitura e escrita nesse diretório. 115 Separe os ips por vírgula. Os usuários que tiverem seus ips listados, poderão editar o diretório i3geo/temas, desde que os mesmos tenham direito de leitura e escrita nesse diretório.
  116 +
  117 + Tipo:
  118 + {array}
101 */ 119 */
102 $editores = array("127.0.0.1","localhost"); 120 $editores = array("127.0.0.1","localhost");
103 /* 121 /*
104 - Variable: $dir_tmp 122 + Variable: dir_tmp
105 123
106 Caminho completo do diretório temporário utilizado pelo mapserver. 124 Caminho completo do diretório temporário utilizado pelo mapserver.
  125 +
  126 + Tipo:
  127 + {string}
107 */ 128 */
108 $dir_tmp = "c:/ms4w/tmp/ms_tmp"; 129 $dir_tmp = "c:/ms4w/tmp/ms_tmp";
109 /* 130 /*
110 - Variable: $locaplic 131 + Variable: locaplic
111 132
112 Caminho completo onde fica o I3Geo 133 Caminho completo onde fica o I3Geo
  134 +
  135 + Tipo:
  136 + {string}
113 */ 137 */
114 $locaplic = "c:/ms4w/apache/htdocs/i3geo"; 138 $locaplic = "c:/ms4w/apache/htdocs/i3geo";
115 /* 139 /*
116 - Variable: $temasdir 140 + Variable: temasdir
117 141
118 Caminho completo do diretório onde ficam os arquivos .map correspondentes aos temas disponíveis 142 Caminho completo do diretório onde ficam os arquivos .map correspondentes aos temas disponíveis
119 Esta variável não está implementada completamente. Os mapfiles devem ficar obrigatoriamente no diretório temas 143 Esta variável não está implementada completamente. Os mapfiles devem ficar obrigatoriamente no diretório temas
  144 +
  145 + Tipo:
  146 + {string}
120 */ 147 */
121 $temasdir = $locaplic."/temas"; //"c:/ms4w/apache/htdocs/i3geo/temas"; 148 $temasdir = $locaplic."/temas"; //"c:/ms4w/apache/htdocs/i3geo/temas";
122 /* 149 /*
123 - Variable: $temasaplic 150 + Variable: temasaplic
124 151
125 Caminho completo onde ficam os arquivos .map específicos do I3Geo 152 Caminho completo onde ficam os arquivos .map específicos do I3Geo
  153 +
  154 + Tipo:
  155 + {string}
126 */ 156 */
127 $temasaplic = $locaplic."/aplicmap";//"c:\ms4w\apache\htdocs\i3geo\aplicmap"; 157 $temasaplic = $locaplic."/aplicmap";//"c:\ms4w\apache\htdocs\i3geo\aplicmap";
128 /* 158 /*
129 - Variable: $locmapserv 159 + Variable: locmapserv
130 160
131 Localização do executável do Mapserver conforme deve ser acrescentado a URL após o nome do host. 161 Localização do executável do Mapserver conforme deve ser acrescentado a URL após o nome do host.
132 162
133 Essa variável é necessária em processos que utilizam o mapserver no modo CGI. 163 Essa variável é necessária em processos que utilizam o mapserver no modo CGI.
134 164
135 Por exemplo, se o endereço for http://localhost/cgi-bin/mapserv.exe, a variável deverá conter apenas /cgi-bin/mapserv.exe 165 Por exemplo, se o endereço for http://localhost/cgi-bin/mapserv.exe, a variável deverá conter apenas /cgi-bin/mapserv.exe
  166 +
  167 + Tipo:
  168 + {string}
136 */ 169 */
137 $locmapserv = "/cgi-bin/mapserv.exe"; 170 $locmapserv = "/cgi-bin/mapserv.exe";
138 /* 171 /*
139 - Variable: $locsistemas 172 + Variable: locsistemas
140 173
141 Onde fica o xml que será utilizado para complementar a lista de temas disponíveis na árvore de adição de temas. 174 Onde fica o xml que será utilizado para complementar a lista de temas disponíveis na árvore de adição de temas.
142 175
@@ -147,10 +180,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -147,10 +180,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
147 Por meio dessa nova árvore pode-se disparar programas PHP que executam operações especiais para a montagem de uma nova camada a ser adicionada ao mapa. 180 Por meio dessa nova árvore pode-se disparar programas PHP que executam operações especiais para a montagem de uma nova camada a ser adicionada ao mapa.
148 181
149 Veja a documentação específica do arquivo sistemas.xml para maiores detalhes. 182 Veja a documentação específica do arquivo sistemas.xml para maiores detalhes.
  183 +
  184 + Tipo:
  185 + {string}
150 */ 186 */
151 $locsistemas = ""; 187 $locsistemas = "";
152 /* 188 /*
153 - Variable: $locidentifica 189 + Variable: locidentifica
154 190
155 Onde fica o xml que será utilizado para complementar a lista de temas dispponíveis na ferramenta de identificação. 191 Onde fica o xml que será utilizado para complementar a lista de temas dispponíveis na ferramenta de identificação.
156 192
@@ -161,10 +197,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -161,10 +197,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
161 Por meio dessa lista pode-se disparar programas PHP que executam operações especiais para a obtenção de dados com base em um par de coordenadas xy. 197 Por meio dessa lista pode-se disparar programas PHP que executam operações especiais para a obtenção de dados com base em um par de coordenadas xy.
162 198
163 Veja a documentação específica do arquivo identifica.xml para maiores detalhes. 199 Veja a documentação específica do arquivo identifica.xml para maiores detalhes.
  200 +
  201 + Tipo:
  202 + {string}
164 */ 203 */
165 $locidentifica = ""; 204 $locidentifica = "";
166 /* 205 /*
167 - Variable: $locmapas 206 + Variable: locmapas
168 207
169 Onde fica o xml, para preencher a guia mapas. 208 Onde fica o xml, para preencher a guia mapas.
170 209
@@ -173,37 +212,36 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -173,37 +212,36 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
173 A guia "Mapas" mostra uma lista de links que permitem abrir mapas específicos. Essa lista é utilizada também pela versão mobile do i3geo. 212 A guia "Mapas" mostra uma lista de links que permitem abrir mapas específicos. Essa lista é utilizada também pela versão mobile do i3geo.
174 213
175 Veja a documentação específica do arquivo mapas.xml para maiores detalhes. 214 Veja a documentação específica do arquivo mapas.xml para maiores detalhes.
  215 +
  216 + Tipo:
  217 + {string}
176 */ 218 */
177 $locmapas = ""; 219 $locmapas = "";
178 /* 220 /*
179 - Variable: $R_path 221 + Variable: R_path
180 222
181 Onde esta o executavel do software R 223 Onde esta o executavel do software R
182 224
183 O R é um pacote estatístico utilizado pelo I3Geo para geração de gráficos e análises estatísticas 225 O R é um pacote estatístico utilizado pelo I3Geo para geração de gráficos e análises estatísticas
184 Se vc não possui o R instalado, comente a linha abaixo 226 Se vc não possui o R instalado, comente a linha abaixo
  227 +
  228 + Tipo:
  229 + {string}
185 */ 230 */
186 $R_path = "c:/r/win/bin/R.exe"; 231 $R_path = "c:/r/win/bin/R.exe";
187 /* 232 /*
188 - Variable: $postgis_con  
189 -  
190 Depreciado - não é mais necessário na versão 5.x do Mapserver 233 Depreciado - não é mais necessário na versão 5.x do Mapserver
191 -  
192 string de conexão com o banco de dados postgis utilizada para reallização de cálculos 234 string de conexão com o banco de dados postgis utilizada para reallização de cálculos
193 -  
194 se não existir, deixe em branco 235 se não existir, deixe em branco
195 */ 236 */
196 $postgis_con = ""; 237 $postgis_con = "";
197 /* 238 /*
198 - Variable: $srid_area  
199 -  
200 Depreciado - não é mais necessário na versão 5.x do Mapserver 239 Depreciado - não é mais necessário na versão 5.x do Mapserver
201 -  
202 srid utilizado nos cálculos que exigem projeção equivalente 240 srid utilizado nos cálculos que exigem projeção equivalente
203 */ 241 */
204 $srid_area = 1; 242 $srid_area = 1;
205 /* 243 /*
206 - Variable: $postgis_mapa 244 + Variable: postgis_mapa
207 245
208 String de conexão para acesso aos dados (opcional). 246 String de conexão para acesso aos dados (opcional).
209 247
@@ -214,10 +252,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -214,10 +252,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
214 Se vc especificar essa variável, o mapa será forçado a recusar o modo de operação CGI. 252 Se vc especificar essa variável, o mapa será forçado a recusar o modo de operação CGI.
215 253
216 Para mais detalhes veja a função substituiCon em classesphp/funcoes_gerais.php 254 Para mais detalhes veja a função substituiCon em classesphp/funcoes_gerais.php
  255 +
  256 + Tipo:
  257 + {array}
217 */ 258 */
218 $postgis_mapa = ""; //"user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432"; 259 $postgis_mapa = ""; //"user=geodados password=geodados dbname=geodados host=10.1.1.36 port=5432";
219 /* 260 /*
220 - Variable: $menutemas 261 + Variable: menutemas
221 262
222 Array com a lista de arquivos xml que serão incluidos na guia de adição de temas. Se for "", será utilizado o arquivo default menutemas/menutemas.xml. 263 Array com a lista de arquivos xml que serão incluidos na guia de adição de temas. Se for "", será utilizado o arquivo default menutemas/menutemas.xml.
223 264
@@ -237,10 +278,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -237,10 +278,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
237 278
238 Para usar o menu default, utilize apenas $menutemas = ""; nesse caso, os menus serão obtidos do 279 Para usar o menu default, utilize apenas $menutemas = ""; nesse caso, os menus serão obtidos do
239 banco de dados de administração. Para editar o banco de dados utilize http://localhost/i3geo/admin 280 banco de dados de administração. Para editar o banco de dados utilize http://localhost/i3geo/admin
  281 +
  282 + Tipo:
  283 + {string}
240 */ 284 */
241 $menutemas = ""; 285 $menutemas = "";
242 /* 286 /*
243 - Variable: $utilizacgi 287 + Variable: utilizacgi
244 288
245 Variável indicando se o desenho do corpo do mapa será baseado no modo cgi. 289 Variável indicando se o desenho do corpo do mapa será baseado no modo cgi.
246 290
@@ -252,26 +296,35 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -252,26 +296,35 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
252 o endereço do cgi acrescentado do nome do mapfile, fazendo com que a imagem seja retornada diretamente. 296 o endereço do cgi acrescentado do nome do mapfile, fazendo com que a imagem seja retornada diretamente.
253 297
254 Em alguns casos o uso do cgi torna a aplicação mais rápida. 298 Em alguns casos o uso do cgi torna a aplicação mais rápida.
  299 +
  300 + Tipo:
  301 + {string}
255 */ 302 */
256 $utilizacgi = "nao"; 303 $utilizacgi = "nao";
257 /* 304 /*
258 - Variable: $atlasxml 305 + Variable: atlasxml
259 306
260 Indica o nome do arquivo xml que será utilizado na interface Atlas do i3geo. 307 Indica o nome do arquivo xml que será utilizado na interface Atlas do i3geo.
261 308
262 Pode ser utilizado o caminho relativo, tendo como base i3geo/diretorio 309 Pode ser utilizado o caminho relativo, tendo como base i3geo/diretorio
  310 +
  311 + Tipo:
  312 + {string}
263 */ 313 */
264 $atlasxml = ""; 314 $atlasxml = "";
265 /* 315 /*
266 - Variable: $expoeMapfile 316 + Variable: expoeMapfile
267 317
268 Essa variável controla se o nome do mapfile atual será ou não retornado para a aplicação via ajax. 318 Essa variável controla se o nome do mapfile atual será ou não retornado para a aplicação via ajax.
269 319
270 Quando essa variável for definida como "nao" algumas das funcionalidades do i3geo poderão ficar prejudicadas, mas sem comprometimento das funções principais. 320 Quando essa variável for definida como "nao" algumas das funcionalidades do i3geo poderão ficar prejudicadas, mas sem comprometimento das funções principais.
  321 +
  322 + Tipo:
  323 + {string}
271 */ 324 */
272 $expoeMapfile = ""; 325 $expoeMapfile = "";
273 /* 326 /*
274 - Variable: $conexaoadmin 327 + Variable: conexaoadmin
275 328
276 Arquivo PHP que define a string de conexão (PDO) com o banco de dados administrativo. 329 Arquivo PHP que define a string de conexão (PDO) com o banco de dados administrativo.
277 330
@@ -287,8 +340,23 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -287,8 +340,23 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
287 340
288 O programa PHP que estabelece a conexão deve retornar objetos com nomes padronizados. Veja o arquivo i3geo/admin/conexao.php para maiores detalhes. 341 O programa PHP que estabelece a conexão deve retornar objetos com nomes padronizados. Veja o arquivo i3geo/admin/conexao.php para maiores detalhes.
289 342
  343 + Tipo:
  344 + {string}
290 */ 345 */
291 $conexaoadmin = "";//$locaplic."/admin/php/conexaomma.php"; 346 $conexaoadmin = "";//$locaplic."/admin/php/conexaomma.php";
  347 + /*
  348 + Variable: interfacePadrao
  349 +
  350 + Interface padrão utilizada para abrir o mapa.
  351 +
  352 + A interface pode ser um arquivo com as extensões .htm .html .phtml
  353 +
  354 + O arquivo deve estar armazenado em i3geo/aplicmap
  355 +
  356 + Tipo:
  357 + {string}
  358 + */
  359 + $interfacePadrao = "geral.htm";
292 } 360 }
293 else //se for linux 361 else //se for linux
294 { 362 {
@@ -310,5 +378,6 @@ else //se for linux @@ -310,5 +378,6 @@ else //se for linux
310 $atlasxml = "";//"../menutemas/atlas.xml"; 378 $atlasxml = "";//"../menutemas/atlas.xml";
311 $expoeMapfile = "sim"; 379 $expoeMapfile = "sim";
312 $conexaoadmin = ""; 380 $conexaoadmin = "";
  381 + $interfacePadrao = "geral.htm";
313 } 382 }
314 ?> 383 ?>
ms_criamapa.php
@@ -23,9 +23,13 @@ $temasa=bioma; @@ -23,9 +23,13 @@ $temasa=bioma;
23 include("ms_criamapa.php"); 23 include("ms_criamapa.php");
24 24
25 25
26 -File: i3geo/ms_criamapa.php 26 +Arquivo:
27 27
28 -About: Licença 28 +i3geo/ms_criamapa.php
  29 +
  30 +Licenca:
  31 +
  32 +GPL2
29 33
30 I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 34 I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
31 35
@@ -45,7 +49,7 @@ GNU junto com este programa; se não, escreva para a @@ -45,7 +49,7 @@ GNU junto com este programa; se não, escreva para a
45 Free Software Foundation, Inc., no endereço 49 Free Software Foundation, Inc., no endereço
46 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. 50 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
47 51
48 -About: Parâmetros 52 +
49 53
50 base - arquivo mapfile que servirá de base para a criação do mapa.Por default, são utilizados os arquivos aplicmap/geral1.map (para linux) ou aplicmap/geral1windows.map (para windows). 54 base - arquivo mapfile que servirá de base para a criação do mapa.Por default, são utilizados os arquivos aplicmap/geral1.map (para linux) ou aplicmap/geral1windows.map (para windows).
51 55
@@ -101,17 +105,17 @@ srs_wms - código da projeção @@ -101,17 +105,17 @@ srs_wms - código da projeção
101 105
102 image_wms - tipo de imagem disponível 106 image_wms - tipo de imagem disponível
103 107
104 -versao_wms - versão do WMS 108 +Parametro: versao_wms
105 109
  110 +&versao_wms
  111 +
  112 +Versão do WMS
106 113
107 -*/  
108 114
109 -/*  
110 -Section: Fluxo do código  
111 */ 115 */
112 -$tempo = microtime(1); 116 +
113 /* 117 /*
114 -Note: Verifica a variável $caminho 118 +Verifica a variável $caminho
115 119
116 Essa variável deve ser definida em programas que utilizam o ms_criamapa.php via include. 120 Essa variável deve ser definida em programas que utilizam o ms_criamapa.php via include.
117 Indica onde está o diretório i3geo para que os includes seguintes possam ser localizados. 121 Indica onde está o diretório i3geo para que os includes seguintes possam ser localizados.
@@ -124,20 +128,21 @@ if (!file_exists($caminho.&quot;classesphp/carrega_ext.php&quot;)) @@ -124,20 +128,21 @@ if (!file_exists($caminho.&quot;classesphp/carrega_ext.php&quot;))
124 if (isset($_GET["caminho"])) 128 if (isset($_GET["caminho"]))
125 {$caminho = $_GET["caminho"];} 129 {$caminho = $_GET["caminho"];}
126 /* 130 /*
127 -Note: Carrega as extensões PHP 131 + Carrega as extensões PHP
128 132
129 Carrega as extensões utilizadas no programa de inicialização. 133 Carrega as extensões utilizadas no programa de inicialização.
130 A carga das extensões geralmente é necessária nas instalações windows (ms4w) ou quando as mesmas não são carregadas pela própria inicialização do PHP. 134 A carga das extensões geralmente é necessária nas instalações windows (ms4w) ou quando as mesmas não são carregadas pela própria inicialização do PHP.
131 */ 135 */
132 include_once ($caminho."classesphp/carrega_ext.php"); 136 include_once ($caminho."classesphp/carrega_ext.php");
133 /* 137 /*
134 -Note: Include dos arquivos PHP. 138 + Include dos arquivos PHP.
135 139
136 Inclui os programas php com funções utilizadas pelo ms_criamapa.php 140 Inclui os programas php com funções utilizadas pelo ms_criamapa.php
137 */ 141 */
138 include_once ($caminho."classesphp/pega_variaveis.php"); 142 include_once ($caminho."classesphp/pega_variaveis.php");
139 include_once ($caminho."classesphp/funcoes_gerais.php"); 143 include_once ($caminho."classesphp/funcoes_gerais.php");
140 -include_once ($caminho."ms_configura.php"); 144 +if(!isset($dir_tmp))
  145 +{include_once ($caminho."ms_configura.php");}
141 if (!isset($debug)) 146 if (!isset($debug))
142 {error_reporting(0);$debug="nao";} 147 {error_reporting(0);$debug="nao";}
143 else 148 else
@@ -148,7 +153,16 @@ Define o cookie para o idioma da interface @@ -148,7 +153,16 @@ Define o cookie para o idioma da interface
148 if(isset($idioma) && $idioma != "") 153 if(isset($idioma) && $idioma != "")
149 setcookie("i3geolingua", $idioma); 154 setcookie("i3geolingua", $idioma);
150 /* 155 /*
151 -Note: Prepara as variáveis que serão incluidas na seção 156 +Cria os diretórios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.
  157 +*/
  158 +$diretorios = criaDirMapa($dir_tmp);
  159 +if(!$diretorios)
  160 +{echo "<p style=color:red ><b>N&atilde;o foi po&iacute;vel criar os diret&oacute;rios tempor&aacute;rios em $dir_tmp.</b></p>";exit;}
  161 +criaIndex();
  162 +$tmpfname = $diretorios[0];
  163 +$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
  164 +/*
  165 + Prepara as variáveis que serão incluidas na seção
152 166
153 As variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com nome específico para o i3geo. 167 As variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com nome específico para o i3geo.
154 */ 168 */
@@ -187,7 +201,7 @@ $navegadoresLocais_ = &quot;sim&quot;; @@ -187,7 +201,7 @@ $navegadoresLocais_ = &quot;sim&quot;;
187 else 201 else
188 $navegadoresLocais_ = "nao"; 202 $navegadoresLocais_ = "nao";
189 /* 203 /*
190 -Note: Inicia a seção 204 + Inicia a seção
191 205
192 O i3geo inicia uma seção específica no servidor, denominada i3GeoPHP. 206 O i3geo inicia uma seção específica no servidor, denominada i3GeoPHP.
193 Se já houver uma seção aberta, em função de outro browser estar ativo, cria uma nova. Faz a cópia das variáveis definidas para itens da seção. 207 Se já houver uma seção aberta, em função de outro browser estar ativo, cria uma nova. Faz a cópia das variáveis definidas para itens da seção.
@@ -199,15 +213,15 @@ if(isset($_SESSION[&quot;map_file&quot;]) || $g_sid!=&quot;&quot;) @@ -199,15 +213,15 @@ if(isset($_SESSION[&quot;map_file&quot;]) || $g_sid!=&quot;&quot;)
199 {session_regenerate_id();} 213 {session_regenerate_id();}
200 214
201 /* 215 /*
202 -Note: Aguarde 216 + Aguarde
203 217
204 Monta a apresentação do aguarde. 218 Monta a apresentação do aguarde.
205 219
206 Aqui é necessário verificar se $executa está definido 220 Aqui é necessário verificar se $executa está definido
207 isso pq algumas aplicações podem ser prejudicadas caso o aguarde seja mostrado 221 isso pq algumas aplicações podem ser prejudicadas caso o aguarde seja mostrado
208 */ 222 */
209 -if (!isset($executa))  
210 -{mostraAguarde();} 223 +//if (!isset($executa))
  224 +//{mostraAguarde();}
211 225
212 $_SESSION["dir_tmp"] = $dir_tmp_; 226 $_SESSION["dir_tmp"] = $dir_tmp_;
213 $_SESSION["temasdir"] = $temasdir_; 227 $_SESSION["temasdir"] = $temasdir_;
@@ -236,6 +250,9 @@ $_SESSION[&quot;kmlurl&quot;] = $kmlurl_; @@ -236,6 +250,9 @@ $_SESSION[&quot;kmlurl&quot;] = $kmlurl_;
236 //rotina de segurança, ver http://shiflett.org/articles/the-truth-about-sessions 250 //rotina de segurança, ver http://shiflett.org/articles/the-truth-about-sessions
237 $fingerprint = 'I3GEOSEC' . $_SERVER['HTTP_USER_AGENT']; 251 $fingerprint = 'I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'];
238 $_SESSION['fingerprint'] = md5($fingerprint . session_id()); 252 $_SESSION['fingerprint'] = md5($fingerprint . session_id());
  253 +$_SESSION["mapdir"] = $diretorios[1];
  254 +$_SESSION["imgdir"] = $diretorios[2];
  255 +
239 // 256 //
240 //pega todas as variáveis da sessão, mesmo as que foram definidas anteriormente 257 //pega todas as variáveis da sessão, mesmo as que foram definidas anteriormente
241 // 258 //
@@ -243,7 +260,7 @@ foreach(array_keys($_SESSION) as $k) @@ -243,7 +260,7 @@ foreach(array_keys($_SESSION) as $k)
243 {eval("\$".$k."='".$_SESSION[$k]."';");} 260 {eval("\$".$k."='".$_SESSION[$k]."';");}
244 $postgis_mapa = $postgis_mapa_; 261 $postgis_mapa = $postgis_mapa_;
245 /* 262 /*
246 -Note: Define os arquivos .map 263 + Define os arquivos .map
247 264
248 Seleciona os arquivos mapfile que serão carregados como base conforme o tipo de sistema operacional. 265 Seleciona os arquivos mapfile que serão carregados como base conforme o tipo de sistema operacional.
249 266
@@ -263,40 +280,11 @@ else @@ -263,40 +280,11 @@ else
263 if (!isset($base) || $base == ""){$base = "geral1";} 280 if (!isset($base) || $base == ""){$base = "geral1";}
264 $estadosl = "estadosl"; 281 $estadosl = "estadosl";
265 } 282 }
266 -if (file_exists($base))  
267 -{$mapdefault = ms_newMapObj($base);}  
268 -else  
269 -{$mapdefault = ms_newMapObj($temasaplic."/".$base.".map");}  
270 -/*  
271 -Note: Parâmetros adicionais.  
272 -  
273 -Processa os parâmetros para a inicialização verificando se foram passados pela URL ou não.  
274 -*/  
275 -if (!isset($mapext))  
276 -{$mapext = $mapdefault->extent->minx." ".$mapdefault->extent->miny." ".$mapdefault->extent->maxx." ".$mapdefault->extent->maxy;}  
277 -if (!isset ($map_reference_image)) //arquivo com a imagem de refer&ecirc;ncia  
278 -{$map_reference_image = $mapdefault->reference->image;}  
279 -if (!isset ($map_reference_extent)) //extens&atilde;o geogr&aacute;fica da imagem do mapa de refer&ecirc;ncia  
280 -{$map_reference_extent = $mapdefault->reference->extent->minx." ".$mapdefault->reference->extent->miny." ".$mapdefault->reference->extent->maxx." ".$mapdefault->reference->extent->maxy;}  
281 -if (!isset($interface))  
282 -{$interface = "geral.htm";}  
283 /* 283 /*
284 -Note: Diretórios temporários  
285 -  
286 -Cria os diretórios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.  
287 -*/  
288 -$diretorios = criaDirMapa($dir_tmp);  
289 -if(!$diretorios)  
290 -{echo "<p style=color:red ><b>N&atilde;o foi po&iacute;vel criar os diret&oacute;rios tempor&aacute;rios em $dir_tmp.</b></p>";exit;}  
291 -$_SESSION["mapdir"] = $diretorios[1];  
292 -$_SESSION["imgdir"] = $diretorios[2];  
293 -criaIndex();  
294 -/*  
295 -Note: Cria os objetos map que serão processados 284 + Cria os objetos map que serão processados
296 285
297 O arquivo definido em $base é lido como um objeto map. Esse objeto será processado para incluir novos layers e alterar outros parâmetros definidos pelo usuário. 286 O arquivo definido em $base é lido como um objeto map. Esse objeto será processado para incluir novos layers e alterar outros parâmetros definidos pelo usuário.
298 */ 287 */
299 -ms_ResetErrorList();  
300 if (file_exists($base)) 288 if (file_exists($base))
301 { 289 {
302 $map = ms_newMapObj($base); 290 $map = ms_newMapObj($base);
@@ -307,40 +295,25 @@ else @@ -307,40 +295,25 @@ else
307 $map = ms_newMapObj($temasaplic."/".$base.".map"); 295 $map = ms_newMapObj($temasaplic."/".$base.".map");
308 $mapn = ms_newMapObj($temasaplic."/".$base.".map"); 296 $mapn = ms_newMapObj($temasaplic."/".$base.".map");
309 } 297 }
310 -$error = ms_GetErrorObj();  
311 -while($error && $error->code != MS_NOERR)  
312 -{  
313 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
314 - $error = $error->next();  
315 -}  
316 -ms_ResetErrorList();  
317 /* 298 /*
318 -Note: Incluí temas 299 + Parâmetros adicionais.
319 300
320 -Verifica a lista de temas da inicializacao, adicionando-os se necessário 301 +Processa os parâmetros para a inicialização verificando se foram passados pela URL ou não.
321 */ 302 */
  303 +if (!isset($mapext))
  304 +{$mapext = $map->extent->minx." ".$map->extent->miny." ".$map->extent->maxx." ".$map->extent->maxy;}
  305 +if (!isset ($map_reference_image)) //arquivo com a imagem de refer&ecirc;ncia
  306 +{$map_reference_image = $map->reference->image;}
  307 +if (!isset ($map_reference_extent)) //extens&atilde;o geogr&aacute;fica da imagem do mapa de refer&ecirc;ncia
  308 +{$map_reference_extent = $map->reference->extent->minx." ".$map->reference->extent->miny." ".$map->reference->extent->maxx." ".$map->reference->extent->maxy;}
  309 +if (!isset($interface))
  310 +{$interface = $interfacePadrao;}
  311 +
322 incluiTemasIniciais(); 312 incluiTemasIniciais();
323 -$error = ms_GetErrorObj();  
324 -while($error && $error->code != MS_NOERR)  
325 -{  
326 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
327 - $error = $error->next();  
328 -}  
329 -ms_ResetErrorList();  
330 -/*  
331 -Note: Liga os temas definidos em $layers  
332 -*/  
333 -ligaTemas();  
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();  
341 -/*  
342 -Note: Aplica ao mapa os parâmetros passados pela URL  
343 -*/ 313 +
  314 +if(isset($layers))
  315 +{ligaTemas();}
  316 +
344 if (isset($map_reference_image)) 317 if (isset($map_reference_image))
345 {$mapn->reference->set("image",$map_reference_image);} 318 {$mapn->reference->set("image",$map_reference_image);}
346 $extr = $mapn->reference->extent; 319 $extr = $mapn->reference->extent;
@@ -368,39 +341,23 @@ if ((isset($mapext)) &amp;&amp; ($mapext != &quot;&quot;)) @@ -368,39 +341,23 @@ if ((isset($mapext)) &amp;&amp; ($mapext != &quot;&quot;))
368 if (count($newext) == 4) 341 if (count($newext) == 4)
369 {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);} 342 {$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);}
370 } 343 }
371 -$error = ms_GetErrorObj();  
372 -while($error && $error->code != MS_NOERR)  
373 -{  
374 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
375 - $error = $error->next();  
376 -}  
377 -ms_ResetErrorList();  
378 /* 344 /*
379 -Note: Configura os endereços corretos no mapfile. 345 +Configura os endereços corretos no mapfile.
380 346
381 Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho. 347 Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho.
382 */ 348 */
383 -  
384 -$protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);  
385 -  
386 $w = $mapn->web; 349 $w = $mapn->web;
387 $atual = $w->imagepath; 350 $atual = $w->imagepath;
388 $w->set("imagepath",$atual.$diretorios[2]."/"); 351 $w->set("imagepath",$atual.$diretorios[2]."/");
389 $atual = $w->imageurl; 352 $atual = $w->imageurl;
390 $w->set("imageurl",$atual.$diretorios[2]."/"); 353 $w->set("imageurl",$atual.$diretorios[2]."/");
391 -$salvo = $mapn->save($diretorios[0]); 354 +$salvo = $mapn->save($tmpfname);
  355 +
392 $_SESSION["imgurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual.$diretorios[2]."/"; 356 $_SESSION["imgurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual.$diretorios[2]."/";
393 $_SESSION["tmpurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual; 357 $_SESSION["tmpurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual;
394 -/*  
395 -Note: Faz o include de um programa se tiver sido passado pela URL (parâmetro &executa)  
396 -  
397 -Nessa altura do processo, a variável $tmpfname guarda o nome do mapfile que será utilizado pelo i3geo.  
398 -  
399 -Esse mapfile pode ser modificado pelo programa que será incluido.  
400 -*/  
401 -$tmpfname = $diretorios[0];  
402 -$_SESSION["map_file"] = $diretorios[0]; 358 +$_SESSION["map_file"] = $tmpfname;
403 $_SESSION["mapext"] = $mapext; 359 $_SESSION["mapext"] = $mapext;
  360 +
404 if (isset($executa)) 361 if (isset($executa))
405 { 362 {
406 if (file_exists($executa)) 363 if (file_exists($executa))
@@ -408,112 +365,69 @@ if (isset($executa)) @@ -408,112 +365,69 @@ if (isset($executa))
408 if (function_exists($executa)) 365 if (function_exists($executa))
409 {eval($executa."();");} 366 {eval($executa."();");}
410 } 367 }
411 -$error = ms_GetErrorObj();  
412 -while($error && $error->code != MS_NOERR)  
413 -{  
414 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
415 - $error = $error->next();  
416 -}  
417 -ms_ResetErrorList();  
418 -/*  
419 -Note: Inclui uma camada de pontos utilizando os parâmetros passados pela URL  
420 -*/  
421 -if (isset($wkt)) 368 +
  369 +if(isset($wkt))
422 {insereWKTUrl();} 370 {insereWKTUrl();}
423 -$error = ms_GetErrorObj();  
424 -while($error && $error->code != MS_NOERR)  
425 -{  
426 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
427 - $error = $error->next();  
428 -}  
429 -ms_ResetErrorList();  
430 -if (isset($pontos)) 371 +
  372 +if(isset($pontos))
431 {inserePontosUrl();} 373 {inserePontosUrl();}
432 -$error = ms_GetErrorObj();  
433 -while($error && $error->code != MS_NOERR)  
434 -{  
435 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
436 - $error = $error->next();  
437 -}  
438 -ms_ResetErrorList();  
439 -/*  
440 -Note: Inclui uma camada de linhas utilizando os parâmetros passados pela URL  
441 -*/  
442 -if (isset($linhas)) 374 +
  375 +if(isset($linhas))
443 {insereLinhasUrl();} 376 {insereLinhasUrl();}
444 -$error = ms_GetErrorObj();  
445 -while($error && $error->code != MS_NOERR)  
446 -{  
447 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
448 - $error = $error->next();  
449 -}  
450 -ms_ResetErrorList();  
451 -/*  
452 -Note: Inclui uma camada de polígonos utilizando os parâmetros passados pela URL  
453 -*/  
454 -if (isset($poligonos)) 377 +
  378 +if(isset($poligonos))
455 {inserePoligonosUrl();} 379 {inserePoligonosUrl();}
456 -/*  
457 -Note: inclui um tema wms se for o caso  
458 380
459 -Verifica os parâmetros WMS e adiciona uma camada se for o caso  
460 -*/  
461 if(isset($url_wms)) 381 if(isset($url_wms))
462 {incluiTemaWms();} 382 {incluiTemaWms();}
463 383
464 -$error = ms_GetErrorObj();  
465 -while($error && $error->code != MS_NOERR)  
466 -{  
467 - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);  
468 - $error = $error->next();  
469 -}  
470 -ms_ResetErrorList(); 384 +adaptaLayers();
  385 +if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/geoip/GeoLiteCity.dat"))
  386 +{require_once($caminho."ms_registraip.php");}
  387 +
  388 +if ($interface != "mashup")
  389 +{abreInterface();}
471 390
472 -//  
473 -//se vc quiser parar o script aqui, para verificar erros, descomente a linha abaixo  
474 -//  
475 -//exit  
476 /* 391 /*
477 -Note: Adapta os dados de cada layer. 392 +Function: adaptaLayers
  393 +
  394 +Adapta os dados de cada layer.
478 395
479 Faz alterações em cada layer caso sejam necessárias. 396 Faz alterações em cada layer caso sejam necessárias.
480 */ 397 */
481 -$mapa = ms_newMapObj($tmpfname);  
482 -$path = $mapa->shapepath;  
483 -for($i=0;$i<($mapa->numlayers);++$i)  
484 -{  
485 - $layer = $mapa->getLayer($i);  
486 - $ok = true;  
487 - if ($layer->connection == "") 398 +function adaptaLayers(){
  399 + global $tmpfname;
  400 + $mapa = ms_newMapObj($tmpfname);
  401 + $path = $mapa->shapepath;
  402 + for($i=0;$i<($mapa->numlayers);++$i)
488 { 403 {
489 - $ok = false;  
490 - $d = $layer->data;  
491 - if((file_exists($d)) || (file_exists($d.".shp")))  
492 - {$ok = true;}  
493 - else 404 + $layer = $mapa->getLayer($i);
  405 + $ok = true;
  406 + if ($layer->connection == "")
494 { 407 {
495 - if((file_exists($path."/".$d)) || (file_exists($path."/".$d.".shp"))) 408 + $ok = false;
  409 + $d = $layer->data;
  410 + if((file_exists($d)) || (file_exists($d.".shp")))
496 {$ok = true;} 411 {$ok = true;}
  412 + else
  413 + {
  414 + if((file_exists($path."/".$d)) || (file_exists($path."/".$d.".shp")))
  415 + {$ok = true;}
  416 + }
497 } 417 }
  418 + if ($ok == false)
  419 + {$layer->set("status",MS_OFF);}
498 } 420 }
499 - if ($ok == false)  
500 - {$layer->set("status",MS_OFF);} 421 + $mapa->save($tmpfname);
  422 + erroCriacao();
501 } 423 }
502 -$mapa->save($tmpfname);  
503 -/*  
504 -Note: Obtem o IP do usuário e registra no banco de dados.  
505 -  
506 -Essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo.  
507 -Só opera corretamente se a rotina de registro tiver sido configurada corretamente.  
508 -*/  
509 -require_once($caminho."ms_registraip.php");  
510 /* 424 /*
511 -Note: Gera a url para abrir o mapa 425 +Function: abreInterface
512 426
513 -interface = arquivo html que será aberto 427 +Redireciona para o HTML definido em $interface, abrindo o mapa
514 */ 428 */
515 -if ($interface != "mashup")  
516 -{ 429 +function abreInterface(){
  430 + global $interface,$caminho,$tempo;
517 if (count(explode(".php",$interface)) > 1) 431 if (count(explode(".php",$interface)) > 1)
518 { 432 {
519 if (file_exists($caminho."aplicmap/".$interface)) 433 if (file_exists($caminho."aplicmap/".$interface))
@@ -524,19 +438,16 @@ if ($interface != &quot;mashup&quot;) @@ -524,19 +438,16 @@ if ($interface != &quot;mashup&quot;)
524 } 438 }
525 else 439 else
526 { 440 {
527 - echo "<br><br><span style='color:gray;font-size: 10px;font-family: Verdana, Arial, Helvetica, sans-serif;' >Tempo de processamento no servidor em segundos: ".((microtime(1) - $tempo))."<span>";  
528 -  
529 if (file_exists($caminho."aplicmap/".$interface)) 441 if (file_exists($caminho."aplicmap/".$interface))
530 {$urln = $caminho."aplicmap/".$interface."?".session_id();} 442 {$urln = $caminho."aplicmap/".$interface."?".session_id();}
531 else 443 else
532 {$urln = $interface."?".session_id();} 444 {$urln = $interface."?".session_id();}
533 - //header("Location:".$urln);  
534 - echo "<meta http-equiv='refresh' content='0;url=$urln'>";  
535 - } 445 + if(!headers_sent())
  446 + {header("Location:".$urln);}
  447 + else
  448 + {echo "<meta http-equiv='refresh' content='0;url=$urln'>";}
  449 + }
536 } 450 }
537 -//////////////////////////////////////////////////////////////////////////////  
538 -//funções  
539 -/////////////////////////////////////////////////////////////////////////////  
540 /* 451 /*
541 Function: ligaTemas 452 Function: ligaTemas
542 453
@@ -570,6 +481,7 @@ function ligaTemas() @@ -570,6 +481,7 @@ function ligaTemas()
570 } 481 }
571 } 482 }
572 } 483 }
  484 + erroCriacao();
573 } 485 }
574 /* 486 /*
575 Function: incluiTemasIniciais 487 Function: incluiTemasIniciais
@@ -631,6 +543,7 @@ function incluiTemasIniciais() @@ -631,6 +543,7 @@ function incluiTemasIniciais()
631 $of = &$mapn->outputformat; 543 $of = &$mapn->outputformat;
632 $of->set("imagemode",MS_IMAGEMODE_RGB); 544 $of->set("imagemode",MS_IMAGEMODE_RGB);
633 } 545 }
  546 + erroCriacao();
634 } 547 }
635 /* 548 /*
636 Function: criaIndex 549 Function: criaIndex
@@ -766,6 +679,7 @@ function insereWKTUrl() @@ -766,6 +679,7 @@ function insereWKTUrl()
766 $cor = $estilo->color; 679 $cor = $estilo->color;
767 $cor->setRGB(255,0,0); 680 $cor->setRGB(255,0,0);
768 $salvo = $mapa->save($tmpfname); 681 $salvo = $mapa->save($tmpfname);
  682 + erroCriacao();
769 } 683 }
770 /* 684 /*
771 Function: inserePontosUrl 685 Function: inserePontosUrl
@@ -837,6 +751,7 @@ function inserePontosUrl() @@ -837,6 +751,7 @@ function inserePontosUrl()
837 $cor = $estilo->color; 751 $cor = $estilo->color;
838 $cor->setRGB(255,0,0); 752 $cor->setRGB(255,0,0);
839 $salvo = $mapa->save($tmpfname); 753 $salvo = $mapa->save($tmpfname);
  754 + erroCriacao();
840 } 755 }
841 /* 756 /*
842 Function: insereLinhasUrl 757 Function: insereLinhasUrl
@@ -917,6 +832,7 @@ function insereLinhasUrl() @@ -917,6 +832,7 @@ function insereLinhasUrl()
917 $cor = $estilo->color; 832 $cor = $estilo->color;
918 $cor->setRGB(255,0,0); 833 $cor->setRGB(255,0,0);
919 $salvo = $mapa->save($tmpfname); 834 $salvo = $mapa->save($tmpfname);
  835 + erroCriacao();
920 } 836 }
921 /* 837 /*
922 Function: inserePoligonosUrl 838 Function: inserePoligonosUrl
@@ -1000,9 +916,12 @@ function inserePoligonosUrl() @@ -1000,9 +916,12 @@ function inserePoligonosUrl()
1000 $cor = $estilo->color; 916 $cor = $estilo->color;
1001 $cor->setRGB(255,0,0); 917 $cor->setRGB(255,0,0);
1002 $salvo = $mapa->save($tmpfname); 918 $salvo = $mapa->save($tmpfname);
  919 + erroCriacao();
1003 } 920 }
1004 /* 921 /*
1005 Function: incluiTemaWms 922 Function: incluiTemaWms
  923 +
  924 +Inclui no mapa um tema do tipo WMS
1006 */ 925 */
1007 function incluiTemaWms() 926 function incluiTemaWms()
1008 { 927 {
@@ -1015,5 +934,16 @@ function incluiTemaWms() @@ -1015,5 +934,16 @@ function incluiTemaWms()
1015 $m = new Mapa($tmpfname); 934 $m = new Mapa($tmpfname);
1016 $m->adicionatemawms($layer_wms,$url_wms,$style_wms,$srs_wms,$image_wms,$locaplic,"",$versao_wms,$nome,"","","","","nao","text/plain",""); 935 $m->adicionatemawms($layer_wms,$url_wms,$style_wms,$srs_wms,$image_wms,$locaplic,"",$versao_wms,$nome,"","","","","nao","text/plain","");
1017 $salvo = $m->salva($tmpfname); 936 $salvo = $m->salva($tmpfname);
  937 + erroCriacao();
1018 } 938 }
  939 +function erroCriacao(){
  940 + $error = ms_GetErrorObj();
  941 + while($error && $error->code != MS_NOERR)
  942 + {
  943 + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message);
  944 + $error = $error->next();
  945 + }
  946 + ms_ResetErrorList();
  947 +}
  948 +
1019 ?> 949 ?>
1020 \ No newline at end of file 950 \ No newline at end of file
@@ -358,7 +358,7 @@ Title: Página principal com a lista de aplicativos do i3geo @@ -358,7 +358,7 @@ Title: Página principal com a lista de aplicativos do i3geo
358 358
359 Mostra a lista de aplicativos que são fornecidos junto com o i3geo. 359 Mostra a lista de aplicativos que são fornecidos junto com o i3geo.
360 360
361 -Exemplo: 361 +Link:
362 362
363 http://localhost/i3geo/principal.htm 363 http://localhost/i3geo/principal.htm
364 364