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 95 ins += "<p>Permite acesso via kml?<br>"
96 96 ins += "<select id='kml_tema' >"
97 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 103 ins += "</select></p><br><br><br>"
99 104  
100 105 ins += "<input type=hidden id=codigo_tema value='"+i.codigo_tema+"'/>"
... ... @@ -102,10 +107,20 @@ function montaDivTemas(i)
102 107 }
103 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 118 var par = ""
107 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 124 par += "&id="+id
110 125 core_carregando("ativa");
111 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 177 */
178 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 204 Function: verificaFilhos
... ...
admin/php/conexao.php
... ... @@ -87,5 +87,4 @@ if($conexaoadmin == &quot;&quot;)
87 87 }
88 88 else
89 89 include($conexaoadmin);
90   -
91 90 ?>
92 91 \ No newline at end of file
... ...
admin/php/criabanco.php
... ... @@ -9,7 +9,7 @@ $tabelas = array(
9 9 "CREATE TABLE i3geoadmin_grupos (desc_grupo TEXT, id_grupo INTEGER PRIMARY KEY, nome_grupo TEXT)",
10 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 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 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 14 "CREATE TABLE i3geoadmin_tags (id_tag INTEGER PRIMARY KEY, nome TEXT)",
15 15 "CREATE TABLE i3geoadmin_perfis (id_perfil INTEGER PRIMARY KEY, perfil TEXT)",
... ...
admin/php/editormapfile.php
... ... @@ -289,7 +289,7 @@ function criarNovoMap()
289 289 fwrite($fp,$dado."\n");
290 290 }
291 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 293 $dbh = null;
294 294 $dbhw = null;
295 295 return "ok";
... ...
admin/php/menutemas.php
... ... @@ -135,12 +135,12 @@ switch ($funcao)
135 135 case "pegaTemaPorMapfile":
136 136 $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'";
137 137 $dados = pegaDados($sql);
138   - if(count($dados) == 0)
  138 + if(is_array($dados) && count($dados) == 0)
139 139 {
140 140 registraTema();
141 141 $dados = pegaDados($sql);
142 142 }
143   - if(count($dados) > 1)
  143 + if(is_array($dados) && count($dados) > 1)
144 144 {$dados = "erro. Mais de um mapfile com mesmo código registrado no banco";}
145 145 retornaJSON($dados);
146 146 exit;
... ... @@ -380,6 +380,7 @@ function pegaTemas()
380 380 "download_tema"=>$row['download_tema'],
381 381 "ogc_tema"=>$row['ogc_tema'],
382 382 "kml_tema"=>$row['kml_tema'],
  383 + "kmz_tema"=>$row['kmz_tema'],
383 384 "tags_tema"=>$row['tags_tema']
384 385 );
385 386 }
... ... @@ -709,7 +710,7 @@ function registraTema()
709 710 $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'";
710 711 $dados = pegaDados($sql);
711 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 714 $dbhw = null;
714 715 $dbh = null;
715 716 return "ok";
... ... @@ -727,7 +728,7 @@ Altera o registro de um tema. Se id for vazio acrescenta o registro
727 728 */
728 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 732 //error_reporting(E_ALL);
732 733 try
733 734 {
... ... @@ -741,7 +742,10 @@ function alteraTemas()
741 742 }
742 743 if($id != "")
743 744 {
  745 + if(!isset($kmz))
744 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 749 $retorna = $id;
746 750 }
747 751 else
... ... @@ -750,7 +754,10 @@ function alteraTemas()
750 754 $id = $dbh->query("SELECT * FROM i3geoadmin_temas WHERE nome_tema = 'xxxxxX'");
751 755 $id = $id->fetchAll();
752 756 $id = intval($id[0]['id_tema']);
  757 + if(!isset($kmz))
753 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 761 $retorna = $id;
755 762 }
756 763 //verifica se é necessário adicionar algum tag novo
... ... @@ -913,7 +920,7 @@ function importarXmlMenu()
913 920 {
914 921 $nome = str_replace("'","",$nome);
915 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 925 $temasExistentes[$codigo] = 0;
919 926 }
... ... @@ -941,7 +948,7 @@ function importarXmlMenu()
941 948 {
942 949 $nome = str_replace("'","",$nome);
943 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 953 $temasExistentes[$codigo] = 0;
947 954 }
... ... @@ -969,7 +976,7 @@ function importarXmlMenu()
969 976 {
970 977 $nome = str_replace("'","",$nome);
971 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 981 $temasExistentes[$codigo] = 0;
975 982 }
... ...