Commit c2ed7523eb78f3ca513bc58a27f95f6c9f6ec144
1 parent
07ccb75b
Exists in
master
and in
7 other branches
Adaptação dos códigos e criação de programa para adaptação dos mapfiles à versão…
… nova do Mapserver (5.2.2) que exige a tag MAP no início dos arquivos
Showing
6 changed files
with
114 additions
and
3 deletions
Show diff stats
... | ... | @@ -0,0 +1,18 @@ |
1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
2 | +<html> | |
3 | +<head> | |
4 | + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> | |
5 | + <link rel="stylesheet" type="text/css" href="admin.css"> | |
6 | +</head> | |
7 | +<body> | |
8 | +<p> | |
9 | +As versões novas do Mapserver exigem que os arquivos mapfile iniciem com a palavra "MAP" | |
10 | +</p> | |
11 | +<p> | |
12 | +Os mapfiles utilizados pelo i3geo, até a versão 4.1, e armazenados no diretório i3Geo/temas não iniciam com "MAP". Para ajustar os mapfiles | |
13 | +você pode editá-los individulamente ou rodar o programa i3geo/admin/php/incluiMAP.php | |
14 | +<p> | |
15 | +Antes de fazer isso, faça um backup do seu diretório i3geo/temas | |
16 | +<p> | |
17 | +<a href="../php/incluiMAP.php" >Executar o ajuste dos mapfiles</a> | |
18 | +</body> | ... | ... |
admin/index.html
... | ... | @@ -8,6 +8,7 @@ |
8 | 8 | <body> |
9 | 9 | <div style=width:80%;text-align:left;> |
10 | 10 | <h1>Administração do i3geo</h1> |
11 | +<p>Se você atualizou o Mapserver para a versão 5.2.2, seus mapfiles antigos podem não funcionar. Veja em "Outras opções" o item "Ajusta mapfiles". | |
11 | 12 | <fieldset> |
12 | 13 | <legend>Leia-me</legend> |
13 | 14 | <div style=display:none; > |
... | ... | @@ -16,14 +17,14 @@ |
16 | 17 | Com a nova estrutura de administração, esses arquivos podem ser substituídos por registros em bancos de dados. |
17 | 18 | Se você optar por usar um banco de dados, os arquivos antigos poderão ser importados para o banco |
18 | 19 | (veja as opções de importação). Se vc desejar continuar utilizando os arquivos XML em disco, basta |
19 | -editar as variáveis de configuração existentes emi3geo/ms_configura.php.</p> | |
20 | +editar as variáveis de configuração existentes em i3geo/ms_configura.php.</p> | |
20 | 21 | <p>Para possibilitar a distribuição do i3geo de forma independente de banco de dados, optou-se pelo uso do gerenciador |
21 | 22 | SQLITE, cujo arquivo com os dados fica armazenado em i3geo/menutemas/admin.db. Os programas em PHP que gerenciam esse banco |
22 | 23 | utilizam o pacote PDO, possibilitando que seja utilizado outro gerenciador, como o POSTGRESQL, entre outros.</p> |
23 | 24 | <p>Para modificar a configuração do PDO, e utilizar outro gerenciador, deve-se editar o arquivo i3geo/admin/conexao.php |
24 | 25 | ou então alterar a variável de configuração, definida no ms_configura.php, chamada $conexaoadmin. Essa variável indica o nome de um |
25 | 26 | programa em PHP que será incluído nos programas que fazem acesso ao banco de dados de administração. Um exemplo de |
26 | -conexão em PHP pode ser visto em i3geo/admin/conexaomma.php.</p> | |
27 | +conexão em PHP pode ser visto em i3geo/admin/php/conexaomma.php.</p> | |
27 | 28 | <p>Para usar um gerenciador diferente do SQLITE é necessário criar as tabelas no novo banco de dados. Os sqls para |
28 | 29 | essa criação podem ser obtidos no item "Outras opções".</p> |
29 | 30 | |
... | ... | @@ -183,6 +184,8 @@ essa criação podem ser obtidos no item "Outras opções".</p> |
183 | 184 | <legend>Outras opções</legend> |
184 | 185 | <div style=display:none; > |
185 | 186 | <table class=lista1 > |
187 | +<tr onclick="abre('html/incluimap.html')"><td><div class=aplicar ></div></td><td>Ajusta mapfiles</td></tr> | |
188 | + | |
186 | 189 | <tr onclick="abre('php/sqlite.php')"><td><div class=aplicar ></div></td><td>Descrição do banco padrão (SQLITE)</td></tr> |
187 | 190 | <tr onclick="abre('php/criabanco.php')"><td><div class=aplicar ></div></td><td>Criar banco de dados</td></tr> |
188 | 191 | <tr onclick="abre('../geraminiatura.php')"><td><div class=aplicar ></div></td><td>Gera as miniaturas (thumbnails) para os temas existentes no diretório i3geo/temas</td></tr> | ... | ... |
admin/php/admin.php
... | ... | @@ -162,6 +162,7 @@ function exclui() |
162 | 162 | include("conexao.php"); |
163 | 163 | $dbhw->query("DELETE from $tabela WHERE $coluna = $id"); |
164 | 164 | $dbhw = null; |
165 | + $dbh = null; | |
165 | 166 | return "ok"; |
166 | 167 | } |
167 | 168 | catch (PDOException $e) |
... | ... | @@ -186,6 +187,7 @@ function pegaDados($sql,$locaplic="") |
186 | 187 | $q = $dbh->query($sql,PDO::FETCH_ASSOC); |
187 | 188 | $resultado = $q->fetchAll(); |
188 | 189 | $dbh = null; |
190 | + $dbhw = null; | |
189 | 191 | return $resultado; |
190 | 192 | } |
191 | 193 | catch (PDOException $e) | ... | ... |
admin/php/editormapfile.php
... | ... | @@ -265,6 +265,7 @@ function criarNovoMap() |
265 | 265 | $arq = $locaplic."/temas/".$codigo.".map"; |
266 | 266 | if(!file_exists($arq)) |
267 | 267 | { |
268 | + $dados[] = "MAP"; | |
268 | 269 | $dados[] = "SYMBOLSET ../symbols/simbolos.sym"; |
269 | 270 | $dados[] = 'FONTSET "../symbols/fontes.txt"'; |
270 | 271 | $dados[] = "LAYER"; |
... | ... | @@ -874,6 +875,7 @@ function removeCabecalho($arq,$symbolset=true) |
874 | 875 | { |
875 | 876 | if($symbolset) |
876 | 877 | { |
878 | + $final[] = "MAP\n"; | |
877 | 879 | $final[] = "SYMBOLSET ../symbols/simbolos.sym\n"; |
878 | 880 | $final[] = "FONTSET ".'"'."../symbols/fontes.txt".'"'."\n"; |
879 | 881 | } | ... | ... |
... | ... | @@ -0,0 +1,80 @@ |
1 | +<?php | |
2 | +/* | |
3 | +Title: Inclui teg MAP | |
4 | + | |
5 | +About: Licença | |
6 | + | |
7 | +I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
8 | + | |
9 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
10 | +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | |
11 | + | |
12 | +Este programa é software livre; você pode redistribuí-lo | |
13 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
14 | +GNU conforme publicada pela Free Software Foundation; | |
15 | +tanto a versão 2 da Licença. | |
16 | +Este programa é distribuído na expectativa de que seja útil, | |
17 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
18 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
19 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
20 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
21 | +GNU junto com este programa; se não, escreva para a | |
22 | +Free Software Foundation, Inc., no endereço | |
23 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
24 | + | |
25 | +19/6/2007 | |
26 | + | |
27 | +*/ | |
28 | + | |
29 | +include_once("admin.php"); | |
30 | +error_reporting(0); | |
31 | +if(verificaEditores($editores) == "nao") | |
32 | +{echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} | |
33 | + | |
34 | +$arquivos = array(); | |
35 | +if (is_dir($locaplic."/temas")) | |
36 | +{ | |
37 | + if ($dh = opendir($locaplic."/temas")) | |
38 | + { | |
39 | + while (($file = readdir($dh)) !== false) | |
40 | + { | |
41 | + if(!stristr($file, '.map') === FALSE) | |
42 | + { | |
43 | + $arquivos[] = $file; | |
44 | + } | |
45 | + } | |
46 | + } | |
47 | + closedir($dh); | |
48 | +} | |
49 | +echo "Arquivos convertidos: <br>"; | |
50 | +foreach($arquivos as $arquivo) | |
51 | +{ | |
52 | + $arq = $locaplic."/temas/".$arquivo; | |
53 | + $abre = fopen($arq, "r"); | |
54 | + $maparray = array(); | |
55 | + $maparray[] = "MAP"; | |
56 | + $maparray[] = "\n"; | |
57 | + while (!feof($abre)) | |
58 | + { | |
59 | + $buffer = fgets($abre); | |
60 | + $buffer = str_replace(PHP_EOL,"",rtrim($buffer)); | |
61 | + if(trim($buffer) != "MAP" && $buffer != "") | |
62 | + { | |
63 | + $maparray[] = $buffer; | |
64 | + } | |
65 | + } | |
66 | + fclose($abre); | |
67 | + //echo "<pre>"; | |
68 | + //var_dump($maparray); | |
69 | + //exit; | |
70 | + $abre = fopen($arq, "wt"); | |
71 | + foreach($maparray as $linha) | |
72 | + { | |
73 | + fwrite ($abre,$linha); | |
74 | + fwrite ($abre,"\n"); | |
75 | + } | |
76 | + $fecha = fclose ($abre); | |
77 | + echo $arquivo."<br>"; | |
78 | +} | |
79 | + | |
80 | +?> | |
0 | 81 | \ No newline at end of file | ... | ... |
admin/php/menutemas.php
... | ... | @@ -90,6 +90,7 @@ switch ($funcao) |
90 | 90 | $dados = pegaDados('SELECT * from i3geoadmin_perfis order by perfil'); |
91 | 91 | if(count($dados) == 0){$dados = array("id_perfil"=>"","perfil"=>"");} |
92 | 92 | retornaJSON($dados); |
93 | + exit; | |
93 | 94 | break; |
94 | 95 | |
95 | 96 | case "alteraMenus": |
... | ... | @@ -139,6 +140,8 @@ switch ($funcao) |
139 | 140 | registraTema(); |
140 | 141 | $dados = pegaDados($sql); |
141 | 142 | } |
143 | + if(count($dados) > 1) | |
144 | + {$dados = "erro. Mais de um mapfile com mesmo código registrado no banco";} | |
142 | 145 | retornaJSON($dados); |
143 | 146 | exit; |
144 | 147 | break; |
... | ... | @@ -703,7 +706,10 @@ function registraTema() |
703 | 706 | { |
704 | 707 | $retorna = "ok"; |
705 | 708 | include("conexao.php"); |
706 | - $dbhw->query("INSERT INTO i3geoadmin_temas (nome_tema,codigo_tema,kml_tema,ogc_tema,download_tema,tags_tema,link_tema,desc_tema) VALUES ('$codigo_tema','$codigo_tema','SIM','SIM','SIM','','','')");// (link_tema,kml_tema,ogc_tema,download_tema,nome_tema,desc_tema,codigo_tema,tipoa_tema,tags_tema) VALUES ('','', '','','','','','','')"); | |
709 | + $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'"; | |
710 | + $dados = pegaDados($sql); | |
711 | + if(count($dados) == 0) | |
712 | + {$dbhw->query("INSERT INTO i3geoadmin_temas (nome_tema,codigo_tema,kml_tema,ogc_tema,download_tema,tags_tema,link_tema,desc_tema) VALUES ('$codigo_tema','$codigo_tema','SIM','SIM','SIM','','','')");} | |
707 | 713 | $dbhw = null; |
708 | 714 | $dbh = null; |
709 | 715 | return "ok"; | ... | ... |