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 @@ | @@ -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,6 +8,7 @@ | ||
8 | <body> | 8 | <body> |
9 | <div style=width:80%;text-align:left;> | 9 | <div style=width:80%;text-align:left;> |
10 | <h1>Administração do i3geo</h1> | 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 | <fieldset> | 12 | <fieldset> |
12 | <legend>Leia-me</legend> | 13 | <legend>Leia-me</legend> |
13 | <div style=display:none; > | 14 | <div style=display:none; > |
@@ -16,14 +17,14 @@ | @@ -16,14 +17,14 @@ | ||
16 | Com a nova estrutura de administração, esses arquivos podem ser substituídos por registros em bancos de dados. | 17 | Com a nova estrutura de administração, esses arquivos podem ser substituídos por registros em bancos de dados. |
17 | Se você optar por usar um banco de dados, os arquivos antigos poderão ser importados para o banco | 18 | Se você optar por usar um banco de dados, os arquivos antigos poderão ser importados para o banco |
18 | (veja as opções de importação). Se vc desejar continuar utilizando os arquivos XML em disco, basta | 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 | <p>Para possibilitar a distribuição do i3geo de forma independente de banco de dados, optou-se pelo uso do gerenciador | 21 | <p>Para possibilitar a distribuição do i3geo de forma independente de banco de dados, optou-se pelo uso do gerenciador |
21 | SQLITE, cujo arquivo com os dados fica armazenado em i3geo/menutemas/admin.db. Os programas em PHP que gerenciam esse banco | 22 | SQLITE, cujo arquivo com os dados fica armazenado em i3geo/menutemas/admin.db. Os programas em PHP que gerenciam esse banco |
22 | utilizam o pacote PDO, possibilitando que seja utilizado outro gerenciador, como o POSTGRESQL, entre outros.</p> | 23 | utilizam o pacote PDO, possibilitando que seja utilizado outro gerenciador, como o POSTGRESQL, entre outros.</p> |
23 | <p>Para modificar a configuração do PDO, e utilizar outro gerenciador, deve-se editar o arquivo i3geo/admin/conexao.php | 24 | <p>Para modificar a configuração do PDO, e utilizar outro gerenciador, deve-se editar o arquivo i3geo/admin/conexao.php |
24 | 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 | 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 | programa em PHP que será incluído nos programas que fazem acesso ao banco de dados de administração. Um exemplo de | 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 | <p>Para usar um gerenciador diferente do SQLITE é necessário criar as tabelas no novo banco de dados. Os sqls para | 28 | <p>Para usar um gerenciador diferente do SQLITE é necessário criar as tabelas no novo banco de dados. Os sqls para |
28 | essa criação podem ser obtidos no item "Outras opções".</p> | 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,6 +184,8 @@ essa criação podem ser obtidos no item "Outras opções".</p> | ||
183 | <legend>Outras opções</legend> | 184 | <legend>Outras opções</legend> |
184 | <div style=display:none; > | 185 | <div style=display:none; > |
185 | <table class=lista1 > | 186 | <table class=lista1 > |
187 | +<tr onclick="abre('html/incluimap.html')"><td><div class=aplicar ></div></td><td>Ajusta mapfiles</td></tr> | ||
188 | + | ||
186 | <tr onclick="abre('php/sqlite.php')"><td><div class=aplicar ></div></td><td>Descrição do banco padrão (SQLITE)</td></tr> | 189 | <tr onclick="abre('php/sqlite.php')"><td><div class=aplicar ></div></td><td>Descrição do banco padrão (SQLITE)</td></tr> |
187 | <tr onclick="abre('php/criabanco.php')"><td><div class=aplicar ></div></td><td>Criar banco de dados</td></tr> | 190 | <tr onclick="abre('php/criabanco.php')"><td><div class=aplicar ></div></td><td>Criar banco de dados</td></tr> |
188 | <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> | 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,6 +162,7 @@ function exclui() | ||
162 | include("conexao.php"); | 162 | include("conexao.php"); |
163 | $dbhw->query("DELETE from $tabela WHERE $coluna = $id"); | 163 | $dbhw->query("DELETE from $tabela WHERE $coluna = $id"); |
164 | $dbhw = null; | 164 | $dbhw = null; |
165 | + $dbh = null; | ||
165 | return "ok"; | 166 | return "ok"; |
166 | } | 167 | } |
167 | catch (PDOException $e) | 168 | catch (PDOException $e) |
@@ -186,6 +187,7 @@ function pegaDados($sql,$locaplic="") | @@ -186,6 +187,7 @@ function pegaDados($sql,$locaplic="") | ||
186 | $q = $dbh->query($sql,PDO::FETCH_ASSOC); | 187 | $q = $dbh->query($sql,PDO::FETCH_ASSOC); |
187 | $resultado = $q->fetchAll(); | 188 | $resultado = $q->fetchAll(); |
188 | $dbh = null; | 189 | $dbh = null; |
190 | + $dbhw = null; | ||
189 | return $resultado; | 191 | return $resultado; |
190 | } | 192 | } |
191 | catch (PDOException $e) | 193 | catch (PDOException $e) |
admin/php/editormapfile.php
@@ -265,6 +265,7 @@ function criarNovoMap() | @@ -265,6 +265,7 @@ function criarNovoMap() | ||
265 | $arq = $locaplic."/temas/".$codigo.".map"; | 265 | $arq = $locaplic."/temas/".$codigo.".map"; |
266 | if(!file_exists($arq)) | 266 | if(!file_exists($arq)) |
267 | { | 267 | { |
268 | + $dados[] = "MAP"; | ||
268 | $dados[] = "SYMBOLSET ../symbols/simbolos.sym"; | 269 | $dados[] = "SYMBOLSET ../symbols/simbolos.sym"; |
269 | $dados[] = 'FONTSET "../symbols/fontes.txt"'; | 270 | $dados[] = 'FONTSET "../symbols/fontes.txt"'; |
270 | $dados[] = "LAYER"; | 271 | $dados[] = "LAYER"; |
@@ -874,6 +875,7 @@ function removeCabecalho($arq,$symbolset=true) | @@ -874,6 +875,7 @@ function removeCabecalho($arq,$symbolset=true) | ||
874 | { | 875 | { |
875 | if($symbolset) | 876 | if($symbolset) |
876 | { | 877 | { |
878 | + $final[] = "MAP\n"; | ||
877 | $final[] = "SYMBOLSET ../symbols/simbolos.sym\n"; | 879 | $final[] = "SYMBOLSET ../symbols/simbolos.sym\n"; |
878 | $final[] = "FONTSET ".'"'."../symbols/fontes.txt".'"'."\n"; | 880 | $final[] = "FONTSET ".'"'."../symbols/fontes.txt".'"'."\n"; |
879 | } | 881 | } |
@@ -0,0 +1,80 @@ | @@ -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 | \ No newline at end of file | 81 | \ No newline at end of file |
admin/php/menutemas.php
@@ -90,6 +90,7 @@ switch ($funcao) | @@ -90,6 +90,7 @@ switch ($funcao) | ||
90 | $dados = pegaDados('SELECT * from i3geoadmin_perfis order by perfil'); | 90 | $dados = pegaDados('SELECT * from i3geoadmin_perfis order by perfil'); |
91 | if(count($dados) == 0){$dados = array("id_perfil"=>"","perfil"=>"");} | 91 | if(count($dados) == 0){$dados = array("id_perfil"=>"","perfil"=>"");} |
92 | retornaJSON($dados); | 92 | retornaJSON($dados); |
93 | + exit; | ||
93 | break; | 94 | break; |
94 | 95 | ||
95 | case "alteraMenus": | 96 | case "alteraMenus": |
@@ -139,6 +140,8 @@ switch ($funcao) | @@ -139,6 +140,8 @@ switch ($funcao) | ||
139 | registraTema(); | 140 | registraTema(); |
140 | $dados = pegaDados($sql); | 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 | retornaJSON($dados); | 145 | retornaJSON($dados); |
143 | exit; | 146 | exit; |
144 | break; | 147 | break; |
@@ -703,7 +706,10 @@ function registraTema() | @@ -703,7 +706,10 @@ function registraTema() | ||
703 | { | 706 | { |
704 | $retorna = "ok"; | 707 | $retorna = "ok"; |
705 | include("conexao.php"); | 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 | $dbhw = null; | 713 | $dbhw = null; |
708 | $dbh = null; | 714 | $dbh = null; |
709 | return "ok"; | 715 | return "ok"; |