Commit c2ed7523eb78f3ca513bc58a27f95f6c9f6ec144

Authored by Edmar Moretti
1 parent 07ccb75b

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
admin/html/incluimap.html 0 → 100644
... ... @@ -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 &quot;Outras opções&quot;.&lt;/p&gt;
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=&quot;&quot;)
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 }
... ...
admin/php/incluiMAP.php 0 → 100644
... ... @@ -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";
... ...