Commit db39e2afc9c734bf1f3c5c4f607bdb48c70497d5
1 parent
34ecf597
Exists in
master
and in
7 other branches
--no commit message
Showing
7 changed files
with
75 additions
and
33 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/php/admin.php
| @@ -60,6 +60,19 @@ if(!empty($esquemaadmin)){ | @@ -60,6 +60,19 @@ if(!empty($esquemaadmin)){ | ||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | /* | 62 | /* |
| 63 | + * Testa se os elementos de um array sao numericos | ||
| 64 | + * Utilizado para evitar injecao de SQL | ||
| 65 | + */ | ||
| 66 | +function testaNumerico($valores){ | ||
| 67 | + foreach ($valores as $valor) { | ||
| 68 | + if(!empty($valor) && !is_numeric($valor)) { | ||
| 69 | + echo "valor nao numerico"; | ||
| 70 | + exit; | ||
| 71 | + } | ||
| 72 | + } | ||
| 73 | +} | ||
| 74 | + | ||
| 75 | +/* | ||
| 63 | Function: retornaJSON | 76 | Function: retornaJSON |
| 64 | 77 | ||
| 65 | Converte um array em um objeto do tipo JSON utilizando a biblioteca CPAINT | 78 | Converte um array em um objeto do tipo JSON utilizando a biblioteca CPAINT |
| @@ -107,7 +120,7 @@ function retornaJSON($obj) | @@ -107,7 +120,7 @@ function retornaJSON($obj) | ||
| 107 | /* | 120 | /* |
| 108 | Function: verificaDuplicados | 121 | Function: verificaDuplicados |
| 109 | 122 | ||
| 110 | -Verifica se o resultado de um SQL retoena mais de um registro | 123 | +Verifica se o resultado de um SQL retorna mais de um registro |
| 111 | 124 | ||
| 112 | Parametros: | 125 | Parametros: |
| 113 | 126 | ||
| @@ -481,4 +494,4 @@ function mapfilebase($base,$locaplic){ | @@ -481,4 +494,4 @@ function mapfilebase($base,$locaplic){ | ||
| 481 | } | 494 | } |
| 482 | return $f; | 495 | return $f; |
| 483 | } | 496 | } |
| 484 | -?> | ||
| 485 | \ No newline at end of file | 497 | \ No newline at end of file |
| 498 | +?> |
admin/php/classe_metaestat.php
| @@ -183,6 +183,8 @@ class Metaestat{ | @@ -183,6 +183,8 @@ class Metaestat{ | ||
| 183 | * @return Array | 183 | * @return Array |
| 184 | */ | 184 | */ |
| 185 | function execSQL($sql,$id="",$convTexto=true){ | 185 | function execSQL($sql,$id="",$convTexto=true){ |
| 186 | + $buscar = array("drop","update","insert","delete"); | ||
| 187 | + $sql = str_ireplace($buscar,"",$sql); | ||
| 186 | try { | 188 | try { |
| 187 | $q = $this->dbh->query($sql,PDO::FETCH_ASSOC); | 189 | $q = $this->dbh->query($sql,PDO::FETCH_ASSOC); |
| 188 | } | 190 | } |
| @@ -223,6 +225,8 @@ class Metaestat{ | @@ -223,6 +225,8 @@ class Metaestat{ | ||
| 223 | * @return resultado de execSQL | 225 | * @return resultado de execSQL |
| 224 | */ | 226 | */ |
| 225 | function execSQLDB($codigo_estat_conexao,$sql){ | 227 | function execSQLDB($codigo_estat_conexao,$sql){ |
| 228 | + $buscar = array("drop","update","insert","delete"); | ||
| 229 | + $sql = str_ireplace($buscar,"",$sql); | ||
| 226 | $c = $this->listaConexao($codigo_estat_conexao,true); | 230 | $c = $this->listaConexao($codigo_estat_conexao,true); |
| 227 | $dbhold = $this->dbh; | 231 | $dbhold = $this->dbh; |
| 228 | $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]); | 232 | $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]); |
| @@ -257,6 +261,7 @@ class Metaestat{ | @@ -257,6 +261,7 @@ class Metaestat{ | ||
| 257 | * @param id do registro que sera selecionado e excluido | 261 | * @param id do registro que sera selecionado e excluido |
| 258 | */ | 262 | */ |
| 259 | function excluirRegistro($tabela,$coluna,$id){ | 263 | function excluirRegistro($tabela,$coluna,$id){ |
| 264 | + $this->testaNumerico(array($id)); | ||
| 260 | try { | 265 | try { |
| 261 | $this->dbhw->query("DELETE from ".$this->esquemaadmin.$tabela." WHERE $coluna = $id"); | 266 | $this->dbhw->query("DELETE from ".$this->esquemaadmin.$tabela." WHERE $coluna = $id"); |
| 262 | return "ok"; | 267 | return "ok"; |
| @@ -271,6 +276,7 @@ class Metaestat{ | @@ -271,6 +276,7 @@ class Metaestat{ | ||
| 271 | * @param id da fonte | 276 | * @param id da fonte |
| 272 | */ | 277 | */ |
| 273 | function excluirFonteinfoMedida($id_medida_variavel,$id_fonteinfo){ | 278 | function excluirFonteinfoMedida($id_medida_variavel,$id_fonteinfo){ |
| 279 | + $this->testaNumerico(array($id_medida_variavel,$id_fonteinfo)); | ||
| 274 | try { | 280 | try { |
| 275 | $this->dbhw->query("DELETE from ".$this->esquemaadmin."i3geoestat_fonteinfo_medida WHERE id_medida_variavel = $id_medida_variavel and id_fonteinfo = $id_fonteinfo"); | 281 | $this->dbhw->query("DELETE from ".$this->esquemaadmin."i3geoestat_fonteinfo_medida WHERE id_medida_variavel = $id_medida_variavel and id_fonteinfo = $id_fonteinfo"); |
| 276 | return "ok"; | 282 | return "ok"; |
| @@ -481,7 +487,10 @@ class Metaestat{ | @@ -481,7 +487,10 @@ class Metaestat{ | ||
| 481 | } | 487 | } |
| 482 | //adiciona a coluna com os valores no inicio do array() | 488 | //adiciona a coluna com os valores no inicio do array() |
| 483 | $colunasSemGeo = array_merge(array($dados["colunavalor"]),$colunasSemGeo); | 489 | $colunasSemGeo = array_merge(array($dados["colunavalor"]),$colunasSemGeo); |
| 484 | - | 490 | + $buscar = array("drop","update","insert","create","alter","delete"); |
| 491 | + $sql = str_ireplace($buscar,"",$sql); | ||
| 492 | + $sqlagrupamento = str_ireplace($buscar,"",$sqlagrupamento); | ||
| 493 | + $sqlgeo = str_ireplace($buscar,"",$sqlgeo); | ||
| 485 | return array( | 494 | return array( |
| 486 | "nomeregiao"=>$dadosgeo["colunanomeregiao"], | 495 | "nomeregiao"=>$dadosgeo["colunanomeregiao"], |
| 487 | "titulo"=>$titulo, | 496 | "titulo"=>$titulo, |
| @@ -944,28 +953,12 @@ class Metaestat{ | @@ -944,28 +953,12 @@ class Metaestat{ | ||
| 944 | */ | 953 | */ |
| 945 | function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = "",$limite=""){ | 954 | function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = "",$limite=""){ |
| 946 | set_time_limit(0); | 955 | set_time_limit(0); |
| 947 | - $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor); | 956 | + $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,"polygon","",false,$filtro); |
| 948 | $sqlf = $sql["sqlmapserver"]; | 957 | $sqlf = $sql["sqlmapserver"]; |
| 949 | //remove marcadores geo | 958 | //remove marcadores geo |
| 950 | $sqlf = explode("/*SE*/",$sqlf); | 959 | $sqlf = explode("/*SE*/",$sqlf); |
| 951 | $sqlf = explode("/*SG*/",$sqlf[1]); | 960 | $sqlf = explode("/*SG*/",$sqlf[1]); |
| 952 | $sqlf = $sqlf[0]." ".$sqlf[2]; | 961 | $sqlf = $sqlf[0]." ".$sqlf[2]; |
| 953 | - if($filtro != ""){ | ||
| 954 | - $sqlf = str_replace("__filtro__"," AND ".$filtro,$sqlf); | ||
| 955 | - } | ||
| 956 | - else{ | ||
| 957 | - $sqlf = str_replace("__filtro__"," ",$sqlf); | ||
| 958 | - } | ||
| 959 | - /* | ||
| 960 | - if($sql["filtro"] == true){ | ||
| 961 | - if(!empty($filtro)){ | ||
| 962 | - $sqlf = $sqlf." AND ".$filtro; | ||
| 963 | - } | ||
| 964 | - } | ||
| 965 | - elseif(!empty($filtro)){ | ||
| 966 | - $sqlf .= " WHERE ".$filtro; | ||
| 967 | - } | ||
| 968 | - * */ | ||
| 969 | if($limite != ""){ | 962 | if($limite != ""){ |
| 970 | $sqlf .= " limit ".$limite; | 963 | $sqlf .= " limit ".$limite; |
| 971 | } | 964 | } |
| @@ -1120,6 +1113,7 @@ class Metaestat{ | @@ -1120,6 +1113,7 @@ class Metaestat{ | ||
| 1120 | $titulo = utf8_encode($titulo); | 1113 | $titulo = utf8_encode($titulo); |
| 1121 | } | 1114 | } |
| 1122 | if($id_mapa != ""){ | 1115 | if($id_mapa != ""){ |
| 1116 | + $this->testaNumerico(array($id_mapa)); | ||
| 1123 | $this->dbhw->query("UPDATE ".$this->esquemaadmin."i3geoestat_mapa SET titulo='$titulo',template='$template',logoesquerdo='$logoesquerdo',logodireito='$logodireito',publicado='$publicado' WHERE id_mapa = $id_mapa"); | 1117 | $this->dbhw->query("UPDATE ".$this->esquemaadmin."i3geoestat_mapa SET titulo='$titulo',template='$template',logoesquerdo='$logoesquerdo',logodireito='$logodireito',publicado='$publicado' WHERE id_mapa = $id_mapa"); |
| 1124 | $retorna = $id_mapa; | 1118 | $retorna = $id_mapa; |
| 1125 | } | 1119 | } |
| @@ -1142,6 +1136,7 @@ class Metaestat{ | @@ -1142,6 +1136,7 @@ class Metaestat{ | ||
| 1142 | * @return id do grupo | 1136 | * @return id do grupo |
| 1143 | */ | 1137 | */ |
| 1144 | function alteraMapaGrupo($id_mapa,$id_mapa_grupo="",$titulo=""){ | 1138 | function alteraMapaGrupo($id_mapa,$id_mapa_grupo="",$titulo=""){ |
| 1139 | + $this->testaNumerico(array($id_mapa,$id_mapa_grupo)); | ||
| 1145 | try { | 1140 | try { |
| 1146 | if($this->convUTF){ | 1141 | if($this->convUTF){ |
| 1147 | $titulo = utf8_encode($titulo); | 1142 | $titulo = utf8_encode($titulo); |
| @@ -1172,6 +1167,7 @@ class Metaestat{ | @@ -1172,6 +1167,7 @@ class Metaestat{ | ||
| 1172 | * @return id do tema | 1167 | * @return id do tema |
| 1173 | */ | 1168 | */ |
| 1174 | function alteraMapaTema($id_mapa_grupo,$id_mapa_tema="",$titulo="",$id_medida_variavel=""){ | 1169 | function alteraMapaTema($id_mapa_grupo,$id_mapa_tema="",$titulo="",$id_medida_variavel=""){ |
| 1170 | + $this->testaNumerico(array($id_mapa_grupo,$id_mapa_tema,$id_medida_variavel)); | ||
| 1175 | try { | 1171 | try { |
| 1176 | if($this->convUTF){ | 1172 | if($this->convUTF){ |
| 1177 | $titulo = utf8_encode($titulo); | 1173 | $titulo = utf8_encode($titulo); |
| @@ -1202,6 +1198,7 @@ class Metaestat{ | @@ -1202,6 +1198,7 @@ class Metaestat{ | ||
| 1202 | * @return id da variavel | 1198 | * @return id da variavel |
| 1203 | */ | 1199 | */ |
| 1204 | function alteraVariavel($codigo_variavel="",$nome="",$descricao=""){ | 1200 | function alteraVariavel($codigo_variavel="",$nome="",$descricao=""){ |
| 1201 | + $this->testaNumerico(array($codigo_variavel)); | ||
| 1205 | try { | 1202 | try { |
| 1206 | if($this->convUTF){ | 1203 | if($this->convUTF){ |
| 1207 | $nome = utf8_encode($nome); | 1204 | $nome = utf8_encode($nome); |
| @@ -1240,6 +1237,7 @@ class Metaestat{ | @@ -1240,6 +1237,7 @@ class Metaestat{ | ||
| 1240 | * @return id da medida | 1237 | * @return id da medida |
| 1241 | */ | 1238 | */ |
| 1242 | function alteraMedidaVariavel($codigo_variavel,$id_medida_variavel="",$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$colunaidunico,$filtro,$nomemedida){ | 1239 | function alteraMedidaVariavel($codigo_variavel,$id_medida_variavel="",$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$colunaidunico,$filtro,$nomemedida){ |
| 1240 | + $this->testaNumerico(array($codigo_variavel,$id_medida_variavel,$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao)); | ||
| 1243 | try { | 1241 | try { |
| 1244 | if($id_medida_variavel != ""){ | 1242 | if($id_medida_variavel != ""){ |
| 1245 | if($this->convUTF){ | 1243 | if($this->convUTF){ |
| @@ -1271,6 +1269,7 @@ class Metaestat{ | @@ -1271,6 +1269,7 @@ class Metaestat{ | ||
| 1271 | * @return id do link | 1269 | * @return id do link |
| 1272 | */ | 1270 | */ |
| 1273 | function alteraLinkMedida($id_medida_variavel,$id_link="",$nome,$link){ | 1271 | function alteraLinkMedida($id_medida_variavel,$id_link="",$nome,$link){ |
| 1272 | + $this->testaNumerico(array($id_medida_variavel,$id_link)); | ||
| 1274 | try { | 1273 | try { |
| 1275 | if($id_link != ""){ | 1274 | if($id_link != ""){ |
| 1276 | if($this->convUTF){ | 1275 | if($this->convUTF){ |
| @@ -1301,6 +1300,7 @@ class Metaestat{ | @@ -1301,6 +1300,7 @@ class Metaestat{ | ||
| 1301 | * @return id da fonte | 1300 | * @return id da fonte |
| 1302 | */ | 1301 | */ |
| 1303 | function alteraFonteinfo($id_fonteinfo="",$titulo,$link){ | 1302 | function alteraFonteinfo($id_fonteinfo="",$titulo,$link){ |
| 1303 | + $this->testaNumerico(array($id_fonteinfo)); | ||
| 1304 | try { | 1304 | try { |
| 1305 | if($id_fonteinfo != ""){ | 1305 | if($id_fonteinfo != ""){ |
| 1306 | if($this->convUTF){ | 1306 | if($this->convUTF){ |
| @@ -1325,6 +1325,7 @@ class Metaestat{ | @@ -1325,6 +1325,7 @@ class Metaestat{ | ||
| 1325 | */ | 1325 | */ |
| 1326 | function adicinaFonteinfoMedida($id_medida_variavel,$id_fonteinfo){ | 1326 | function adicinaFonteinfoMedida($id_medida_variavel,$id_fonteinfo){ |
| 1327 | //echo "INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')";exit; | 1327 | //echo "INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')";exit; |
| 1328 | + $this->testaNumerico(array($id_medida_variavel,$id_fonteinfo)); | ||
| 1328 | $this->dbhw->query("INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')"); | 1329 | $this->dbhw->query("INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')"); |
| 1329 | } | 1330 | } |
| 1330 | /** | 1331 | /** |
| @@ -1339,6 +1340,7 @@ class Metaestat{ | @@ -1339,6 +1340,7 @@ class Metaestat{ | ||
| 1339 | * @return id da unidade | 1340 | * @return id da unidade |
| 1340 | */ | 1341 | */ |
| 1341 | function alteraUnidadeMedida($codigo_unidade_medida,$nome,$sigla,$permitesoma,$permitemedia){ | 1342 | function alteraUnidadeMedida($codigo_unidade_medida,$nome,$sigla,$permitesoma,$permitemedia){ |
| 1343 | + $this->testaNumerico(array($codigo_unidade_medida)); | ||
| 1342 | try { | 1344 | try { |
| 1343 | if($codigo_unidade_medida != ""){ | 1345 | if($codigo_unidade_medida != ""){ |
| 1344 | if($this->convUTF){ | 1346 | if($this->convUTF){ |
| @@ -1365,6 +1367,7 @@ class Metaestat{ | @@ -1365,6 +1367,7 @@ class Metaestat{ | ||
| 1365 | * @return codigo do tipo de periodo | 1367 | * @return codigo do tipo de periodo |
| 1366 | */ | 1368 | */ |
| 1367 | function alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao){ | 1369 | function alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao){ |
| 1370 | + $this->testaNumerico(array($codigo_tipo_periodo)); | ||
| 1368 | try { | 1371 | try { |
| 1369 | if($codigo_tipo_periodo != ""){ | 1372 | if($codigo_tipo_periodo != ""){ |
| 1370 | if($this->convUTF){ | 1373 | if($this->convUTF){ |
| @@ -1396,6 +1399,7 @@ class Metaestat{ | @@ -1396,6 +1399,7 @@ class Metaestat{ | ||
| 1396 | * @return id da conexao | 1399 | * @return id da conexao |
| 1397 | */ | 1400 | */ |
| 1398 | function alteraConexao($codigo_estat_conexao,$bancodedados,$host,$porta,$usuario){ | 1401 | function alteraConexao($codigo_estat_conexao,$bancodedados,$host,$porta,$usuario){ |
| 1402 | + $this->testaNumerico(array($codigo_estat_conexao)); | ||
| 1399 | try { | 1403 | try { |
| 1400 | if($codigo_estat_conexao != ""){ | 1404 | if($codigo_estat_conexao != ""){ |
| 1401 | $this->dbhw->query("UPDATE ".$this->esquemaadmin."i3geoestat_conexao SET usuario = '$usuario',porta = '$porta',host = '$host',bancodedados = '$bancodedados' WHERE codigo_estat_conexao = $codigo_estat_conexao"); | 1405 | $this->dbhw->query("UPDATE ".$this->esquemaadmin."i3geoestat_conexao SET usuario = '$usuario',porta = '$porta',host = '$host',bancodedados = '$bancodedados' WHERE codigo_estat_conexao = $codigo_estat_conexao"); |
| @@ -1433,6 +1437,7 @@ class Metaestat{ | @@ -1433,6 +1437,7 @@ class Metaestat{ | ||
| 1433 | * @return id da regiao | 1437 | * @return id da regiao |
| 1434 | */ | 1438 | */ |
| 1435 | function alteraTipoRegiao($codigo_tipo_regiao,$nome_tipo_regiao,$descricao_tipo_regiao,$esquemadb,$tabela,$colunageo,$colunacentroide,$data,$identificador,$colunanomeregiao,$srid,$codigo_estat_conexao,$colunasvisiveis,$apelidos){ | 1439 | function alteraTipoRegiao($codigo_tipo_regiao,$nome_tipo_regiao,$descricao_tipo_regiao,$esquemadb,$tabela,$colunageo,$colunacentroide,$data,$identificador,$colunanomeregiao,$srid,$codigo_estat_conexao,$colunasvisiveis,$apelidos){ |
| 1440 | + $this->testaNumerico(array($codigo_tipo_regiao,$codigo_estat_conexao)); | ||
| 1436 | try { | 1441 | try { |
| 1437 | if($codigo_tipo_regiao != ""){ | 1442 | if($codigo_tipo_regiao != ""){ |
| 1438 | if($this->convUTF){ | 1443 | if($this->convUTF){ |
| @@ -1463,6 +1468,7 @@ class Metaestat{ | @@ -1463,6 +1468,7 @@ class Metaestat{ | ||
| 1463 | * @return id | 1468 | * @return id |
| 1464 | */ | 1469 | */ |
| 1465 | function alteraAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao="",$codigo_tipo_regiao_pai="",$colunaligacao_regiaopai=""){ | 1470 | function alteraAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao="",$codigo_tipo_regiao_pai="",$colunaligacao_regiaopai=""){ |
| 1471 | + $this->testaNumerico(array($codigo_tipo_regiao,$id_agregaregiao,$codigo_tipo_regiao_pai)); | ||
| 1466 | try { | 1472 | try { |
| 1467 | if($id_agregaregiao != ""){ | 1473 | if($id_agregaregiao != ""){ |
| 1468 | $this->dbhw->query("UPDATE ".$this->esquemaadmin."i3geoestat_agregaregiao SET colunaligacao_regiaopai = '$colunaligacao_regiaopai', codigo_tipo_regiao_pai = '$codigo_tipo_regiao_pai' WHERE id_agregaregiao = $id_agregaregiao"); | 1474 | $this->dbhw->query("UPDATE ".$this->esquemaadmin."i3geoestat_agregaregiao SET colunaligacao_regiaopai = '$colunaligacao_regiaopai', codigo_tipo_regiao_pai = '$codigo_tipo_regiao_pai' WHERE id_agregaregiao = $id_agregaregiao"); |
| @@ -1492,6 +1498,7 @@ class Metaestat{ | @@ -1492,6 +1498,7 @@ class Metaestat{ | ||
| 1492 | * @return id do parametro | 1498 | * @return id do parametro |
| 1493 | */ | 1499 | */ |
| 1494 | function alteraParametroMedida($id_medida_variavel,$id_parametro_medida="",$nome,$descricao,$coluna,$id_pai,$tipo="0"){ | 1500 | function alteraParametroMedida($id_medida_variavel,$id_parametro_medida="",$nome,$descricao,$coluna,$id_pai,$tipo="0"){ |
| 1501 | + $this->testaNumerico(array($id_medida_variavel,$id_parametro_medida,$id_pai)); | ||
| 1495 | try { | 1502 | try { |
| 1496 | if($id_parametro_medida != ""){ | 1503 | if($id_parametro_medida != ""){ |
| 1497 | if($this->convUTF){ | 1504 | if($this->convUTF){ |
| @@ -1525,6 +1532,7 @@ class Metaestat{ | @@ -1525,6 +1532,7 @@ class Metaestat{ | ||
| 1525 | * @return id | 1532 | * @return id |
| 1526 | */ | 1533 | */ |
| 1527 | function alteraClassificacaoMedida($id_medida_variavel,$id_classificacao="",$nome="",$observacao=""){ | 1534 | function alteraClassificacaoMedida($id_medida_variavel,$id_classificacao="",$nome="",$observacao=""){ |
| 1535 | + $this->testaNumerico(array($id_medida_variavel,$id_classificacao)); | ||
| 1528 | try { | 1536 | try { |
| 1529 | if($id_classificacao != ""){ | 1537 | if($id_classificacao != ""){ |
| 1530 | if($this->convUTF){ | 1538 | if($this->convUTF){ |
| @@ -1563,6 +1571,7 @@ class Metaestat{ | @@ -1563,6 +1571,7 @@ class Metaestat{ | ||
| 1563 | * @return id | 1571 | * @return id |
| 1564 | */ | 1572 | */ |
| 1565 | function alteraClasseClassificacao($id_classificacao,$id_classe="",$titulo="",$expressao="",$vermelho="",$verde="",$azul="",$tamanho="",$simbolo="",$overmelho="",$overde="",$oazul="",$otamanho=""){ | 1573 | function alteraClasseClassificacao($id_classificacao,$id_classe="",$titulo="",$expressao="",$vermelho="",$verde="",$azul="",$tamanho="",$simbolo="",$overmelho="",$overde="",$oazul="",$otamanho=""){ |
| 1574 | + $this->testaNumerico(array($id_classificacao,$id_classe)); | ||
| 1566 | try { | 1575 | try { |
| 1567 | if($id_classe != ""){ | 1576 | if($id_classe != ""){ |
| 1568 | if($this->convUTF){ | 1577 | if($this->convUTF){ |
| @@ -2135,26 +2144,31 @@ class Metaestat{ | @@ -2135,26 +2144,31 @@ class Metaestat{ | ||
| 2135 | * @return execSQLDB | 2144 | * @return execSQLDB |
| 2136 | */ | 2145 | */ |
| 2137 | function alteraNomeColunaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$nome_coluna,$novonome_coluna){ | 2146 | function alteraNomeColunaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$nome_coluna,$novonome_coluna){ |
| 2138 | - $res = $this->execSQLDB($codigo_estat_conexao,"ALTER TABLE ".$nome_esquema.".".$nome_tabela." RENAME COLUMN $nome_coluna TO ".$novonome_coluna ); | 2147 | + $c = $this->listaConexao($codigo_estat_conexao,true); |
| 2148 | + $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]); | ||
| 2149 | + | ||
| 2150 | + $sql = "ALTER TABLE ".$nome_esquema.".".$nome_tabela." RENAME COLUMN $nome_coluna TO ".$novonome_coluna; | ||
| 2151 | + $res = $dbh->query($sql,PDO::FETCH_ASSOC); | ||
| 2152 | + | ||
| 2139 | $coluna = $this->execSQLDB($codigo_estat_conexao,"SELECT column_name FROM information_schema.columns where table_name = '$novonome_tabela' and table_schema = '$nome_esquema' and column_name = '$novonome_coluna'"); | 2153 | $coluna = $this->execSQLDB($codigo_estat_conexao,"SELECT column_name FROM information_schema.columns where table_name = '$novonome_tabela' and table_schema = '$nome_esquema' and column_name = '$novonome_coluna'"); |
| 2140 | if(count($coluna) > 0){ | 2154 | if(count($coluna) > 0){ |
| 2141 | $sql = "UPDATE i3geoestat_medida_variavel SET colunavalor = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunavalor = '$nome_coluna'"; | 2155 | $sql = "UPDATE i3geoestat_medida_variavel SET colunavalor = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunavalor = '$nome_coluna'"; |
| 2142 | - $this->execSQL($sql,"",false); | 2156 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2143 | $sql = "UPDATE i3geoestat_medida_variavel SET colunaidgeo = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaidgeo = '$nome_coluna'"; | 2157 | $sql = "UPDATE i3geoestat_medida_variavel SET colunaidgeo = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaidgeo = '$nome_coluna'"; |
| 2144 | - $this->execSQL($sql,"",false); | 2158 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2145 | $sql = "UPDATE i3geoestat_medida_variavel SET colunaidunico = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaidgeo = '$nome_coluna'"; | 2159 | $sql = "UPDATE i3geoestat_medida_variavel SET colunaidunico = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaidgeo = '$nome_coluna'"; |
| 2146 | - $this->execSQL($sql,"",false); | 2160 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2147 | $sql = "UPDATE i3geoestat_tipo_regiao SET colunageo = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunageo = '$nome_coluna'"; | 2161 | $sql = "UPDATE i3geoestat_tipo_regiao SET colunageo = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunageo = '$nome_coluna'"; |
| 2148 | - $this->execSQL($sql,"",false); | 2162 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2149 | $sql = "UPDATE i3geoestat_tipo_regiao SET colunanomeregiao = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunanomeregiao = '$nome_coluna'"; | 2163 | $sql = "UPDATE i3geoestat_tipo_regiao SET colunanomeregiao = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunanomeregiao = '$nome_coluna'"; |
| 2150 | - $this->execSQL($sql,"",false); | 2164 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2151 | $sql = "UPDATE i3geoestat_tipo_regiao SET colunacentroide = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunacentroide = '$nome_coluna'"; | 2165 | $sql = "UPDATE i3geoestat_tipo_regiao SET colunacentroide = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunacentroide = '$nome_coluna'"; |
| 2152 | - $this->execSQL($sql,"",false); | 2166 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2153 | 2167 | ||
| 2154 | $sql = "UPDATE i3geoestat_parametro_medida SET coluna = '$novonome_coluna' FROM i3geoestat_medida_variavel WHERE i3geoestat_parametro_medida.id_medida_variavel = i3geoestat_medida_variavel.id_medida_variavel and esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and coluna = '$nome_coluna'"; | 2168 | $sql = "UPDATE i3geoestat_parametro_medida SET coluna = '$novonome_coluna' FROM i3geoestat_medida_variavel WHERE i3geoestat_parametro_medida.id_medida_variavel = i3geoestat_medida_variavel.id_medida_variavel and esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and coluna = '$nome_coluna'"; |
| 2155 | - $this->execSQL($sql,"",false); | 2169 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2156 | $sql = "UPDATE i3geoestat_agregaregiao SET colunaligacao_regiaopai = '$novonome_coluna' FROM i3geoestat_tipo_regiao WHERE i3geoestat_agregaregiao.codigo_tipo_regiao = i3geoestat_tipo_regiao.codigo_tipo_regiao and esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaligacao_regiaopai = '$nome_coluna'"; | 2170 | $sql = "UPDATE i3geoestat_agregaregiao SET colunaligacao_regiaopai = '$novonome_coluna' FROM i3geoestat_tipo_regiao WHERE i3geoestat_agregaregiao.codigo_tipo_regiao = i3geoestat_tipo_regiao.codigo_tipo_regiao and esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaligacao_regiaopai = '$nome_coluna'"; |
| 2157 | - $this->execSQL($sql,"",false); | 2171 | + $dbh->query($sql,PDO::FETCH_ASSOC); |
| 2158 | } | 2172 | } |
| 2159 | return $res; | 2173 | return $res; |
| 2160 | } | 2174 | } |
| @@ -2723,6 +2737,8 @@ class Metaestat{ | @@ -2723,6 +2737,8 @@ class Metaestat{ | ||
| 2723 | * @return string | 2737 | * @return string |
| 2724 | */ | 2738 | */ |
| 2725 | function negativaValoresMedidaVariavel($id_medida_variavel){ | 2739 | function negativaValoresMedidaVariavel($id_medida_variavel){ |
| 2740 | + $this->testaNumerico(array($id_medida_variavel)); | ||
| 2741 | + | ||
| 2726 | $medida = $this->listaMedidaVariavel("",$id_medida_variavel); | 2742 | $medida = $this->listaMedidaVariavel("",$id_medida_variavel); |
| 2727 | if($medida["esquemadb"] != "i3geo_metaestat"){ | 2743 | if($medida["esquemadb"] != "i3geo_metaestat"){ |
| 2728 | return "erro"; | 2744 | return "erro"; |
| @@ -2867,5 +2883,16 @@ class Metaestat{ | @@ -2867,5 +2883,16 @@ class Metaestat{ | ||
| 2867 | } | 2883 | } |
| 2868 | return $nomeshp; | 2884 | return $nomeshp; |
| 2869 | } | 2885 | } |
| 2886 | + /* | ||
| 2887 | + * Testa se os elementos de um array sao numericos | ||
| 2888 | + */ | ||
| 2889 | + function testaNumerico($valores){ | ||
| 2890 | + foreach ($valores as $valor) { | ||
| 2891 | + if(!empty($valor) && !is_numeric($valor)) { | ||
| 2892 | + echo "valor nao numerico"; | ||
| 2893 | + exit; | ||
| 2894 | + } | ||
| 2895 | + } | ||
| 2896 | + } | ||
| 2870 | } | 2897 | } |
| 2871 | ?> | 2898 | ?> |
admin/php/metaestat.php
| @@ -1140,6 +1140,8 @@ switch (strtoupper($funcao)) | @@ -1140,6 +1140,8 @@ switch (strtoupper($funcao)) | ||
| 1140 | {JSON} | 1140 | {JSON} |
| 1141 | */ | 1141 | */ |
| 1142 | case "MAPFILEMEDIDAVARIAVEL": | 1142 | case "MAPFILEMEDIDAVARIAVEL": |
| 1143 | + //$filtro usa aspas duplas para enviar os parametros | ||
| 1144 | + $filtro = str_replace('"',"'",$filtro); | ||
| 1143 | $m = new Metaestat(); | 1145 | $m = new Metaestat(); |
| 1144 | if(!isset($codigo_tipo_regiao)){ | 1146 | if(!isset($codigo_tipo_regiao)){ |
| 1145 | $codigo_tipo_regiao = ""; | 1147 | $codigo_tipo_regiao = ""; |
admin/php/operacoes.php
| @@ -25,7 +25,7 @@ Este programa é distribuído na expectativa de que seja útil | @@ -25,7 +25,7 @@ Este programa é distribuído na expectativa de que seja útil | ||
| 25 | porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | 25 | porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita |
| 26 | de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | 26 | de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. |
| 27 | Consulte a Licença Pública Geral do GNU para mais detalhes. | 27 | Consulte a Licença Pública Geral do GNU para mais detalhes. |
| 28 | -Você deve ter recebido uma c�pia da Licença Pública Geral do | 28 | +Você deve ter recebido uma copia da Licença Pública Geral do |
| 29 | GNU junto com este programa; se não, escreva para a | 29 | GNU junto com este programa; se não, escreva para a |
| 30 | Free Software Foundation, Inc., no endereço | 30 | Free Software Foundation, Inc., no endereço |
| 31 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 31 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| @@ -170,4 +170,4 @@ function excluirPapelOperacao(){ | @@ -170,4 +170,4 @@ function excluirPapelOperacao(){ | ||
| 170 | return "Error!: " . $e->getMessage(); | 170 | return "Error!: " . $e->getMessage(); |
| 171 | } | 171 | } |
| 172 | } | 172 | } |
| 173 | -?> | ||
| 174 | \ No newline at end of file | 173 | \ No newline at end of file |
| 174 | +?> |
classesphp/mapa_controle.php
| @@ -2262,4 +2262,4 @@ function redesenhaMapa() | @@ -2262,4 +2262,4 @@ function redesenhaMapa() | ||
| 2262 | {$retorno = array("variaveis"=>$res,"temas"=>$par);} | 2262 | {$retorno = array("variaveis"=>$res,"temas"=>$par);} |
| 2263 | cpjson($retorno); | 2263 | cpjson($retorno); |
| 2264 | } | 2264 | } |
| 2265 | -?> | ||
| 2266 | \ No newline at end of file | 2265 | \ No newline at end of file |
| 2266 | +?> |
ferramentas/metaestat/index.js
| @@ -1363,7 +1363,7 @@ i3GEOF.metaestat = { | @@ -1363,7 +1363,7 @@ i3GEOF.metaestat = { | ||
| 1363 | for(i=0;i<n;i++){ | 1363 | for(i=0;i<n;i++){ |
| 1364 | c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai); | 1364 | c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai); |
| 1365 | if(c && c.value != ""){ | 1365 | if(c && c.value != ""){ |
| 1366 | - t.push(dados[i].coluna+"="+c.value); | 1366 | + t.push(dados[i].coluna+'="'+c.value+'"'); |
| 1367 | } | 1367 | } |
| 1368 | } | 1368 | } |
| 1369 | if(t.length > 0){ | 1369 | if(t.length > 0){ |