Commit 1b30c3bad19c47242e628aff2e536e1c4cecfee1

Authored by Edmar Moretti
1 parent 713ef099

Alteração nas opções de salvar um mapa no banco de dados. Essa opção foi retidad…

…a da interface do mapa interativo e agora fica apenas no sistema de administração
admin/admin.db
No preview for this file type
admin/php/mapas.php
@@ -1,329 +0,0 @@ @@ -1,329 +0,0 @@
1 -<?php  
2 -/*  
3 -Title: mapas.php  
4 -  
5 -Fun&ccedil;&otilde;es utilizadas pelo editor do cadastro de mapas (links).  
6 -  
7 -&Eacute; utilizado nas fun&ccedil;&otilde;es em AJAX da interface de edi&ccedil;&atilde;o dos links para mapas  
8 -  
9 -Licenca:  
10 -  
11 -GPL2  
12 -  
13 -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet  
14 -  
15 -Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil  
16 -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com  
17 -  
18 -Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo  
19 -e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral  
20 -GNU conforme publicada pela Free Software Foundation;  
21 -  
22 -Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,  
23 -por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita  
24 -de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.  
25 -Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.  
26 -Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do  
27 - GNU junto com este programa; se n&atilde;o, escreva para a  
28 -Free Software Foundation, Inc., no endere&ccedil;o  
29 -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.  
30 -  
31 -Arquivo:  
32 -  
33 -i3geo/admin/php/mapas.php  
34 -  
35 -Parametros:  
36 -  
37 -O par&acirc;metro principal &eacute; "funcao", que define qual opera&ccedil;&atilde;o ser&aacute; executada, por exemplo, mapas.php?funcao=pegamapas.  
38 -  
39 -Cada opera&ccedil;&atilde;o possu&iacute; seus pr&oacute;prios par&acirc;metros, que devem ser enviados tamb&eacute;m na requisi&ccedil;&atilde;o da opera&ccedil;&atilde;o.  
40 -  
41 -*/  
42 -include_once(dirname(__FILE__)."/login.php");  
43 -$funcoesEdicao = array(  
44 - "ALTERARMAPA",  
45 - "EXCLUIRMAPA",  
46 - "SALVAMAPFILE"  
47 -);  
48 -if(in_array(strtoupper($funcao),$funcoesEdicao)){  
49 - if(verificaOperacaoSessao("admin/html/mapas") == false){  
50 - retornaJSON("Vc nao pode realizar essa operacao. Tente fazer login novamente.");exit;  
51 - }  
52 -}  
53 -$id = $_GET["id"];  
54 -$id_mapa = $_GET["id_mapa"];  
55 -testaSafeNumerico([$id,$id_mapa]);  
56 -  
57 -  
58 -//error_reporting(0);  
59 -//faz a busca da fun&ccedil;&atilde;o que deve ser executada  
60 -switch (strtoupper($funcao))  
61 -{  
62 - /*  
63 - Note:  
64 -  
65 - Valores que o par&acirc;metro &funcao pode receber. Os par&acirc;metros devem ser enviados na requisi&ccedil;&atilde;o em AJAX.  
66 - */  
67 - /*  
68 - Valor: PEGAMAPAS  
69 -  
70 - Lista os links existentes  
71 -  
72 - Retorno:  
73 -  
74 - {JSON}  
75 - */  
76 - case "PEGAMAPAS":  
77 - $semmapfile = pegaDados("SELECT id_mapa,nome_mapa,ordem_mapa,'nao' as contemmapfile from ".$esquemaadmin."i3geoadmin_mapas where mapfile = '' or mapfile is null order by ordem_mapa");  
78 - $commapfile = pegaDados("SELECT id_mapa,nome_mapa,ordem_mapa,'sim' as contemmapfile from ".$esquemaadmin."i3geoadmin_mapas where mapfile != '' and mapfile is not null order by ordem_mapa");  
79 - retornaJSON(array_merge($semmapfile,$commapfile));  
80 - exit;  
81 - break;  
82 - /*  
83 - Valor: PEGADADOSMAPA  
84 -  
85 - Lista os dados de um link  
86 -  
87 - Parametro:  
88 -  
89 - id_mapa {string}  
90 -  
91 - Retorno:  
92 -  
93 - {JSON}  
94 - */  
95 - case "PEGADADOSMAPA":  
96 - $dadosMapa = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_mapas where id_mapa =".$id_mapa);  
97 - retornaJSON($dadosMapa);  
98 - exit;  
99 - break;  
100 - /*  
101 - Valor: ALTERARMAPA  
102 -  
103 - Altera os dados de um link  
104 -  
105 - Parametro:  
106 -  
107 - publicado_mapa  
108 -  
109 - ordem_mapa  
110 -  
111 - id_mapa  
112 -  
113 - desc_mapa  
114 -  
115 - ext_mapa  
116 -  
117 - imagem_mapa  
118 -  
119 - outros_mapa  
120 -  
121 - nome_mapa  
122 -  
123 - linkdireto_mapa  
124 -  
125 - temas_mapa  
126 -  
127 - ligados_mapa  
128 -  
129 - perfil_mapa  
130 -  
131 - Retorno:  
132 -  
133 - {JSON}  
134 - */  
135 - case "ALTERARMAPA":  
136 - $novo = alterarMapa();  
137 - $sql = "SELECT * from ".$esquemaadmin."i3geoadmin_mapas WHERE id_mapa = '".$novo."'";  
138 - retornaJSON(pegaDados($sql));  
139 - exit;  
140 - break;  
141 - /*  
142 - Valor: EXCLUIRMAPA  
143 -  
144 - Exclui um link  
145 -  
146 - Parametro:  
147 -  
148 - id {string}  
149 -  
150 - Retorno:  
151 -  
152 - {JSON}  
153 - */  
154 - case "EXCLUIRMAPA":  
155 - retornaJSON(excluirMapa());  
156 - exit;  
157 - break;  
158 - /*  
159 - Valor: SALVAMAPFILE  
160 -  
161 - Salva um mapfile no banco  
162 -  
163 - Parametro:  
164 -  
165 - url {string} - url de acesso a interface do mapa que iniciou o processo de salvar o mapa  
166 -  
167 - titulo {string} - titulo do mapa  
168 -  
169 - mapfile {string} - mapfile na pasta tempor&aacute;ria  
170 -  
171 - Retorno:  
172 -  
173 - {JSON}  
174 - */  
175 - case "SALVAMAPFILE":  
176 - retornaJSON(salvaMapfile());  
177 - exit;  
178 - break;  
179 -}  
180 -function salvaMapfile(){  
181 - global $esquemaadmin,$id_mapa;  
182 - //as preferencias sao criadas via javascript e guardadas junto com o mapa  
183 - try{  
184 - //  
185 - //as configuracoes especiais do mapa, definidas nas preferencias ou em ferramentas abertas quando o mapa e salvo,  
186 - //sao convertidas em base64 do lado do cliente  
187 - //esses dados sao entao armazenados como tags METADATA no mapfile  
188 - //quando o mapa e restaurado, esses valores sao recuperados  
189 - //a string que vai no metadata segue o padrao JSON  
190 - //o parser para reconstruir os valores e feito em javascript, no cliente  
191 - //  
192 - $_GET["arqmapfile"] = str_replace(".map","",$_GET["arqmapfile"]);  
193 - $_GET["arqmapfile"] = str_replace(".","",$_GET["arqmapfile"]).".map";  
194 - $customizacoesinit = array();  
195 - if(isset($_GET["preferenciasbase64"]) || isset($_GET["geometriasbase64"]) || isset($_GET["graficosbase64"]) || isset($_GET["tabelasbase64"])){  
196 - $customizacoesinit[] = '"preferenciasbase64":"'.$_GET["preferenciasbase64"].'"';  
197 - $customizacoesinit[] = '"geometriasbase64":"'.$_GET["geometriasbase64"].'"';  
198 - $customizacoesinit[] = '"graficosbase64":"'.$_GET["graficosbase64"].'"';  
199 - $customizacoesinit[] = '"tabelasbase64":"'.$_GET["tabelasbase64"].'"';  
200 - $m = ms_newMapObj($_GET["arqmapfile"]);  
201 - $m->setmetadata("CUSTOMIZACOESINIT",'{'.implode(",",$customizacoesinit).'}');  
202 - $m->save($_GET["arqmapfile"]);  
203 - }  
204 - if($_GET["ext"] && $_GET["ext"] != ""){  
205 - $e = explode(" ",$_GET["ext"]);  
206 - $m = ms_newMapObj($_GET["arqmapfile"]);  
207 - $extatual = $m->extent;  
208 - $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3])));  
209 - $m->save($_GET["arqmapfile"]);  
210 - }  
211 - $handle = fopen ($_GET["arqmapfile"], 'r');  
212 - $conteudo = fread ($handle, filesize ($_GET["arqmapfile"]));  
213 - fclose ($handle);  
214 - //$conteudo = base64_encode($conteudo);  
215 - $conteudo = str_replace("'","_!_",$conteudo);  
216 - $conteudo = str_replace('"',"_!!_",$conteudo);  
217 - $conteudo = str_replace(array("<?","?>"),"",$conteudo);  
218 -  
219 - require_once("conexao.php");  
220 - if($convUTF){  
221 - $_GET["nome_mapa"] = utf8_encode($_GET["nome_mapa"]);  
222 - $conteudo = utf8_encode($conteudo);  
223 - }  
224 - $retorna = "";  
225 - if(empty($id_mapa)){  
226 - $dataCol = array(  
227 - "publicado_mapa" => '',  
228 - "ordem_mapa" => 0,  
229 - "perfil_mapa" => '',  
230 - "desc_mapa" => '',  
231 - "ext_mapa" => '',  
232 - "imagem_mapa" => '',  
233 - "linkdireto_mapa" => '',  
234 - "outros_mapa" => '',  
235 - "temas_mapa" => '',  
236 - "ligados_mapa" => '',  
237 - "nome_mapa" => ''  
238 - );  
239 - $id = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_mapas",$dataCol,"nome_mapa","id_mapa");  
240 - }  
241 - else{  
242 - $id = $id_mapa;  
243 - }  
244 - if (filter_var($id, FILTER_VALIDATE_INT) === false){  
245 - return array("id"=>"","status"=>"Error!: ");  
246 - }  
247 - $dataCol = array(  
248 - "mapfile" => $conteudo,  
249 - "publicado_mapa" => "sim",  
250 - "nome_mapa" => $_GET["nome_mapa"],  
251 - "outros_mapa" => "&restauramapa=$id&interface=".$_GET["url"]  
252 - );  
253 - i3GeoAdminUpdate($dbhw,"i3geoadmin_mapas",$dataCol, "WHERE id_mapa =".$id);  
254 - $dbhw = null;  
255 - $dbh = null;  
256 - return array("id"=>$id,"status"=>"ok");  
257 - }  
258 - catch (PDOException $e){  
259 - return array("id"=>"","status"=>"Error!: ");  
260 - }  
261 -}  
262 -/*  
263 -Altera o registro de um mapa  
264 -*/  
265 -function alterarMapa(){  
266 - global $esquemaadmin,$id_mapa;  
267 - //substitui a string do parametro outros  
268 - $_GET["outros_mapa"] = str_replace("*","&",$_GET["outros_mapa"]);  
269 - try{  
270 - require_once("conexao.php");  
271 - if($convUTF){  
272 - $_GET["nome_mapa"] = utf8_encode($_GET["nome_mapa"]);  
273 - $_GET["desc_mapa"] = utf8_encode($_GET["desc_mapa"]);  
274 - }  
275 - $retorna = "";  
276 - if($id_mapa != ""){  
277 - $dataCol = array(  
278 - "publicado_mapa" => $_GET["publicado_mapa"],  
279 - "ordem_mapa" => $_GET["ordem_mapa"],  
280 - "desc_mapa" => $_GET["desc_mapa"],  
281 - "ext_mapa" => $_GET["ext_mapa"],  
282 - "imagem_mapa" => $_GET["imagem_mapa"],  
283 - "outros_mapa" => $_GET["outros_mapa"],  
284 - "nome_mapa" => $_GET["nome_mapa"],  
285 - "linkdireto_mapa" => $_GET["linkdireto_mapa"],  
286 - "temas_mapa" => $_GET["temas_mapa"],  
287 - "ligados_mapa" => $_GET["ligados_mapa"],  
288 - "perfil_mapa" => $_GET["perfil_mapa"]  
289 - );  
290 - i3GeoAdminUpdate($dbhw,"i3geoadmin_mapas",$dataCol, "WHERE id_mapa =".$id_mapa);  
291 - $retorna = $id_mapa;  
292 - }  
293 - else{  
294 - $dataCol = array(  
295 - "publicado_mapa" => '',  
296 - "ordem_mapa" => 0,  
297 - "perfil_mapa" => '',  
298 - "desc_mapa" => '',  
299 - "ext_mapa" => '',  
300 - "imagem_mapa" => '',  
301 - "linkdireto_mapa" => '',  
302 - "outros_mapa" => '',  
303 - "temas_mapa" => '',  
304 - "ligados_mapa" => '',  
305 - "nome_mapa" => '',  
306 - "mapfile" => ''  
307 - );  
308 - $id = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_mapas",$dataCol,"nome_mapa","id_mapa");  
309 - $retorna = $id;  
310 - }  
311 - $dbhw = null;  
312 - $dbh = null;  
313 - return $retorna;  
314 - }  
315 - catch (PDOException $e){  
316 - return "Error!: ";  
317 - }  
318 -}  
319 -function excluirMapa(){  
320 - global $id,$esquemaadmin;  
321 - try{  
322 - exclui($esquemaadmin."i3geoadmin_mapas","id_mapa",$id);  
323 - return "ok";  
324 - }  
325 - catch (PDOException $e){  
326 - return "Error!: ";  
327 - }  
328 -}  
329 -?>  
330 \ No newline at end of file 0 \ No newline at end of file
admin/php/xxxmapas.php 0 → 100755
@@ -0,0 +1,329 @@ @@ -0,0 +1,329 @@
  1 +<?php
  2 +/*
  3 +Title: mapas.php
  4 +
  5 +Fun&ccedil;&otilde;es utilizadas pelo editor do cadastro de mapas (links).
  6 +
  7 +&Eacute; utilizado nas fun&ccedil;&otilde;es em AJAX da interface de edi&ccedil;&atilde;o dos links para mapas
  8 +
  9 +Licenca:
  10 +
  11 +GPL2
  12 +
  13 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  14 +
  15 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  16 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  17 +
  18 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  19 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  20 +GNU conforme publicada pela Free Software Foundation;
  21 +
  22 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  23 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  24 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  25 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  26 +Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  27 + GNU junto com este programa; se n&atilde;o, escreva para a
  28 +Free Software Foundation, Inc., no endere&ccedil;o
  29 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  30 +
  31 +Arquivo:
  32 +
  33 +i3geo/admin/php/mapas.php
  34 +
  35 +Parametros:
  36 +
  37 +O par&acirc;metro principal &eacute; "funcao", que define qual opera&ccedil;&atilde;o ser&aacute; executada, por exemplo, mapas.php?funcao=pegamapas.
  38 +
  39 +Cada opera&ccedil;&atilde;o possu&iacute; seus pr&oacute;prios par&acirc;metros, que devem ser enviados tamb&eacute;m na requisi&ccedil;&atilde;o da opera&ccedil;&atilde;o.
  40 +
  41 +*/
  42 +include_once(dirname(__FILE__)."/login.php");
  43 +$funcoesEdicao = array(
  44 + "ALTERARMAPA",
  45 + "EXCLUIRMAPA",
  46 + "SALVAMAPFILE"
  47 +);
  48 +if(in_array(strtoupper($funcao),$funcoesEdicao)){
  49 + if(verificaOperacaoSessao("admin/html/mapas") == false){
  50 + retornaJSON("Vc nao pode realizar essa operacao. Tente fazer login novamente.");exit;
  51 + }
  52 +}
  53 +$id = $_GET["id"];
  54 +$id_mapa = $_GET["id_mapa"];
  55 +testaSafeNumerico([$id,$id_mapa]);
  56 +
  57 +
  58 +//error_reporting(0);
  59 +//faz a busca da fun&ccedil;&atilde;o que deve ser executada
  60 +switch (strtoupper($funcao))
  61 +{
  62 + /*
  63 + Note:
  64 +
  65 + Valores que o par&acirc;metro &funcao pode receber. Os par&acirc;metros devem ser enviados na requisi&ccedil;&atilde;o em AJAX.
  66 + */
  67 + /*
  68 + Valor: PEGAMAPAS
  69 +
  70 + Lista os links existentes
  71 +
  72 + Retorno:
  73 +
  74 + {JSON}
  75 + */
  76 + case "PEGAMAPAS":
  77 + $semmapfile = pegaDados("SELECT id_mapa,nome_mapa,ordem_mapa,'nao' as contemmapfile from ".$esquemaadmin."i3geoadmin_mapas where mapfile = '' or mapfile is null order by ordem_mapa");
  78 + $commapfile = pegaDados("SELECT id_mapa,nome_mapa,ordem_mapa,'sim' as contemmapfile from ".$esquemaadmin."i3geoadmin_mapas where mapfile != '' and mapfile is not null order by ordem_mapa");
  79 + retornaJSON(array_merge($semmapfile,$commapfile));
  80 + exit;
  81 + break;
  82 + /*
  83 + Valor: PEGADADOSMAPA
  84 +
  85 + Lista os dados de um link
  86 +
  87 + Parametro:
  88 +
  89 + id_mapa {string}
  90 +
  91 + Retorno:
  92 +
  93 + {JSON}
  94 + */
  95 + case "PEGADADOSMAPA":
  96 + $dadosMapa = pegaDados("SELECT * from ".$esquemaadmin."i3geoadmin_mapas where id_mapa =".$id_mapa);
  97 + retornaJSON($dadosMapa);
  98 + exit;
  99 + break;
  100 + /*
  101 + Valor: ALTERARMAPA
  102 +
  103 + Altera os dados de um link
  104 +
  105 + Parametro:
  106 +
  107 + publicado_mapa
  108 +
  109 + ordem_mapa
  110 +
  111 + id_mapa
  112 +
  113 + desc_mapa
  114 +
  115 + ext_mapa
  116 +
  117 + imagem_mapa
  118 +
  119 + outros_mapa
  120 +
  121 + nome_mapa
  122 +
  123 + linkdireto_mapa
  124 +
  125 + temas_mapa
  126 +
  127 + ligados_mapa
  128 +
  129 + perfil_mapa
  130 +
  131 + Retorno:
  132 +
  133 + {JSON}
  134 + */
  135 + case "ALTERARMAPA":
  136 + $novo = alterarMapa();
  137 + $sql = "SELECT * from ".$esquemaadmin."i3geoadmin_mapas WHERE id_mapa = '".$novo."'";
  138 + retornaJSON(pegaDados($sql));
  139 + exit;
  140 + break;
  141 + /*
  142 + Valor: EXCLUIRMAPA
  143 +
  144 + Exclui um link
  145 +
  146 + Parametro:
  147 +
  148 + id {string}
  149 +
  150 + Retorno:
  151 +
  152 + {JSON}
  153 + */
  154 + case "EXCLUIRMAPA":
  155 + retornaJSON(excluirMapa());
  156 + exit;
  157 + break;
  158 + /*
  159 + Valor: SALVAMAPFILE
  160 +
  161 + Salva um mapfile no banco
  162 +
  163 + Parametro:
  164 +
  165 + url {string} - url de acesso a interface do mapa que iniciou o processo de salvar o mapa
  166 +
  167 + titulo {string} - titulo do mapa
  168 +
  169 + mapfile {string} - mapfile na pasta tempor&aacute;ria
  170 +
  171 + Retorno:
  172 +
  173 + {JSON}
  174 + */
  175 + case "SALVAMAPFILE":
  176 + retornaJSON(salvaMapfile());
  177 + exit;
  178 + break;
  179 +}
  180 +function salvaMapfile(){
  181 + global $esquemaadmin,$id_mapa;
  182 + //as preferencias sao criadas via javascript e guardadas junto com o mapa
  183 + try{
  184 + //
  185 + //as configuracoes especiais do mapa, definidas nas preferencias ou em ferramentas abertas quando o mapa e salvo,
  186 + //sao convertidas em base64 do lado do cliente
  187 + //esses dados sao entao armazenados como tags METADATA no mapfile
  188 + //quando o mapa e restaurado, esses valores sao recuperados
  189 + //a string que vai no metadata segue o padrao JSON
  190 + //o parser para reconstruir os valores e feito em javascript, no cliente
  191 + //
  192 + $_GET["arqmapfile"] = str_replace(".map","",$_GET["arqmapfile"]);
  193 + $_GET["arqmapfile"] = str_replace(".","",$_GET["arqmapfile"]).".map";
  194 + $customizacoesinit = array();
  195 + if(isset($_GET["preferenciasbase64"]) || isset($_GET["geometriasbase64"]) || isset($_GET["graficosbase64"]) || isset($_GET["tabelasbase64"])){
  196 + $customizacoesinit[] = '"preferenciasbase64":"'.$_GET["preferenciasbase64"].'"';
  197 + $customizacoesinit[] = '"geometriasbase64":"'.$_GET["geometriasbase64"].'"';
  198 + $customizacoesinit[] = '"graficosbase64":"'.$_GET["graficosbase64"].'"';
  199 + $customizacoesinit[] = '"tabelasbase64":"'.$_GET["tabelasbase64"].'"';
  200 + $m = ms_newMapObj($_GET["arqmapfile"]);
  201 + $m->setmetadata("CUSTOMIZACOESINIT",'{'.implode(",",$customizacoesinit).'}');
  202 + $m->save($_GET["arqmapfile"]);
  203 + }
  204 + if($_GET["ext"] && $_GET["ext"] != ""){
  205 + $e = explode(" ",$_GET["ext"]);
  206 + $m = ms_newMapObj($_GET["arqmapfile"]);
  207 + $extatual = $m->extent;
  208 + $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3])));
  209 + $m->save($_GET["arqmapfile"]);
  210 + }
  211 + $handle = fopen ($_GET["arqmapfile"], 'r');
  212 + $conteudo = fread ($handle, filesize ($_GET["arqmapfile"]));
  213 + fclose ($handle);
  214 + //$conteudo = base64_encode($conteudo);
  215 + $conteudo = str_replace("'","_!_",$conteudo);
  216 + $conteudo = str_replace('"',"_!!_",$conteudo);
  217 + $conteudo = str_replace(array("<?","?>"),"",$conteudo);
  218 +
  219 + require_once("conexao.php");
  220 + if($convUTF){
  221 + $_GET["nome_mapa"] = utf8_encode($_GET["nome_mapa"]);
  222 + $conteudo = utf8_encode($conteudo);
  223 + }
  224 + $retorna = "";
  225 + if(empty($id_mapa)){
  226 + $dataCol = array(
  227 + "publicado_mapa" => '',
  228 + "ordem_mapa" => 0,
  229 + "perfil_mapa" => '',
  230 + "desc_mapa" => '',
  231 + "ext_mapa" => '',
  232 + "imagem_mapa" => '',
  233 + "linkdireto_mapa" => '',
  234 + "outros_mapa" => '',
  235 + "temas_mapa" => '',
  236 + "ligados_mapa" => '',
  237 + "nome_mapa" => ''
  238 + );
  239 + $id = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_mapas",$dataCol,"nome_mapa","id_mapa");
  240 + }
  241 + else{
  242 + $id = $id_mapa;
  243 + }
  244 + if (filter_var($id, FILTER_VALIDATE_INT) === false){
  245 + return array("id"=>"","status"=>"Error!: ");
  246 + }
  247 + $dataCol = array(
  248 + "mapfile" => $conteudo,
  249 + "publicado_mapa" => "sim",
  250 + "nome_mapa" => $_GET["nome_mapa"],
  251 + "outros_mapa" => "&restauramapa=$id&interface=".$_GET["url"]
  252 + );
  253 + i3GeoAdminUpdate($dbhw,"i3geoadmin_mapas",$dataCol, "WHERE id_mapa =".$id);
  254 + $dbhw = null;
  255 + $dbh = null;
  256 + return array("id"=>$id,"status"=>"ok");
  257 + }
  258 + catch (PDOException $e){
  259 + return array("id"=>"","status"=>"Error!: ");
  260 + }
  261 +}
  262 +/*
  263 +Altera o registro de um mapa
  264 +*/
  265 +function alterarMapa(){
  266 + global $esquemaadmin,$id_mapa;
  267 + //substitui a string do parametro outros
  268 + $_GET["outros_mapa"] = str_replace("*","&",$_GET["outros_mapa"]);
  269 + try{
  270 + require_once("conexao.php");
  271 + if($convUTF){
  272 + $_GET["nome_mapa"] = utf8_encode($_GET["nome_mapa"]);
  273 + $_GET["desc_mapa"] = utf8_encode($_GET["desc_mapa"]);
  274 + }
  275 + $retorna = "";
  276 + if($id_mapa != ""){
  277 + $dataCol = array(
  278 + "publicado_mapa" => $_GET["publicado_mapa"],
  279 + "ordem_mapa" => $_GET["ordem_mapa"],
  280 + "desc_mapa" => $_GET["desc_mapa"],
  281 + "ext_mapa" => $_GET["ext_mapa"],
  282 + "imagem_mapa" => $_GET["imagem_mapa"],
  283 + "outros_mapa" => $_GET["outros_mapa"],
  284 + "nome_mapa" => $_GET["nome_mapa"],
  285 + "linkdireto_mapa" => $_GET["linkdireto_mapa"],
  286 + "temas_mapa" => $_GET["temas_mapa"],
  287 + "ligados_mapa" => $_GET["ligados_mapa"],
  288 + "perfil_mapa" => $_GET["perfil_mapa"]
  289 + );
  290 + i3GeoAdminUpdate($dbhw,"i3geoadmin_mapas",$dataCol, "WHERE id_mapa =".$id_mapa);
  291 + $retorna = $id_mapa;
  292 + }
  293 + else{
  294 + $dataCol = array(
  295 + "publicado_mapa" => '',
  296 + "ordem_mapa" => 0,
  297 + "perfil_mapa" => '',
  298 + "desc_mapa" => '',
  299 + "ext_mapa" => '',
  300 + "imagem_mapa" => '',
  301 + "linkdireto_mapa" => '',
  302 + "outros_mapa" => '',
  303 + "temas_mapa" => '',
  304 + "ligados_mapa" => '',
  305 + "nome_mapa" => '',
  306 + "mapfile" => ''
  307 + );
  308 + $id = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_mapas",$dataCol,"nome_mapa","id_mapa");
  309 + $retorna = $id;
  310 + }
  311 + $dbhw = null;
  312 + $dbh = null;
  313 + return $retorna;
  314 + }
  315 + catch (PDOException $e){
  316 + return "Error!: ";
  317 + }
  318 +}
  319 +function excluirMapa(){
  320 + global $id,$esquemaadmin;
  321 + try{
  322 + exclui($esquemaadmin."i3geoadmin_mapas","id_mapa",$id);
  323 + return "ok";
  324 + }
  325 + catch (PDOException $e){
  326 + return "Error!: ";
  327 + }
  328 +}
  329 +?>
0 \ No newline at end of file 330 \ No newline at end of file
admin1/black_editor.php
@@ -15,30 +15,25 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -15,30 +15,25 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
15 } 15 }
16 ?> 16 ?>
17 <!DOCTYPE html> 17 <!DOCTYPE html>
18 -<html> 18 +<html lang="pt-br">
19 <head> 19 <head>
20 <meta http-equiv="Category" content="i3Geo Mapa interativo MMA geoprocessamento sig mobile"> 20 <meta http-equiv="Category" content="i3Geo Mapa interativo MMA geoprocessamento sig mobile">
21 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> 21 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
22 <meta name="viewport" 22 <meta name="viewport"
23 content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=0"> 23 content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=0">
24 <title>i3GEO - OpenLayers</title> 24 <title>i3GEO - OpenLayers</title>
25 -<script src="../pacotes/ol3/ol.js"></script>  
26 -<script src="../js/i3geonaocompacto.js"></script> 25 +<script src="../pacotes/ol4/ol.js"></script>
  26 +<script src="../js/i3geo.js"></script>
27 <!-- lista com os links que serao mostrados na guia ferramentas --> 27 <!-- lista com os links que serao mostrados na guia ferramentas -->
28 <script src="../js/listaDeFerramentas.js"></script> 28 <script src="../js/listaDeFerramentas.js"></script>
29 <!-- configuracoes default tipo pode ser OL (openLayers) ou GM (googlemaps) --> 29 <!-- configuracoes default tipo pode ser OL (openLayers) ou GM (googlemaps) -->
30 <script src="../interface/config.php?tipo=OL"></script> 30 <script src="../interface/config.php?tipo=OL"></script>
31 -<script src="../admin1/js/core.js"></script>  
32 -<link rel="stylesheet" type="text/css" href="../pacotes/ol3/ol.css"> 31 +<link rel="stylesheet" type="text/css" href="../pacotes/ol4/ol.css">
33 <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap/css/bootstrap.min.css"> 32 <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap/css/bootstrap.min.css">
34 <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap-material-design/dist/css/bootstrap-material-design.min.css"> 33 <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap-material-design/dist/css/bootstrap-material-design.min.css">
35 <!-- <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap-accessibility-plugin/plugins/js/bootstrap-accessibility.min.js"> --> 34 <!-- <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap-accessibility-plugin/plugins/js/bootstrap-accessibility.min.js"> -->
36 <link rel="stylesheet" type="text/css" href="../css/default.css"> 35 <link rel="stylesheet" type="text/css" href="../css/default.css">
37 <style> 36 <style>
38 -.ol-attribution img {  
39 - display: none;  
40 -}  
41 -  
42 .ol-attribution.ol-uncollapsible { 37 .ol-attribution.ol-uncollapsible {
43 height: 2.1em; 38 height: 2.1em;
44 right: 24px; 39 right: 24px;
@@ -118,25 +113,36 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -118,25 +113,36 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
118 </div> 113 </div>
119 <!-- barra de icones de navegacao --> 114 <!-- barra de icones de navegacao -->
120 <div class="ol-i3GEOcontrols ol-control" data-traduzir="true"> 115 <div class="ol-i3GEOcontrols ol-control" data-traduzir="true">
121 - <button title="{{{d2t}}}" onclick="i3GEO.Interface.zoom2ext(i3GEO.parametros.extentTotal)" style="float: left;">  
122 - <img style="width:20px;" src="../imagens/gisicons/projection.png"> 116 + <button title="{{{d2t}}}" onclick="i3GEO.Interface.zoom2ext(i3GEO.parametros.extentTotal)" style="float: left;">
  117 + <!--<img style="width:20px;" src="../imagens/gisicons/projection.png">-->
  118 + <i class="material-icons">public</i>
123 </button> 119 </button>
124 <button onclick="i3GEO.Interface.zoomli()" style="float: left;"> 120 <button onclick="i3GEO.Interface.zoomli()" style="float: left;">
125 - <img style="width:20px;" src="../imagens/gisicons/zoom-region.png"> 121 + <!--<img style="width:20px;" src="../imagens/gisicons/zoom-region.png">-->
  122 + <i class="material-icons">zoom_in</i>
126 </button> 123 </button>
127 <br> 124 <br>
128 <button title="{{{volta}}}" onclick="i3GEO.navega.extensaoAnterior()" style="float: left;"> 125 <button title="{{{volta}}}" onclick="i3GEO.navega.extensaoAnterior()" style="float: left;">
129 - <img style="width:16px;" src="../imagens/oxygen/16x16/draw-triangle1.png"> 126 + <!--<img style="width:16px;" src="../imagens/oxygen/16x16/draw-triangle1.png">-->
  127 + <i class="material-icons">undo</i>
130 </button> 128 </button>
131 <button title="{{{avanca}}}" onclick="i3GEO.navega.extensaoProximo()" style="float: left;"> 129 <button title="{{{avanca}}}" onclick="i3GEO.navega.extensaoProximo()" style="float: left;">
132 - <img style="width:16px;" src="../imagens/oxygen/16x16/draw-triangle2.png"> 130 + <!--<img style="width:16px;" src="../imagens/oxygen/16x16/draw-triangle2.png">-->
  131 + <i class="material-icons">redo</i>
133 </button> 132 </button>
134 <br> 133 <br>
135 - <button class="hidden-xs hidden-sm" title="{{{x79}}}" data-template="../interface/templates/ferramentasLink.html" onclick="i3GEO.marcador.inicia(this)" style="float: left;">  
136 - <img style="width:20px;" src="../imagens/gisicons/save1.png"> 134 + <button title="{{{graticule}}}" onclick="i3GEO.Interface.grade()" style="float: left;">
  135 + <!--<img style="width:16px;" src="../imagens/gisicons/graticule.png">-->
  136 + <i class="material-icons">grid_on</i>
  137 + </button>
  138 + <button class="hidden-xs hidden-sm" title="{{{x79}}}" data-template="../interface/templates/ferramentasSend.html" onclick="i3GEO.marcador.inicia(this)" style="float: left;">
  139 + <!--<img style="width:20px;" src="../imagens/gisicons/save1.png">-->
  140 + <i class="material-icons">bookmark_border</i>
137 </button> 141 </button>
  142 + <br>
138 <button class="hidden-xs hidden-sm" title="{{{d9}}}" onclick="i3GEO.maparef.inicia()" style="float: left;"> 143 <button class="hidden-xs hidden-sm" title="{{{d9}}}" onclick="i3GEO.maparef.inicia()" style="float: left;">
139 - <img style="width:20px;" src="../imagens/gisicons/map-reference.png"> 144 + <!--<img style="width:20px;" src="../imagens/gisicons/map-reference.png">-->
  145 + <i class="material-icons">picture_in_picture</i>
140 </button> 146 </button>
141 </div> 147 </div>
142 <!--barra de progresso que e mostrada conforme as camadas sao desenhadas no mapa. Esse elemento deve ter o id="i3GEOprogressoCamadas" --> 148 <!--barra de progresso que e mostrada conforme as camadas sao desenhadas no mapa. Esse elemento deve ter o id="i3GEOprogressoCamadas" -->
@@ -156,15 +162,15 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -156,15 +162,15 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
156 <!-- configuracao para todos os botoes 162 <!-- configuracao para todos os botoes
157 data-idconteudo - id do DIV que contem o conteudo da guia e que sera mostrado ao ser clicado 163 data-idconteudo - id do DIV que contem o conteudo da guia e que sera mostrado ao ser clicado
158 --> 164 -->
159 - <div class="iconesGuiaMovel" data-traduzir="true" style="right:0px;border-radius:4px; padding:2px;cursor: pointer; position: absolute; top: 5px; width: auto; z-index: 5000; background-color: rgba(255,255,255,.4);"> 165 + <div class="iconesGuiaMovel ol-control" data-traduzir="true">
160 <!-- ferramentas 166 <!-- ferramentas
161 data-idLista - id do DIV dentro de idconteudo que sera utilizado para mostrar as "pastas" que abrem o proximo nivel 167 data-idLista - id do DIV dentro de idconteudo que sera utilizado para mostrar as "pastas" que abrem o proximo nivel
162 data-idLinks - id do DIV dentro de idconteudo que sera utilizado para mostrar a lista de links que abre cada ferramenta 168 data-idLinks - id do DIV dentro de idconteudo que sera utilizado para mostrar a lista de links que abre cada ferramenta
163 data-idMigalha - id do DIV que sera utilizado para mostrar o link de retorno ao nivel anterior 169 data-idMigalha - id do DIV que sera utilizado para mostrar o link de retorno ao nivel anterior
164 --> 170 -->
165 <div data-idconteudo="guia8obj" data-idLinks="listaFerramentasLinks" data-idMigalha="migalhaFerramentas" data-idLista="listaFerramentas" onclick="i3GEO.guias.ativa('ferramentas',this)"> 171 <div data-idconteudo="guia8obj" data-idLinks="listaFerramentasLinks" data-idMigalha="migalhaFerramentas" data-idLista="listaFerramentas" onclick="i3GEO.guias.ativa('ferramentas',this)">
166 - <button title="{{{u15a}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
167 - <img src="../imagens/gisicons/tools.png" style="cursor: pointer; padding: 3px;"> 172 + <button title="{{{iconeFerramentas}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  173 + <i class="material-icons">business_center</i>
168 </button> 174 </button>
169 </div> 175 </div>
170 <!-- temas existentes no mapa 176 <!-- temas existentes no mapa
@@ -175,8 +181,8 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -175,8 +181,8 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
175 do metadata existente na camada. Deixe vazio para nao ativar a operacao. 181 do metadata existente na camada. Deixe vazio para nao ativar a operacao.
176 --> 182 -->
177 <div onclick="i3GEO.guias.ativa('temas',this)" data-verificaAbrangencia="" data-idconteudo="guia1obj" data-idListaFundo="listaFundo" data-idListaDeCamadas="listaTemas" style="margin-top: 3px;"> 183 <div onclick="i3GEO.guias.ativa('temas',this)" data-verificaAbrangencia="" data-idconteudo="guia1obj" data-idListaFundo="listaFundo" data-idListaDeCamadas="listaTemas" style="margin-top: 3px;">
178 - <button title="{{{g4a}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
179 - <img src="../imagens/layer.png" style="cursor: pointer; padding: 3px;"> 184 + <button title="{{{iconeMapa}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  185 + <i class="material-icons"><i class="material-icons">visibility</i></i>
180 </button> 186 </button>
181 </div> 187 </div>
182 <!-- catalogo de adicao de temas ao mapa 188 <!-- catalogo de adicao de temas ao mapa
@@ -188,38 +194,40 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -188,38 +194,40 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
188 Variaveis javascript: 194 Variaveis javascript:
189 i3GEO.catalogoMenus.IDSMENUS - (array) apenas os menus com idmenu que constem nessa lista serao mostrados. Por default e vazio. 195 i3GEO.catalogoMenus.IDSMENUS - (array) apenas os menus com idmenu que constem nessa lista serao mostrados. Por default e vazio.
190 --> 196 -->
191 - <div onclick="i3GEO.guias.ativa('adiciona',this)" data-idconteudo="guia2obj" data-idMigalha="catalogoMigalha" data-idNavegacao="catalogoNavegacao" data-idCatalogo="catalogoPrincipal" data-idMenus="catalogoMenus" style="margin-top: 3px;">  
192 - <button title="{{{g1a}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
193 - <img src="../imagens/catalogo.png" style="cursor: pointer; padding: 3px;"> 197 + <div onclick="i3GEO.guias.ativa('adiciona',this)" data-idconteudo="guia2obj" data-idMigalha="catalogoMigalha" data-idNavegacao="catalogoNavegacao" data-idCatalogo="catalogoPrincipal" data-idMenus="catalogoMenus" style="margin-top: 3px;">
  198 + <button title="{{{iconeCatalogo}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  199 + <i class="material-icons">layers</i>
194 </button> 200 </button>
195 </div> 201 </div>
196 <!-- legenda --> 202 <!-- legenda -->
197 <div onclick="i3GEO.guias.ativa('legenda',this)" data-idconteudo="guia4obj" data-idLegenda="legendaHtml" style="margin-top: 3px;"> 203 <div onclick="i3GEO.guias.ativa('legenda',this)" data-idconteudo="guia4obj" data-idLegenda="legendaHtml" style="margin-top: 3px;">
198 - <button title="{{{g3}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
199 - <img src="../imagens/legenda.png" style="cursor: pointer; padding: 3px;"> 204 + <button title="{{{iconeLegenda}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  205 + <i class="material-icons">view_list</i>
200 </button> 206 </button>
201 </div> 207 </div>
202 <div class="hidden-xs hidden-sm" onclick="i3GEO.guias.ativa('dobraPagina',this)" style="margin-top: 3px;"> 208 <div class="hidden-xs hidden-sm" onclick="i3GEO.guias.ativa('dobraPagina',this)" style="margin-top: 3px;">
203 - <button title="{{{trocaInterface}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
204 - <img src="../imagens/googlemaps.png" style="cursor: pointer; padding: 3px;"> 209 + <button title="{{{trocaInterface}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  210 + <i class="material-icons">compare_arrows</i>
205 </button> 211 </button>
206 </div> 212 </div>
207 <!-- Busca --> 213 <!-- Busca -->
208 <div onclick="i3GEO.guias.ativa('buscaRapida',this)" data-idconteudo="guia7obj" style="margin-top: 3px;"> 214 <div onclick="i3GEO.guias.ativa('buscaRapida',this)" data-idconteudo="guia7obj" style="margin-top: 3px;">
209 - <button class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
210 - <img src="../imagens/gisicons/search.png" style="cursor: pointer; padding: 3px;"> 215 + <button class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  216 + <i class="material-icons">search</i>
211 </button> 217 </button>
212 </div> 218 </div>
213 <div onclick="i3GEO.guias.ativa('identificaBalao',this)" style="margin-top: 3px;" > 219 <div onclick="i3GEO.guias.ativa('identificaBalao',this)" style="margin-top: 3px;" >
214 - <button title="{{{d7a}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;">  
215 - <img src="../imagens/gisicons/tips.png" style="cursor: pointer; padding: 3px;"> 220 + <button title="{{{iconeBalao}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  221 + <i class="material-icons">location_on</i>
216 </button> 222 </button>
217 </div> 223 </div>
  224 + <!-- A opcao de identificacao esta integrada ao balao de informacoes, mas pode aparecer aqui tambem
218 <div class="hidden-xs hidden-sm" onclick="i3GEO.guias.ativa('identifica',this)" style="margin-top: 3px;"> 225 <div class="hidden-xs hidden-sm" onclick="i3GEO.guias.ativa('identifica',this)" style="margin-top: 3px;">
219 - <button title="{{{d7}}}" class="btn btn-default iconeGuiaMovel" style="box-shadow: none;"> 226 + <button title="{{{iconeIdentifica}}}" class="iconeGuiaMovel" style="box-shadow: none;">
220 <img src="../imagens/gisicons/pointer-info.png" style="cursor: pointer; padding: 3px;"> 227 <img src="../imagens/gisicons/pointer-info.png" style="cursor: pointer; padding: 3px;">
221 </button> 228 </button>
222 </div> 229 </div>
  230 + -->
223 </div> 231 </div>
224 <!-- veja i3GEO.guias.CONFIGURA --> 232 <!-- veja i3GEO.guias.CONFIGURA -->
225 <!-- Os IDs sao definidos no botao que ativa a guia veja: "i3GEOguiaMovel" --> 233 <!-- Os IDs sao definidos no botao que ativa a guia veja: "i3GEOguiaMovel" -->
@@ -228,25 +236,27 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -228,25 +236,27 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
228 <div id="i3GEOguiaMovelConteudo" > 236 <div id="i3GEOguiaMovelConteudo" >
229 <!-- camadas existentes no mapa --> 237 <!-- camadas existentes no mapa -->
230 <div id='guia1obj' data-traduzir="true" style='display: none;'> 238 <div id='guia1obj' data-traduzir="true" style='display: none;'>
231 - <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{g4a}}}</span>X</div> 239 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');">
  240 + <span class="pull-left">{{{iconeMapa}}}</span>X</div>
232 <div class="separadorCabecalhoGuias">&nbsp;</div> 241 <div class="separadorCabecalhoGuias">&nbsp;</div>
233 - <div class="noprint" >  
234 - <a href="javascript:void(0)" data-target="#" class="dropdown-toggle" data-toggle="dropdown">  
235 - {{{opcoes}}}  
236 - <span class="caret"></span>  
237 - </a>  
238 - <ul class="dropdown-menu">  
239 - <li><a onclick="i3GEO.arvoreDeCamadas.atualiza(i3GEO.arvoreDeCamadas.CAMADAS,true)" href="javascript:void(0)" >Refresh</a></li>  
240 - <li><a onclick="i3GEO.arvoreDeCamadas.aplicaTemas('ligartodos')" href="javascript:void(0)" >{{{t3a}}}</a></li>  
241 - <li><a onclick="i3GEO.arvoreDeCamadas.aplicaTemas('desligartodos')" href="javascript:void(0)" >{{{t3b}}}</a></li>  
242 - <li><a onclick="i3GEO.arvoreDeCamadas.dialogo.excluir()" href="javascript:void(0)" >{{{t12}}}</a></li>  
243 - <li><a onclick="i3GEO.arvoreDeCamadas.dialogo.filtro()" href="javascript:void(0)" >{{{t2a}}}</a></li>  
244 - <li><a onclick="i3GEO.mapa.dialogo.opacidade()" href="javascript:void(0)" >{{{t20}}}</a></li>  
245 - <li><a onclick="i3GEO.mapa.dialogo.animacao()" href="javascript:void(0)" >{{{p21}}}</a></li>  
246 - <li><a onclick="i3GEO.mapa.dialogo.imprimir()" href="javascript:void(0)" >{{{d12}}}</a></li>  
247 - <li><a onclick="i3GEO.mapa.limpasel()" href="javascript:void(0)" >{{{t4}}}</a></li>  
248 - </ul> 242 + <div class="list-group condensed noprint" >
  243 + <label>{{{opcoes}}}</label>
  244 + <a data-target="#opcoesGuia1" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" >
  245 + <span class="caret"></span>
  246 + </a>
  247 + <div class="text-left collapse" id="opcoesGuia1" style="margin-left: 30px;">
  248 + <p><a onclick="i3GEO.arvoreDeCamadas.atualiza(i3GEO.arvoreDeCamadas.CAMADAS,true)" href="javascript:void(0)" >Refresh</a></p>
  249 + <p><a onclick="i3GEO.arvoreDeCamadas.aplicaTemas('ligartodos')" href="javascript:void(0)" >{{{t3a}}}</a></p>
  250 + <p><a onclick="i3GEO.arvoreDeCamadas.aplicaTemas('desligartodos')" href="javascript:void(0)" >{{{t3b}}}</a></p>
  251 + <p><a onclick="i3GEO.arvoreDeCamadas.dialogo.excluir()" href="javascript:void(0)" >{{{t12}}}</a></p>
  252 + <p><a onclick="i3GEO.arvoreDeCamadas.dialogo.filtro()" href="javascript:void(0)" >{{{t2a}}}</a></p>
  253 + <p><a onclick="i3GEO.mapa.dialogo.opacidade()" href="javascript:void(0)" >{{{t20}}}</a></p>
  254 + <p><a onclick="i3GEO.mapa.dialogo.animacao()" href="javascript:void(0)" >{{{p21}}}</a></p>
  255 + <p><a onclick="i3GEO.mapa.dialogo.imprimir()" href="javascript:void(0)" >{{{d12}}}</a></p>
  256 + <p><a onclick="i3GEO.mapa.limpasel()" href="javascript:void(0)" >{{{t4}}}</a></p>
  257 + </div>
249 </div> 258 </div>
  259 + <hr>
250 <!-- Esta div acrescenta a lista de de camadas dispon&iacute;veis no mapa atual --> 260 <!-- Esta div acrescenta a lista de de camadas dispon&iacute;veis no mapa atual -->
251 <div id="listaTemas" style="overflow:none;" data-template="../interface/templates/camada.html"></div> 261 <div id="listaTemas" style="overflow:none;" data-template="../interface/templates/camada.html"></div>
252 <!-- Esta div acrescenta a lista de de camadas de fundo 262 <!-- Esta div acrescenta a lista de de camadas de fundo
@@ -255,7 +265,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -255,7 +265,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
255 no programa interface/config.php 265 no programa interface/config.php
256 --> 266 -->
257 <div class="list-group condensed"> 267 <div class="list-group condensed">
258 - <label>Camadas de fundo</label> 268 + <label>{{{camadasDeFundo}}}</label>
259 <a data-target="#collapseFundo" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" > 269 <a data-target="#collapseFundo" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" >
260 <span class="caret"></span> 270 <span class="caret"></span>
261 </a> 271 </a>
@@ -268,56 +278,56 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -268,56 +278,56 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
268 </div> 278 </div>
269 <!-- Catalogo de temas --> 279 <!-- Catalogo de temas -->
270 <div id='guia2obj' data-traduzir="true" style='display: none; text-align:left;'> 280 <div id='guia2obj' data-traduzir="true" style='display: none; text-align:left;'>
271 - <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');i3GEO.catalogoMenus.mostraCatalogoPrincipal();"><span class="pull-left">{{{g1a}}}</span> X</div> 281 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');i3GEO.catalogoMenus.mostraCatalogoPrincipal();"><span class="pull-left">{{{iconeCatalogo}}}</span> X</div>
272 <div class="separadorCabecalhoGuias">&nbsp;</div> 282 <div class="separadorCabecalhoGuias">&nbsp;</div>
273 <!-- aqui entra a lista de elementos quando uma das opcoes e clicada --> 283 <!-- aqui entra a lista de elementos quando uma das opcoes e clicada -->
274 <div id="catalogoMigalha" data-template="../interface/templates/catalogoMigalha.html"></div> 284 <div id="catalogoMigalha" data-template="../interface/templates/catalogoMigalha.html"></div>
275 <div id="catalogoNavegacao"></div> 285 <div id="catalogoNavegacao"></div>
276 <!-- Opcoes --> 286 <!-- Opcoes -->
277 <div id="catalogoPrincipal"> 287 <div id="catalogoPrincipal">
278 - <div class="noprint" >  
279 - <a href="javascript:void(0)" data-target="#" class="dropdown-toggle" data-toggle="dropdown">  
280 - {{{opcoes}}}  
281 - <span class="caret"></span>  
282 - </a>  
283 - <ul class="dropdown-menu">  
284 - <li> 288 + <div class="list-group condensed noprint" >
  289 + <label>{{{opcoes}}}</label>
  290 + <a data-target="#opcoesGuia2" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" >
  291 + <span class="caret"></span>
  292 + </a>
  293 + <div class="text-left collapse" id="opcoesGuia2" style="margin-left: 30px;">
  294 + <p>
285 <a href="javascript:void(0)" onclick="i3GEO.login.dialogo.abreLogin()">Login/Logout</a> 295 <a href="javascript:void(0)" onclick="i3GEO.login.dialogo.abreLogin()">Login/Logout</a>
286 - </li>  
287 -  
288 - <li>  
289 - <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.atualiza()">Refresh</a>  
290 - </li>  
291 - <li class="divider"></li>  
292 - <li> 296 + </p>
  297 + <p>
  298 + <!-- <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.atualiza()">Refresh</a> -->
  299 + </p>
  300 + <li class="divider"></p>
  301 + <p>
293 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.conectaservico()" >{{{a15}}}</a> 302 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.conectaservico()" >{{{a15}}}</a>
294 - </li>  
295 - <li> 303 + </p>
  304 + <p>
296 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.uploadarquivo()">{{{a14}}}</a> 305 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.uploadarquivo()">{{{a14}}}</a>
297 - </li>  
298 - <li> 306 + </p>
  307 + <p>
299 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.downloadbase()">{{{a3}}}</a> 308 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.downloadbase()">{{{a3}}}</a>
300 - </li>  
301 - <li> 309 + </p>
  310 + <p>
302 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.importarwmc()">{{{a3a}}}</a> 311 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.importarwmc()">{{{a3a}}}</a>
303 - </li>  
304 - <li>  
305 - <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.nuvemTags()">{{{a5a}}}</a>  
306 - </li>  
307 - <li>  
308 - <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.carouselTemas()">Miniaturas</a>  
309 - </li>  
310 - <li> 312 + </p>
  313 + <p>
  314 + <!-- <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.nuvemTags()">{{{a5a}}}</a> -->
  315 + </p>
  316 + <p>
  317 + <!-- <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.carouselTemas()">Miniaturas</a> -->
  318 + </p>
  319 + <p>
311 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.buscaInde()">Busca na INDE</a> 320 <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.buscaInde()">Busca na INDE</a>
312 - </li>  
313 - <li> 321 + </p>
  322 + <p>
314 <a href="javascript:void(0)" onclick="i3GEO.mapa.dialogo.metaestat()">Cartogramas estatisticos</a> 323 <a href="javascript:void(0)" onclick="i3GEO.mapa.dialogo.metaestat()">Cartogramas estatisticos</a>
315 - </li>  
316 - <li><a href="http://localhost/i3geo/kml.php?tipoxml=kml" target="_blank">{{{a13}}}</a>  
317 - </li>  
318 - </ul> 324 + </p>
  325 + <p><a href="http://localhost/i3geo/kml.php?tipoxml=kml" target="_blank">{{{a13}}}</a>
  326 + </p>
  327 + </div>
319 </div> 328 </div>
320 - <!-- busca tema no catalogo --> 329 + <hr>
  330 + <!-- busca tema no catalogo
321 <div class="form-group label-floating"> 331 <div class="form-group label-floating">
322 <label class="control-label" for="i3GEObuscatema">{{{a1}}}</label> 332 <label class="control-label" for="i3GEObuscatema">{{{a1}}}</label>
323 <div class="input-group"> 333 <div class="input-group">
@@ -329,6 +339,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -329,6 +339,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
329 </span> 339 </span>
330 </div> 340 </div>
331 </div> 341 </div>
  342 + -->
332 <!-- A lista de menus e uma funcao de i3GEO.guias.CONFIGURA.adiciona 343 <!-- A lista de menus e uma funcao de i3GEO.guias.CONFIGURA.adiciona
333 Nessa funcao ficam tambem os parametros: 344 Nessa funcao ficam tambem os parametros:
334 "idOndeMenus": "catalogoMenus", 345 "idOndeMenus": "catalogoMenus",
@@ -358,7 +369,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -358,7 +369,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
358 <!-- servicos da INDE brasileira --> 369 <!-- servicos da INDE brasileira -->
359 <div class="list-group condensed"><div class="row-content text-left"> 370 <div class="list-group condensed"><div class="row-content text-left">
360 <a onclick="i3GEO.catalogoInde.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 371 <a onclick="i3GEO.catalogoInde.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
361 - <label style="width: 265px;vertical-align: middle;"> 372 + <label style="width: 255px;vertical-align: middle;">
362 <a onclick="i3GEO.catalogoInde.inicia()" role="button" href="javascript:void(0)"> 373 <a onclick="i3GEO.catalogoInde.inicia()" role="button" href="javascript:void(0)">
363 <h4>INDE-Br</h4></a> 374 <h4>INDE-Br</h4></a>
364 <h6>Infraestrutura Nacional de Dados Espaciais do Brasil</h6> 375 <h6>Infraestrutura Nacional de Dados Espaciais do Brasil</h6>
@@ -367,7 +378,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -367,7 +378,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
367 <!-- lista de wms cadastrados no sistema de administracao --> 378 <!-- lista de wms cadastrados no sistema de administracao -->
368 <div class="list-group condensed"><div class="row-content text-left"> 379 <div class="list-group condensed"><div class="row-content text-left">
369 <a onclick="i3GEO.catalogoOgc.inicia();return false;" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 380 <a onclick="i3GEO.catalogoOgc.inicia();return false;" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
370 - <label style="width: 265px;vertical-align: middle;"> 381 + <label style="width: 255px;vertical-align: middle;">
371 <a onclick="i3GEO.catalogoOgc.inicia()" role="button" href="javascript:void(0)"> 382 <a onclick="i3GEO.catalogoOgc.inicia()" role="button" href="javascript:void(0)">
372 <h4>OGC-WMS</h4></a> 383 <h4>OGC-WMS</h4></a>
373 <h6>{{{descOgcWms}}}</h6> 384 <h6>{{{descOgcWms}}}</h6>
@@ -376,7 +387,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -376,7 +387,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
376 <!-- regioes cadastradas no sistema de metadados --> 387 <!-- regioes cadastradas no sistema de metadados -->
377 <div class="list-group condensed"><div class="row-content text-left"> 388 <div class="list-group condensed"><div class="row-content text-left">
378 <a onclick="i3GEO.catalogoRegioes.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 389 <a onclick="i3GEO.catalogoRegioes.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
379 - <label style="width: 265px;vertical-align: middle;"> 390 + <label style="width: 255px;vertical-align: middle;">
380 <a onclick="i3GEO.catalogoRegioes.inicia()" role="button" href="javascript:void(0)"> 391 <a onclick="i3GEO.catalogoRegioes.inicia()" role="button" href="javascript:void(0)">
381 <h4>{{{x87}}}</h4></a> 392 <h4>{{{x87}}}</h4></a>
382 <h6>{{{descLimLoc}}}</h6> 393 <h6>{{{descLimLoc}}}</h6>
@@ -385,7 +396,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -385,7 +396,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
385 <!-- camadas que vem do sistema de metadados estatisticos --> 396 <!-- camadas que vem do sistema de metadados estatisticos -->
386 <div class="list-group condensed"><div class="row-content text-left"> 397 <div class="list-group condensed"><div class="row-content text-left">
387 <a onclick="i3GEO.catalogoMetaestat.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 398 <a onclick="i3GEO.catalogoMetaestat.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
388 - <label style="width: 265px;vertical-align: middle;"> 399 + <label style="width: 255px;vertical-align: middle;">
389 <a onclick="i3GEO.catalogoMetaestat.inicia()" role="button" href="javascript:void(0)"> 400 <a onclick="i3GEO.catalogoMetaestat.inicia()" role="button" href="javascript:void(0)">
390 <h4>{{{x57}}}</h4></a> 401 <h4>{{{x57}}}</h4></a>
391 <h6>{{{descMeta}}}</h6> 402 <h6>{{{descMeta}}}</h6>
@@ -394,7 +405,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -394,7 +405,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
394 <!-- mapas cadastrados no sistema de administracao (nao funcional) 405 <!-- mapas cadastrados no sistema de administracao (nao funcional)
395 <div class="list-group condensed"><div class="row-content text-left"> 406 <div class="list-group condensed"><div class="row-content text-left">
396 <a onclick="i3GEO.catalogoMapas.inicia({'seletorTemplateDir': '#guia2objTemplateDir','seletorTemplateTema': '#guia2objTemplateTema','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 407 <a onclick="i3GEO.catalogoMapas.inicia({'seletorTemplateDir': '#guia2objTemplateDir','seletorTemplateTema': '#guia2objTemplateTema','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
397 - <label style="width: 265px;vertical-align: middle;"> 408 + <label style="width: 255px;vertical-align: middle;">
398 <a onclick="i3GEO.catalogoMapas.inicia({'seletorTemplateDir': '#guia2objTemplateDir','seletorTemplateTema': '#guia2objTemplateTema','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})" role="button" href="javascript:void(0)"> 409 <a onclick="i3GEO.catalogoMapas.inicia({'seletorTemplateDir': '#guia2objTemplateDir','seletorTemplateTema': '#guia2objTemplateTema','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})" role="button" href="javascript:void(0)">
399 <h4>{{{x90}}}</h4></a> 410 <h4>{{{x90}}}</h4></a>
400 <h6>{{{descMapas}}}</h6> 411 <h6>{{{descMapas}}}</h6>
@@ -404,7 +415,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -404,7 +415,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
404 <!-- camadas por estrelas --> 415 <!-- camadas por estrelas -->
405 <div class="list-group condensed"><div class="row-content text-left"> 416 <div class="list-group condensed"><div class="row-content text-left">
406 <a onclick="i3GEO.catalogoEstrelas.inicia({'valorEstrela':5,'numEstrelas':1})" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 417 <a onclick="i3GEO.catalogoEstrelas.inicia({'valorEstrela':5,'numEstrelas':1})" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
407 - <label style="width: 265px;vertical-align: middle;"> 418 + <label style="width: 255px;vertical-align: middle;">
408 <a onclick="i3GEO.catalogoEstrelas.inicia({'valorEstrela':5,'numEstrelas':1})" role="button" href="javascript:void(0)"> 419 <a onclick="i3GEO.catalogoEstrelas.inicia({'valorEstrela':5,'numEstrelas':1})" role="button" href="javascript:void(0)">
409 <h4>{{{t46}}}</h4></a> 420 <h4>{{{t46}}}</h4></a>
410 <h6>{{{descEstrelas}}}</h6> 421 <h6>{{{descEstrelas}}}</h6>
@@ -413,7 +424,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -413,7 +424,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
413 <!-- sistemas que adicionam camadas --> 424 <!-- sistemas que adicionam camadas -->
414 <div class="list-group condensed"><div class="row-content text-left"> 425 <div class="list-group condensed"><div class="row-content text-left">
415 <a onclick="i3GEO.catalogoSistemas.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 426 <a onclick="i3GEO.catalogoSistemas.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
416 - <label style="width: 265px;vertical-align: middle;"> 427 + <label style="width: 255px;vertical-align: middle;">
417 <a onclick="i3GEO.catalogoSistemas.inicia()" role="button" href="javascript:void(0)"> 428 <a onclick="i3GEO.catalogoSistemas.inicia()" role="button" href="javascript:void(0)">
418 <h4>{{{a11}}}</h4></a> 429 <h4>{{{a11}}}</h4></a>
419 <h6>{{{descSistemas}}}</h6> 430 <h6>{{{descSistemas}}}</h6>
@@ -422,7 +433,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -422,7 +433,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
422 <!-- navegacao em diretorios --> 433 <!-- navegacao em diretorios -->
423 <div class="list-group condensed"><div class="row-content text-left"> 434 <div class="list-group condensed"><div class="row-content text-left">
424 <a onclick="i3GEO.catalogoDir.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a> 435 <a onclick="i3GEO.catalogoDir.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
425 - <label style="width: 265px;vertical-align: middle;"> 436 + <label style="width: 255px;vertical-align: middle;">
426 <a onclick="i3GEO.catalogoDir.inicia()" role="button" href="javascript:void(0)"> 437 <a onclick="i3GEO.catalogoDir.inicia()" role="button" href="javascript:void(0)">
427 <h4>{{{a6}}}</h4></a> 438 <h4>{{{a6}}}</h4></a>
428 <h6>{{{descDir}}}</h6> 439 <h6>{{{descDir}}}</h6>
@@ -432,7 +443,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -432,7 +443,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
432 </div> 443 </div>
433 <!-- Legenda --> 444 <!-- Legenda -->
434 <div data-traduzir="true" id='guia4obj' style='display: none; text-align: left'> 445 <div data-traduzir="true" id='guia4obj' style='display: none; text-align: left'>
435 - <div class="i3GEOfechaGuia" onclick="i3GEO.legenda.off('legendaHtml');i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{g3}}}</span>X</div> 446 + <div class="i3GEOfechaGuia" onclick="i3GEO.legenda.off('legendaHtml');i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{iconeLegenda}}}</span>X</div>
436 <div class="separadorCabecalhoGuias">&nbsp;</div> 447 <div class="separadorCabecalhoGuias">&nbsp;</div>
437 <a href='javascript:void(0)' onclick="i3GEO.legenda.inicia({'janela':true})" >{{{x11}}}</a> 448 <a href='javascript:void(0)' onclick="i3GEO.legenda.inicia({'janela':true})" >{{{x11}}}</a>
438 <div id="legendaHtml" data-template="../interface/templates/legenda.html" data-size="35,25" style='display: none; text-align: left'></div> 449 <div id="legendaHtml" data-template="../interface/templates/legenda.html" data-size="35,25" style='display: none; text-align: left'></div>
@@ -443,9 +454,9 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -443,9 +454,9 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
443 Esses parametros indicam qual o checkbox que define o tipo de busca, o local onde os dados serao mostrados e o template para formatar o resultado 454 Esses parametros indicam qual o checkbox que define o tipo de busca, o local onde os dados serao mostrados e o template para formatar o resultado
444 --> 455 -->
445 <div data-traduzir="true" id='guia7obj' style='display: none; text-align: left'> 456 <div data-traduzir="true" id='guia7obj' style='display: none; text-align: left'>
446 - <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{u15a}}}</span> X</div> 457 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{t23}}}</span> X</div>
447 <div class="separadorCabecalhoGuias">&nbsp;</div> 458 <div class="separadorCabecalhoGuias">&nbsp;</div>
448 - <form> 459 + <form onSubmit="return false;" >
449 <div class="form-group label-floating"> 460 <div class="form-group label-floating">
450 <label class="control-label" for="valorBuscaRapida">{{{x36}}}</label> 461 <label class="control-label" for="valorBuscaRapida">{{{x36}}}</label>
451 <div class="input-group"> 462 <div class="input-group">
@@ -506,7 +517,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -506,7 +517,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
506 </div> 517 </div>
507 <!-- Ferramentas --> 518 <!-- Ferramentas -->
508 <div data-traduzir="true" id='guia8obj' style='display: none; text-align: left'> 519 <div data-traduzir="true" id='guia8obj' style='display: none; text-align: left'>
509 - <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{u15a}}}</span> X</div> 520 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{iconeFerramentas}}}</span> X</div>
510 <div class="separadorCabecalhoGuias">&nbsp;</div> 521 <div class="separadorCabecalhoGuias">&nbsp;</div>
511 <div class="form-inline" style="width:100%;"> 522 <div class="form-inline" style="width:100%;">
512 <div class="text-center form-group" style="margin:4px;"> 523 <div class="text-center form-group" style="margin:4px;">
@@ -543,7 +554,6 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -543,7 +554,6 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
543 </div> 554 </div>
544 </div> 555 </div>
545 </div> 556 </div>
546 -  
547 <!-- para mostrar o banner de abertura --> 557 <!-- para mostrar o banner de abertura -->
548 <script id="i3GEOlogoMarcaTemplate" type="x-tmpl-mustache"> 558 <script id="i3GEOlogoMarcaTemplate" type="x-tmpl-mustache">
549 <div> 559 <div>
@@ -567,12 +577,85 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -567,12 +577,85 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
567 //ativa o banner de inicializacao 577 //ativa o banner de inicializacao
568 i3GEO.janela.tempoMsg($i("i3GEOlogoMarcaTemplate").innerHTML,4000); 578 i3GEO.janela.tempoMsg($i("i3GEOlogoMarcaTemplate").innerHTML,4000);
569 (function() { 579 (function() {
  580 + //parametros aplicados na criacao do arquivo mapfile
570 var parametrosMapa = { 581 var parametrosMapa = {
  582 + //arquivo mapfile que servira de base para a criacao do mapa. Por default, sao utilizados os arquivos existentes em i3geo/aplicmap (geral1windows, geral1,...)
  583 + //Essa variavel pode ser definida em ms_configura tambem. Se nao estiver definida em nenhum lugar, o i3Geo tentara descobrir o arquivo adequado a ser utilizado. Voce pode utilizar essa opcao para abrir um mapa com as camadas que voce quiser, mas para evitar redundâncias, prefira o uso de &temasa
  584 + mapfilebase: "",
  585 + //extensao geografica do mapa
  586 + //deve ser definida em coordenadas no formato decimos de grau e na projecao geografica na sequencia xmin ymin xmax ymax
  587 + //exemplo [-77,-26,-30,6]
  588 + mapext: [],
  589 + //perfil utilizado para restringir os menus de temas mostrando apenas os que correspondem a determinado perfil
  590 + perfil: "",
  591 + //layers que serao adicionados ao mapa.
  592 +
571 layers: { 593 layers: {
572 add: ["<?php echo strip_tags($_GET["temaEdicao"]); ?>"], 594 add: ["<?php echo strip_tags($_GET["temaEdicao"]); ?>"],
573 on: ["<?php echo strip_tags($_GET["temaEdicao"]); ?>"], 595 on: ["<?php echo strip_tags($_GET["temaEdicao"]); ?>"],
574 off: [] 596 off: []
575 - } 597 + },
  598 + points: {
  599 + //array com a lista de coordenadas
  600 + coord: [],
  601 + //titulo da nova camada
  602 + title: ""
  603 + },
  604 + //lista de coordenadas x e y que serao adicionadas como linhas no mapa
  605 + lines: {
  606 + //array de arrays com a lista de coordenadas de cada linha
  607 + //exemplo [[-54,-12,-50,-12],[-50,-1,-50,-2,-50,-3]]
  608 + coord: [[]],
  609 + //titulo da nova camada
  610 + title:""
  611 + },
  612 + //lista de coordenadas x e y que serao adicionadas como poligonos no mapa
  613 + polygons: {
  614 + //array de arrays com a lista de coordenadas de cada poligono. A primeira coordenada deve ser igual a ultima.
  615 + //exemplo [[-50,-1,-48,-2,-50,-3,-50,-1]]
  616 + coord: [[]],
  617 + //titulo da nova camada
  618 + title:""
  619 + },
  620 + //insere elementos no mapa com coordenadas definidas em wkt
  621 + wkt: {
  622 + //string no formato wkt
  623 + coord: "",
  624 + //titulo da nova camada
  625 + title: ""
  626 + },
  627 + //simbolo que sera utilizado para desenhar os elementos inseridos
  628 + symbol: {
  629 + //codigo do simbolo conforme definido em i3geo/symbols
  630 + name: "",
  631 + //em rgb, exemplo "0 255 0"
  632 + color: "",
  633 + //em pixels
  634 + size: ""
  635 + },
  636 + //arquivo KML que sera incluido no mapa. Valido apenas na interface google maps
  637 + kml: {
  638 + url: ""
  639 + },
  640 + //endereco de um WMS (sera incluido como uma camada no mapa)
  641 + wms: {
  642 + url: "",
  643 + layer: "",
  644 + style: "",
  645 + title: "",
  646 + srs: "",
  647 + imagetype: "",
  648 + version: ""
  649 + },
  650 + //filtros que serao aplicados aos layers. Utilize a expressaso conforme definido na documentacao
  651 + //do mapserver, exemplo
  652 + //{layer: "_lbiomashp",expression: "(('[CD_LEGENDA]'='CAATINGA'))"} ou {layer: "_lbiomashp",expression: "cd_legenda='CAATINGA'"}
  653 + filters: [{
  654 + layer: "",
  655 + expression: ""
  656 + }],
  657 + //id de um mapa salvo e que sera recuperado
  658 + restoreMapId : ""
576 }; 659 };
577 var config = { 660 var config = {
578 //id do elemento HTML onde o corpo do mapa sera renderizado 661 //id do elemento HTML onde o corpo do mapa sera renderizado
@@ -593,9 +676,79 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -593,9 +676,79 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
593 i3GeoServer : "", 676 i3GeoServer : "",
594 //Funcao que sera executada apos a inicializacao do mapa 677 //Funcao que sera executada apos a inicializacao do mapa
595 afterStart : function(){ 678 afterStart : function(){
  679 + $('.iconeGuiaMovel').tooltip({animation: false, trigger: "manual", placement: "left"});
  680 + $('.iconeGuiaMovel').tooltip('show');
  681 + $("#i3GEOguiaMovelConteudo").mCustomScrollbar({scrollbarPosition: "outside",theme:"inset-2-dark"});
  682 +
596 i3GEO.mapa.ativaTema("<?php echo strip_tags($_GET["temaEdicao"]); ?>"); 683 i3GEO.mapa.ativaTema("<?php echo strip_tags($_GET["temaEdicao"]); ?>");
597 i3GEO.mapa.dialogo.atalhosedicao(); 684 i3GEO.mapa.dialogo.atalhosedicao();
598 }, 685 },
  686 + //parametros de configuracao de diferentes componentes do mapa, como o catalogo de temas, balao de info, etc
  687 + components : {
  688 + //define se ao clicar no mapa sera feita a busca de atributos nas camadas existentes no mapa
  689 + info: true,
  690 + //template mustache usado para o balao de info
  691 + //se for vazio, utiliza o default interface/templates/info.html
  692 + infoTemplate: "",
  693 + //define se ao clicar no mapa sera feita a busca de atributos nas camadas existentes no mapa
  694 + info: true,
  695 + //lista com os codigos dos menus que serao considerados na montagem do catalogo de temas
  696 + idsMenus : [],
  697 + //webservice utilizado na opcao de encontrar lugares
  698 + searchService : "http://mapas.mma.gov.br/webservices/geonames.php",
  699 + //webservice wms que faz a apresentacao do lugar encontrado por searchService
  700 + searchWms : "http://mapas.mma.gov.br/webservices/geonameswms.php",
  701 + //posicao do mapa de referencia, em pixels [top,right]
  702 + referenceMapPosition : [4,120],
  703 + //propriedades do balao de informacoes mostrado quando o usuario clica no mapa
  704 + tooltip : {
  705 + //o resultado sera mostrado em uma janela do tipo modal
  706 + modal : false,
  707 + //url que sera utilizada para obter os dados via $.get. Deve estar no mesmo dominio do i3Geo.
  708 + //Ao final da url serao inseridos os parametros &xx=&yy= com valores em decimos de grau
  709 + //use apenas se modal for true
  710 + //exemplo: http://i3geo.saude.gov.br/i3geo/sage_tabelas/odm/odm6.php?
  711 + url: "",
  712 + //template que sera usado para compor o resultado da busca de dados
  713 + //se for vazio, serao utilizadas as outras opcoes
  714 + //se contiver a string {{{url}}} a mesma sera substituida por url
  715 + //exemplo: "<iframe style='width:400px;height:190px;border:0px white solid' src='{{{url}}}'></iframe>"
  716 + templateModal: "",
  717 + //serao mostrados todos os dados ou apenas aqueles definidos na configuracao da camada
  718 + simple: true,
  719 + removeAoAdicionar : true,
  720 + //parametros exclusivos da interface openlayers
  721 + autoPan : true,
  722 + autoPanAnimation : {
  723 + duration : 250
  724 + },
  725 + minWidth : '200px',
  726 + //Altura e largura do tooltip (balao)
  727 + toolTipSize : ["100px","200px"]
  728 + },
  729 + //barra de rolagem - ver plugin jquery https://github.com/malihu/malihu-custom-scrollbar-plugin
  730 + scrollBar: {
  731 + theme: "inset-2",
  732 + axis: "yx",
  733 + scrollbarPosition: "inside",
  734 + scrollButtons:{ enable: true },
  735 + advanced:{ autoExpandHorizontalScroll: true }
  736 + }
  737 + },
  738 + //parametros de configuracao das ferramentas que sao acionadas sob demanda
  739 + //ferramentas localizadas em i3geo/ferramentas
  740 + tools : {
  741 + //ferramenta de busca de camadas em um servico CSW
  742 + buscainde : {
  743 + //endereco do servico no padrao CSW
  744 + csw : "http://www.metadados.inde.gov.br/geonetwork/srv/br"
  745 + },
  746 + //ferramenta de identificacao
  747 + identifica : {
  748 + //resolucao em pixels para busca de elementos
  749 + resolution : 8
  750 + }
  751 + },
599 //configuracoes especificas para a interface que utiliza o OpenLayers 752 //configuracoes especificas para a interface que utiliza o OpenLayers
600 openLayers : { 753 openLayers : {
601 //utiliza ou nao tiles ao renderizar as camadas do mapa 754 //utiliza ou nao tiles ao renderizar as camadas do mapa
@@ -609,7 +762,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) { @@ -609,7 +762,7 @@ if ($_SESSION [&quot;usuario&quot;] != $_COOKIE [&quot;i3geousuariologin&quot;]) {
609 new ol.control.ZoomSlider(), 762 new ol.control.ZoomSlider(),
610 new ol.control.ScaleLine(), 763 new ol.control.ScaleLine(),
611 new ol.control.Attribution({ 764 new ol.control.Attribution({
612 - collapsible: false 765 + collapsible: true
613 }) 766 })
614 ], 767 ],
615 loadTilesWhileAnimating : true, 768 loadTilesWhileAnimating : true,
admin1/black_editorCriaMapa.php 0 → 100755
@@ -0,0 +1,804 @@ @@ -0,0 +1,804 @@
  1 +<?php
  2 +//verifica login
  3 +session_write_close ();
  4 +session_name ( "i3GeoLogin" );
  5 +if(empty($_COOKIE ["i3geocodigologin"])){
  6 + exit;
  7 +}
  8 +session_id ( $_COOKIE ["i3geocodigologin"] );
  9 +session_start ();
  10 +if ($_SESSION ["usuario"] != $_COOKIE ["i3geousuariologin"]) {
  11 + $_COOKIE = array ();
  12 + $_SESSION = array ();
  13 + session_destroy ();
  14 + exit;
  15 +}
  16 +if(!isset($_GET["id_mapa"])){
  17 + exit;
  18 +}
  19 +$id_mapa = $_GET["id_mapa"] * 1;
  20 +?>
  21 +<!DOCTYPE html>
  22 +<html lang="pt-br">
  23 +<head>
  24 +<meta http-equiv="Category" content="i3Geo Mapa interativo MMA geoprocessamento sig mobile">
  25 +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
  26 +<meta name="viewport"
  27 + content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=0">
  28 +<title>i3GEO - OpenLayers</title>
  29 +<script src="../pacotes/ol4/ol.js"></script>
  30 +<script src="../js/i3geo.js"></script>
  31 +<!-- lista com os links que serao mostrados na guia ferramentas -->
  32 +<script src="../js/listaDeFerramentas.js"></script>
  33 +<!-- configuracoes default tipo pode ser OL (openLayers) ou GM (googlemaps) -->
  34 +<script src="../interface/config.php?tipo=OL"></script>
  35 +<link rel="stylesheet" type="text/css" href="../pacotes/ol4/ol.css">
  36 +<link rel="stylesheet" type="text/css" href="../pacotes/bootstrap/css/bootstrap.min.css">
  37 +<link rel="stylesheet" type="text/css" href="../pacotes/bootstrap-material-design/dist/css/bootstrap-material-design.min.css">
  38 +<!-- <link rel="stylesheet" type="text/css" href="../pacotes/bootstrap-accessibility-plugin/plugins/js/bootstrap-accessibility.min.js"> -->
  39 +<link rel="stylesheet" type="text/css" href="../css/default.css">
  40 +<script src="../ferramentas/salvamapabanco/dependencias.php"></script>
  41 +<style>
  42 +.ol-attribution.ol-uncollapsible {
  43 + height: 2.1em;
  44 + right: 24px;
  45 + background: none;
  46 + margin-bottom: 15px;
  47 +}
  48 +.foraDoMapa + span > span {
  49 + background-color: yellow;
  50 +}
  51 +</style>
  52 +</head>
  53 + <!-- As palavras entre {{{}}} sao utilizadas para a traducao. Veja i3geo/js/dicionario.js
  54 + Marque com data-traduzir="true" os elementos que deverao passar pelo tradutor
  55 + -->
  56 +<body id="i3geo" style='background: white;'>
  57 + <!-- inclui o nome do usuario logado
  58 + <div id="i3GEONomeLogin"
  59 + style="position: absolute; left: 10px; top: 2px; font-size: 11px; z-index: 50000"></div>
  60 + -->
  61 + <!-- Aqui vai o mapa. O div a ser inserido e padronizado e depende da interface usar openlayers ou googlemaps
  62 + Se os estilos width e height nao estiverem definidos, o tamanho do mapa abrangera a tela toda
  63 + -->
  64 + <div id="mapai3Geo" >
  65 + </div>
  66 + <!-- aqui sera incluida a escala numerica. E necessario ter o id=i3GEOescalanum para que o valor seja atualizado-->
  67 + <form class="escalanumerica hidden-xs" onsubmit="javascript:i3GEO.navega.aplicaEscala($i('i3GEOescalanum').value);return false;">
  68 + <input id='i3GEOescalanum' type='text' name='' value='' size='10' title='' >
  69 + </form>
  70 +
  71 + <!-- aqui sera incluido o gadget que mostra a coordenada geografica da posicao do mouse -->
  72 + <div class="localizarxy fundoRodape hidden-xs hidden-sm" >
  73 + <div class="i3GeoMascaraCoord" style="display: block;">
  74 + <select onchange="javascript:i3GEO.coordenadas.mudaTipo(this,'localizarxy');" class="i3geoCoordenadasComboTipo">
  75 + <option>DMS:</option>
  76 + <option value="janela">janela</option>
  77 + <option value="geoProj">DMS</option>
  78 + <option value="dd">Dec. de grau</option>
  79 + <option value="geohash">GeoHash</option>
  80 + <option value="policonicaSad69">Polic SAD-69</option>
  81 + <option value="utmSad69Proj">UTM Sad-69</option>
  82 + <option value="utmSirgas2000Proj">UTM Sirgas</option>
  83 + </select>
  84 + </div>
  85 + <div class="i3GeoMascaraCoord" id="localizarxygeoProj" style="display: block;position: absolute;top: 0px;left: 60px;">
  86 + X:
  87 + <input name="" value="-00" size="3" title="grau" id="localizarxygeoProjxg" type="text">
  88 + <input name="" value="00" size="2" title="minuto" id="localizarxygeoProjxm" type="text">
  89 + <input name="" value="00.00" size="5" title="segundo" id="localizarxygeoProjxs" type="text">
  90 + Y:
  91 + <input name="" value="-00" size="3" title="grau" id="localizarxygeoProjyg" type="text">
  92 + <input name="" value="00" size="2" title="minuto" id="localizarxygeoProjym" type="text">
  93 + <input name="" value="00.00" size="5" title="segundo" id="localizarxygeoProjys" type="text">
  94 + <img class="ticfind" style="margin-left:8px;" title="zoom" onclick="i3GEO.coordenadas.zoomPontoGeo()" src="../imagens/branco.gif">
  95 + </div>
  96 + <div id="localizarxydd" class="i3GeoMascaraCoord" style="display: none;position: absolute;top: 0px;left: 60px;">
  97 + X: <input name="" value="00" size="12" title="X" id="localizarxyddX" type="text">
  98 + Y: <input name="" value="00" size="12" title="Y" id="localizarxyddY" type="text">
  99 + </div>
  100 + <div id="localizarxygeohash" class="i3GeoMascaraCoord" style="display: none;position: absolute;top: 0px;left: 60px;">
  101 + GeoHash <input name="" value="00" size="12" title="Cod" id="localizarxygeohashCodigo" type="text">
  102 + <img class="ticfind" style="margin-left:8px;" title="zoom" onclick="i3GEO.coordenadas.geohash.zoomCodigo('localizarxygeohashCodigo')" src="../imagens/branco.gif">
  103 + </div>
  104 + <div id="localizarxypoliconicaSad69" class="i3GeoMascaraCoord" style="display: none;position: absolute;top: 0px;left: 60px;">
  105 + X: <input name="" value="00" size="12" title="X" id="localizarxypoliconicaSad69X" type="text">
  106 + Y: <input name="" value="00" size="12" title="Y" id="localizarxypoliconicaSad69Y" type="text">
  107 + </div>
  108 + <div id="localizarxyutmSad69Proj" class="i3GeoMascaraCoord" style="display: none;position: absolute;top: 0px;left: 60px;">
  109 + X: <input name="" value="00" size="12" title="X" id="localizarxyutmSad69ProjX" type="text">
  110 + Y: <input name="" value="00" size="12" title="Y" id="localizarxyutmSad69ProjY" type="text">
  111 + Zn: <input name="" value="--" size="2" title="Zona" id="localizarxyutmSad69ProjZN" type="text">
  112 + </div>
  113 + <div id="localizarxyutmSirgas2000Proj" class="i3GeoMascaraCoord" style="display: none;position: absolute;top: 0px;left: 60px;">
  114 + X: <input name="" value="00" size="12" title="X" id="localizarxyutmSirgas2000ProjX" type="text">
  115 + Y: <input name="" value="00" size="12" title="Y" id="localizarxyutmSirgas2000ProjY" type="text">
  116 + Zn: <input name="" value="--" size="2" title="Zona" id="localizarxyutmSirgas2000ProjZN" type="text">
  117 + </div>
  118 + </div>
  119 + <!-- barra de icones de navegacao -->
  120 + <div class="ol-i3GEOcontrols ol-control" data-traduzir="true">
  121 + <button title="{{{d2t}}}" onclick="i3GEO.Interface.zoom2ext(i3GEO.parametros.extentTotal)" style="float: left;">
  122 + <!--<img style="width:20px;" src="../imagens/gisicons/projection.png">-->
  123 + <i class="material-icons">public</i>
  124 + </button>
  125 + <button onclick="i3GEO.Interface.zoomli()" style="float: left;">
  126 + <!--<img style="width:20px;" src="../imagens/gisicons/zoom-region.png">-->
  127 + <i class="material-icons">zoom_in</i>
  128 + </button>
  129 + <br>
  130 + <button title="{{{volta}}}" onclick="i3GEO.navega.extensaoAnterior()" style="float: left;">
  131 + <!--<img style="width:16px;" src="../imagens/oxygen/16x16/draw-triangle1.png">-->
  132 + <i class="material-icons">undo</i>
  133 + </button>
  134 + <button title="{{{avanca}}}" onclick="i3GEO.navega.extensaoProximo()" style="float: left;">
  135 + <!--<img style="width:16px;" src="../imagens/oxygen/16x16/draw-triangle2.png">-->
  136 + <i class="material-icons">redo</i>
  137 + </button>
  138 + <br>
  139 + <button title="{{{graticule}}}" onclick="i3GEO.Interface.grade()" style="float: left;">
  140 + <!--<img style="width:16px;" src="../imagens/gisicons/graticule.png">-->
  141 + <i class="material-icons">grid_on</i>
  142 + </button>
  143 + <button class="hidden-xs hidden-sm" title="{{{x79}}}" data-template="../interface/templates/ferramentasSend.html" onclick="i3GEO.marcador.inicia(this)" style="float: left;">
  144 + <!--<img style="width:20px;" src="../imagens/gisicons/save1.png">-->
  145 + <i class="material-icons">bookmark_border</i>
  146 + </button>
  147 + <br>
  148 + <button class="hidden-xs hidden-sm" title="{{{d9}}}" onclick="i3GEO.maparef.inicia()" style="float: left;">
  149 + <!--<img style="width:20px;" src="../imagens/gisicons/map-reference.png">-->
  150 + <i class="material-icons">picture_in_picture</i>
  151 + </button>
  152 + </div>
  153 + <!--barra de progresso que e mostrada conforme as camadas sao desenhadas no mapa. Esse elemento deve ter o id="i3GEOprogressoCamadas" -->
  154 + <div id="i3GEOprogressoCamadas" class="progress" style="display:block;position:absolute;top:0px; height:5px;width:0%;margin:auto;">
  155 + <div class="progress-bar progress-bar-striped active" role="progressbar" style="width:100%">
  156 + </div>
  157 + </div>
  158 + <!--barra de aguarde id="i3GEObarraAguarde" -->
  159 + <div id="i3GEObarraAguarde" class="progress" style="display:block;position:absolute;top:0px; height:5px;width:0%;margin:auto;">
  160 + <div class="progress-bar progress-bar-success progress-bar-striped active" role="progressbar" style="width:100%">
  161 + </div>
  162 + </div>
  163 + <!-- mensagem de copyright -->
  164 + <div id="i3GEOcopyright">i3Geo</div>
  165 + <!-- botoes laterais que abrem guias moveis -->
  166 + <div id="i3GEOguiaMovel" >
  167 + <!-- configuracao para todos os botoes
  168 + data-idconteudo - id do DIV que contem o conteudo da guia e que sera mostrado ao ser clicado
  169 + -->
  170 + <div class="iconesGuiaMovel ol-control" data-traduzir="true">
  171 + <!-- ferramentas
  172 + data-idLista - id do DIV dentro de idconteudo que sera utilizado para mostrar as "pastas" que abrem o proximo nivel
  173 + data-idLinks - id do DIV dentro de idconteudo que sera utilizado para mostrar a lista de links que abre cada ferramenta
  174 + data-idMigalha - id do DIV que sera utilizado para mostrar o link de retorno ao nivel anterior
  175 + -->
  176 + <div data-idconteudo="guia8obj" data-idLinks="listaFerramentasLinks" data-idMigalha="migalhaFerramentas" data-idLista="listaFerramentas" onclick="i3GEO.guias.ativa('ferramentas',this)">
  177 + <button title="{{{iconeFerramentas}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  178 + <i class="material-icons">business_center</i>
  179 + </button>
  180 + </div>
  181 + <!-- temas existentes no mapa
  182 + data-idListaDeCamadas - id onde sera incluida a lista de camadas
  183 + data-idListaFundo - id onde sera incluida a lista de camadas de fundo (mapa base)
  184 + data-verificaAbrangencia - se for uma string, faz a verificacao se a camada esta fora da abrangencia atual do mapa,
  185 + inserindo ou nao a string como uma classe CSS. Pode degradar a performance e depende
  186 + do metadata existente na camada. Deixe vazio para nao ativar a operacao.
  187 + -->
  188 + <div onclick="i3GEO.guias.ativa('temas',this)" data-verificaAbrangencia="" data-idconteudo="guia1obj" data-idListaFundo="listaFundo" data-idListaDeCamadas="listaTemas" style="margin-top: 3px;">
  189 + <button title="{{{iconeMapa}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  190 + <i class="material-icons"><i class="material-icons">visibility</i></i>
  191 + </button>
  192 + </div>
  193 + <!-- catalogo de adicao de temas ao mapa
  194 + data-idCatalogo - id do DIV que contem a primeira pagina do catalogo. Esse DIV sera escondido e mostrado conforme o usuario navega pelo catalogo
  195 + data-idMenus - id do DIV que recebera a lista de menus cadastrados no sistema de administracao
  196 + data-idNavegacao - id do DIV que recebera a lista de opcoes apos o usuario clicar em um item do catalogo principal
  197 + data-idMigalha - id do DIV que recebera o link para retorno ao nivel anterior do catalogo
  198 +
  199 + Variaveis javascript:
  200 + i3GEO.catalogoMenus.IDSMENUS - (array) apenas os menus com idmenu que constem nessa lista serao mostrados. Por default e vazio.
  201 + -->
  202 + <div onclick="i3GEO.guias.ativa('adiciona',this)" data-idconteudo="guia2obj" data-idMigalha="catalogoMigalha" data-idNavegacao="catalogoNavegacao" data-idCatalogo="catalogoPrincipal" data-idMenus="catalogoMenus" style="margin-top: 3px;">
  203 + <button title="{{{iconeCatalogo}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  204 + <i class="material-icons">layers</i>
  205 + </button>
  206 + </div>
  207 + <!-- legenda -->
  208 + <div onclick="i3GEO.guias.ativa('legenda',this)" data-idconteudo="guia4obj" data-idLegenda="legendaHtml" style="margin-top: 3px;">
  209 + <button title="{{{iconeLegenda}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  210 + <i class="material-icons">view_list</i>
  211 + </button>
  212 + </div>
  213 + <div class="hidden-xs hidden-sm" onclick="i3GEO.guias.ativa('dobraPagina',this)" style="margin-top: 3px;">
  214 + <button title="{{{trocaInterface}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  215 + <i class="material-icons">compare_arrows</i>
  216 + </button>
  217 + </div>
  218 + <!-- Busca -->
  219 + <div onclick="i3GEO.guias.ativa('buscaRapida',this)" data-idconteudo="guia7obj" style="margin-top: 3px;">
  220 + <button class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  221 + <i class="material-icons">search</i>
  222 + </button>
  223 + </div>
  224 + <div onclick="i3GEO.guias.ativa('identificaBalao',this)" style="margin-top: 3px;" >
  225 + <button title="{{{iconeBalao}}}" class="iconeGuiaMovel" style="color:white;box-shadow: none;">
  226 + <i class="material-icons">location_on</i>
  227 + </button>
  228 + </div>
  229 + <!-- A opcao de identificacao esta integrada ao balao de informacoes, mas pode aparecer aqui tambem
  230 + <div class="hidden-xs hidden-sm" onclick="i3GEO.guias.ativa('identifica',this)" style="margin-top: 3px;">
  231 + <button title="{{{iconeIdentifica}}}" class="iconeGuiaMovel" style="box-shadow: none;">
  232 + <img src="../imagens/gisicons/pointer-info.png" style="cursor: pointer; padding: 3px;">
  233 + </button>
  234 + </div>
  235 + -->
  236 + </div>
  237 + <!-- veja i3GEO.guias.CONFIGURA -->
  238 + <!-- Os IDs sao definidos no botao que ativa a guia veja: "i3GEOguiaMovel" -->
  239 + <!-- se height nao estiver definido sera utilizada a altura do mapa -->
  240 + <div id="i3GEOguiaMovelMolde" >
  241 + <div id="i3GEOguiaMovelConteudo" >
  242 + <!-- camadas existentes no mapa -->
  243 + <div id='guia1obj' data-traduzir="true" style='display: none;'>
  244 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');">
  245 + <span class="pull-left">{{{iconeMapa}}}</span>X</div>
  246 + <div class="separadorCabecalhoGuias">&nbsp;</div>
  247 + <div class="list-group condensed noprint" >
  248 + <label>{{{opcoes}}}</label>
  249 + <a data-target="#opcoesGuia1" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" >
  250 + <span class="caret"></span>
  251 + </a>
  252 + <div class="text-left collapse" id="opcoesGuia1" style="margin-left: 30px;">
  253 + <p><a onclick="i3GEO.arvoreDeCamadas.atualiza(i3GEO.arvoreDeCamadas.CAMADAS,true)" href="javascript:void(0)" >Refresh</a></p>
  254 + <p><a onclick="i3GEO.arvoreDeCamadas.aplicaTemas('ligartodos')" href="javascript:void(0)" >{{{t3a}}}</a></p>
  255 + <p><a onclick="i3GEO.arvoreDeCamadas.aplicaTemas('desligartodos')" href="javascript:void(0)" >{{{t3b}}}</a></p>
  256 + <p><a onclick="i3GEO.arvoreDeCamadas.dialogo.excluir()" href="javascript:void(0)" >{{{t12}}}</a></p>
  257 + <p><a onclick="i3GEO.arvoreDeCamadas.dialogo.filtro()" href="javascript:void(0)" >{{{t2a}}}</a></p>
  258 + <p><a onclick="i3GEO.mapa.dialogo.opacidade()" href="javascript:void(0)" >{{{t20}}}</a></p>
  259 + <p><a onclick="i3GEO.mapa.dialogo.animacao()" href="javascript:void(0)" >{{{p21}}}</a></p>
  260 + <p><a onclick="i3GEO.mapa.dialogo.imprimir()" href="javascript:void(0)" >{{{d12}}}</a></p>
  261 + <p><a onclick="i3GEO.mapa.limpasel()" href="javascript:void(0)" >{{{t4}}}</a></p>
  262 + </div>
  263 + </div>
  264 + <hr>
  265 + <!-- Esta div acrescenta a lista de de camadas dispon&iacute;veis no mapa atual -->
  266 + <div id="listaTemas" style="overflow:none;" data-template="../interface/templates/camada.html"></div>
  267 + <!-- Esta div acrescenta a lista de de camadas de fundo
  268 + A lista de camadas de fundo e obtida da variavel i3GEO.Interface.openlayers.LAYERSADICIONAIS
  269 + Essa variavel e definida via javascript, e no caso das interfaces padrao do i3Geo, e definida
  270 + no programa interface/config.php
  271 + -->
  272 + <div class="list-group condensed">
  273 + <label>{{{camadasDeFundo}}}</label>
  274 + <a data-target="#collapseFundo" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" >
  275 + <span class="caret"></span>
  276 + </a>
  277 + <div style="margin-left:0px;" class="collapse text-left" id="collapseFundo">
  278 + <form>
  279 + <div id="listaFundo" class="form-group" data-template="../interface/templates/camadaFundo.html"></div>
  280 + </form>
  281 + </div>
  282 + </div>
  283 + </div>
  284 + <!-- Catalogo de temas -->
  285 + <div id='guia2obj' data-traduzir="true" style='display: none; text-align:left;'>
  286 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');i3GEO.catalogoMenus.mostraCatalogoPrincipal();"><span class="pull-left">{{{iconeCatalogo}}}</span> X</div>
  287 + <div class="separadorCabecalhoGuias">&nbsp;</div>
  288 + <!-- aqui entra a lista de elementos quando uma das opcoes e clicada -->
  289 + <div id="catalogoMigalha" data-template="../interface/templates/catalogoMigalha.html"></div>
  290 + <div id="catalogoNavegacao"></div>
  291 + <!-- Opcoes -->
  292 + <div id="catalogoPrincipal">
  293 + <div class="list-group condensed noprint" >
  294 + <label>{{{opcoes}}}</label>
  295 + <a data-target="#opcoesGuia2" class="btn btn-sm btn-primary pull-right" style="margin-top: 0px;padding-top: 0px;padding-bottom: 0px;" type="button" data-toggle="collapse" >
  296 + <span class="caret"></span>
  297 + </a>
  298 + <div class="text-left collapse" id="opcoesGuia2" style="margin-left: 30px;">
  299 + <p>
  300 + <a href="javascript:void(0)" onclick="i3GEO.login.dialogo.abreLogin()">Login/Logout</a>
  301 + </p>
  302 + <p>
  303 + <!-- <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.atualiza()">Refresh</a> -->
  304 + </p>
  305 + <li class="divider"></p>
  306 + <p>
  307 + <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.conectaservico()" >{{{a15}}}</a>
  308 + </p>
  309 + <p>
  310 + <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.uploadarquivo()">{{{a14}}}</a>
  311 + </p>
  312 + <p>
  313 + <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.downloadbase()">{{{a3}}}</a>
  314 + </p>
  315 + <p>
  316 + <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.importarwmc()">{{{a3a}}}</a>
  317 + </p>
  318 + <p>
  319 + <!-- <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.nuvemTags()">{{{a5a}}}</a> -->
  320 + </p>
  321 + <p>
  322 + <!-- <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.carouselTemas()">Miniaturas</a> -->
  323 + </p>
  324 + <p>
  325 + <a href="javascript:void(0)" onclick="i3GEO.arvoreDeTemas.dialogo.buscaInde()">Busca na INDE</a>
  326 + </p>
  327 + <p>
  328 + <a href="javascript:void(0)" onclick="i3GEO.mapa.dialogo.metaestat()">Cartogramas estatisticos</a>
  329 + </p>
  330 + <p><a href="http://localhost/i3geo/kml.php?tipoxml=kml" target="_blank">{{{a13}}}</a>
  331 + </p>
  332 + </div>
  333 + </div>
  334 + <hr>
  335 + <!-- busca tema no catalogo
  336 + <div class="form-group label-floating">
  337 + <label class="control-label" for="i3GEObuscatema">{{{a1}}}</label>
  338 + <div class="input-group">
  339 + <input id="i3GEObuscatema" class="form-control" type="text" value="">
  340 + <span class="input-group-btn">
  341 + <a onclick="i3GEO.arvoreDeTemas.buscaTema2($i('i3GEObuscatema').value);return false;" role="button" type="button" class="btn btn-warning btn-fab btn-fab-max" href="javascript:void(0)">
  342 + <span class="material-icons ">send</span>
  343 + </a>
  344 + </span>
  345 + </div>
  346 + </div>
  347 + -->
  348 + <!-- A lista de menus e uma funcao de i3GEO.guias.CONFIGURA.adiciona
  349 + Nessa funcao ficam tambem os parametros:
  350 + "idOndeMenus": "catalogoMenus",
  351 + "idCatalogoPrincipal": "catalogoPrincipal",
  352 + "idCatalogoNavegacao": "catalogoNavegacao",
  353 + "idOndeMigalha": "catalogoMigalha"
  354 + -->
  355 + <div id="catalogoMenus" data-templateDir="../interface/templates/dir.html" data-templateTema="../interface/templates/tema.html"></div>
  356 +
  357 + <div id="arvoreAdicionaTema"></div>
  358 +
  359 + <!--
  360 + As funcoes de inicializacao recebem um objeto com parametros. Que por padrao sao:
  361 + config: {
  362 + 'templateDir': '../interface/templates/dir.html',
  363 + 'templateTema': '../interface/templates/tema.html',
  364 + 'idCatalogoPrincipal': 'catalogoPrincipal',
  365 + 'idCatalogoNavegacao': 'catalogoNavegacao',
  366 + 'idOndeMigalha': 'catalogoMigalha'
  367 + }
  368 +
  369 + exemplo:
  370 +
  371 + onclick="i3GEO.catalogoInde.inicia({'templateDir': '../interface/templates/dir.html','templateTema': '../interface/templates/tema.html','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})"
  372 + -->
  373 +
  374 + <!-- servicos da INDE brasileira -->
  375 + <div class="list-group condensed"><div class="row-content text-left">
  376 + <a onclick="i3GEO.catalogoInde.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  377 + <label style="width: 255px;vertical-align: middle;">
  378 + <a onclick="i3GEO.catalogoInde.inicia()" role="button" href="javascript:void(0)">
  379 + <h4>INDE-Br</h4></a>
  380 + <h6>Infraestrutura Nacional de Dados Espaciais do Brasil</h6>
  381 + </label>
  382 + </div></div><hr>
  383 + <!-- lista de wms cadastrados no sistema de administracao -->
  384 + <div class="list-group condensed"><div class="row-content text-left">
  385 + <a onclick="i3GEO.catalogoOgc.inicia();return false;" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  386 + <label style="width: 255px;vertical-align: middle;">
  387 + <a onclick="i3GEO.catalogoOgc.inicia()" role="button" href="javascript:void(0)">
  388 + <h4>OGC-WMS</h4></a>
  389 + <h6>{{{descOgcWms}}}</h6>
  390 + </label>
  391 + </div></div><hr>
  392 + <!-- regioes cadastradas no sistema de metadados -->
  393 + <div class="list-group condensed"><div class="row-content text-left">
  394 + <a onclick="i3GEO.catalogoRegioes.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  395 + <label style="width: 255px;vertical-align: middle;">
  396 + <a onclick="i3GEO.catalogoRegioes.inicia()" role="button" href="javascript:void(0)">
  397 + <h4>{{{x87}}}</h4></a>
  398 + <h6>{{{descLimLoc}}}</h6>
  399 + </label>
  400 + </div></div><hr>
  401 + <!-- camadas que vem do sistema de metadados estatisticos -->
  402 + <div class="list-group condensed"><div class="row-content text-left">
  403 + <a onclick="i3GEO.catalogoMetaestat.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  404 + <label style="width: 255px;vertical-align: middle;">
  405 + <a onclick="i3GEO.catalogoMetaestat.inicia()" role="button" href="javascript:void(0)">
  406 + <h4>{{{x57}}}</h4></a>
  407 + <h6>{{{descMeta}}}</h6>
  408 + </label>
  409 + </div></div><hr>
  410 + <!-- mapas cadastrados no sistema de administracao (nao funcional)
  411 + <div class="list-group condensed"><div class="row-content text-left">
  412 + <a onclick="i3GEO.catalogoMapas.inicia({'seletorTemplateDir': '#guia2objTemplateDir','seletorTemplateTema': '#guia2objTemplateTema','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  413 + <label style="width: 255px;vertical-align: middle;">
  414 + <a onclick="i3GEO.catalogoMapas.inicia({'seletorTemplateDir': '#guia2objTemplateDir','seletorTemplateTema': '#guia2objTemplateTema','idCatalogoPrincipal':'catalogoPrincipal','idCatalogoNavegacao':'catalogoNavegacao','idOndeMigalha':'catalogoMigalha'})" role="button" href="javascript:void(0)">
  415 + <h4>{{{x90}}}</h4></a>
  416 + <h6>{{{descMapas}}}</h6>
  417 + </label>
  418 + </div></div><hr>
  419 + -->
  420 + <!-- camadas por estrelas -->
  421 + <div class="list-group condensed"><div class="row-content text-left">
  422 + <a onclick="i3GEO.catalogoEstrelas.inicia({'valorEstrela':5,'numEstrelas':1})" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  423 + <label style="width: 255px;vertical-align: middle;">
  424 + <a onclick="i3GEO.catalogoEstrelas.inicia({'valorEstrela':5,'numEstrelas':1})" role="button" href="javascript:void(0)">
  425 + <h4>{{{t46}}}</h4></a>
  426 + <h6>{{{descEstrelas}}}</h6>
  427 + </label>
  428 + </div></div><hr>
  429 + <!-- sistemas que adicionam camadas -->
  430 + <div class="list-group condensed"><div class="row-content text-left">
  431 + <a onclick="i3GEO.catalogoSistemas.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  432 + <label style="width: 255px;vertical-align: middle;">
  433 + <a onclick="i3GEO.catalogoSistemas.inicia()" role="button" href="javascript:void(0)">
  434 + <h4>{{{a11}}}</h4></a>
  435 + <h6>{{{descSistemas}}}</h6>
  436 + </label>
  437 + </div></div><hr>
  438 + <!-- navegacao em diretorios -->
  439 + <div class="list-group condensed"><div class="row-content text-left">
  440 + <a onclick="i3GEO.catalogoDir.inicia()" role="button" class="btn btn-primary btn-fab btn-fab-max" href="javascript:void(0)"><span class="material-icons ">folder_open</span></a>
  441 + <label style="width: 255px;vertical-align: middle;">
  442 + <a onclick="i3GEO.catalogoDir.inicia()" role="button" href="javascript:void(0)">
  443 + <h4>{{{a6}}}</h4></a>
  444 + <h6>{{{descDir}}}</h6>
  445 + </label>
  446 + </div></div><hr>
  447 + </div>
  448 + </div>
  449 + <!-- Legenda -->
  450 + <div data-traduzir="true" id='guia4obj' style='display: none; text-align: left'>
  451 + <div class="i3GEOfechaGuia" onclick="i3GEO.legenda.off('legendaHtml');i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{iconeLegenda}}}</span>X</div>
  452 + <div class="separadorCabecalhoGuias">&nbsp;</div>
  453 + <a href='javascript:void(0)' onclick="i3GEO.legenda.inicia({'janela':true})" >{{{x11}}}</a>
  454 + <div id="legendaHtml" data-template="../interface/templates/legenda.html" data-size="35,25" style='display: none; text-align: left'></div>
  455 + </div>
  456 + <!-- busca
  457 + Funcoes de busca por registros. Pode ser feita nos temas existentes no mapa, em um servico de busca e no google
  458 + No botao que dispara a busca, ficam os parametros de configuracao
  459 + Esses parametros indicam qual o checkbox que define o tipo de busca, o local onde os dados serao mostrados e o template para formatar o resultado
  460 + -->
  461 + <div data-traduzir="true" id='guia7obj' style='display: none; text-align: left'>
  462 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{t23}}}</span> X</div>
  463 + <div class="separadorCabecalhoGuias">&nbsp;</div>
  464 + <form onSubmit="return false;" >
  465 + <div class="form-group label-floating">
  466 + <label class="control-label" for="valorBuscaRapida">{{{x36}}}</label>
  467 + <div class="input-group">
  468 + <input class="form-control" type="text" value="" name="valorBuscaRapida">
  469 + <span class="input-group-btn">
  470 + <a onclick="i3GEO.busca.inicia(this);return false;"
  471 + data-templateGoogle="../interface/templates/buscaEmTemas.html"
  472 + data-inputGoogle="[name=google]"
  473 + data-ondeGoogle=".i3GEOresultadoBuscaGoogle"
  474 + data-templateTemasMapa="../interface/templates/buscaEmTemas.html"
  475 + data-inputTemasMapa="[name=temasMapa]"
  476 + data-ondeTemasMapa=".i3GEOresultadoBuscaTemasMapa"
  477 + data-templateServico="../interface/templates/buscaEmServico.html"
  478 + data-ondeConteiner="#guia7obj"
  479 + data-inputOndePalavra="[name=valorBuscaRapida]"
  480 + data-inputServicosExternos="[name=servicosExternos]"
  481 + data-ondeServicosExternos=".i3GEOresultadoBuscaServicos" role="button" type="button" class="btn btn-warning btn-fab btn-fab-max" href="javascript:void(0)">
  482 + <span class="material-icons ">send</span>
  483 + </a>
  484 + </span>
  485 + </div>
  486 + </div>
  487 + <h4>{{{x37}}}:</h4>
  488 + <div class="form-inline" style="width:100%;">
  489 + <div class="list-group condensed">
  490 + <div class="checkbox text-left">
  491 + <label>
  492 + <input checked class="noprint" value="on" type="checkbox" value="" name="servicosExternos" >
  493 + <span class="checkbox-material noprint"><span class="check"></span></span> {{{x38}}}
  494 + </label>
  495 + </div>
  496 + </div>
  497 + <div class="list-group condensed">
  498 + <div class="checkbox text-left">
  499 + <label>
  500 + <input class="noprint" value="on" type="checkbox" name="temasMapa">
  501 + <span class="checkbox-material noprint"><span class="check"></span></span> {{{x39}}}
  502 + </label>
  503 + </div>
  504 + </div>
  505 + <!-- Apenas para a interface google maps
  506 + <div class="list-group condensed">
  507 + <div class="checkbox text-left">
  508 + <label>
  509 + <input class="noprint" value="on" type="checkbox" name="google">
  510 + <span class="checkbox-material noprint"><span class="check"></span></span> Google
  511 + </label>
  512 + </div>
  513 + </div>
  514 + -->
  515 + </div>
  516 + </form>
  517 + <hr>
  518 + <div class="i3GEOresultadoBuscaServicos" ></div>
  519 + <div class="i3GEOresultadoBuscaTemasMapa" ></div>
  520 + <div class="i3GEOresultadoBuscaGoogle" ></div>
  521 + <div class="alert alert-info" role="alert">{{{x40}}}</div>
  522 + </div>
  523 + <!-- Ferramentas -->
  524 + <div data-traduzir="true" id='guia8obj' style='display: none; text-align: left'>
  525 + <div class="i3GEOfechaGuia" onclick="i3GEO.guias.abreFecha('fecha');"><span class="pull-left">{{{iconeFerramentas}}}</span> X</div>
  526 + <div class="separadorCabecalhoGuias">&nbsp;</div>
  527 + <div class="form-inline" style="width:100%;">
  528 + <div class="text-center form-group" style="margin:4px;">
  529 + <a onclick="i3GEO.guias.abreFecha('fecha');i3GEO.analise.dialogo.area();" role="button" class="btn btn-success btn-fab btn-fab-max" href="javascript:void(0)">
  530 + <img style="margin-top:4px;" src="../imagens/gisicons/area-measure.png">
  531 + </a>
  532 + <h6>{{{d21at}}}</h6>
  533 + </div>
  534 + <div class="text-center form-group" style="margin:4px;">
  535 + <a onclick="i3GEO.guias.abreFecha('fecha');i3GEO.analise.dialogo.distancia();" role="button" class="btn btn-success btn-fab btn-fab-max" href="javascript:void(0)">
  536 + <img style="margin-top:4px;" src="../imagens/gisicons/length-measure.png">
  537 + </a>
  538 + <h6>{{{d21t}}}</h6>
  539 + </div>
  540 + <div class="text-center form-group" style="margin:4px;">
  541 + <a onclick="i3GEO.guias.abreFecha('fecha');i3GEO.mapa.dialogo.selecao();" role="button" class="btn btn-success btn-fab btn-fab-max" href="javascript:void(0)">
  542 + <img style="margin-top:4px;" src="../imagens/gisicons/select.png">
  543 + </a>
  544 + <h6>{{{d24t}}}</h6>
  545 + </div>
  546 + <div class="text-center form-group" style="margin:4px;">
  547 + <a onclick="i3GEO.guias.abreFecha('fecha');i3GEO.mapa.dialogo.geolocal();" role="button" class="btn btn-success btn-fab btn-fab-max" href="javascript:void(0)">
  548 + <img style="margin-top:4px;" src="../imagens/gisicons/layer-gps.png">
  549 + </a>
  550 + <h6>{{{localiza}}}</h6>
  551 + </div>
  552 + </div>
  553 + <div class="clearfix"></div>
  554 + <hr>
  555 + <div id="migalhaFerramentas" data-template="../interface/templates/ferramentasMigalha.html" style='display: block; text-align: left;'></div>
  556 + <div id="listaFerramentasLinks" data-template="../interface/templates/ferramentasLink.html" style='display: block; text-align: left'></div>
  557 + <div id="listaFerramentas" data-template="../interface/templates/ferramentasFolder.html" style='display: block; text-align: left'></div>
  558 + </div>
  559 + </div>
  560 + </div>
  561 + </div>
  562 + <!-- para mostrar o banner de abertura -->
  563 + <script id="i3GEOlogoMarcaTemplate" type="x-tmpl-mustache">
  564 + <div>
  565 + <table>
  566 + <tr>
  567 + <td>
  568 + <h4 >i3Geo - Software livre para cria&ccedil;&atilde;o de mapas
  569 + interativos e geoprocessamento</h4>
  570 + <h4 >Baseado no Mapserver, &eacute; licenciado sob GPL e integra o
  571 + Portal do Software P&uacute;blico Brasileiro</h4>
  572 + </td>
  573 + </tr>
  574 + </table>
  575 + <img class="img-thumbnail" src="../imagens/i3Geo_big.png" style="width:50px">
  576 + <img class="img-thumbnail" src="../imagens/mapserv.png" style="width:50px">
  577 + <img class="img-thumbnail" src="../imagens/pspb.png" style="width:50px">
  578 + <div>&nbsp;</div>
  579 + </div>
  580 + </script>
  581 + <script>
  582 + //ativa o banner de inicializacao
  583 + i3GEO.janela.tempoMsg($i("i3GEOlogoMarcaTemplate").innerHTML,4000);
  584 + (function() {
  585 + //parametros aplicados na criacao do arquivo mapfile
  586 + var parametrosMapa = {
  587 + //arquivo mapfile que servira de base para a criacao do mapa. Por default, sao utilizados os arquivos existentes em i3geo/aplicmap (geral1windows, geral1,...)
  588 + //Essa variavel pode ser definida em ms_configura tambem. Se nao estiver definida em nenhum lugar, o i3Geo tentara descobrir o arquivo adequado a ser utilizado. Voce pode utilizar essa opcao para abrir um mapa com as camadas que voce quiser, mas para evitar redundâncias, prefira o uso de &temasa
  589 + mapfilebase: "",
  590 + //extensao geografica do mapa
  591 + //deve ser definida em coordenadas no formato decimos de grau e na projecao geografica na sequencia xmin ymin xmax ymax
  592 + //exemplo [-77,-26,-30,6]
  593 + mapext: [],
  594 + //perfil utilizado para restringir os menus de temas mostrando apenas os que correspondem a determinado perfil
  595 + perfil: "",
  596 + //layers que serao adicionados ao mapa.
  597 +
  598 + layers: {
  599 + add: [],
  600 + on: [],
  601 + off: []
  602 + },
  603 + points: {
  604 + //array com a lista de coordenadas
  605 + coord: [],
  606 + //titulo da nova camada
  607 + title: ""
  608 + },
  609 + //lista de coordenadas x e y que serao adicionadas como linhas no mapa
  610 + lines: {
  611 + //array de arrays com a lista de coordenadas de cada linha
  612 + //exemplo [[-54,-12,-50,-12],[-50,-1,-50,-2,-50,-3]]
  613 + coord: [[]],
  614 + //titulo da nova camada
  615 + title:""
  616 + },
  617 + //lista de coordenadas x e y que serao adicionadas como poligonos no mapa
  618 + polygons: {
  619 + //array de arrays com a lista de coordenadas de cada poligono. A primeira coordenada deve ser igual a ultima.
  620 + //exemplo [[-50,-1,-48,-2,-50,-3,-50,-1]]
  621 + coord: [[]],
  622 + //titulo da nova camada
  623 + title:""
  624 + },
  625 + //insere elementos no mapa com coordenadas definidas em wkt
  626 + wkt: {
  627 + //string no formato wkt
  628 + coord: "",
  629 + //titulo da nova camada
  630 + title: ""
  631 + },
  632 + //simbolo que sera utilizado para desenhar os elementos inseridos
  633 + symbol: {
  634 + //codigo do simbolo conforme definido em i3geo/symbols
  635 + name: "",
  636 + //em rgb, exemplo "0 255 0"
  637 + color: "",
  638 + //em pixels
  639 + size: ""
  640 + },
  641 + //arquivo KML que sera incluido no mapa. Valido apenas na interface google maps
  642 + kml: {
  643 + url: ""
  644 + },
  645 + //endereco de um WMS (sera incluido como uma camada no mapa)
  646 + wms: {
  647 + url: "",
  648 + layer: "",
  649 + style: "",
  650 + title: "",
  651 + srs: "",
  652 + imagetype: "",
  653 + version: ""
  654 + },
  655 + //filtros que serao aplicados aos layers. Utilize a expressaso conforme definido na documentacao
  656 + //do mapserver, exemplo
  657 + //{layer: "_lbiomashp",expression: "(('[CD_LEGENDA]'='CAATINGA'))"} ou {layer: "_lbiomashp",expression: "cd_legenda='CAATINGA'"}
  658 + filters: [{
  659 + layer: "",
  660 + expression: ""
  661 + }],
  662 + //id de um mapa salvo e que sera recuperado
  663 + restoreMapId : "<?php echo $id_mapa;?>"
  664 + };
  665 + var config = {
  666 + //id do elemento HTML onde o corpo do mapa sera renderizado
  667 + mapBody : "mapai3Geo",
  668 + //tipo de mapa. Pode ser:
  669 + //OL - utiliza o OpenLayers e coordenadas geograficas
  670 + //OSM - utiliza o OpenLayers e o OpenStreetMap como fundo, em projecao semelhante ao GoogleMaps
  671 + //GM - utiliza o GoogleMaps como motor de controle do mapa
  672 + mapType : "OL",
  673 + //armazena em um cookie a ultima extensao geografica do mapa e utiliza essa extensao quando o mapa for aberto
  674 + saveExtension : false,
  675 + //aplica um filtro de cores apos a renderizacao da imagem de cada camada que compoe o mapa cinza|sepiaclara|sepianormal
  676 + posRenderType : "",
  677 + //Altura e largura do tooltip (balao identifica)
  678 + toolTipSize : ["100px","200px"],
  679 + //Endereco do servidor i3Geo. Utilizado para gerar as requisicoes AJAX
  680 + //Por default e definido como: i3GEO.util.protocolo() + "://" + window.location.host + "/i3geo"
  681 + i3GeoServer : "",
  682 + //Funcao que sera executada apos a inicializacao do mapa
  683 + afterStart : function(){
  684 + $('.iconeGuiaMovel').tooltip({animation: false, trigger: "manual", placement: "left"});
  685 + $('.iconeGuiaMovel').tooltip('show');
  686 + $("#i3GEOguiaMovelConteudo").mCustomScrollbar({scrollbarPosition: "outside",theme:"inset-2-dark"});
  687 +
  688 + i3GEOF.salvaMapaBanco.iniciaJanelaFlutuante(<?php echo $id_mapa;?>);
  689 + },
  690 + //parametros de configuracao de diferentes componentes do mapa, como o catalogo de temas, balao de info, etc
  691 + components : {
  692 + //define se ao clicar no mapa sera feita a busca de atributos nas camadas existentes no mapa
  693 + info: true,
  694 + //template mustache usado para o balao de info
  695 + //se for vazio, utiliza o default interface/templates/info.html
  696 + infoTemplate: "",
  697 + //define se ao clicar no mapa sera feita a busca de atributos nas camadas existentes no mapa
  698 + info: true,
  699 + //lista com os codigos dos menus que serao considerados na montagem do catalogo de temas
  700 + idsMenus : [],
  701 + //webservice utilizado na opcao de encontrar lugares
  702 + searchService : "http://mapas.mma.gov.br/webservices/geonames.php",
  703 + //webservice wms que faz a apresentacao do lugar encontrado por searchService
  704 + searchWms : "http://mapas.mma.gov.br/webservices/geonameswms.php",
  705 + //posicao do mapa de referencia, em pixels [top,right]
  706 + referenceMapPosition : [4,120],
  707 + //propriedades do balao de informacoes mostrado quando o usuario clica no mapa
  708 + tooltip : {
  709 + //o resultado sera mostrado em uma janela do tipo modal
  710 + modal : false,
  711 + //url que sera utilizada para obter os dados via $.get. Deve estar no mesmo dominio do i3Geo.
  712 + //Ao final da url serao inseridos os parametros &xx=&yy= com valores em decimos de grau
  713 + //use apenas se modal for true
  714 + //exemplo: http://i3geo.saude.gov.br/i3geo/sage_tabelas/odm/odm6.php?
  715 + url: "",
  716 + //template que sera usado para compor o resultado da busca de dados
  717 + //se for vazio, serao utilizadas as outras opcoes
  718 + //se contiver a string {{{url}}} a mesma sera substituida por url
  719 + //exemplo: "<iframe style='width:400px;height:190px;border:0px white solid' src='{{{url}}}'></iframe>"
  720 + templateModal: "",
  721 + //serao mostrados todos os dados ou apenas aqueles definidos na configuracao da camada
  722 + simple: true,
  723 + removeAoAdicionar : true,
  724 + //parametros exclusivos da interface openlayers
  725 + autoPan : true,
  726 + autoPanAnimation : {
  727 + duration : 250
  728 + },
  729 + minWidth : '200px',
  730 + //Altura e largura do tooltip (balao)
  731 + toolTipSize : ["100px","200px"]
  732 + },
  733 + //barra de rolagem - ver plugin jquery https://github.com/malihu/malihu-custom-scrollbar-plugin
  734 + scrollBar: {
  735 + theme: "inset-2",
  736 + axis: "yx",
  737 + scrollbarPosition: "inside",
  738 + scrollButtons:{ enable: true },
  739 + advanced:{ autoExpandHorizontalScroll: true }
  740 + }
  741 + },
  742 + //parametros de configuracao das ferramentas que sao acionadas sob demanda
  743 + //ferramentas localizadas em i3geo/ferramentas
  744 + tools : {
  745 + //ferramenta de busca de camadas em um servico CSW
  746 + buscainde : {
  747 + //endereco do servico no padrao CSW
  748 + csw : "http://www.metadados.inde.gov.br/geonetwork/srv/br"
  749 + },
  750 + //ferramenta de identificacao
  751 + identifica : {
  752 + //resolucao em pixels para busca de elementos
  753 + resolution : 8
  754 + }
  755 + },
  756 + //configuracoes especificas para a interface que utiliza o OpenLayers
  757 + openLayers : {
  758 + //utiliza ou nao tiles ao renderizar as camadas do mapa
  759 + //a utilizacao de tiles pode ser definida em cada camada, mas se essa propriedade for true, a definicao das camadas nao serao consideradas
  760 + singleTile : false,
  761 + //opcoes de inicializacao do mapa conforme definido na API do OpenLayers
  762 + MapOptions : {
  763 + layers : [],
  764 + controls : [
  765 + new ol.control.Zoom(),
  766 + new ol.control.ZoomSlider(),
  767 + new ol.control.ScaleLine(),
  768 + new ol.control.Attribution({
  769 + collapsible: true
  770 + })
  771 + ],
  772 + loadTilesWhileAnimating : true,
  773 + loadTilesWhileInteracting : true,
  774 + //os objetos devem ser comentados na interface googleMaps
  775 + interactions : [
  776 + new ol.interaction.DoubleClickZoom(),
  777 + new ol.interaction.KeyboardPan(),
  778 + new ol.interaction.KeyboardZoom(),
  779 + new ol.interaction.MouseWheelZoom(),
  780 + new ol.interaction.PinchRotate(),
  781 + new ol.interaction.PinchZoom(),
  782 + new ol.interaction.DragZoom(),
  783 + new ol.interaction.DragPan()
  784 + ]
  785 + },
  786 + //opcoes para o objeto view, que e uma instancia de MapOptions
  787 + ViewOptions : {
  788 +
  789 + }
  790 + }
  791 + };
  792 + //
  793 + //inicia o mapa
  794 + //Veja tambem config.php
  795 + //
  796 + //O primeiro parametro permite alterar o mapa, inserindo camadas e outras definicoes que afetam o corpo do mapa
  797 + //O segundo parametro inclui configuracoes que afetam o funcionamento da interface que controla a visualizacao do mapa
  798 + //
  799 + i3GEO.init(parametrosMapa,config);
  800 + })();
  801 + </script>
  802 +</body>
  803 +
  804 +</html>
admin1/catalogo/mapas/exec.php
@@ -32,11 +32,12 @@ if (\admin\php\funcoesAdmin\verificaOperacaoSessao(&quot;admin/html/mapas&quot;) === false @@ -32,11 +32,12 @@ if (\admin\php\funcoesAdmin\verificaOperacaoSessao(&quot;admin/html/mapas&quot;) === false
32 header("HTTP/1.1 403 Vc nao pode realizar essa operacao"); 32 header("HTTP/1.1 403 Vc nao pode realizar essa operacao");
33 exit(); 33 exit();
34 } 34 }
35 -$id_mapa = $_POST["id_mapa"];  
36 -\admin\php\funcoesAdmin\testaSafeNumerico(array(  
37 - $id_mapa  
38 -));  
39 - 35 +if(isset($_POST["id_mapa"])){
  36 + $id_mapa = $_POST["id_mapa"];
  37 + \admin\php\funcoesAdmin\testaSafeNumerico(array(
  38 + $id_mapa
  39 + ));
  40 +}
40 $funcao = strtoupper($funcao); 41 $funcao = strtoupper($funcao);
41 switch ($funcao) { 42 switch ($funcao) {
42 case "ADICIONAR": 43 case "ADICIONAR":
admin1/catalogo/mapas/index.php
1 <?php 1 <?php
2 -define ( "ONDEI3GEO", "../../.." ); 2 +define("ONDEI3GEO", "../../..");
3 include ("exec.php"); 3 include ("exec.php");
4 4
5 include "../../head.php"; 5 include "../../head.php";
6 ?> 6 ?>
7 <div class="container-fluid migalha"> 7 <div class="container-fluid migalha">
8 - <div class="row">  
9 - <div class="btn-group btn-breadcrumb">  
10 - <a class="btn btn-default" href="../../../init/index.php"><span>i3Geo</span></a>  
11 - <a class="btn btn-default" href="../../index.php"><span>Admin</span></a>  
12 - <a class="btn btn-default" style="pointer-events: none"><span>Cat&aacute;logo</span></a>  
13 - <a class="btn btn-default" style="pointer-events: none"><span>Mapas</span></a>  
14 - </div>  
15 - </div> 8 + <div class="row">
  9 + <div class="btn-group btn-breadcrumb">
  10 + <a class="btn btn-default" href="../../../init/index.php"><span>i3Geo</span></a> <a class="btn btn-default" href="../../index.php"><span>Admin</span></a> <a class="btn btn-default"
  11 + style="pointer-events: none"><span>Cat&aacute;logo</span></a> <a class="btn btn-default" style="pointer-events: none"><span>Mapas</span></a>
  12 + </div>
  13 + </div>
16 </div> 14 </div>
17 <div class="container"> 15 <div class="container">
18 - <div class="row center-block">  
19 - <div class="col-md-12" id="titulo">  
20 - <div class="well hidden" >  
21 - <button data-toggle="modal" data-target="#ajudaPrincipal"  
22 - class="btn btn-primary btn-fab btn-fab-mini pull-right">  
23 - <i class="material-icons">help</i>  
24 - </button>  
25 - <span class="pull-right">&nbsp;&nbsp;</span>  
26 - <button data-toggle="modal" data-target="#modalFiltro"  
27 - class="btn btn-primary btn-fab btn-fab-mini pull-right">  
28 - <i class="material-icons">search</i>  
29 - </button>  
30 - <h2><small>{{{txtTitulo}}}</small></h2>  
31 - <blockquote>{{{txtDesc}}}</blockquote>  
32 - <div class="clearfix"></div>  
33 - <div id="ajudaPrincipal" class="modal fade" tabindex="-1">  
34 - <div class="modal-dialog">  
35 - <div class="modal-content">  
36 - <div class="modal-body">  
37 - <p>{{{txtAjuda}}}</p>  
38 - </div>  
39 - </div>  
40 - </div>  
41 - </div>  
42 - </div>  
43 - <div class="well hidden">  
44 - <div class="panel-heading">  
45 - <p class="lead" style="margin:0px;">&nbsp;  
46 - <a title="{{{adicionar}}}" onclick="i3GEOadmin.mapas.adicionaDialogo();" href="javascript:void(0)"  
47 - class="pull-right btn btn-danger btn-fab btn-fab-mini" role="button" ><i class="material-icons ">add</i>  
48 - </a>  
49 - </p>  
50 - </div>  
51 - <div class="clearfix"></div>  
52 - <div id="corpo">  
53 - </div>  
54 - </div>  
55 - </div>  
56 - </div> 16 + <div class="row center-block">
  17 + <div class="col-md-12" id="titulo">
  18 + <div class="well hidden">
  19 + <button data-toggle="modal" data-target="#ajudaPrincipal" class="btn btn-primary btn-fab btn-fab-mini pull-right">
  20 + <i class="material-icons">help</i>
  21 + </button>
  22 + <span class="pull-right">&nbsp;&nbsp;</span>
  23 + <button data-toggle="modal" data-target="#modalFiltro" class="btn btn-primary btn-fab btn-fab-mini pull-right">
  24 + <i class="material-icons">search</i>
  25 + </button>
  26 + <h2>
  27 + <small>{{{txtTitulo}}}</small>
  28 + </h2>
  29 + <blockquote>{{{txtDesc}}}<p>{{{criaEditaMapa}}}</p></blockquote>
  30 + <div class="clearfix"></div>
  31 + <div id="ajudaPrincipal" class="modal fade" tabindex="-1">
  32 + <div class="modal-dialog">
  33 + <div class="modal-content">
  34 + <div class="modal-body">
  35 + <p>{{{txtAjuda}}}</p>
  36 + </div>
  37 + </div>
  38 + </div>
  39 + </div>
  40 + </div>
  41 + <div class="well hidden">
  42 + <div class="panel-heading">
  43 + <p class="lead" style="margin: 0px;">
  44 + &nbsp; <a title="{{{adicionar}}}" onclick="i3GEOadmin.mapas.adicionaDialogo();" href="javascript:void(0)" class="pull-right btn btn-danger btn-fab btn-fab-mini" role="button"><i
  45 + class="material-icons ">add</i> </a>
  46 + </p>
  47 + </div>
  48 + <div class="clearfix"></div>
  49 + <div class="clearfix"></div>
  50 + <div id="corpo"></div>
  51 + </div>
  52 + </div>
  53 + </div>
57 </div> 54 </div>
58 <?php 55 <?php
59 -include("templates/templateTemas.php");  
60 -include("templates/templateLista.php");  
61 -include("templates/templateFormLista.php");  
62 -include("templates/templateFiltro.php");  
63 -include("templates/templateOpcoesPerfil.php");  
64 -include("../../templates/templateOpcoesPublicado.php"); 56 +include ("templates/templateTemas.php");
  57 +include ("templates/templateLista.php");
  58 +include ("templates/templateFormLista.php");
  59 +include ("templates/templateFiltro.php");
  60 +include ("templates/templateOpcoesPerfil.php");
  61 +include ("../../templates/templateOpcoesPublicado.php");
65 ?> 62 ?>
66 <script type="text/javascript" src="index.js"></script> 63 <script type="text/javascript" src="index.js"></script>
67 <script type="text/javascript" src="../../dicionario/mapas.js"></script> 64 <script type="text/javascript" src="../../dicionario/mapas.js"></script>
admin1/catalogo/mapas/templates/templateLista.php
@@ -2,11 +2,15 @@ @@ -2,11 +2,15 @@
2 <div class="list-group-item" id="form-{{id_mapa}}"> 2 <div class="list-group-item" id="form-{{id_mapa}}">
3 <div class="row-content"> 3 <div class="row-content">
4 <h4 class="list-group-item-heading {{escondido}}"> 4 <h4 class="list-group-item-heading {{escondido}}">
5 - <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button"> 5 + <a title="i3Geo" href="javascript:void(0)" onclick="window.open('../../../admin1/black_editorCriaMapa.php?id_mapa={{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
  6 + <i class="material-icons md-18">send</i>
  7 + </a>
  8 + <span class="pull-right">&nbsp;&nbsp;</span>
  9 + <a href="javascript:void(0)" onclick="{{onEditar}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
6 <i class="material-icons md-18">edit</i> 10 <i class="material-icons md-18">edit</i>
7 </a> 11 </a>
8 <span class="pull-right">&nbsp;&nbsp;</span> 12 <span class="pull-right">&nbsp;&nbsp;</span>
9 - <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button"> 13 + <a href="javascript:void(0)" onclick="{{onExcluir}}('{{id_mapa}}')" class="btn btn-danger btn-fab btn-fab-mini pull-right" role="button">
10 <i class="material-icons md-18">delete_forever</i> 14 <i class="material-icons md-18">delete_forever</i>
11 </a> 15 </a>
12 &nbsp;{{{nome_mapa}}} 16 &nbsp;{{{nome_mapa}}}
admin1/catalogo/mapfile/exec.php
@@ -30,14 +30,16 @@ if (\admin\php\funcoesAdmin\verificaOperacaoSessao ( &quot;admin/html/editormapfile&quot; @@ -30,14 +30,16 @@ if (\admin\php\funcoesAdmin\verificaOperacaoSessao ( &quot;admin/html/editormapfile&quot;
30 header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" ); 30 header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
31 exit (); 31 exit ();
32 } 32 }
33 -$codigo = $_POST ["codigo"];  
34 -$codigo = str_replace ( " ", "", \admin\php\funcoesAdmin\removeAcentos ( $codigo ) );  
35 -$codigo = str_replace ( ".", "", $codigo );  
36 -$codigo = strip_tags ( $codigo );  
37 -$codigo = htmlspecialchars ( $codigo, ENT_QUOTES );  
38 -  
39 -setcookie("palavraFiltro", strip_tags($_POST ["palavra"]));  
40 - 33 +if(isset($_POST ["codigo"])){
  34 + $codigo = $_POST ["codigo"];
  35 + $codigo = str_replace ( " ", "", \admin\php\funcoesAdmin\removeAcentos ( $codigo ) );
  36 + $codigo = str_replace ( ".", "", $codigo );
  37 + $codigo = strip_tags ( $codigo );
  38 + $codigo = htmlspecialchars ( $codigo, ENT_QUOTES );
  39 +}
  40 +if(isset($_POST ["palavra"])){
  41 + setcookie("palavraFiltro", strip_tags($_POST ["palavra"]));
  42 +}
41 $funcao = strtoupper ( $funcao ); 43 $funcao = strtoupper ( $funcao );
42 switch ($funcao) { 44 switch ($funcao) {
43 case "ADICIONAR" : 45 case "ADICIONAR" :
admin1/catalogo/mapfile/index.php
@@ -2,8 +2,10 @@ @@ -2,8 +2,10 @@
2 //TODO incluir novamente ou nao a ativacao do metadata editorsql? 2 //TODO incluir novamente ou nao a ativacao do metadata editorsql?
3 define ( "ONDEI3GEO", "../../.." ); 3 define ( "ONDEI3GEO", "../../.." );
4 include ("exec.php"); 4 include ("exec.php");
5 -  
6 include "../../head.php"; 5 include "../../head.php";
  6 +if(!isset($_COOKIE["palavraFiltro"])){
  7 + $_COOKIE["palavraFiltro"] = "";
  8 +}
7 ?> 9 ?>
8 <div class="container-fluid migalha"> 10 <div class="container-fluid migalha">
9 <div class="row"> 11 <div class="row">
admin1/dicionario/mapas.js
@@ -78,5 +78,10 @@ i3GEOadmin.mapas.dicionario = { @@ -78,5 +78,10 @@ i3GEOadmin.mapas.dicionario = {
78 pt : "Link direto para abertura do mapa (despreza os outros par&acirc;metros)", 78 pt : "Link direto para abertura do mapa (despreza os outros par&acirc;metros)",
79 en : "", 79 en : "",
80 es : "" 80 es : ""
  81 + } ],
  82 + 'criaEditaMapa' : [ {
  83 + pt : "Voc&ecirc; pode tamb&eacute;m criar um novo mapa ou editar um existente utilizando a interface interativa. Essa op&ccedil;&atilde;o permite salvar o mapfile completo no banco de dados, dessa forma &eacute; poss&iacute;vel, por exemplo, alterar a legenda padr&atilde;o das camadas, adicionar camadas e servi&ccedil;os WMS, etc.",
  84 + en : "",
  85 + es : ""
81 } ] 86 } ]
82 }; 87 };
admin1/index.php
@@ -7,7 +7,10 @@ session_name ( &quot;i3GeoLogin&quot; ); @@ -7,7 +7,10 @@ session_name ( &quot;i3GeoLogin&quot; );
7 if (! empty ( $_COOKIE ["i3geocodigologin"] )) { 7 if (! empty ( $_COOKIE ["i3geocodigologin"] )) {
8 session_id ( $_COOKIE ["i3geocodigologin"] ); 8 session_id ( $_COOKIE ["i3geocodigologin"] );
9 session_start (); 9 session_start ();
10 - if ($_SESSION ["usuario"] != $_COOKIE ["i3geousuariologin"]) { 10 + if(!isset($_SESSION ["usuario"])){
  11 + $_SESSION ["usuario"] = "";
  12 + }
  13 + if ($_SESSION ["usuario"] == "" || $_SESSION ["usuario"] != $_COOKIE ["i3geousuariologin"]) {
11 $_COOKIE = array (); 14 $_COOKIE = array ();
12 $_SESSION = array (); 15 $_SESSION = array ();
13 session_destroy (); 16 session_destroy ();
admin1/php/salvamapabanco.php 0 → 100644
@@ -0,0 +1,129 @@ @@ -0,0 +1,129 @@
  1 +<?php
  2 +/****************************************************************/
  3 +// include (dirname ( __FILE__ ) . "/../../../ms_configura.php");
  4 +//
  5 +// checa login
  6 +// valida _GET e _POST, juntando em _GET
  7 +// pega algumas variaveis de uso mais comum
  8 +// session_start
  9 +//
  10 +include ("checaLogin.php");
  11 +\admin\php\login\checaLogin();
  12 +// funcoes de administracao
  13 +include ("funcoesAdmin.php");
  14 +//
  15 +// carrega outras funcoes e extensoes do PHP
  16 +//
  17 +include ("../../classesphp/carrega_ext.php");
  18 +//
  19 +// conexao com o banco de administracao
  20 +// cria as variaveis $dbh e $dbhw alem de conexaoadmin
  21 +//
  22 +include ("conexao.php");
  23 +
  24 +/**
  25 + * ************************************************************
  26 + */
  27 +if (\admin\php\funcoesAdmin\verificaOperacaoSessao("admin/html/mapas") === false) {
  28 + header("HTTP/1.1 403 Vc nao pode realizar essa operacao");
  29 + exit();
  30 +}
  31 +if (isset($_POST["id_mapa"])) {
  32 + $id_mapa = $_POST["id_mapa"];
  33 + \admin\php\funcoesAdmin\testaSafeNumerico(array(
  34 + $id_mapa
  35 + ));
  36 +} else {
  37 + exit;
  38 +}
  39 +$funcao = strtoupper($funcao);
  40 +switch ($funcao) {
  41 + case "SALVAMAPFILE":
  42 + $nameatual = session_name();
  43 + $idatual = session_id();
  44 + session_write_close();
  45 +
  46 + session_name("i3GeoPHP");
  47 + session_id($_POST["sid"]);
  48 + session_start();
  49 + $arqmapfile = $_SESSION["map_file"];
  50 + $interface = $_SESSION["customDir"]."/".$_SESSION["interfacePadrao"];
  51 +
  52 + session_write_close();
  53 + session_name("$nameatual");
  54 + session_id($idatual);
  55 + session_start();
  56 + //
  57 + // as configuracoes especiais do mapa, definidas nas preferencias ou em ferramentas abertas quando o mapa e salvo,
  58 + // sao convertidas em base64 do lado do cliente
  59 + // esses dados sao entao armazenados como tags METADATA no mapfile
  60 + // quando o mapa e restaurado, esses valores sao recuperados
  61 + // a string que vai no metadata segue o padrao JSON
  62 + // o parser para reconstruir os valores e feito em javascript, no cliente
  63 + //
  64 + $customizacoesinit = array();
  65 + if (isset($_POST["preferenciasbase64"]) || isset($_POST["geometriasbase64"]) || isset($_POST["graficosbase64"]) || isset($_POST["tabelasbase64"])) {
  66 + $customizacoesinit[] = '"preferenciasbase64":"' . $_POST["preferenciasbase64"] . '"';
  67 + $customizacoesinit[] = '"geometriasbase64":"' . $_POST["geometriasbase64"] . '"';
  68 + $customizacoesinit[] = '"graficosbase64":"' . $_POST["graficosbase64"] . '"';
  69 + $customizacoesinit[] = '"tabelasbase64":"' . $_POST["tabelasbase64"] . '"';
  70 + $m = ms_newMapObj($arqmapfile);
  71 + $m->setmetadata("CUSTOMIZACOESINIT", '{' . implode(",", $customizacoesinit) . '}');
  72 + $m->save($arqmapfile);
  73 + }
  74 + if ($_POST["ext"] && $_POST["ext"] != "") {
  75 + $e = explode(" ", $_POST["ext"]);
  76 + $m = ms_newMapObj($arqmapfile);
  77 + $extatual = $m->extent;
  78 + $extatual->setextent((min($e[0], $e[2])), (min($e[1], $e[3])), (max($e[0], $e[2])), (max($e[1], $e[3])));
  79 + $m->save($arqmapfile);
  80 + }
  81 + $handle = fopen($arqmapfile, 'r');
  82 + $conteudo = fread($handle, filesize($arqmapfile));
  83 + fclose($handle);
  84 + // $conteudo = base64_encode($conteudo);
  85 + $conteudo = str_replace("'", "_!_", $conteudo);
  86 + $conteudo = str_replace('"', "_!!_", $conteudo);
  87 + $conteudo = str_replace(array(
  88 + "<?",
  89 + "?>"
  90 + ), "", $conteudo);
  91 + $dataCol = array(
  92 + "mapfile" => $conteudo,
  93 + "outros_mapa" => "&restauramapa=$id_mapa&interface=" . $_POST["url"]."/".$interface
  94 + );
  95 + $resultado = \admin\php\funcoesAdmin\i3GeoAdminUpdate ( $dbhw, "i3geoadmin_mapas", $dataCol, "WHERE id_mapa = $id_mapa" );
  96 + $dbhw = null;
  97 + $dbh = null;
  98 + if ($resultado === false) {
  99 + header("HTTP/1.1 500 erro ao consultar banco de dados");
  100 + }
  101 + $dbh = null;
  102 + \admin\php\funcoesAdmin\retornaJSON( array(
  103 + "status" => "ok"
  104 + ));
  105 + exit();
  106 + break;
  107 + case "REMOVEMAPFILE":
  108 + $dataCol = array(
  109 + "mapfile" => "",
  110 + "outros_mapa" => ""
  111 + );
  112 + $resultado = \admin\php\funcoesAdmin\i3GeoAdminUpdate ( $dbhw, "i3geoadmin_mapas", $dataCol, "WHERE id_mapa = $id_mapa" );
  113 + $dbhw = null;
  114 + $dbh = null;
  115 + if ($resultado === false) {
  116 + header("HTTP/1.1 500 erro ao consultar banco de dados");
  117 + }
  118 + $dbh = null;
  119 + \admin\php\funcoesAdmin\retornaJSON( array(
  120 + "status" => "ok"
  121 + ));
  122 + exit();
  123 + break;
  124 + default:
  125 + if (! empty($funcao))
  126 + header("HTTP/1.1 500 erro funcao nao existe");
  127 + break;
  128 +}
  129 +?>
0 \ No newline at end of file 130 \ No newline at end of file
css/default.css
@@ -955,7 +955,7 @@ td { @@ -955,7 +955,7 @@ td {
955 background: none !important; 955 background: none !important;
956 text-indent: 0px !important; 956 text-indent: 0px !important;
957 color: white; 957 color: white;
958 - top: 0px; 958 + top: 3px;
959 } 959 }
960 /* 960 /*
961 .yui-skin-sam .container-close::after { 961 .yui-skin-sam .container-close::after {
ferramentas/atalhosedicao/index.js
@@ -198,7 +198,7 @@ i3GEOF.atalhosedicao = @@ -198,7 +198,7 @@ i3GEOF.atalhosedicao =
198 "" 198 ""
199 ); 199 );
200 divid = janela[2].id; 200 divid = janela[2].id;
201 - janela[0].moveTo(100,60); 201 + janela[0].moveTo(180,60);
202 $i("i3GEOF.atalhosedicao_corpo").style.backgroundColor = "white"; 202 $i("i3GEOF.atalhosedicao_corpo").style.backgroundColor = "white";
203 i3GEOF.atalhosedicao.inicia(divid, "i3GEOF.atalhosedicao"); 203 i3GEOF.atalhosedicao.inicia(divid, "i3GEOF.atalhosedicao");
204 }, 204 },
ferramentas/graficointerativo1/index.js
@@ -312,7 +312,7 @@ i3GEOF.graficointerativo1 = @@ -312,7 +312,7 @@ i3GEOF.graficointerativo1 =
312 * Retorna um objeto contendo os valores de todos os parametros utilizados no grafico de tal forma que um grafico possa ser 312 * Retorna um objeto contendo os valores de todos os parametros utilizados no grafico de tal forma que um grafico possa ser
313 * renderizado novamente 313 * renderizado novamente
314 * 314 *
315 - * A funcao i3GEO.php.salvaMapaBanco utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela 315 + * A funcao que salva o mapa no banco de adm utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela
316 */ 316 */
317 retornaConfig : function(idjanela,novoid) { 317 retornaConfig : function(idjanela,novoid) {
318 // as chaves do objeto correspondem ao ID de cada elemento 318 // as chaves do objeto correspondem ao ID de cada elemento
ferramentas/salvamapa/dicionario.js
@@ -10,46 +10,21 @@ i3GEOF.salvaMapa.dicionario = { @@ -10,46 +10,21 @@ i3GEOF.salvaMapa.dicionario = {
10 en : "", 10 en : "",
11 es : "" 11 es : ""
12 } ], 12 } ],
13 - 'editaListaMapas' : [ {  
14 - pt : "Clique aqui para editar a lista de mapas",  
15 - en : "",  
16 - es : ""  
17 - } ],  
18 'baixaArquivo' : [ { 13 'baixaArquivo' : [ {
19 pt : "Baixar o arquivo", 14 pt : "Baixar o arquivo",
20 en : "", 15 en : "",
21 es : "" 16 es : ""
22 } ], 17 } ],
23 - 'testaArquivo' : [ {  
24 - pt : "Clique aqui para testar",  
25 - en : "",  
26 - es : ""  
27 - } ],  
28 'msgMapaSalvo' : [ { 18 'msgMapaSalvo' : [ {
29 pt : "Mapa salvo", 19 pt : "Mapa salvo",
30 en : "", 20 en : "",
31 es : "" 21 es : ""
32 } ], 22 } ],
33 - 'atualizaIdMapa' : [ {  
34 - pt : "ID do mapa que ser&aacute; atualizado (opcional).<br>Se for um mapa novo, deixe em branco",  
35 - en : "",  
36 - es : ""  
37 - } ],  
38 - 'tituloMapa' : [ {  
39 - pt : "T&iacute;tulo do mapa",  
40 - en : "",  
41 - es : ""  
42 - } ],  
43 'ajuda' : [ { 23 'ajuda' : [ {
44 pt : "Salvando o mapa atual, voc&ecirc; poder&aacute; carreg&aacute;-lo novamente. Gr&aacute;ficos e desenhos tamb&eacute;m s&atilde;o salvos.", 24 pt : "Salvando o mapa atual, voc&ecirc; poder&aacute; carreg&aacute;-lo novamente. Gr&aacute;ficos e desenhos tamb&eacute;m s&atilde;o salvos.",
45 en : "", 25 en : "",
46 es : "" 26 es : ""
47 } ], 27 } ],
48 - 'ajuda2' : [ {  
49 - pt : "Existem duas maneiras de fazer isso, conforme explicado a seguir.",  
50 - en : "",  
51 - es : ""  
52 - } ],  
53 'ajuda3' : [ { 28 'ajuda3' : [ {
54 pt : "Armazene o arquivo de configura&ccedil;&atilde;o do mapa em seu computador,", 29 pt : "Armazene o arquivo de configura&ccedil;&atilde;o do mapa em seu computador,",
55 en : "", 30 en : "",
@@ -65,11 +40,6 @@ i3GEOF.salvaMapa.dicionario = { @@ -65,11 +40,6 @@ i3GEOF.salvaMapa.dicionario = {
65 en : "", 40 en : "",
66 es : "" 41 es : ""
67 } ], 42 } ],
68 - 'cadastraMapa' : [ {  
69 - pt : "Fa&ccedil;a login e cadastre o mapa atual no banco de dados existente no servidor web. Com isso o mapa ser&aacute; salvo de forma permanente e outros usu&aacute;rios poder&atilde;o utiliz&aacute;-lo. Consulte o admnistrador do site que voc&ecirc; est&aacute; utilizando para saber mais sobre a pol&iacute;tica de uso do mapa que for salvo",  
70 - en : "",  
71 - es : ""  
72 - } ],  
73 'salvaPreferencias' : [ { 43 'salvaPreferencias' : [ {
74 pt : "As prefer&ecirc;ncias definidas atualmente ser&atilde;o salvas tamb&eacute;m.", 44 pt : "As prefer&ecirc;ncias definidas atualmente ser&atilde;o salvas tamb&eacute;m.",
75 en : "", 45 en : "",
ferramentas/salvamapa/index.js
@@ -84,51 +84,6 @@ i3GEOF.salvaMapa = { @@ -84,51 +84,6 @@ i3GEOF.salvaMapa = {
84 } 84 }
85 i3GEO.php.mudaext(temp,"nenhum",i3GEO.parametros.mapexten,i3GEO.configura.locaplic,i3GEO.configura.sid,atualiza,geo); 85 i3GEO.php.mudaext(temp,"nenhum",i3GEO.parametros.mapexten,i3GEO.configura.locaplic,i3GEO.configura.sid,atualiza,geo);
86 }, 86 },
87 - htmlMapaBanco: function(onde){  
88 - onde = $i(onde);  
89 - if(onde){  
90 - try{  
91 - onde.innerHTML = "<a style='line-height:20px;font-size:12px;' href='#' onclick='i3GEOF.salvaMapa.salvaMapaBanco()' >"+$trad('salvaMapa',i3GEOF.salvaMapa.dicionario)+"</a><br>" +  
92 - "<a style='line-height:20px;font-size:12px;' href='#' onclick='i3GEO.mapa.dialogo.listaDeMapasBanco()'>"+$trad('listaMapas',i3GEOF.salvaMapa.dicionario)+"</a><br>" +  
93 - "<a style='line-height:20px;font-size:12px;' href='"+i3GEO.configura.locaplic+"/admin/html/mapas.html' target='_blank' >"+$trad('editaListaMapas',i3GEOF.salvaMapa.dicionario)+"</a>";  
94 - }  
95 - catch(erro){i3GEO.janela.tempoMsg(erro);}  
96 - }  
97 - },  
98 -  
99 - salvaMapaBanco: function(){  
100 - var texto,funcaoOK,login = i3GEO.login.verificaCookieLogin();  
101 - if(login === false){  
102 - i3GEO.login.dialogo.abreLogin();  
103 - }  
104 - else{  
105 - funcaoOK = function(){  
106 - var temp,  
107 - id_mapa = $i("i3GEOFsalvamapaMapaId").value,  
108 - titulo = $i("i3GEOjanelaprompt").value;  
109 - if(titulo === ""){  
110 - return;  
111 - }  
112 - temp = function(retorno){  
113 - if(retorno.id && retorno.id != ""){  
114 - i3GEO.janela.tempoMsg($trad('msgMapaSalvo',i3GEOF.salvaMapa.dicionario));  
115 - }  
116 - else{  
117 - if(retorno.status){  
118 - i3GEO.janela.tempoMsg(retorno.status);  
119 - }  
120 - else{  
121 - i3GEO.janela.tempoMsg(retorno);  
122 - }  
123 - }  
124 - };  
125 - i3GEO.php.salvaMapaBanco(temp,titulo,id_mapa,$i("i3GEOFsalvaPref").checked,true,true,true);  
126 - };  
127 - texto = $trad('atualizaIdMapa',i3GEOF.salvaMapa.dicionario)+"<br><div id=i3GEOFsalvamapaMapa ></div><br><br><input style='position:relative;top:2px;' checked type=checkbox id=i3GEOFsalvaPref />"+$trad('salvaPreferencias',i3GEOF.salvaMapa.dicionario);  
128 - i3GEO.janela.prompt(texto + "<br><br>"+$trad('tituloMapa',i3GEOF.salvaMapa.dicionario),funcaoOK);  
129 - i3GEOF.salvaMapa.comboMapas("i3GEOFsalvamapaMapa");  
130 - }  
131 - },  
132 /* 87 /*
133 Function: html 88 Function: html
134 89
@@ -176,21 +131,5 @@ i3GEOF.salvaMapa = { @@ -176,21 +131,5 @@ i3GEOF.salvaMapa = {
176 divid = janela[2].id; 131 divid = janela[2].id;
177 i3GEOF.salvaMapa.aguarde = $i("i3GEOF.salvaMapa_imagemCabecalho").style; 132 i3GEOF.salvaMapa.aguarde = $i("i3GEOF.salvaMapa_imagemCabecalho").style;
178 i3GEOF.salvaMapa.inicia(divid); 133 i3GEOF.salvaMapa.inicia(divid);
179 - },  
180 - comboMapas: function(onde){  
181 - var p = i3GEO.configura.locaplic+"/admin/php/mapas.php?funcao=pegaMapas",  
182 - combo = function(retorno){  
183 - var n = retorno.length,  
184 - i,  
185 - ins = "" +  
186 - "<select id='i3GEOFsalvamapaMapaId' onchange='$i(\"i3GEOjanelaprompt\").value = this.options[this.selectedIndex].text'>" +  
187 - " <option value=''>---</option>";  
188 - for(i=0;i<n;i++){  
189 - ins += "<option value='"+retorno[i].id_mapa+"'>"+retorno[i].nome_mapa+"</option>";  
190 - }  
191 - ins += "</select>";  
192 - $i(onde).innerHTML = ins;  
193 - };  
194 - i3GEO.util.ajaxGet(p,combo);  
195 } 134 }
196 }; 135 };
ferramentas/salvamapa/template_mst.html
1 <div class='container-fluid customScrollBar'> 1 <div class='container-fluid customScrollBar'>
2 <h5>{{{ajuda}}}</h5> 2 <h5>{{{ajuda}}}</h5>
3 - <h5>{{{ajuda2}}}</h5>  
4 <h5> 3 <h5>
5 - <b>1- </b>{{{ajuda3}}} {{{ajuda4}}} 4 + {{{ajuda3}}} {{{ajuda4}}}
6 </h5> 5 </h5>
7 -  
8 <a class='btn btn-primary btn-sm btn-raised' href='{{{locaplic}}}/ferramentas/salvamapa/forcedownload.php?g_sid={{{sid}}}' target='_blank'>{{{baixaArquivo}}}</a> 6 <a class='btn btn-primary btn-sm btn-raised' href='{{{locaplic}}}/ferramentas/salvamapa/forcedownload.php?g_sid={{{sid}}}' target='_blank'>{{{baixaArquivo}}}</a>
9 -  
10 - <h5>  
11 - <b>2- </b>{{{cadastraMapa}}}  
12 - </h5>  
13 - <a class='btn btn-primary btn-sm btn-raised' href='javascript:void(0)' onclick='i3GEOF.salvaMapa.salvaMapaBanco()'>{{{salvaMapa}}}</a>  
14 - <a class='btn btn-primary btn-sm btn-raised' href='javascript:void(0)' onclick='i3GEO.mapa.dialogo.listaDeMapasBanco()'>{{{listaMapas}}}</a>  
15 </div> 7 </div>
16 \ No newline at end of file 8 \ No newline at end of file
ferramentas/salvamapabanco/dependencias.php 0 → 100755
@@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
  1 +<?php
  2 +include(dirname(__FILE__)."/../blacklist.php");
  3 +verificaBlFerramentas(basename(dirname(__FILE__)));
  4 +
  5 +
  6 +/**
  7 + * Carrega os programas javascript necessarios para a ferramenta
  8 + * Esse programa e usado na tag <script> ou com a funcao scripttag do i3Geo
  9 + * Alem de carregar os scripts, carrega tambem o template no formato MUSTACHE, definindo a variavel
  10 + * javascript i3GEOF.salvaMapa.MUSTACHE
  11 + * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta
  12 + */
  13 +if(extension_loaded('zlib')){
  14 + ob_start('ob_gzhandler');
  15 +}
  16 +header("Content-type: text/javascript");
  17 +include("index.js");
  18 +include("dicionario.js");
  19 +echo "\n";
  20 +
  21 +if(extension_loaded('zlib')){
  22 + ob_end_flush();
  23 +}
  24 +?>
0 \ No newline at end of file 25 \ No newline at end of file
ferramentas/salvamapabanco/dicionario.js 0 → 100755
@@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
  1 +//+$trad(1,i3GEOF.salvaMapa.dicionario)+
  2 +i3GEOF.salvaMapaBanco.dicionario = {
  3 + 'salvaMapa' : [ {
  4 + pt : "Salvar o mapa",
  5 + en : "",
  6 + es : ""
  7 + } ],
  8 + 'msgMapaSalvo' : [ {
  9 + pt : "Mapa salvo",
  10 + en : "",
  11 + es : ""
  12 + } ],
  13 + 'atualizaIdMapa' : [ {
  14 + pt : "ID do mapa que ser&aacute; atualizado (opcional).<br>Se for um mapa novo, deixe em branco",
  15 + en : "",
  16 + es : ""
  17 + } ],
  18 + 'tituloMapa' : [ {
  19 + pt : "T&iacute;tulo do mapa",
  20 + en : "",
  21 + es : ""
  22 + } ],
  23 + 'ajuda' : [ {
  24 + pt : "Mantenha essa janela aberta para poder salvar o mapa. Utilize as op&ccedil;&otilde;es do i3Geo para montar seu mapa.",
  25 + en : "",
  26 + es : ""
  27 + } ],
  28 + 'salvaPreferencias' : [ {
  29 + pt : "As prefer&ecirc;ncias definidas atualmente ser&atilde;o salvas tamb&eacute;m.",
  30 + en : "",
  31 + es : ""
  32 + } ],
  33 + 'remove' : [ {
  34 + pt : "Remover",
  35 + en : "",
  36 + es : ""
  37 + } ]
  38 +};
ferramentas/salvamapabanco/index.js 0 → 100755
@@ -0,0 +1,252 @@ @@ -0,0 +1,252 @@
  1 +/*
  2 +Title: Salva mapa
  3 +
  4 +Faz o download do mapfile atualmente em uso. Posteriormente, o mapfile pode ser enviado de volta ao servidor para restaurar o mapa
  5 +
  6 +Veja:
  7 +
  8 +<i3GEO.mapa.dialogo.salvaMapa>
  9 +
  10 +Arquivo: i3geo/ferramentas/salvamapa/index.js.php
  11 +
  12 +About: Licen&ccedil;a
  13 +
  14 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  15 +
  16 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  17 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  18 +
  19 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  20 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  21 +GNU conforme publicada pela Free Software Foundation;
  22 +
  23 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  24 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  25 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  26 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  27 +Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  28 +GNU junto com este programa; se n&atilde;o, escreva para a
  29 +Free Software Foundation, Inc., no endere&ccedil;o
  30 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  31 + */
  32 +if(typeof(i3GEOF) === 'undefined'){
  33 + var i3GEOF = {};
  34 +}
  35 +/*
  36 +Classe: i3GEOF.salvaMapa
  37 + */
  38 +i3GEOF.salvaMapaBanco = {
  39 + ID_MAPA: "",
  40 + /*
  41 + Variavel: aguarde
  42 +
  43 + Estilo do objeto DOM com a imagem de aguarde existente no cabe&ccedil;alho da janela.
  44 + */
  45 + aguarde: "",
  46 + /**
  47 + * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php
  48 + */
  49 + MUSTACHE : "",
  50 + /**
  51 + * Susbtitutos para o template
  52 + */
  53 + mustacheHash : function() {
  54 + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.salvaMapaBanco.dicionario);
  55 + dicionario["locaplic"] = i3GEO.configura.locaplic;
  56 + dicionario["sid"] = i3GEO.configura.sid;
  57 + return dicionario;
  58 + },
  59 + /*
  60 + Function: inicia
  61 +
  62 + Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante
  63 +
  64 + Parametro:
  65 +
  66 + iddiv {String} - id do div que receber&aacute; o conteudo HTML da ferramenta
  67 + */
  68 + inicia: function(iddiv){
  69 + if(i3GEOF.salvaMapaBanco.MUSTACHE == ""){
  70 + $.get(i3GEO.configura.locaplic + "/ferramentas/salvamapabanco/template_mst.html", function(template) {
  71 + i3GEOF.salvaMapaBanco.MUSTACHE = template;
  72 + i3GEOF.salvaMapaBanco.inicia(iddiv);
  73 + });
  74 + return;
  75 + }
  76 + $i(iddiv).innerHTML = i3GEOF.salvaMapaBanco.html(iddiv);
  77 + },
  78 +
  79 + /*
  80 + Function: html
  81 +
  82 + Gera o c&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta
  83 +
  84 + Retorno:
  85 +
  86 + String com o c&oacute;digo html
  87 + */
  88 + html: function() {
  89 + var ins = Mustache.render(i3GEOF.salvaMapaBanco.MUSTACHE, i3GEOF.salvaMapaBanco.mustacheHash());
  90 + return ins;
  91 + },
  92 + /*
  93 + Function: iniciaJanelaFlutuante
  94 +
  95 + Cria a janela flutuante para controle da ferramenta.
  96 + */
  97 + iniciaJanelaFlutuante: function(id_mapa){
  98 + i3GEOF.salvaMapaBanco.ID_MAPA = id_mapa;
  99 + var janela,divid,titulo;
  100 + if ($i("i3GEOF.salvaMapaBanco")) {
  101 + return;
  102 + }
  103 + cabecalho = function(){};
  104 + minimiza = function(){
  105 + i3GEO.janela.minimiza("i3GEOF.salvaMapaBanco",200);
  106 + };
  107 + titulo = "<span class='i3GeoTituloJanelaBsNolink' >" + $trad("u17") + "</span></div>";
  108 + janela = i3GEO.janela.cria(
  109 + "300px",
  110 + "180px",
  111 + "",
  112 + "",
  113 + "",
  114 + titulo,
  115 + "i3GEOF.salvaMapaBanco",
  116 + false,
  117 + "hd",
  118 + cabecalho,
  119 + minimiza,
  120 + "",
  121 + true,
  122 + "",
  123 + "",
  124 + "",
  125 + ""
  126 + );
  127 + divid = janela[2].id;
  128 + janela[0].moveTo(180,60);
  129 + i3GEOF.salvaMapaBanco.aguarde = $i("i3GEOF.salvaMapaBanco_imagemCabecalho").style;
  130 + i3GEOF.salvaMapaBanco.inicia(divid);
  131 + },
  132 + salva: function(){
  133 + var texto,preferencias,geometrias,
  134 + login = i3GEO.login.verificaCookieLogin(),
  135 + graficos = "",
  136 + tabelas = "";
  137 + if(login === false){
  138 + alert("Login!");
  139 + }
  140 + if(i3GEOF.salvaMapaBanco.ID_MAPA === ""){
  141 + return;
  142 + } else {
  143 + var id_mapa = i3GEOF.salvaMapaBanco.ID_MAPA;
  144 + }
  145 + // pega as preferencias do usuario tambem
  146 + try {
  147 + preferencias = i3GEO.util.base64encode(i3GEO.util.pegaDadosLocal("preferenciasDoI3Geo"));
  148 + } catch (e) {
  149 + preferencias = "";
  150 + }
  151 + // pega as geometrias no layer grafico
  152 + try {
  153 + geometrias = i3GEO.mapa.compactaLayerGrafico();
  154 + if (!geometrias) {
  155 + geometrias = "";
  156 + }
  157 + } catch (e) {
  158 + geometrias = "";
  159 + }
  160 + // pega as ferramentas do tipo grafico
  161 + if (i3GEOF.graficointerativo1) {
  162 + try {
  163 + graficos = i3GEOF.graficointerativo1.compactaConfig();
  164 + if (!graficos) {
  165 + graficos = "";
  166 + }
  167 + } catch (e) {
  168 + graficos = "";
  169 + }
  170 + }
  171 + // pega as ferramentas do tipo tabela
  172 + if (i3GEOF.tabela) {
  173 + try {
  174 + tabelas = i3GEOF.tabela.compactaConfig();
  175 + if (!tabelas) {
  176 + tabelas = "";
  177 + }
  178 + } catch (e) {
  179 + tabelas = "";
  180 + }
  181 + }
  182 + var url = (window.location.href.split("?")[0]),
  183 + p = i3GEO.configura.locaplic + "/admin1/php/salvamapabanco.php?";
  184 + var par =
  185 + "funcao=salvaMapfile"
  186 + + "&id_mapa="
  187 + + id_mapa
  188 + + "&ext="
  189 + + i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten)
  190 + + "&sid="
  191 + + i3GEO.configura.sid
  192 + + "&preferenciasbase64="
  193 + + preferencias
  194 + + "&geometriasbase64="
  195 + + geometrias
  196 + + "&graficosbase64="
  197 + + graficos
  198 + + "&tabelasbase64="
  199 + + tabelas
  200 + + "&url="
  201 + + i3GEO.configura.locaplic;
  202 + $.post(
  203 + p,
  204 + par
  205 + )
  206 + .done(
  207 + function(data, status){
  208 + i3GEO.janela.tempoMsg($trad('msgMapaSalvo',i3GEOF.salvaMapaBanco.dicionario));
  209 +
  210 + }
  211 + )
  212 + .fail(
  213 + function(data){
  214 + i3GEO.janela.tempoMsg(retorno);
  215 + }
  216 + );
  217 + },
  218 + remove: function(){
  219 + var login = i3GEO.login.verificaCookieLogin();
  220 + if(login === false){
  221 + alert("Login!");
  222 + }
  223 + if(i3GEOF.salvaMapaBanco.ID_MAPA === ""){
  224 + return;
  225 + } else {
  226 + var id_mapa = i3GEOF.salvaMapaBanco.ID_MAPA;
  227 + }
  228 +
  229 + p = i3GEO.configura.locaplic + "/admin1/php/salvamapabanco.php?";
  230 + var par =
  231 + "funcao=removeMapfile"
  232 + + "&id_mapa="
  233 + + id_mapa
  234 + + "&sid="
  235 + + i3GEO.configura.sid;
  236 + $.post(
  237 + p,
  238 + par
  239 + )
  240 + .done(
  241 + function(data, status){
  242 + i3GEO.janela.tempoMsg($trad('msgMapaSalvo',i3GEOF.salvaMapaBanco.dicionario));
  243 +
  244 + }
  245 + )
  246 + .fail(
  247 + function(data){
  248 + i3GEO.janela.tempoMsg(retorno);
  249 + }
  250 + );
  251 + }
  252 +};
0 \ No newline at end of file 253 \ No newline at end of file
ferramentas/salvamapabanco/template_mst.html 0 → 100755
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
  1 +<div class='container-fluid customScrollBar'>
  2 + <div class='form-group condensed'>
  3 + <a class='btn btn-primary btn-sm btn-raised' href='javascript:void(0)' onclick='i3GEOF.salvaMapaBanco.salva()'>{{{salvaMapa}}}</a>
  4 + <a class='btn btn-primary btn-sm btn-raised' href='javascript:void(0)' onclick='i3GEOF.salvaMapaBanco.remove()'>{{{remove}}}</a>
  5 + </div>
  6 + <h5 class='alert alert-info'>{{{ajuda}}}</h5>
  7 +</div>
0 \ No newline at end of file 8 \ No newline at end of file
ferramentas/tabela/index.js
@@ -373,7 +373,7 @@ i3GEOF.tabela = @@ -373,7 +373,7 @@ i3GEOF.tabela =
373 * Retorna um objeto contendo os valores de todos os parametros utilizados na tabela de tal forma que possa ser renderizado 373 * Retorna um objeto contendo os valores de todos os parametros utilizados na tabela de tal forma que possa ser renderizado
374 * novamente 374 * novamente
375 * 375 *
376 - * A funcao i3GEO.php.salvaMapaBanco utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela 376 + * A funcao que salva o mapa no banco utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela
377 */ 377 */
378 retornaConfig : function(idjanela, novoid) { 378 retornaConfig : function(idjanela, novoid) {
379 // as chaves do objeto correspondem ao ID de cada elemento 379 // as chaves do objeto correspondem ao ID de cada elemento
@@ -1643,83 +1643,6 @@ i3GEO.php = @@ -1643,83 +1643,6 @@ i3GEO.php =
1643 i3GEO.util.ajaxGet(p, funcao); 1643 i3GEO.util.ajaxGet(p, funcao);
1644 }, 1644 },
1645 /** 1645 /**
1646 - * Function: salvaMapaBanco  
1647 - *  
1648 - * Salva o mapfile atual no banco de dados de administracao  
1649 - */  
1650 - salvaMapaBanco : function(funcao, titulo, id_mapa, preferencias, geometrias, graficos, tabelas) {  
1651 - // pega as preferencias do usuario tambem  
1652 - if (preferencias) {  
1653 - try {  
1654 - preferencias = i3GEO.util.base64encode(i3GEO.util.pegaDadosLocal("preferenciasDoI3Geo"));  
1655 - } catch (e) {  
1656 - preferencias = "";  
1657 - }  
1658 - } else {  
1659 - preferencias = "";  
1660 - }  
1661 - // pega as geometrias no layer grafico  
1662 - if (geometrias) {  
1663 - try {  
1664 - geometrias = i3GEO.mapa.compactaLayerGrafico();  
1665 - if (!geometrias) {  
1666 - geometrias = "";  
1667 - }  
1668 - } catch (e) {  
1669 - geometrias = "";  
1670 - }  
1671 - } else {  
1672 - geometrias = "";  
1673 - }  
1674 - // pega as ferramentas do tipo grafico  
1675 - if (graficos && i3GEOF && i3GEOF.graficointerativo1) {  
1676 - try {  
1677 - graficos = i3GEOF.graficointerativo1.compactaConfig();  
1678 - if (!graficos) {  
1679 - graficos = "";  
1680 - }  
1681 - } catch (e) {  
1682 - graficos = "";  
1683 - }  
1684 - } else {  
1685 - graficos = "";  
1686 - }  
1687 - // pega as ferramentas do tipo tabela  
1688 - if (tabelas && i3GEOF && i3GEOF.tabela) {  
1689 - try {  
1690 - tabelas = i3GEOF.tabela.compactaConfig();  
1691 - if (!tabelas) {  
1692 - tabelas = "";  
1693 - }  
1694 - } catch (e) {  
1695 - tabelas = "";  
1696 - }  
1697 - } else {  
1698 - tabelas = "";  
1699 - }  
1700 - var url = (window.location.href.split("?")[0]),  
1701 - p = i3GEO.configura.locaplic + "/admin/php/mapas.php?";  
1702 - var par =  
1703 - "funcao=salvaMapfile"  
1704 - + "&url="  
1705 - + url.replace("#", "")  
1706 - + "&arqmapfile="  
1707 - + i3GEO.parametros.mapfile  
1708 - + "&nome_mapa="  
1709 - + titulo  
1710 - + "&id_mapa="  
1711 - + id_mapa  
1712 - + "&ext="  
1713 - + i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten  
1714 - );  
1715 -  
1716 - cp = new cpaint();  
1717 - cp.set_transfer_mode('POST');  
1718 - cp.set_response_type("JSON");  
1719 - cp.call(p + par, "foo", funcao, "&preferenciasbase64=" + preferencias + "&geometriasbase64=" + geometrias + "&graficosbase64="  
1720 - + graficos + "&tabelasbase64=" + tabelas);  
1721 - },  
1722 - /**  
1723 * Function: marcadores2shp 1646 * Function: marcadores2shp
1724 * 1647 *
1725 * Converte os marcadores de lugar em uma camada shapefile 1648 * Converte os marcadores de lugar em uma camada shapefile
ms_criamapa.php
@@ -465,6 +465,10 @@ $_SESSION[&quot;mensagemInicia&quot;] = $mensagemInicia_; @@ -465,6 +465,10 @@ $_SESSION[&quot;mensagemInicia&quot;] = $mensagemInicia_;
465 $_SESSION["interfacePadrao"] = $interfacePadrao_; 465 $_SESSION["interfacePadrao"] = $interfacePadrao_;
466 $_SESSION["logExec"] = $logExec_; 466 $_SESSION["logExec"] = $logExec_;
467 $_SESSION["i3geoPermiteLogin"] = $i3geoPermiteLogin_; 467 $_SESSION["i3geoPermiteLogin"] = $i3geoPermiteLogin_;
  468 +if(!isset($customDir)){
  469 + $customDir = "";
  470 +}
  471 +$_SESSION["customDir"] = $customDir;
468 if(isset($interface_)){ 472 if(isset($interface_)){
469 $_SESSION["interface"] = $interface_; 473 $_SESSION["interface"] = $interface_;
470 } 474 }