Commit 7641fa594c5f165e8afb152e2fa26e7ac86af825

Authored by Edmar Moretti
1 parent 33547218

Modificações em função da nova opção de acesso aos dados via kml vetorial.

Inclusão da opção de definiçao do acesso aos dados no formato KMZ. Validação da realização de querys, prevenindo erros devido a falta da coluna kmz_tema.
admin/js/listatemas.js
@@ -95,6 +95,11 @@ function montaDivTemas(i) @@ -95,6 +95,11 @@ function montaDivTemas(i)
95 ins += "<p>Permite acesso via kml?<br>" 95 ins += "<p>Permite acesso via kml?<br>"
96 ins += "<select id='kml_tema' >" 96 ins += "<select id='kml_tema' >"
97 ins += core_combosimnao(i.kml_tema) 97 ins += core_combosimnao(i.kml_tema)
  98 + ins += "</select></p>"
  99 +
  100 + ins += "<p>Permite acesso via kmz (kml com dados vetoriais)?<br>"
  101 + ins += "<select id='kmz_tema' >"
  102 + ins += core_combosimnao(i.kmz_tema)
98 ins += "</select></p><br><br><br>" 103 ins += "</select></p><br><br><br>"
99 104
100 ins += "<input type=hidden id=codigo_tema value='"+i.codigo_tema+"'/>" 105 ins += "<input type=hidden id=codigo_tema value='"+i.codigo_tema+"'/>"
@@ -102,10 +107,20 @@ function montaDivTemas(i) @@ -102,10 +107,20 @@ function montaDivTemas(i)
102 } 107 }
103 function gravaDadosTema(id) 108 function gravaDadosTema(id)
104 { 109 {
105 - var campos = new Array("nome","desc","link","tags","tipo","ogc","download","kml","codigo") 110 + //validacao
  111 + if($i("kml_tema") && $i("kmz_tema"){
  112 + if($i("kmz_tema").value == "SIM")
  113 + {$i("kml_tema").value = "SIM";}
  114 + if($i("kml_tema").value == "NAO")
  115 + {$i("kmz_tema").value = "NAO";}
  116 + }
  117 + var campos = new Array("nome","desc","link","tags","tipo","ogc","download","kml","codigo","kmz")
106 var par = "" 118 var par = ""
107 for (i=0;i<campos.length;i++) 119 for (i=0;i<campos.length;i++)
108 - {par += "&"+campos[i]+"="+($i(campos[i]+"_tema").value)} 120 + {
  121 + if($i(campos[i]+"_tema"))
  122 + par += "&"+campos[i]+"="+($i(campos[i]+"_tema").value)
  123 + }
109 par += "&id="+id 124 par += "&id="+id
110 core_carregando("ativa"); 125 core_carregando("ativa");
111 core_carregando(" gravando o registro do id= "+id); 126 core_carregando(" gravando o registro do id= "+id);
admin/php/admin.php
@@ -177,23 +177,28 @@ Executa um sql de busca de dados @@ -177,23 +177,28 @@ Executa um sql de busca de dados
177 */ 177 */
178 function pegaDados($sql,$locaplic="") 178 function pegaDados($sql,$locaplic="")
179 { 179 {
180 - try  
181 - {  
182 - $resultado = array();  
183 - if($locaplic == "")  
184 - include("conexao.php");  
185 - else  
186 - include("$locaplic/admin/php/conexao.php");  
187 - $q = $dbh->query($sql,PDO::FETCH_ASSOC);  
188 - $resultado = $q->fetchAll();  
189 - $dbh = null;  
190 - $dbhw = null;  
191 - return $resultado;  
192 - }  
193 - catch (PDOException $e)  
194 - {  
195 - return "Error!: " . $e->getMessage();  
196 - } 180 + $resultado = array();
  181 + if($locaplic == "")
  182 + include("conexao.php");
  183 + else
  184 + include("$locaplic/admin/php/conexao.php");
  185 + error_reporting(E_ALL);
  186 + $q = $dbh->query($sql,PDO::FETCH_ASSOC);
  187 + if($q)
  188 + {
  189 + $resultado = $q->fetchAll();
  190 + $dbh = null;
  191 + $dbhw = null;
  192 + //error_reporting(0);
  193 + return $resultado;
  194 + }
  195 + else
  196 + {
  197 + $e = $dbh->errorInfo();
  198 + echo " erro: ".$e[2];
  199 + //echo $sql;
  200 + return;
  201 + }
197 } 202 }
198 /* 203 /*
199 Function: verificaFilhos 204 Function: verificaFilhos
admin/php/conexao.php
@@ -87,5 +87,4 @@ if($conexaoadmin == &quot;&quot;) @@ -87,5 +87,4 @@ if($conexaoadmin == &quot;&quot;)
87 } 87 }
88 else 88 else
89 include($conexaoadmin); 89 include($conexaoadmin);
90 -  
91 ?> 90 ?>
92 \ No newline at end of file 91 \ No newline at end of file
admin/php/criabanco.php
@@ -9,7 +9,7 @@ $tabelas = array( @@ -9,7 +9,7 @@ $tabelas = array(
9 "CREATE TABLE i3geoadmin_grupos (desc_grupo TEXT, id_grupo INTEGER PRIMARY KEY, nome_grupo TEXT)", 9 "CREATE TABLE i3geoadmin_grupos (desc_grupo TEXT, id_grupo INTEGER PRIMARY KEY, nome_grupo TEXT)",
10 "CREATE TABLE i3geoadmin_sistemasf (abrir_funcao TEXT, h_funcao NUMERIC, id_funcao INTEGER PRIMARY KEY, id_sistema NUMERIC, nome_funcao TEXT, perfil_funcao TEXT, w_funcao NUMERIC)", 10 "CREATE TABLE i3geoadmin_sistemasf (abrir_funcao TEXT, h_funcao NUMERIC, id_funcao INTEGER PRIMARY KEY, id_sistema NUMERIC, nome_funcao TEXT, perfil_funcao TEXT, w_funcao NUMERIC)",
11 "CREATE TABLE i3geoadmin_subgrupos (desc_subgrupo TEXT, id_subgrupo INTEGER PRIMARY KEY, nome_subgrupo TEXT)", 11 "CREATE TABLE i3geoadmin_subgrupos (desc_subgrupo TEXT, id_subgrupo INTEGER PRIMARY KEY, nome_subgrupo TEXT)",
12 -"CREATE TABLE i3geoadmin_temas (id_tema INTEGER PRIMARY KEY, nacessos INTEGER, kml_tema TEXT, ogc_tema TEXT, download_tema TEXT, tags_tema TEXT, tipoa_tema TEXT, link_tema TEXT, desc_tema TEXT, nome_tema TEXT, codigo_tema TEXT)", 12 +"CREATE TABLE i3geoadmin_temas (id_tema INTEGER PRIMARY KEY, nacessos INTEGER, kml_tema TEXT, kmz_tema TEXT, ogc_tema TEXT, download_tema TEXT, tags_tema TEXT, tipoa_tema TEXT, link_tema TEXT, desc_tema TEXT, nome_tema TEXT, codigo_tema TEXT)",
13 "CREATE TABLE i3geoadmin_ws (nacessos INTEGER, nacessosok INTEGER, autor_ws TEXT, desc_ws TEXT, id_ws INTEGER PRIMARY KEY, link_ws TEXT, nome_ws TEXT, tipo_ws TEXT)", 13 "CREATE TABLE i3geoadmin_ws (nacessos INTEGER, nacessosok INTEGER, autor_ws TEXT, desc_ws TEXT, id_ws INTEGER PRIMARY KEY, link_ws TEXT, nome_ws TEXT, tipo_ws TEXT)",
14 "CREATE TABLE i3geoadmin_tags (id_tag INTEGER PRIMARY KEY, nome TEXT)", 14 "CREATE TABLE i3geoadmin_tags (id_tag INTEGER PRIMARY KEY, nome TEXT)",
15 "CREATE TABLE i3geoadmin_perfis (id_perfil INTEGER PRIMARY KEY, perfil TEXT)", 15 "CREATE TABLE i3geoadmin_perfis (id_perfil INTEGER PRIMARY KEY, perfil TEXT)",
admin/php/editormapfile.php
@@ -289,7 +289,7 @@ function criarNovoMap() @@ -289,7 +289,7 @@ function criarNovoMap()
289 fwrite($fp,$dado."\n"); 289 fwrite($fp,$dado."\n");
290 } 290 }
291 require_once("conexao.php"); 291 require_once("conexao.php");
292 - $dbhw->query("INSERT INTO i3geoadmin_temas (link_tema,kml_tema,ogc_tema,download_tema,desc_tema,tipoa_tema,tags_tema,nome_tema,codigo_tema) VALUES ('','', '','','','','','$nome','$codigo')"); 292 + $dbhw->query("INSERT INTO i3geoadmin_temas (link_tema,kml_tema,kmz_tema,ogc_tema,download_tema,desc_tema,tipoa_tema,tags_tema,nome_tema,codigo_tema) VALUES ('','','', '','','','','','$nome','$codigo')");
293 $dbh = null; 293 $dbh = null;
294 $dbhw = null; 294 $dbhw = null;
295 return "ok"; 295 return "ok";
admin/php/menutemas.php
@@ -135,12 +135,12 @@ switch ($funcao) @@ -135,12 +135,12 @@ switch ($funcao)
135 case "pegaTemaPorMapfile": 135 case "pegaTemaPorMapfile":
136 $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'"; 136 $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'";
137 $dados = pegaDados($sql); 137 $dados = pegaDados($sql);
138 - if(count($dados) == 0) 138 + if(is_array($dados) && count($dados) == 0)
139 { 139 {
140 registraTema(); 140 registraTema();
141 $dados = pegaDados($sql); 141 $dados = pegaDados($sql);
142 } 142 }
143 - if(count($dados) > 1) 143 + if(is_array($dados) && count($dados) > 1)
144 {$dados = "erro. Mais de um mapfile com mesmo código registrado no banco";} 144 {$dados = "erro. Mais de um mapfile com mesmo código registrado no banco";}
145 retornaJSON($dados); 145 retornaJSON($dados);
146 exit; 146 exit;
@@ -380,6 +380,7 @@ function pegaTemas() @@ -380,6 +380,7 @@ function pegaTemas()
380 "download_tema"=>$row['download_tema'], 380 "download_tema"=>$row['download_tema'],
381 "ogc_tema"=>$row['ogc_tema'], 381 "ogc_tema"=>$row['ogc_tema'],
382 "kml_tema"=>$row['kml_tema'], 382 "kml_tema"=>$row['kml_tema'],
  383 + "kmz_tema"=>$row['kmz_tema'],
383 "tags_tema"=>$row['tags_tema'] 384 "tags_tema"=>$row['tags_tema']
384 ); 385 );
385 } 386 }
@@ -709,7 +710,7 @@ function registraTema() @@ -709,7 +710,7 @@ function registraTema()
709 $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'"; 710 $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'";
710 $dados = pegaDados($sql); 711 $dados = pegaDados($sql);
711 if(count($dados) == 0) 712 if(count($dados) == 0)
712 - {$dbhw->query("INSERT INTO i3geoadmin_temas (nome_tema,codigo_tema,kml_tema,ogc_tema,download_tema,tags_tema,link_tema,desc_tema) VALUES ('$codigo_tema','$codigo_tema','SIM','SIM','SIM','','','')");} 713 + {$dbhw->query("INSERT INTO i3geoadmin_temas (nome_tema,codigo_tema,kml_tema,kmz_tema,ogc_tema,download_tema,tags_tema,link_tema,desc_tema) VALUES ('$codigo_tema','$codigo_tema','SIM','NAO','SIM','SIM','','','')");}
713 $dbhw = null; 714 $dbhw = null;
714 $dbh = null; 715 $dbh = null;
715 return "ok"; 716 return "ok";
@@ -727,7 +728,7 @@ Altera o registro de um tema. Se id for vazio acrescenta o registro @@ -727,7 +728,7 @@ Altera o registro de um tema. Se id for vazio acrescenta o registro
727 */ 728 */
728 function alteraTemas() 729 function alteraTemas()
729 { 730 {
730 - global $nome,$desc,$id,$codigo,$tipoa,$download,$ogc,$kml,$link,$tags; 731 + global $nome,$desc,$id,$codigo,$tipoa,$download,$ogc,$kml,$link,$tags,$kmz;
731 //error_reporting(E_ALL); 732 //error_reporting(E_ALL);
732 try 733 try
733 { 734 {
@@ -741,7 +742,10 @@ function alteraTemas() @@ -741,7 +742,10 @@ function alteraTemas()
741 } 742 }
742 if($id != "") 743 if($id != "")
743 { 744 {
  745 + if(!isset($kmz))
744 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='$tags', link_tema='$link', nome_tema ='$nome',desc_tema='$desc',codigo_tema='$codigo',tipoa_tema='$tipoa',download_tema='$download',ogc_tema='$ogc',kml_tema='$kml' WHERE id_tema = $id"); 746 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='$tags', link_tema='$link', nome_tema ='$nome',desc_tema='$desc',codigo_tema='$codigo',tipoa_tema='$tipoa',download_tema='$download',ogc_tema='$ogc',kml_tema='$kml' WHERE id_tema = $id");
  747 + else
  748 + $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='$tags', link_tema='$link', nome_tema ='$nome',desc_tema='$desc',codigo_tema='$codigo',tipoa_tema='$tipoa',download_tema='$download',ogc_tema='$ogc',kml_tema='$kml',kmz_tema='$kmz' WHERE id_tema = $id");
745 $retorna = $id; 749 $retorna = $id;
746 } 750 }
747 else 751 else
@@ -750,7 +754,10 @@ function alteraTemas() @@ -750,7 +754,10 @@ function alteraTemas()
750 $id = $dbh->query("SELECT * FROM i3geoadmin_temas WHERE nome_tema = 'xxxxxX'"); 754 $id = $dbh->query("SELECT * FROM i3geoadmin_temas WHERE nome_tema = 'xxxxxX'");
751 $id = $id->fetchAll(); 755 $id = $id->fetchAll();
752 $id = intval($id[0]['id_tema']); 756 $id = intval($id[0]['id_tema']);
  757 + if(!isset($kmz))
753 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='', link_tema='', nome_tema ='',desc_tema='',codigo_tema='',tipoa_tema='',download_tema='',ogc_tema='',kml_tema='' WHERE id_tema = $id"); 758 $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='', link_tema='', nome_tema ='',desc_tema='',codigo_tema='',tipoa_tema='',download_tema='',ogc_tema='',kml_tema='' WHERE id_tema = $id");
  759 + else
  760 + $dbhw->query("UPDATE i3geoadmin_temas SET tags_tema='', link_tema='', nome_tema ='',desc_tema='',codigo_tema='',tipoa_tema='',download_tema='',ogc_tema='',kml_tema='',kmz_tema='' WHERE id_tema = $id");
754 $retorna = $id; 761 $retorna = $id;
755 } 762 }
756 //verifica se é necessário adicionar algum tag novo 763 //verifica se é necessário adicionar algum tag novo
@@ -913,7 +920,7 @@ function importarXmlMenu() @@ -913,7 +920,7 @@ function importarXmlMenu()
913 { 920 {
914 $nome = str_replace("'","",$nome); 921 $nome = str_replace("'","",$nome);
915 $descricao = str_replace("'","",$descricao); 922 $descricao = str_replace("'","",$descricao);
916 - $dbhw->query("INSERT INTO i3geoadmin_temas (nacessos,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema) VALUES (0,'$kml','$ogc','$down','$tags','$tipo','$link','$descricao','$nome','$codigo')"); 923 + $dbhw->query("INSERT INTO i3geoadmin_temas (nacessos,kml_tema,kmz_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema) VALUES (0,'$kml','NAO','$ogc','$down','$tags','$tipo','$link','$descricao','$nome','$codigo')");
917 } 924 }
918 $temasExistentes[$codigo] = 0; 925 $temasExistentes[$codigo] = 0;
919 } 926 }
@@ -941,7 +948,7 @@ function importarXmlMenu() @@ -941,7 +948,7 @@ function importarXmlMenu()
941 { 948 {
942 $nome = str_replace("'","",$nome); 949 $nome = str_replace("'","",$nome);
943 $descricao = str_replace("'","",$descricao); 950 $descricao = str_replace("'","",$descricao);
944 - $dbhw->query("INSERT INTO i3geoadmin_temas (nacessos,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema) VALUES (0,'$kml','$ogc','$down','$tags','$tipo','$link','$descricao','$nome','$codigo')"); 951 + $dbhw->query("INSERT INTO i3geoadmin_temas (nacessos,kml_tema,kmz_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema) VALUES (0,'$kml','NAO','$ogc','$down','$tags','$tipo','$link','$descricao','$nome','$codigo')");
945 } 952 }
946 $temasExistentes[$codigo] = 0; 953 $temasExistentes[$codigo] = 0;
947 } 954 }
@@ -969,7 +976,7 @@ function importarXmlMenu() @@ -969,7 +976,7 @@ function importarXmlMenu()
969 { 976 {
970 $nome = str_replace("'","",$nome); 977 $nome = str_replace("'","",$nome);
971 $descricao = str_replace("'","",$descricao); 978 $descricao = str_replace("'","",$descricao);
972 - $dbhw->query("INSERT INTO i3geoadmin_temas (nacessos,kml_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema) VALUES (0,'$kml','$ogc','$down','$tags','$tipo','$link','$descricao','$nome','$codigo')"); 979 + $dbhw->query("INSERT INTO i3geoadmin_temas (nacessos,kml_tema,kmz_tema,ogc_tema,download_tema,tags_tema,tipoa_tema,link_tema,desc_tema,nome_tema,codigo_tema) VALUES (0,'$kml','NAO','$ogc','$down','$tags','$tipo','$link','$descricao','$nome','$codigo')");
973 } 980 }
974 $temasExistentes[$codigo] = 0; 981 $temasExistentes[$codigo] = 0;
975 } 982 }