From 7641fa594c5f165e8afb152e2fa26e7ac86af825 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Wed, 26 Aug 2009 02:20:16 +0000 Subject: [PATCH] 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 | 19 +++++++++++++++++-- admin/php/admin.php | 39 ++++++++++++++++++++++----------------- admin/php/conexao.php | 1 - admin/php/criabanco.php | 2 +- admin/php/editormapfile.php | 2 +- admin/php/menutemas.php | 21 ++++++++++++++------- 6 files changed, 55 insertions(+), 29 deletions(-) diff --git a/admin/js/listatemas.js b/admin/js/listatemas.js index 5221089..ae967c8 100644 --- a/admin/js/listatemas.js +++ b/admin/js/listatemas.js @@ -95,6 +95,11 @@ function montaDivTemas(i) ins += "

Permite acesso via kml?
" ins += "

" + + ins += "

Permite acesso via kmz (kml com dados vetoriais)?
" + ins += "




" ins += "" @@ -102,10 +107,20 @@ function montaDivTemas(i) } function gravaDadosTema(id) { - var campos = new Array("nome","desc","link","tags","tipo","ogc","download","kml","codigo") + //validacao + if($i("kml_tema") && $i("kmz_tema"){ + if($i("kmz_tema").value == "SIM") + {$i("kml_tema").value = "SIM";} + if($i("kml_tema").value == "NAO") + {$i("kmz_tema").value = "NAO";} + } + var campos = new Array("nome","desc","link","tags","tipo","ogc","download","kml","codigo","kmz") var par = "" for (i=0;iquery($sql,PDO::FETCH_ASSOC); - $resultado = $q->fetchAll(); - $dbh = null; - $dbhw = null; - return $resultado; - } - catch (PDOException $e) - { - return "Error!: " . $e->getMessage(); - } + $resultado = array(); + if($locaplic == "") + include("conexao.php"); + else + include("$locaplic/admin/php/conexao.php"); + error_reporting(E_ALL); + $q = $dbh->query($sql,PDO::FETCH_ASSOC); + if($q) + { + $resultado = $q->fetchAll(); + $dbh = null; + $dbhw = null; + //error_reporting(0); + return $resultado; + } + else + { + $e = $dbh->errorInfo(); + echo " erro: ".$e[2]; + //echo $sql; + return; + } } /* Function: verificaFilhos diff --git a/admin/php/conexao.php b/admin/php/conexao.php index d2a8de1..0a971e7 100644 --- a/admin/php/conexao.php +++ b/admin/php/conexao.php @@ -87,5 +87,4 @@ if($conexaoadmin == "") } else include($conexaoadmin); - ?> \ No newline at end of file diff --git a/admin/php/criabanco.php b/admin/php/criabanco.php index 7ec87cf..3bef27d 100644 --- a/admin/php/criabanco.php +++ b/admin/php/criabanco.php @@ -9,7 +9,7 @@ $tabelas = array( "CREATE TABLE i3geoadmin_grupos (desc_grupo TEXT, id_grupo INTEGER PRIMARY KEY, nome_grupo TEXT)", "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)", "CREATE TABLE i3geoadmin_subgrupos (desc_subgrupo TEXT, id_subgrupo INTEGER PRIMARY KEY, nome_subgrupo TEXT)", -"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)", +"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)", "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)", "CREATE TABLE i3geoadmin_tags (id_tag INTEGER PRIMARY KEY, nome TEXT)", "CREATE TABLE i3geoadmin_perfis (id_perfil INTEGER PRIMARY KEY, perfil TEXT)", diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php index 88eff00..8194ca8 100644 --- a/admin/php/editormapfile.php +++ b/admin/php/editormapfile.php @@ -289,7 +289,7 @@ function criarNovoMap() fwrite($fp,$dado."\n"); } require_once("conexao.php"); - $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')"); + $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')"); $dbh = null; $dbhw = null; return "ok"; diff --git a/admin/php/menutemas.php b/admin/php/menutemas.php index 49daa8d..6dbff7c 100644 --- a/admin/php/menutemas.php +++ b/admin/php/menutemas.php @@ -135,12 +135,12 @@ switch ($funcao) case "pegaTemaPorMapfile": $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'"; $dados = pegaDados($sql); - if(count($dados) == 0) + if(is_array($dados) && count($dados) == 0) { registraTema(); $dados = pegaDados($sql); } - if(count($dados) > 1) + if(is_array($dados) && count($dados) > 1) {$dados = "erro. Mais de um mapfile com mesmo código registrado no banco";} retornaJSON($dados); exit; @@ -380,6 +380,7 @@ function pegaTemas() "download_tema"=>$row['download_tema'], "ogc_tema"=>$row['ogc_tema'], "kml_tema"=>$row['kml_tema'], + "kmz_tema"=>$row['kmz_tema'], "tags_tema"=>$row['tags_tema'] ); } @@ -709,7 +710,7 @@ function registraTema() $sql = "SELECT * from i3geoadmin_temas where codigo_tema = '$codigo_tema'"; $dados = pegaDados($sql); if(count($dados) == 0) - {$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','','','')");} + {$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','','','')");} $dbhw = null; $dbh = null; return "ok"; @@ -727,7 +728,7 @@ Altera o registro de um tema. Se id for vazio acrescenta o registro */ function alteraTemas() { - global $nome,$desc,$id,$codigo,$tipoa,$download,$ogc,$kml,$link,$tags; + global $nome,$desc,$id,$codigo,$tipoa,$download,$ogc,$kml,$link,$tags,$kmz; //error_reporting(E_ALL); try { @@ -741,7 +742,10 @@ function alteraTemas() } if($id != "") { + if(!isset($kmz)) $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"); + else + $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"); $retorna = $id; } else @@ -750,7 +754,10 @@ function alteraTemas() $id = $dbh->query("SELECT * FROM i3geoadmin_temas WHERE nome_tema = 'xxxxxX'"); $id = $id->fetchAll(); $id = intval($id[0]['id_tema']); + if(!isset($kmz)) $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"); + else + $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"); $retorna = $id; } //verifica se é necessário adicionar algum tag novo @@ -913,7 +920,7 @@ function importarXmlMenu() { $nome = str_replace("'","",$nome); $descricao = str_replace("'","",$descricao); - $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')"); + $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')"); } $temasExistentes[$codigo] = 0; } @@ -941,7 +948,7 @@ function importarXmlMenu() { $nome = str_replace("'","",$nome); $descricao = str_replace("'","",$descricao); - $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')"); + $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')"); } $temasExistentes[$codigo] = 0; } @@ -969,7 +976,7 @@ function importarXmlMenu() { $nome = str_replace("'","",$nome); $descricao = str_replace("'","",$descricao); - $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')"); + $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')"); } $temasExistentes[$codigo] = 0; } -- libgit2 0.21.2