Commit 6a0c4499551bbe5d7114c3939eb0432eac10976c
1 parent
d1d64d3f
Exists in
master
and in
7 other branches
$1
Showing
9 changed files
with
238 additions
and
39 deletions
Show diff stats
admin/js/estat_variavel.js
@@ -425,10 +425,25 @@ i3GEOadmin.variaveis = { | @@ -425,10 +425,25 @@ i3GEOadmin.variaveis = { | ||
425 | } | 425 | } |
426 | if(redesenha){tree.draw();} | 426 | if(redesenha){tree.draw();} |
427 | }, | 427 | }, |
428 | + sturges: function(id_medida_variavel,objid){ | ||
429 | + var p = i3GEO.configura.locaplic+'/admin/php/metaestat.php?funcao=sumarioMedidaVariavel&formato=json&id_medida_variavel='+id_medida_variavel, | ||
430 | + callback = { | ||
431 | + success:function(o){ | ||
432 | + try { | ||
433 | + $i(objid).value = parseInt(YAHOO.lang.JSON.parse(o.responseText).sturges,10); | ||
434 | + } | ||
435 | + catch(e){core_handleFailure(e,o.responseText);} | ||
436 | + }, | ||
437 | + failure:core_handleFailure, | ||
438 | + argument: { foo:"foo", bar:"bar" } | ||
439 | + }; | ||
440 | + core_makeRequest(p,callback); | ||
441 | + }, | ||
428 | classesAuto: function(id_classificacao,id_medida_variavel){ | 442 | classesAuto: function(id_classificacao,id_medida_variavel){ |
429 | core_montaEditor("","450px","230px","","Criar classes"); | 443 | core_montaEditor("","450px","230px","","Criar classes"); |
430 | var ins = "" + | 444 | var ins = "" + |
431 | - "<p class='paragrafo' > Número de intervalos de classes: <input type=text value=5 id=i3GEOFmetaestatEditorNumInt size=5 /></p>" + | 445 | + "<p class='paragrafo' > Número de intervalos de classes: <input type=text value=5 id=i3GEOFmetaestatEditorNumInt size=5 />" + |
446 | + "<img src='../imagens/accessories-calculator.png' title='Calcular por Sturges' onclick='i3GEOadmin.variaveis.classificacao.sturges("+id_medida_variavel+",\"i3GEOFmetaestatEditorNumInt\")' style='position:relative;cursor:pointer;top:2px'> </p>" + | ||
432 | " <input id=i3GEOFmetaestatEditorBotao8 type='button' value='Escolher cores' />" + | 447 | " <input id=i3GEOFmetaestatEditorBotao8 type='button' value='Escolher cores' />" + |
433 | "<p class='paragrafo' >Utilize um dos métodos abaixo para gerar as classes que serão utilizadas para representar os dados no cartograma</p>" + | 448 | "<p class='paragrafo' >Utilize um dos métodos abaixo para gerar as classes que serão utilizadas para representar os dados no cartograma</p>" + |
434 | " <input id=i3GEOFmetaestatEditorBotao6 type='button' value='Divisão em quartis' />" + | 449 | " <input id=i3GEOFmetaestatEditorBotao6 type='button' value='Divisão em quartis' />" + |
admin/php/classe_metaestat.php
@@ -661,7 +661,10 @@ class Metaestat{ | @@ -661,7 +661,10 @@ class Metaestat{ | ||
661 | $dados[] = ' METAESTAT_ID_MEDIDA_VARIAVEL "'.$id_medida_variavel.'"'; | 661 | $dados[] = ' METAESTAT_ID_MEDIDA_VARIAVEL "'.$id_medida_variavel.'"'; |
662 | //marca se a tabela e editavel, verificando se esta no esquema padrao | 662 | //marca se a tabela e editavel, verificando se esta no esquema padrao |
663 | if($meta["esquemadb"] == "i3geo_metaestat"){ | 663 | if($meta["esquemadb"] == "i3geo_metaestat"){ |
664 | - $dados[] = ' METAESTATEDITAVEL "SIM"'; | 664 | + $dados[] = ' EDITAVEL "SIM"'; |
665 | + $dados[] = ' COLUNAIDUNICO "'.$meta["colunaidunico"].'"'; | ||
666 | + $dados[] = ' TABELAEDITAVEL "'.$meta["tabela"].'"'; | ||
667 | + $dados[] = ' ESQUEMATABELAEDITAVEL "'.$meta["esquemadb"].'"'; | ||
665 | } | 668 | } |
666 | if(count($sql["alias"]) > 0){ | 669 | if(count($sql["alias"]) > 0){ |
667 | $dados[] = ' ITENS "'.implode(",",$sql["colunas"]).'"'; | 670 | $dados[] = ' ITENS "'.implode(",",$sql["colunas"]).'"'; |
@@ -830,7 +833,14 @@ class Metaestat{ | @@ -830,7 +833,14 @@ class Metaestat{ | ||
830 | $dados[] = ' METAESTAT "SIM"'; | 833 | $dados[] = ' METAESTAT "SIM"'; |
831 | $dados[] = ' METAESTAT_CODIGO_TIPO_REGIAO "'.$codigo_tipo_regiao.'"'; | 834 | $dados[] = ' METAESTAT_CODIGO_TIPO_REGIAO "'.$codigo_tipo_regiao.'"'; |
832 | if($meta["esquemadb"] == "i3geo_metaestat"){ | 835 | if($meta["esquemadb"] == "i3geo_metaestat"){ |
833 | - $dados[] = ' METAESTATEDITAVEL "SIM"'; | 836 | + $colunaSerial = $this->listaTipoRegiaoSerial($codigo_tipo_regiao); |
837 | + if(!empty($colunaSerial)){ | ||
838 | + $dados[] = ' EDITAVEL "SIM"'; | ||
839 | + $dados[] = ' COLUNAIDUNICO "'.$colunaSerial.'"'; | ||
840 | + $dados[] = ' TABELAEDITAVEL "'.$meta["tabela"].'"'; | ||
841 | + $dados[] = ' ESQUEMATABELAEDITAVEL "'.$meta["esquemadb"].'"'; | ||
842 | + $dados[] = ' COLUNAGEOMETRIA "'.$colunageo.'"'; | ||
843 | + } | ||
834 | } | 844 | } |
835 | $dados[] = ' TIP "'.$meta["colunanomeregiao"].'"'; | 845 | $dados[] = ' TIP "'.$meta["colunanomeregiao"].'"'; |
836 | if(count($itens) == count($apelidos)){ | 846 | if(count($itens) == count($apelidos)){ |
@@ -1051,6 +1061,7 @@ class Metaestat{ | @@ -1051,6 +1061,7 @@ class Metaestat{ | ||
1051 | $min = ""; | 1061 | $min = ""; |
1052 | $max = ""; | 1062 | $max = ""; |
1053 | $quantidade = count($valores); | 1063 | $quantidade = count($valores); |
1064 | + $sturges = 1 + (3.322 * (log10($quantidade))); | ||
1054 | $quartis = array(); | 1065 | $quartis = array(); |
1055 | if($un["permitesoma"] == "1"){ | 1066 | if($un["permitesoma"] == "1"){ |
1056 | $soma = array_sum($valores); | 1067 | $soma = array_sum($valores); |
@@ -1102,7 +1113,8 @@ class Metaestat{ | @@ -1102,7 +1113,8 @@ class Metaestat{ | ||
1102 | "histograma"=>$histograma, | 1113 | "histograma"=>$histograma, |
1103 | "grupos"=>$agrupamento, | 1114 | "grupos"=>$agrupamento, |
1104 | "unidademedida"=>$un, | 1115 | "unidademedida"=>$un, |
1105 | - "quartis"=>$quartis | 1116 | + "quartis"=>$quartis, |
1117 | + "sturges"=>$sturges | ||
1106 | ); | 1118 | ); |
1107 | } | 1119 | } |
1108 | return false; | 1120 | return false; |
@@ -1983,6 +1995,20 @@ class Metaestat{ | @@ -1983,6 +1995,20 @@ class Metaestat{ | ||
1983 | $sql .= "ORDER BY nome_tipo_regiao"; | 1995 | $sql .= "ORDER BY nome_tipo_regiao"; |
1984 | return $this->execSQL($sql,$codigo_tipo_regiao); | 1996 | return $this->execSQL($sql,$codigo_tipo_regiao); |
1985 | } | 1997 | } |
1998 | + /** | ||
1999 | + * Obtem de um tipo de regiao a coluna do tipo serial | ||
2000 | + * @param codigo do tipo de regiao | ||
2001 | + */ | ||
2002 | + function listaTipoRegiaoSerial($codigo_tipo_regiao){ | ||
2003 | + $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_regiao WHERE codigo_tipo_regiao = $codigo_tipo_regiao "; | ||
2004 | + $regiao = $this->execSQL($sql,$codigo_tipo_regiao); | ||
2005 | + $nome_esquema = $regiao["esquemadb"]; | ||
2006 | + $nome_tabela = $regiao["tabela"]; | ||
2007 | + $sql = "SELECT a.attname as coluna FROM pg_class s JOIN pg_depend d ON d.objid = s.oid JOIN pg_class t ON d.objid = s.oid AND d.refobjid = t.oid JOIN pg_attribute a ON (d.refobjid, d.refobjsubid) = (a.attrelid, a.attnum) JOIN pg_namespace n ON n.oid = s.relnamespace WHERE s.relkind = 'S' AND n.nspname = '$nome_esquema' AND t.relname = '$nome_tabela'"; | ||
2008 | + $colunas = $this->execSQLDB($regiao["codigo_estat_conexao"],$sql); | ||
2009 | + $colunas = $colunas[0]; | ||
2010 | + return $colunas["coluna"]; | ||
2011 | + } | ||
1986 | /** | 2012 | /** |
1987 | * Lista os dados de agregacao de uma regiao pai | 2013 | * Lista os dados de agregacao de uma regiao pai |
1988 | * @param codigo da regiao | 2014 | * @param codigo da regiao |
classesphp/classe_atributos.php
@@ -1312,7 +1312,7 @@ class Atributos | @@ -1312,7 +1312,7 @@ class Atributos | ||
1312 | //identificador que marca o tipo de dados que podem ser salvos | 1312 | //identificador que marca o tipo de dados que podem ser salvos |
1313 | $tiposalva = ""; | 1313 | $tiposalva = ""; |
1314 | //verifica se e editavel no metaestat | 1314 | //verifica se e editavel no metaestat |
1315 | - if($layer->getmetadata("METAESTATEDITAVEL") == "SIM"){ | 1315 | + if($layer->getmetadata("EDITAVEL") == "SIM"){ |
1316 | //verifica login | 1316 | //verifica login |
1317 | session_write_close(); | 1317 | session_write_close(); |
1318 | session_name("i3GeoLogin"); | 1318 | session_name("i3GeoLogin"); |
@@ -1334,31 +1334,30 @@ class Atributos | @@ -1334,31 +1334,30 @@ class Atributos | ||
1334 | if($editavel == "sim"){ | 1334 | if($editavel == "sim"){ |
1335 | $editavel = "nao"; | 1335 | $editavel = "nao"; |
1336 | $id_medida_variavel = $layer->getMetaData("METAESTAT_ID_MEDIDA_VARIAVEL"); | 1336 | $id_medida_variavel = $layer->getMetaData("METAESTAT_ID_MEDIDA_VARIAVEL"); |
1337 | + $colunaidunico = $layer->getMetaData("COLUNAIDUNICO"); | ||
1338 | + $codigo_tipo_regiao = $layer->getMetaData("METAESTAT_CODIGO_TIPO_REGIAO"); | ||
1339 | + | ||
1337 | if($id_medida_variavel != ""){ | 1340 | if($id_medida_variavel != ""){ |
1338 | include_once(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); | 1341 | include_once(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); |
1339 | $m = new Metaestat(); | 1342 | $m = new Metaestat(); |
1340 | $medidaVariavel = $m->listaMedidaVariavel("",$id_medida_variavel); | 1343 | $medidaVariavel = $m->listaMedidaVariavel("",$id_medida_variavel); |
1341 | $editavel = $medidaVariavel["colunavalor"]; | 1344 | $editavel = $medidaVariavel["colunavalor"]; |
1342 | - $colunaidunico = $medidaVariavel["colunaidunico"]; | ||
1343 | - $codigo_tipo_regiao = $medidaVariavel["codigo_tipo_regiao"]; | ||
1344 | $tiposalva = "medida_variavel"; | 1345 | $tiposalva = "medida_variavel"; |
1345 | } | 1346 | } |
1346 | - $codigo_tipo_regiao = $layer->getMetaData("METAESTAT_CODIGO_TIPO_REGIAO"); | 1347 | + |
1347 | if($codigo_tipo_regiao != ""){ | 1348 | if($codigo_tipo_regiao != ""){ |
1348 | include_once(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); | 1349 | include_once(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); |
1349 | $m = new Metaestat(); | 1350 | $m = new Metaestat(); |
1350 | $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); | 1351 | $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); |
1351 | - $editavel = "todos";//$regiao["colunanomeregiao"]; | ||
1352 | - $colunaidunico = $regiao["identificador"]; | ||
1353 | - $codigo_tipo_regiao = $codigo_tipo_regiao; | 1352 | + //todas as colunas podem ser alteradas |
1353 | + $editavel = "todos"; | ||
1354 | $tiposalva = "regiao"; | 1354 | $tiposalva = "regiao"; |
1355 | } | 1355 | } |
1356 | } | 1356 | } |
1357 | } | 1357 | } |
1358 | } | 1358 | } |
1359 | - | ||
1360 | } | 1359 | } |
1361 | - $final[] = array("tiposalva"=>$tiposalva,"nome"=>$nometmp,"resultado"=>$resultados[$tema],"editavel"=>$editavel,"colunaidunico"=>$colunaidunico,"id_medida_variavel"=>$id_medida_variavel,"codigo_tipo_regiao"=>$codigo_tipo_regiao); | 1360 | + $final[] = array("tema"=>$tema,"tiposalva"=>$tiposalva,"nome"=>$nometmp,"resultado"=>$resultados[$tema],"editavel"=>$editavel,"colunaidunico"=>$colunaidunico,"id_medida_variavel"=>$id_medida_variavel,"codigo_tipo_regiao"=>$codigo_tipo_regiao); |
1362 | } | 1361 | } |
1363 | return $final; | 1362 | return $final; |
1364 | } | 1363 | } |
@@ -2156,7 +2155,7 @@ class Atributos | @@ -2156,7 +2155,7 @@ class Atributos | ||
2156 | } | 2155 | } |
2157 | //se o usuario estiver logado e o tema for editavel, a lista de itens | 2156 | //se o usuario estiver logado e o tema for editavel, a lista de itens |
2158 | //nao usa os alias para permitir a edicao dos dados | 2157 | //nao usa os alias para permitir a edicao dos dados |
2159 | - if(!empty($_COOKIE["i3geocodigologin"]) && $layer->getmetadata("METAESTATEDITAVEL") == "SIM"){ | 2158 | + if(!empty($_COOKIE["i3geocodigologin"]) && $layer->getmetadata("EDITAVEL") == "SIM"){ |
2160 | $itens = ""; | 2159 | $itens = ""; |
2161 | $itensdesc = ""; | 2160 | $itensdesc = ""; |
2162 | $lks = ""; | 2161 | $lks = ""; |
classesphp/funcoes_gerais.php
@@ -2726,4 +2726,23 @@ function restauraMapaAdmin($id_mapa,$dir_tmp){ | @@ -2726,4 +2726,23 @@ function restauraMapaAdmin($id_mapa,$dir_tmp){ | ||
2726 | $dbhw = null; | 2726 | $dbhw = null; |
2727 | return $base; | 2727 | return $base; |
2728 | } | 2728 | } |
2729 | +// | ||
2730 | +//converte uma string de conexao do mapserver em um array com os componentes da conexao | ||
2731 | +// | ||
2732 | +function stringCon2Array($stringCon){ | ||
2733 | + $lista = explode(" ",$stringCon); | ||
2734 | + $con = array(); | ||
2735 | + foreach($lista as $l){ | ||
2736 | + $teste = explode("=",$l); | ||
2737 | + $con[trim($teste[0])] = trim($teste[1]); | ||
2738 | + } | ||
2739 | + $c = array( | ||
2740 | + "dbname" => $con["dbname"], | ||
2741 | + "host" => $con["host"], | ||
2742 | + "port" => $con["port"], | ||
2743 | + "user" => $con["user"], | ||
2744 | + "password" => $con["password"] | ||
2745 | + ); | ||
2746 | + return $c; | ||
2747 | +} | ||
2729 | ?> | 2748 | ?> |
ferramentas/carregamapa/index.js
ferramentas/carregamapa/upload.php
@@ -68,6 +68,7 @@ if (isset($_FILES['i3GEOcarregamapafilemap']['name'])) | @@ -68,6 +68,7 @@ if (isset($_FILES['i3GEOcarregamapafilemap']['name'])) | ||
68 | $layertemp->setmetadata("permitekml","nao"); | 68 | $layertemp->setmetadata("permitekml","nao"); |
69 | $layertemp->setmetadata("permiteogc","nao"); | 69 | $layertemp->setmetadata("permiteogc","nao"); |
70 | $layertemp->setmetadata("editorsql","nao"); | 70 | $layertemp->setmetadata("editorsql","nao"); |
71 | + $layertemp->setmetadata("EDITAVEL","nao"); | ||
71 | if ($testa == 1) | 72 | if ($testa == 1) |
72 | { | 73 | { |
73 | echo "<p class='paragrafo' >Problemas em ".($layer->name).". Removido.</p><br>"; | 74 | echo "<p class='paragrafo' >Problemas em ".($layer->name).". Removido.</p><br>"; |
@@ -0,0 +1,148 @@ | @@ -0,0 +1,148 @@ | ||
1 | +<?php | ||
2 | +/* | ||
3 | +Title: exec.php | ||
4 | + | ||
5 | +Licenca: | ||
6 | + | ||
7 | +GPL2 | ||
8 | + | ||
9 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
10 | + | ||
11 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
12 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
13 | + | ||
14 | +Este programa é software livre; você pode redistribuí-lo | ||
15 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
16 | +GNU conforme publicada pela Free Software Foundation; | ||
17 | + | ||
18 | +Este programa é distribuído na expectativa de que seja útil, | ||
19 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
20 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
21 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
22 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
23 | + GNU junto com este programa; se não, escreva para a | ||
24 | +Free Software Foundation, Inc., no endereço | ||
25 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
26 | + | ||
27 | +*/ | ||
28 | +include_once(dirname(__FILE__)."/../inicia.php"); | ||
29 | +include_once(dirname(__FILE__)."/../../admin/php/login.php"); | ||
30 | +$funcoesEdicao = array( | ||
31 | + "ADICIONAGEOMETRIA", | ||
32 | + "EXCLUIREGISTRO", | ||
33 | + "SALVAREGISTRO" | ||
34 | +); | ||
35 | +if(in_array(strtoupper($funcao),$funcoesEdicao)){ | ||
36 | + if(verificaOperacaoSessao("admin/html/editormapfile") == false){ | ||
37 | + retornaJSON("Vc nao pode realizar essa operacao. Tente fazer login novamente.");exit; | ||
38 | + } | ||
39 | +} | ||
40 | +$retorno = ""; | ||
41 | +//faz a busca da função que deve ser executada | ||
42 | +switch (strtoupper($funcao)) | ||
43 | +{ | ||
44 | + case "ADICIONAGEOMETRIA": | ||
45 | + $mapa = ms_newMapObj($map_file); | ||
46 | + $layer = $mapa->getlayerbyname($tema); | ||
47 | + if(strtolower($layer->getmetadata("EDITAVEL")) != "sim"){ | ||
48 | + $retorno = "erro"; | ||
49 | + } | ||
50 | + else{ | ||
51 | + $tabela = $layer->getmetadata("TABELAEDITAVEL"); | ||
52 | + $esquema = $layer->getmetadata("ESQUEMATABELAEDITAVEL"); | ||
53 | + $colunaidunico = $layer->getmetadata("COLUNAIDUNICO"); | ||
54 | + $colunageometria = $layer->getmetadata("COLUNAGEOMETRIA"); | ||
55 | + if($colunageometria == ""){ | ||
56 | + $retorno = "erro"; | ||
57 | + } | ||
58 | + $c = stringCon2Array($layer->connection); | ||
59 | + try { | ||
60 | + $dbh = new PDO('pgsql:dbname='.$c["dbname"].';user='.$c["user"].';password='.$c["password"].';host='.$c["host"].';port='.$c["port"]); | ||
61 | + //pega o SRID | ||
62 | + $sql = "select ST_SRID($colunageometria) as srid from $esquema"."."."$tabela LIMIT 1"; | ||
63 | + //echo $sql;exit; | ||
64 | + $q = $dbh->query($sql,PDO::FETCH_ASSOC); | ||
65 | + $r = $q->fetchAll(); | ||
66 | + $srid = $r[0]["srid"]; | ||
67 | + | ||
68 | + $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
69 | + $dbh->beginTransaction(); | ||
70 | + | ||
71 | + $sql = "INSERT INTO ".$esquema.".".$tabela." (".$colunageometria.")"; | ||
72 | + $sql .= " VALUES (ST_GeomFromText('SRID=$srid;".$wkt."'))"; | ||
73 | + | ||
74 | + $sth = $dbh->exec($sql); | ||
75 | + $dbh->commit(); | ||
76 | + } catch (Exception $e) { | ||
77 | + $dbh->rollBack(); | ||
78 | + $retorno = array("Falhou: " . $e->getMessage()); | ||
79 | + } | ||
80 | + } | ||
81 | + $retorno = "ok"; | ||
82 | + break; | ||
83 | + case "EXCLUIREGISTRO": | ||
84 | + $mapa = ms_newMapObj($map_file); | ||
85 | + $layer = $mapa->getlayerbyname($tema); | ||
86 | + if(strtolower($layer->getmetadata("EDITAVEL")) != "sim"){ | ||
87 | + $retorno = "erro"; | ||
88 | + } | ||
89 | + else{ | ||
90 | + $tabela = $layer->getmetadata("TABELAEDITAVEL"); | ||
91 | + $esquema = $layer->getmetadata("ESQUEMATABELAEDITAVEL"); | ||
92 | + $colunaidunico = $layer->getmetadata("COLUNAIDUNICO"); | ||
93 | + $colunageometria = $layer->getmetadata("COLUNAGEOMETRIA"); | ||
94 | + if($colunageometria == ""){ | ||
95 | + $retorno = "erro"; | ||
96 | + } | ||
97 | + $c = stringCon2Array($layer->connection); | ||
98 | + try { | ||
99 | + $dbh = new PDO('pgsql:dbname='.$c["dbname"].';user='.$c["user"].';password='.$c["password"].';host='.$c["host"].';port='.$c["port"]); | ||
100 | + $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
101 | + $dbh->beginTransaction(); | ||
102 | + $sql = "DELETE from ".$esquema.".".$tabela." where ".$colunaidunico."::text = '$identificador' "; | ||
103 | + $sth = $dbh->exec($sql); | ||
104 | + $dbh->commit(); | ||
105 | + } catch (Exception $e) { | ||
106 | + $dbh->rollBack(); | ||
107 | + $retorno = array("Falhou: " . $e->getMessage()); | ||
108 | + } | ||
109 | + } | ||
110 | + $retorno = "ok"; | ||
111 | + break; | ||
112 | + case "SALVAREGISTRO": | ||
113 | + $mapa = ms_newMapObj($map_file); | ||
114 | + $layer = $mapa->getlayerbyname($tema); | ||
115 | + if(strtolower($layer->getmetadata("EDITAVEL")) != "sim"){ | ||
116 | + $retorno = "erro"; | ||
117 | + } | ||
118 | + else{ | ||
119 | + $tabela = $layer->getmetadata("TABELAEDITAVEL"); | ||
120 | + $esquema = $layer->getmetadata("ESQUEMATABELAEDITAVEL"); | ||
121 | + $colunaidunico = $layer->getmetadata("COLUNAIDUNICO"); | ||
122 | + if($colunageometria == ""){ | ||
123 | + $retorno = "erro"; | ||
124 | + } | ||
125 | + $c = stringCon2Array($layer->connection); | ||
126 | + try { | ||
127 | + $dbh = new PDO('pgsql:dbname='.$c["dbname"].';user='.$c["user"].';password='.$c["password"].';host='.$c["host"].';port='.$c["port"]); | ||
128 | + $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | ||
129 | + $dbh->beginTransaction(); | ||
130 | + $sql = "UPDATE ".$esquema.".".$tabela." SET $coluna = '$valor' where ".$colunaidunico."::text = '$identificador' "; | ||
131 | + $sth = $dbh->exec($sql); | ||
132 | + $dbh->commit(); | ||
133 | + } catch (Exception $e) { | ||
134 | + $dbh->rollBack(); | ||
135 | + $retorno = array("Falhou: " . $e->getMessage()); | ||
136 | + } | ||
137 | + } | ||
138 | + $retorno = "ok"; | ||
139 | + break; | ||
140 | +} | ||
141 | +if (!connection_aborted()){ | ||
142 | + if(isset($map_file) && isset($postgis_mapa) && $map_file != "") | ||
143 | + restauraCon($map_file,$postgis_mapa); | ||
144 | + cpjson($retorno); | ||
145 | +} | ||
146 | +else | ||
147 | +{exit();} | ||
148 | +?> | ||
0 | \ No newline at end of file | 149 | \ No newline at end of file |
ferramentas/identifica/index.js
@@ -678,7 +678,7 @@ i3GEOF.identifica = { | @@ -678,7 +678,7 @@ i3GEOF.identifica = { | ||
678 | } | 678 | } |
679 | //opcao para apagar o registro | 679 | //opcao para apagar o registro |
680 | if(idreg != "" && retorno[i].editavel == "todos"){ | 680 | if(idreg != "" && retorno[i].editavel == "todos"){ |
681 | - res += "<a href='#' onclick='i3GEOF.identifica.apagaRegiao("+retorno[i].codigo_tipo_regiao+",\""+idreg+"\")' >"+$trad(19,i3GEOF.identifica.dicionario)+"</a><br>"; | 681 | + res += "<a href='#' onclick='i3GEOF.identifica.apagaRegiao(\""+retorno[i].tema+"\",\""+idreg+"\")' >"+$trad(19,i3GEOF.identifica.dicionario)+"</a><br>"; |
682 | } | 682 | } |
683 | for(k=0;k<nitens;k++){ | 683 | for(k=0;k<nitens;k++){ |
684 | tip = " "; | 684 | tip = " "; |
@@ -689,8 +689,8 @@ i3GEOF.identifica = { | @@ -689,8 +689,8 @@ i3GEOF.identifica = { | ||
689 | if(retorno[i].tiposalva == "regiao"){ | 689 | if(retorno[i].tiposalva == "regiao"){ |
690 | retorno[i].id_medida_variavel = 0; | 690 | retorno[i].id_medida_variavel = 0; |
691 | } | 691 | } |
692 | - idsalva = "idsalva"+resultados[j][k].item+retorno[i].tiposalva+retorno[i].codigo_tipo_regiao+"_"+retorno[i].id_medida_variavel+"_"+idreg; | ||
693 | - paramsalva = retorno[i].id_medida_variavel+","+idreg+",\""+resultados[j][k].item+"\","+retorno[i].codigo_tipo_regiao+",\"\",\""+retorno[i].tiposalva+"\""; | 692 | + idsalva = "idsalva"+retorno[i].tema+"_"+idreg+"_"+resultados[j][k].item+"_"+retorno[i].tiposalva; |
693 | + paramsalva = "\""+retorno[i].tema+"\","+idreg+",\""+resultados[j][k].item+"\",\""+retorno[i].tiposalva+"\""; | ||
694 | textovalor = "<br><img title='' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='margin-right:2px;position:relative;top:3px;width:12px;'>" + | 694 | textovalor = "<br><img title='' src='"+i3GEO.configura.locaplic+"/imagens/branco.gif' style='margin-right:2px;position:relative;top:3px;width:12px;'>" + |
695 | "<img onclick='i3GEOF.identifica.salvaDados("+paramsalva+")' title='Salvar' src='"+i3GEO.configura.locaplic+"/imagens/oxygen/16x16/media-floppy.png' style='cursor:pointer;margin-right:2px;position:relative;top:3px;width:12px;'>" + | 695 | "<img onclick='i3GEOF.identifica.salvaDados("+paramsalva+")' title='Salvar' src='"+i3GEO.configura.locaplic+"/imagens/oxygen/16x16/media-floppy.png' style='cursor:pointer;margin-right:2px;position:relative;top:3px;width:12px;'>" + |
696 | "<input id='"+idsalva+"' type=text value='"+textovalor+"' class=digitar style='widh:210px' />"; | 696 | "<input id='"+idsalva+"' type=text value='"+textovalor+"' class=digitar style='widh:210px' />"; |
@@ -725,7 +725,7 @@ i3GEOF.identifica = { | @@ -725,7 +725,7 @@ i3GEOF.identifica = { | ||
725 | if(retorno[i].tiposalva == "regiao" && parseInt(camada.type,10) == 0){ | 725 | if(retorno[i].tiposalva == "regiao" && parseInt(camada.type,10) == 0){ |
726 | //opcao para adicionar um ponto | 726 | //opcao para adicionar um ponto |
727 | res += $trad(17,i3GEOF.identifica.dicionario) + | 727 | res += $trad(17,i3GEOF.identifica.dicionario) + |
728 | - "<br><a href='#' onclick='i3GEOF.identifica.adicionaPontoRegiao("+retorno[i].codigo_tipo_regiao+")' >"+$trad(18,i3GEOF.identifica.dicionario)+"</a>"; | 728 | + "<br><a href='#' onclick='i3GEOF.identifica.adicionaPontoRegiao(\""+i3GEO.temaAtivo+"\")' >"+$trad(18,i3GEOF.identifica.dicionario)+"</a>"; |
729 | } | 729 | } |
730 | else{ | 730 | else{ |
731 | res += $trad(17,i3GEOF.identifica.dicionario); | 731 | res += $trad(17,i3GEOF.identifica.dicionario); |
@@ -737,9 +737,9 @@ i3GEOF.identifica = { | @@ -737,9 +737,9 @@ i3GEOF.identifica = { | ||
737 | $i("i3GEOidentificaocorrencia").innerHTML=res; | 737 | $i("i3GEOidentificaocorrencia").innerHTML=res; |
738 | } | 738 | } |
739 | }, | 739 | }, |
740 | - adicionaPontoRegiao: function(codigo_tipo_regiao){ | 740 | + adicionaPontoRegiao: function(tema){ |
741 | // | 741 | // |
742 | - var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao", | 742 | + var p = i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid="+i3GEO.configura.sid, |
743 | temp = function(retorno){ | 743 | temp = function(retorno){ |
744 | i3GEO.janela.fechaAguarde("aguardeSalvaPonto"); | 744 | i3GEO.janela.fechaAguarde("aguardeSalvaPonto"); |
745 | i3GEO.Interface.atualizaTema("",i3GEO.temaAtivo); | 745 | i3GEO.Interface.atualizaTema("",i3GEO.temaAtivo); |
@@ -748,26 +748,26 @@ i3GEOF.identifica = { | @@ -748,26 +748,26 @@ i3GEOF.identifica = { | ||
748 | i3GEO.janela.AGUARDEMODAL = true; | 748 | i3GEO.janela.AGUARDEMODAL = true; |
749 | i3GEO.janela.abreAguarde("aguardeSalvaPonto","Adicionando..."); | 749 | i3GEO.janela.abreAguarde("aguardeSalvaPonto","Adicionando..."); |
750 | i3GEO.janela.AGUARDEMODAL = false; | 750 | i3GEO.janela.AGUARDEMODAL = false; |
751 | - cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&wkt=POINT("+i3GEOF.identifica.x+" "+i3GEOF.identifica.y+")"); | 751 | + cpJSON.call(p,"foo",temp,"&tema="+tema+"&wkt=POINT("+i3GEOF.identifica.x+" "+i3GEOF.identifica.y+")"); |
752 | }, | 752 | }, |
753 | - apagaRegiao: function(codigo_tipo_regiao,idreg){ | 753 | + apagaRegiao: function(tema,idreg){ |
754 | var excluir = function(){ | 754 | var excluir = function(){ |
755 | - var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir", | 755 | + var p = i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=excluiRegistro&g_sid="+i3GEO.configura.sid, |
756 | temp = function(){ | 756 | temp = function(){ |
757 | - i3GEO.janela.fechaAguarde("aguardeRmovendoPonto"); | 757 | + i3GEO.janela.fechaAguarde("aguardeRemovendo"); |
758 | i3GEO.Interface.atualizaTema("",i3GEO.temaAtivo); | 758 | i3GEO.Interface.atualizaTema("",i3GEO.temaAtivo); |
759 | i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo); | 759 | i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo); |
760 | }; | 760 | }; |
761 | i3GEO.janela.AGUARDEMODAL = true; | 761 | i3GEO.janela.AGUARDEMODAL = true; |
762 | - i3GEO.janela.abreAguarde("aguardeRmovendoPonto","Excluindo..."); | 762 | + i3GEO.janela.abreAguarde("aguardeRemovendo","Excluindo..."); |
763 | i3GEO.janela.AGUARDEMODAL = false; | 763 | i3GEO.janela.AGUARDEMODAL = false; |
764 | - cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador="+idreg); | 764 | + cpJSON.call(p,"foo",temp,"&tema="+tema+"&identificador="+idreg); |
765 | }; | 765 | }; |
766 | i3GEO.janela.confirma($trad(20,i3GEOF.identifica.dicionario),"",$trad(21,i3GEOF.identifica.dicionario),$trad(22,i3GEOF.identifica.dicionario),excluir); | 766 | i3GEO.janela.confirma($trad(20,i3GEOF.identifica.dicionario),"",$trad(21,i3GEOF.identifica.dicionario),$trad(22,i3GEOF.identifica.dicionario),excluir); |
767 | }, | 767 | }, |
768 | - salvaDados: function(id_medida_variavel,idreg,coluna,codigo_tipo_regiao,tema,tiposalva){ | ||
769 | - var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=salvaAtributosMedidaVariavel", | ||
770 | - idvalor = $i("idsalva"+coluna+tiposalva+codigo_tipo_regiao+"_"+id_medida_variavel+"_"+idreg), | 768 | + salvaDados: function(tema,idreg,coluna,tiposalva){ |
769 | + var p = i3GEO.configura.locaplic+"/ferramentas/editortema/exec.php?funcao=salvaRegistro&g_sid="+i3GEO.configura.sid, | ||
770 | + idvalor = $i("idsalva"+tema+"_"+idreg+"_"+coluna+"_"+tiposalva), | ||
771 | temp = function(retorno){ | 771 | temp = function(retorno){ |
772 | i3GEO.janela.fechaAguarde("aguardeSalvaAtributos"); | 772 | i3GEO.janela.fechaAguarde("aguardeSalvaAtributos"); |
773 | i3GEO.Interface.atualizaTema("",i3GEOF.identifica.tema); | 773 | i3GEO.Interface.atualizaTema("",i3GEOF.identifica.tema); |
@@ -777,13 +777,7 @@ i3GEOF.identifica = { | @@ -777,13 +777,7 @@ i3GEOF.identifica = { | ||
777 | i3GEO.janela.AGUARDEMODAL = true; | 777 | i3GEO.janela.AGUARDEMODAL = true; |
778 | i3GEO.janela.abreAguarde("aguardeSalvaAtributos","Salvando..."); | 778 | i3GEO.janela.abreAguarde("aguardeSalvaAtributos","Salvando..."); |
779 | i3GEO.janela.AGUARDEMODAL = false; | 779 | i3GEO.janela.AGUARDEMODAL = false; |
780 | - if(tiposalva === "regiao"){ | ||
781 | - p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=salvaAtributosTipoRegiao"; | ||
782 | - cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador_regiao="+idreg+"&colunas="+coluna+"&valores="+idvalor.value); | ||
783 | - } | ||
784 | - else{ | ||
785 | - cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador_regiao=&id_medida_variavel="+id_medida_variavel+"&colunas="+coluna+"&valores="+idvalor.value+"&idsunicos="+idreg); | ||
786 | - } | 780 | + cpJSON.call(p,"foo",temp,"&tema="+tema+"&coluna="+coluna+"&valor="+idvalor.value+"&identificador="+idreg); |
787 | } | 781 | } |
788 | else{ | 782 | else{ |
789 | alert("ocorreu um erro"); | 783 | alert("ocorreu um erro"); |