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"; | ... | ... |