diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index d5f3267..1fc0332 100755 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -2879,7 +2879,7 @@ mapa - objeto mapa destino do simbolo clonado function cloneInlineSymbol($layern,$nmapa,$mapa){ $versao = versao(); if($versao["principal"] > 5){ - $numclasses = $layern->numclasses; + $numclasses = $layern->numclasses; for($ci=0;$ci < $numclasses;$ci++){ $classe = $layern->getclass($ci); $numestilos = $classe->numstyles; @@ -2891,13 +2891,15 @@ function cloneInlineSymbol($layern,$nmapa,$mapa){ if($simbolo->inmapfile == MS_TRUE || file_exists($nomesimbolo)){ $simbolon = new symbolObj($mapa, $nomesimbolo); $simbolon->set("inmapfile",MS_TRUE); + $simbolon->setImagePath($simbolo->imagepath); $simbolon->setPoints($simbolo->getPointsArray()); //$simbolon->setPattern($simbolo->getPatternArray()); $simbolon->set("type",$simbolo->type); - $simbolon->set("antialias",$simbolo->antialias); + //$simbolon->set("antialias",$simbolo->antialias); $simbolon->set("character",$simbolo->character); $simbolon->set("filled",$simbolo->filled); + //$simbolon->set("font",$simbolo->font); //$simbolon->set("position",$simbolo->position); $simbolon->set("sizex",$simbolo->sizex); diff --git a/classesphp/sani_request.php b/classesphp/sani_request.php index 9bd0511..fc2eaff 100755 --- a/classesphp/sani_request.php +++ b/classesphp/sani_request.php @@ -3,7 +3,7 @@ if (basename(__FILE__) == basename($_SERVER['SCRIPT_FILENAME'])){ exit; } error_reporting(0); -$bl = array("password","select","_decode","php","eval","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","exec","system",";"); +$bl = array("exec ","exec(","password","select","_decode","passthru","shell_exec","escapeshellarg","escapeshellcmd","proc_close","proc_open","dl","popen","contents","delete","drop","update","insert","system",";"); if (isset($_GET)){ foreach(array_keys($_GET) as $k) { $k = str_ireplace($bl,"",$k); @@ -16,7 +16,6 @@ if (isset($_GET)){ } } //array(3) { ["cpaint_function"]=> string(8) "criaMapa" ["cpaint_argument"]=> array(1) { [0]=> string(54) ""funcao=criaMapa&&desligar=mundo&interface=openlayers"" } ["cpaint_response_type"]=> string(4) "JSON" } - if (isset($_POST)){ if (isset($_POST["cpaint_argument"]) && $_POST["cpaint_argument"][0] != "") { @@ -28,7 +27,6 @@ if (isset($_POST)){ else{ $argumento_ = str_replace("\"","",$argumento_); } - $argumento_ = explode('"',$argumento_); $argumento_ = implode("&",$argumento_); $parametros_ = explode("&",$argumento_); diff --git a/ferramentas/parametrossql/exec.php b/ferramentas/parametrossql/exec.php index 65d0330..e4e6840 100755 --- a/ferramentas/parametrossql/exec.php +++ b/ferramentas/parametrossql/exec.php @@ -1,6 +1,7 @@ getlayerbyname($tema); @@ -130,19 +132,19 @@ switch (strtoupper($funcao)) * Utilizado para pegar a lista de valores que sera apresentada ao usuario */ case "INCLUDEPROG": - //evita redirecoina o programa para algum lugar indevido - $prog = str_replace(".php","",$prog); - $prog = str_replace(".","",$prog).".php"; - if(file_exists($locaplic."/".$prog)){ - include($locaplic."/".$prog); - } + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']); + $protocolo = $protocolo[0]; + $protocolo1 = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME']; + $protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT']; + $urli3geo = str_replace("/ferramentas/parametrossql/exec.php","",$protocolo.$_SERVER["PHP_SELF"]); + $handle = curl_init(); + curl_setopt( $handle, CURLOPT_URL, $urli3geo."/".$_GET["prog"]); + curl_setopt( $handle, CURLOPT_HEADER, false ); + curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); + $retorno = curl_exec( $handle ); + curl_close( $handle ); + $retorno = json_decode($retorno,true); break; } -if (!connection_aborted()){ - cpjson($retorno); -} -else{ - exit(); -} - +cpjson($retorno); ?> diff --git a/ferramentas/parametrossql/ogc.php b/ferramentas/parametrossql/ogc.php index 457aa2d..dba1338 100755 --- a/ferramentas/parametrossql/ogc.php +++ b/ferramentas/parametrossql/ogc.php @@ -1,5 +1,4 @@ data; + $data = $l->data; $c = $l->getmetadata("PLUGINI3GEO"); if($c != ""){ $cs = json_decode($c,true); @@ -167,7 +168,6 @@ else{ } $chaves = implode(",",$chaves); $filtro = $l->getFilterString(); - $chaves = str_ireplace(array(" and ", " or ", "select","from","where","update","delete","insert","--"),"",$chaves); $chaves = explode(",",$chaves); $n = count($chaves); @@ -185,7 +185,7 @@ else{ $plugin[] = $temp[0]; } elseif ($c["prog"] != ""){ - $plugin[] = execProg($locaplic."/".$c["prog"]); + $plugin[] = execProg($c["prog"]); } } } @@ -206,7 +206,6 @@ else{ if($filtro != ""){ $l->setfilter($filtro); } - $l->set("data",$data); //acrecenta-se um md5 apos o nome caso seja necessario gerar cache if($cache == true){ @@ -577,11 +576,17 @@ function salvaCacheImagem($cachedir,$map,$tms, $plugin, $tema){ exit; } function execProg($prog){ - $prog = str_replace(".php","",$prog); - $prog = str_replace(".","",$prog).".php"; - include($prog); //$retorno variavel deve ser retornada pelo programa $prog //veja como exemplo i3geo/aplicmap/daods/listaano.php + global $urli3geo; + $u = str_replace("/ferramentas/parametrossql","",$urli3geo); + $handle = curl_init(); + curl_setopt( $handle, CURLOPT_URL, $u."/".$prog); + curl_setopt( $handle, CURLOPT_HEADER, false ); + curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); + $str = curl_exec( $handle ); + curl_close( $handle ); + $retorno = json_decode($str,true); return $retorno[0]["v"]; } ?> diff --git a/ogc.php b/ogc.php index 353f8d8..1f111dd 100755 --- a/ogc.php +++ b/ogc.php @@ -1455,7 +1455,7 @@ function exportaCsv(){ $linhas[] = implode(",",$items).",wkt"; } for ($i = 0; $i < $res_count; $i++){ - if($versao == 6){ + if($versao >= 6){ $shape = $layer->getShape($layer->getResult($i)); } else{ @@ -1497,7 +1497,7 @@ function exportaGeojson(){ $features = array(); for ($i = 0; $i < $res_count; $i++){ - if($versao == 6){ + if($versao >= 6){ $shape = $layer->getShape($layer->getResult($i)); } else{ diff --git a/testamapfile.php b/testamapfile.php index 443e45f..b58b47e 100755 --- a/testamapfile.php +++ b/testamapfile.php @@ -104,7 +104,7 @@ if ($tipo == "") echo ''; echo ''; echo ''; -- libgit2 0.21.2