Commit 285785ff2779e2cd0fc6ea89cf0ece22ffb43baf
1 parent
39fa7f25
Exists in
master
and in
7 other branches
Inclusão de variável para definir a interface (ms_configura.php). Reformulação n…
…a inicialização para ganho de performance.
Showing
4 changed files
with
232 additions
and
224 deletions
Show diff stats
aplicmap/geral.htm
... | ... | @@ -159,9 +159,18 @@ vc pode optar por colocar mensagens de ajuda em algum lugar |
159 | 159 | <!-- aqui são mostradas imagens obtidas do metadata mensagem que pode existir em cada layer --> |
160 | 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 | 161 | <tr style="border:0px"><td colspan=3 style=background-color:black;color:white >geoprocessamento@mma.gov.br</td></tr> |
162 | - | |
163 | 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 | 175 | Barra de botoes que serão incluídos na janela móvel de navegação |
167 | 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 | 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 | 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 | 27 | I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet |
24 | 28 | |
... | ... | @@ -39,32 +43,41 @@ Free Software Foundation, Inc., no endereço |
39 | 43 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
40 | 44 | */ |
41 | 45 | /* |
42 | - Variable: $mensagemInicia | |
46 | + Variavel: mensagemInicia | |
43 | 47 | |
44 | 48 | Mensagem de inicialização mostrada pelo programa ms_criamapa.php |
49 | + | |
50 | + Tipo: | |
51 | + {string} | |
45 | 52 | */ |
46 | 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 | 62 | $tituloInstituicao = "MMA - Ministerio do Meio Ambiente"; |
53 | 63 | /* |
54 | - Variable: $googleApiKey | |
64 | + Variable: googleApiKey | |
55 | 65 | |
56 | 66 | Chave utilizada pela API do Google maps. |
57 | 67 | |
58 | 68 | A API do Google maps é utilizada em algumas funcionalidades do i3geo. Vc deve registrar uma chave |
59 | 69 | no site do Google para o seu endereço de servidor web. veja como fazer em: |
60 | 70 | http://code.google.com/apis/maps/signup.html |
71 | + | |
72 | + Tipo: | |
73 | + {string} | |
61 | 74 | */ |
62 | 75 | $googleApiKey = "ABQIAAAAKguAlmd-hSDulF2T_tfWMxT3OAK09d_ZSDyC36iPGlww-4j-9xSrR2ZZUxVeZC01q8anfe5ntl_U4w"; |
63 | 76 | |
64 | 77 | if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
65 | 78 | { |
66 | 79 | /* |
67 | - Variable: $navegadoresLocais | |
80 | + Variable: navegadoresLocais | |
68 | 81 | |
69 | 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) == 'WIN')) |
81 | 94 | $navegadoresLocais = ""; |
82 | 95 | |
83 | 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 | 101 | $navegadoresLocais = array( |
87 | 102 | array( |
... | ... | @@ -93,50 +108,68 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
93 | 108 | ) |
94 | 109 | ); |
95 | 110 | /* |
96 | - Variable: $editores | |
111 | + Variable: editores | |
97 | 112 | |
98 | 113 | Ip dos usuarios que podem administrar o i3geo via navegador. |
99 | 114 | |
100 | 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 | 120 | $editores = array("127.0.0.1","localhost"); |
103 | 121 | /* |
104 | - Variable: $dir_tmp | |
122 | + Variable: dir_tmp | |
105 | 123 | |
106 | 124 | Caminho completo do diretório temporário utilizado pelo mapserver. |
125 | + | |
126 | + Tipo: | |
127 | + {string} | |
107 | 128 | */ |
108 | 129 | $dir_tmp = "c:/ms4w/tmp/ms_tmp"; |
109 | 130 | /* |
110 | - Variable: $locaplic | |
131 | + Variable: locaplic | |
111 | 132 | |
112 | 133 | Caminho completo onde fica o I3Geo |
134 | + | |
135 | + Tipo: | |
136 | + {string} | |
113 | 137 | */ |
114 | 138 | $locaplic = "c:/ms4w/apache/htdocs/i3geo"; |
115 | 139 | /* |
116 | - Variable: $temasdir | |
140 | + Variable: temasdir | |
117 | 141 | |
118 | 142 | Caminho completo do diretório onde ficam os arquivos .map correspondentes aos temas disponíveis |
119 | 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 | 148 | $temasdir = $locaplic."/temas"; //"c:/ms4w/apache/htdocs/i3geo/temas"; |
122 | 149 | /* |
123 | - Variable: $temasaplic | |
150 | + Variable: temasaplic | |
124 | 151 | |
125 | 152 | Caminho completo onde ficam os arquivos .map específicos do I3Geo |
153 | + | |
154 | + Tipo: | |
155 | + {string} | |
126 | 156 | */ |
127 | 157 | $temasaplic = $locaplic."/aplicmap";//"c:\ms4w\apache\htdocs\i3geo\aplicmap"; |
128 | 158 | /* |
129 | - Variable: $locmapserv | |
159 | + Variable: locmapserv | |
130 | 160 | |
131 | 161 | Localização do executável do Mapserver conforme deve ser acrescentado a URL após o nome do host. |
132 | 162 | |
133 | 163 | Essa variável é necessária em processos que utilizam o mapserver no modo CGI. |
134 | 164 | |
135 | 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 | 170 | $locmapserv = "/cgi-bin/mapserv.exe"; |
138 | 171 | /* |
139 | - Variable: $locsistemas | |
172 | + Variable: locsistemas | |
140 | 173 | |
141 | 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) == 'WIN')) |
147 | 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 | 182 | Veja a documentação específica do arquivo sistemas.xml para maiores detalhes. |
183 | + | |
184 | + Tipo: | |
185 | + {string} | |
150 | 186 | */ |
151 | 187 | $locsistemas = ""; |
152 | 188 | /* |
153 | - Variable: $locidentifica | |
189 | + Variable: locidentifica | |
154 | 190 | |
155 | 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) == 'WIN')) |
161 | 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 | 199 | Veja a documentação específica do arquivo identifica.xml para maiores detalhes. |
200 | + | |
201 | + Tipo: | |
202 | + {string} | |
164 | 203 | */ |
165 | 204 | $locidentifica = ""; |
166 | 205 | /* |
167 | - Variable: $locmapas | |
206 | + Variable: locmapas | |
168 | 207 | |
169 | 208 | Onde fica o xml, para preencher a guia mapas. |
170 | 209 | |
... | ... | @@ -173,37 +212,36 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
173 | 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 | 214 | Veja a documentação específica do arquivo mapas.xml para maiores detalhes. |
215 | + | |
216 | + Tipo: | |
217 | + {string} | |
176 | 218 | */ |
177 | 219 | $locmapas = ""; |
178 | 220 | /* |
179 | - Variable: $R_path | |
221 | + Variable: R_path | |
180 | 222 | |
181 | 223 | Onde esta o executavel do software R |
182 | 224 | |
183 | 225 | O R é um pacote estatístico utilizado pelo I3Geo para geração de gráficos e análises estatísticas |
184 | 226 | Se vc não possui o R instalado, comente a linha abaixo |
227 | + | |
228 | + Tipo: | |
229 | + {string} | |
185 | 230 | */ |
186 | 231 | $R_path = "c:/r/win/bin/R.exe"; |
187 | 232 | /* |
188 | - Variable: $postgis_con | |
189 | - | |
190 | 233 | Depreciado - não é mais necessário na versão 5.x do Mapserver |
191 | - | |
192 | 234 | string de conexão com o banco de dados postgis utilizada para reallização de cálculos |
193 | - | |
194 | 235 | se não existir, deixe em branco |
195 | 236 | */ |
196 | 237 | $postgis_con = ""; |
197 | 238 | /* |
198 | - Variable: $srid_area | |
199 | - | |
200 | 239 | Depreciado - não é mais necessário na versão 5.x do Mapserver |
201 | - | |
202 | 240 | srid utilizado nos cálculos que exigem projeção equivalente |
203 | 241 | */ |
204 | 242 | $srid_area = 1; |
205 | 243 | /* |
206 | - Variable: $postgis_mapa | |
244 | + Variable: postgis_mapa | |
207 | 245 | |
208 | 246 | String de conexão para acesso aos dados (opcional). |
209 | 247 | |
... | ... | @@ -214,10 +252,13 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) |
214 | 252 | Se vc especificar essa variável, o mapa será forçado a recusar o modo de operação CGI. |
215 | 253 | |
216 | 254 | Para mais detalhes veja a função substituiCon em classesphp/funcoes_gerais.php |
255 | + | |
256 | + Tipo: | |
257 | + {array} | |
217 | 258 | */ |
218 | 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 | 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) == 'WIN')) |
237 | 278 | |
238 | 279 | Para usar o menu default, utilize apenas $menutemas = ""; nesse caso, os menus serão obtidos do |
239 | 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 | 285 | $menutemas = ""; |
242 | 286 | /* |
243 | - Variable: $utilizacgi | |
287 | + Variable: utilizacgi | |
244 | 288 | |
245 | 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) == 'WIN')) |
252 | 296 | o endereço do cgi acrescentado do nome do mapfile, fazendo com que a imagem seja retornada diretamente. |
253 | 297 | |
254 | 298 | Em alguns casos o uso do cgi torna a aplicação mais rápida. |
299 | + | |
300 | + Tipo: | |
301 | + {string} | |
255 | 302 | */ |
256 | 303 | $utilizacgi = "nao"; |
257 | 304 | /* |
258 | - Variable: $atlasxml | |
305 | + Variable: atlasxml | |
259 | 306 | |
260 | 307 | Indica o nome do arquivo xml que será utilizado na interface Atlas do i3geo. |
261 | 308 | |
262 | 309 | Pode ser utilizado o caminho relativo, tendo como base i3geo/diretorio |
310 | + | |
311 | + Tipo: | |
312 | + {string} | |
263 | 313 | */ |
264 | 314 | $atlasxml = ""; |
265 | 315 | /* |
266 | - Variable: $expoeMapfile | |
316 | + Variable: expoeMapfile | |
267 | 317 | |
268 | 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 | 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 | 325 | $expoeMapfile = ""; |
273 | 326 | /* |
274 | - Variable: $conexaoadmin | |
327 | + Variable: conexaoadmin | |
275 | 328 | |
276 | 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) == 'WIN')) |
287 | 340 | |
288 | 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 | 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 | 361 | else //se for linux |
294 | 362 | { |
... | ... | @@ -310,5 +378,6 @@ else //se for linux |
310 | 378 | $atlasxml = "";//"../menutemas/atlas.xml"; |
311 | 379 | $expoeMapfile = "sim"; |
312 | 380 | $conexaoadmin = ""; |
381 | + $interfacePadrao = "geral.htm"; | |
313 | 382 | } |
314 | 383 | ?> | ... | ... |
ms_criamapa.php
... | ... | @@ -23,9 +23,13 @@ $temasa=bioma; |
23 | 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 | 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 | 49 | Free Software Foundation, Inc., no endereço |
46 | 50 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
47 | 51 | |
48 | -About: Parâmetros | |
52 | + | |
49 | 53 | |
50 | 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 | 105 | |
102 | 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 | 120 | Essa variável deve ser definida em programas que utilizam o ms_criamapa.php via include. |
117 | 121 | Indica onde está o diretório i3geo para que os includes seguintes possam ser localizados. |
... | ... | @@ -124,20 +128,21 @@ if (!file_exists($caminho."classesphp/carrega_ext.php")) |
124 | 128 | if (isset($_GET["caminho"])) |
125 | 129 | {$caminho = $_GET["caminho"];} |
126 | 130 | /* |
127 | -Note: Carrega as extensões PHP | |
131 | + Carrega as extensões PHP | |
128 | 132 | |
129 | 133 | Carrega as extensões utilizadas no programa de inicialização. |
130 | 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 | 136 | include_once ($caminho."classesphp/carrega_ext.php"); |
133 | 137 | /* |
134 | -Note: Include dos arquivos PHP. | |
138 | + Include dos arquivos PHP. | |
135 | 139 | |
136 | 140 | Inclui os programas php com funções utilizadas pelo ms_criamapa.php |
137 | 141 | */ |
138 | 142 | include_once ($caminho."classesphp/pega_variaveis.php"); |
139 | 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 | 146 | if (!isset($debug)) |
142 | 147 | {error_reporting(0);$debug="nao";} |
143 | 148 | else |
... | ... | @@ -148,7 +153,16 @@ Define o cookie para o idioma da interface |
148 | 153 | if(isset($idioma) && $idioma != "") |
149 | 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ão foi poível criar os diretórios temporá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 | 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_ = "sim"; |
187 | 201 | else |
188 | 202 | $navegadoresLocais_ = "nao"; |
189 | 203 | /* |
190 | -Note: Inicia a seção | |
204 | + Inicia a seção | |
191 | 205 | |
192 | 206 | O i3geo inicia uma seção específica no servidor, denominada i3GeoPHP. |
193 | 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["map_file"]) || $g_sid!="") |
199 | 213 | {session_regenerate_id();} |
200 | 214 | |
201 | 215 | /* |
202 | -Note: Aguarde | |
216 | + Aguarde | |
203 | 217 | |
204 | 218 | Monta a apresentação do aguarde. |
205 | 219 | |
206 | 220 | Aqui é necessário verificar se $executa está definido |
207 | 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 | 226 | $_SESSION["dir_tmp"] = $dir_tmp_; |
213 | 227 | $_SESSION["temasdir"] = $temasdir_; |
... | ... | @@ -236,6 +250,9 @@ $_SESSION["kmlurl"] = $kmlurl_; |
236 | 250 | //rotina de segurança, ver http://shiflett.org/articles/the-truth-about-sessions |
237 | 251 | $fingerprint = 'I3GEOSEC' . $_SERVER['HTTP_USER_AGENT']; |
238 | 252 | $_SESSION['fingerprint'] = md5($fingerprint . session_id()); |
253 | +$_SESSION["mapdir"] = $diretorios[1]; | |
254 | +$_SESSION["imgdir"] = $diretorios[2]; | |
255 | + | |
239 | 256 | // |
240 | 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 | 260 | {eval("\$".$k."='".$_SESSION[$k]."';");} |
244 | 261 | $postgis_mapa = $postgis_mapa_; |
245 | 262 | /* |
246 | -Note: Define os arquivos .map | |
263 | + Define os arquivos .map | |
247 | 264 | |
248 | 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 | 280 | if (!isset($base) || $base == ""){$base = "geral1";} |
264 | 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ência | |
278 | -{$map_reference_image = $mapdefault->reference->image;} | |
279 | -if (!isset ($map_reference_extent)) //extensão geográfica da imagem do mapa de referê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ão foi poível criar os diretórios temporá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 | 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 | 288 | if (file_exists($base)) |
301 | 289 | { |
302 | 290 | $map = ms_newMapObj($base); |
... | ... | @@ -307,40 +295,25 @@ else |
307 | 295 | $map = ms_newMapObj($temasaplic."/".$base.".map"); |
308 | 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ência | |
306 | +{$map_reference_image = $map->reference->image;} | |
307 | +if (!isset ($map_reference_extent)) //extensão geográfica da imagem do mapa de referê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 | 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 | 317 | if (isset($map_reference_image)) |
345 | 318 | {$mapn->reference->set("image",$map_reference_image);} |
346 | 319 | $extr = $mapn->reference->extent; |
... | ... | @@ -368,39 +341,23 @@ if ((isset($mapext)) && ($mapext != "")) |
368 | 341 | if (count($newext) == 4) |
369 | 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 | 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 | 349 | $w = $mapn->web; |
387 | 350 | $atual = $w->imagepath; |
388 | 351 | $w->set("imagepath",$atual.$diretorios[2]."/"); |
389 | 352 | $atual = $w->imageurl; |
390 | 353 | $w->set("imageurl",$atual.$diretorios[2]."/"); |
391 | -$salvo = $mapn->save($diretorios[0]); | |
354 | +$salvo = $mapn->save($tmpfname); | |
355 | + | |
392 | 356 | $_SESSION["imgurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual.$diretorios[2]."/"; |
393 | 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 | 359 | $_SESSION["mapext"] = $mapext; |
360 | + | |
404 | 361 | if (isset($executa)) |
405 | 362 | { |
406 | 363 | if (file_exists($executa)) |
... | ... | @@ -408,112 +365,69 @@ if (isset($executa)) |
408 | 365 | if (function_exists($executa)) |
409 | 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 | 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 | 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 | 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 | 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 | 381 | if(isset($url_wms)) |
462 | 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 | 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 | 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 | 431 | if (count(explode(".php",$interface)) > 1) |
518 | 432 | { |
519 | 433 | if (file_exists($caminho."aplicmap/".$interface)) |
... | ... | @@ -524,19 +438,16 @@ if ($interface != "mashup") |
524 | 438 | } |
525 | 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 | 441 | if (file_exists($caminho."aplicmap/".$interface)) |
530 | 442 | {$urln = $caminho."aplicmap/".$interface."?".session_id();} |
531 | 443 | else |
532 | 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 | 452 | Function: ligaTemas |
542 | 453 | |
... | ... | @@ -570,6 +481,7 @@ function ligaTemas() |
570 | 481 | } |
571 | 482 | } |
572 | 483 | } |
484 | + erroCriacao(); | |
573 | 485 | } |
574 | 486 | /* |
575 | 487 | Function: incluiTemasIniciais |
... | ... | @@ -631,6 +543,7 @@ function incluiTemasIniciais() |
631 | 543 | $of = &$mapn->outputformat; |
632 | 544 | $of->set("imagemode",MS_IMAGEMODE_RGB); |
633 | 545 | } |
546 | + erroCriacao(); | |
634 | 547 | } |
635 | 548 | /* |
636 | 549 | Function: criaIndex |
... | ... | @@ -766,6 +679,7 @@ function insereWKTUrl() |
766 | 679 | $cor = $estilo->color; |
767 | 680 | $cor->setRGB(255,0,0); |
768 | 681 | $salvo = $mapa->save($tmpfname); |
682 | + erroCriacao(); | |
769 | 683 | } |
770 | 684 | /* |
771 | 685 | Function: inserePontosUrl |
... | ... | @@ -837,6 +751,7 @@ function inserePontosUrl() |
837 | 751 | $cor = $estilo->color; |
838 | 752 | $cor->setRGB(255,0,0); |
839 | 753 | $salvo = $mapa->save($tmpfname); |
754 | + erroCriacao(); | |
840 | 755 | } |
841 | 756 | /* |
842 | 757 | Function: insereLinhasUrl |
... | ... | @@ -917,6 +832,7 @@ function insereLinhasUrl() |
917 | 832 | $cor = $estilo->color; |
918 | 833 | $cor->setRGB(255,0,0); |
919 | 834 | $salvo = $mapa->save($tmpfname); |
835 | + erroCriacao(); | |
920 | 836 | } |
921 | 837 | /* |
922 | 838 | Function: inserePoligonosUrl |
... | ... | @@ -1000,9 +916,12 @@ function inserePoligonosUrl() |
1000 | 916 | $cor = $estilo->color; |
1001 | 917 | $cor->setRGB(255,0,0); |
1002 | 918 | $salvo = $mapa->save($tmpfname); |
919 | + erroCriacao(); | |
1003 | 920 | } |
1004 | 921 | /* |
1005 | 922 | Function: incluiTemaWms |
923 | + | |
924 | +Inclui no mapa um tema do tipo WMS | |
1006 | 925 | */ |
1007 | 926 | function incluiTemaWms() |
1008 | 927 | { |
... | ... | @@ -1015,5 +934,16 @@ function incluiTemaWms() |
1015 | 934 | $m = new Mapa($tmpfname); |
1016 | 935 | $m->adicionatemawms($layer_wms,$url_wms,$style_wms,$srs_wms,$image_wms,$locaplic,"",$versao_wms,$nome,"","","","","nao","text/plain",""); |
1017 | 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 | 950 | \ No newline at end of file | ... | ... |
principal.htm