From 375350bf8a2c622f4a150085d4909bffad507861 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Fri, 12 Aug 2016 14:15:20 -0300 Subject: [PATCH] Atualização do código --- classesphp/funcoes_gerais.php | 12 +++++++++++- classesphp/mapa_googlemaps.php | 6 ++++++ classesphp/mapa_inicia.php | 7 ++++++- classesphp/mapa_openlayers.php | 6 ++++++ ferramentas/aplicarsld/upload.php | 4 ++++ ferramentas/carregamapa/upload.php | 4 ++++ ferramentas/importarwmc/upload.php | 5 +++++ ferramentas/upload/upload.php | 5 +++++ ferramentas/uploaddbf/upload.php | 5 +++++ ferramentas/uploadgpx/upload.php | 5 +++++ ferramentas/uploadkml/upload.php | 5 +++++ ferramentas/uploadsimbolo/upload.php | 5 +++++ ms_configura.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- ms_criamapa.php | 5 +++++ ogc.php | 3 +++ 15 files changed, 140 insertions(+), 6 deletions(-) diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 7c211dd..59d669b 100755 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -3030,7 +3030,8 @@ function fileContemString($arq,$s){ } $handle = fopen($arq, 'r'); $valid = false; // init as false - while (($buffer = fgets($handle)) !== false) { + while(! feof($handle)) { + $buffer = fgets($handle); if (strpos($buffer, $s) !== false) { $valid = TRUE; break; // Once you find the string, you should break out the loop. @@ -3039,4 +3040,13 @@ function fileContemString($arq,$s){ fclose($handle); return $valid; } +function i3GeoLog($txt,$dir_tmp=""){ + if(empty($dir_tmp)){ + include(dirname(__FILE__)."/../ms_configura.php"); + } + $log = "Ip: ".$_SERVER['REMOTE_ADDR'].' - '.date("F j, Y, g:i a").PHP_EOL. + $txt.PHP_EOL. + "-------------------------".PHP_EOL; + file_put_contents($dir_tmp.'/.log_i3geo_'.date("j.n.Y"), $log, FILE_APPEND); +} ?> diff --git a/classesphp/mapa_googlemaps.php b/classesphp/mapa_googlemaps.php index 50c05dc..24d9ab8 100755 --- a/classesphp/mapa_googlemaps.php +++ b/classesphp/mapa_googlemaps.php @@ -145,6 +145,12 @@ elseif(isset($_GET["BBOX"])){ } //por seguranca include_once("funcoes_gerais.php"); + +$logExec = $_SESSION["logExec"]; +if(isset($logExec) && $logExec["mapa_"] == true){ + i3GeoLog("mapa_googlemaps ".implode("&",array_merge($_GET,$_POST)),$_SESSION["dir_tmp"]); +} + restauraCon($map_fileX,$postgis_mapa); $mapa = ms_newMapObj($map_fileX); diff --git a/classesphp/mapa_inicia.php b/classesphp/mapa_inicia.php index cf48ee8..b1d739a 100755 --- a/classesphp/mapa_inicia.php +++ b/classesphp/mapa_inicia.php @@ -102,7 +102,7 @@ Retorno: */ function iniciaMapa() { - global $postgis_mapa,$statusFerramentas,$saikuUrl,$emailInstituicao,$openid,$interfacePadrao,$mensagemInicia,$kmlurl,$tituloInstituicao,$tempo,$navegadoresLocais,$locaplic,$embedLegenda,$map_file,$mapext,$w,$h,$R_path,$locmapserv,$utilizacgi,$expoeMapfile,$interface; + global $dir_tmp, $logExec, $postgis_mapa,$statusFerramentas,$saikuUrl,$emailInstituicao,$openid,$interfacePadrao,$mensagemInicia,$kmlurl,$tituloInstituicao,$tempo,$navegadoresLocais,$locaplic,$embedLegenda,$map_file,$mapext,$w,$h,$R_path,$locmapserv,$utilizacgi,$expoeMapfile,$interface; // //verifica se algum tema e restrito a determinado usuario //as funcoes de validacao encontram-se em funcoes_gerais.php @@ -111,6 +111,11 @@ function iniciaMapa() include_once("funcoes_gerais.php"); } validaAcessoTemas($map_file); + + if($dir_tmp != "" && isset($logExec) && $logExec["init"] == true){ + i3GeoLog("iniciaMapa $interface",$dir_tmp); + } + if(!isset($kmlurl)){ $kmlurl = ""; } diff --git a/classesphp/mapa_openlayers.php b/classesphp/mapa_openlayers.php index d13961f..eaa6d0d 100755 --- a/classesphp/mapa_openlayers.php +++ b/classesphp/mapa_openlayers.php @@ -165,6 +165,12 @@ $postgis_mapa = $_SESSION["postgis_mapa"]; //por seguranca include_once("funcoes_gerais.php"); + +$logExec = $_SESSION["logExec"]; +if(isset($logExec) && $logExec["mapa_"] == true){ + i3GeoLog("mapa_openlayers ".implode("&",array_merge($_GET,$_POST)),$_SESSION["dir_tmp"]); +} + restauraCon($map_fileX,$postgis_mapa); $cachedir = $_SESSION["cachedir"]; diff --git a/ferramentas/aplicarsld/upload.php b/ferramentas/aplicarsld/upload.php index afa9078..11f7439 100755 --- a/ferramentas/aplicarsld/upload.php +++ b/ferramentas/aplicarsld/upload.php @@ -12,6 +12,10 @@ $map_file = $_SESSION["map_file"]; $postgis_mapa = $_SESSION["postgis_mapa"]; require_once (dirname(__FILE__)."/../../ms_configura.php"); $tema = $_GET["tema"]; + +if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("aplicarsld tema: $tema filename:" . $_FILES['i3GEOaplicarsld']['name'],$dir_tmp); +} ?> diff --git a/ferramentas/carregamapa/upload.php b/ferramentas/carregamapa/upload.php index fc438c1..6d632e6 100755 --- a/ferramentas/carregamapa/upload.php +++ b/ferramentas/carregamapa/upload.php @@ -11,6 +11,10 @@ session_start(); $map_file = $_SESSION["map_file"]; $postgis_mapa = $_SESSION["postgis_mapa"]; require_once (dirname(__FILE__)."/../../ms_configura.php"); + +if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("carregamapa filename:" . $_FILES['i3GEOcarregamapafilemap']['name'],$dir_tmp); +} ?> diff --git a/ferramentas/importarwmc/upload.php b/ferramentas/importarwmc/upload.php index 477b5df..85e9a68 100755 --- a/ferramentas/importarwmc/upload.php +++ b/ferramentas/importarwmc/upload.php @@ -22,6 +22,11 @@ error_reporting(0); require_once (dirname(__FILE__)."/../../ms_configura.php"); $dirmap = dirname($map_file); $arquivo = ""; + +if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("importarwmc filename:" . $_FILES['i3GEOimportarwmc']['name'],$dir_tmp); +} + if(isset($_FILES['i3GEOimportarwmc']['name']) && !($_POST["i3GEOimportarwmcurl"]) && strlen(basename($_FILES['i3GEOimportarwmc']['name'])) < 200) { echo "

Carregando o arquivo...

"; diff --git a/ferramentas/upload/upload.php b/ferramentas/upload/upload.php index 234b5f8..bf1e24e 100755 --- a/ferramentas/upload/upload.php +++ b/ferramentas/upload/upload.php @@ -33,6 +33,11 @@ if (ob_get_level() == 0) ob_start(); if (isset($_FILES['i3GEOuploadshp']['name'])) { require_once (dirname(__FILE__)."/../../ms_configura.php"); + + if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("upload filename:" . $_FILES['i3GEOuploadshp']['name'],$dir_tmp); + } + echo "

Carregando o arquivo...

"; ob_flush(); flush(); diff --git a/ferramentas/uploaddbf/upload.php b/ferramentas/uploaddbf/upload.php index ecf3b11..6a56767 100755 --- a/ferramentas/uploaddbf/upload.php +++ b/ferramentas/uploaddbf/upload.php @@ -33,6 +33,11 @@ if (isset($_FILES['i3GEOuploaddbffile']['name']) && strlen(basename($_FILES['i3G //$ndir = dirname($filen); require_once (dirname(__FILE__)."/../../ms_configura.php"); + + if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("uploaddbf filename:" . $_FILES['i3GEOuploaddbffile']['name'],$dir_tmp); + } + $mapa = ms_newMapObj($map_file); echo "

Carregando o arquivo...

"; ob_flush(); diff --git a/ferramentas/uploadgpx/upload.php b/ferramentas/uploadgpx/upload.php index 7374cc5..b31d4f1 100755 --- a/ferramentas/uploadgpx/upload.php +++ b/ferramentas/uploadgpx/upload.php @@ -30,6 +30,11 @@ if (isset($_FILES['i3GEOuploadgpx']['name']) && strlen(basename($_FILES['i3GEOup } //$ndir = dirname($filen); require_once (dirname(__FILE__)."/../../ms_configura.php"); + + if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("uploadgpx filename:" . $_FILES['i3GEOuploadgpx']['name'],$dir_tmp); + } + $mapa = ms_newMapObj($map_file); echo "

Carregando o arquivo...

"; ob_flush(); diff --git a/ferramentas/uploadkml/upload.php b/ferramentas/uploadkml/upload.php index 39d07aa..20ce888 100755 --- a/ferramentas/uploadkml/upload.php +++ b/ferramentas/uploadkml/upload.php @@ -31,6 +31,11 @@ if (isset($_FILES['i3GEOuploadkml']['name']) && strlen(basename($_FILES['i3GEOup } //$ndir = dirname($filen); require_once (dirname(__FILE__)."/../../ms_configura.php"); + + if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("uploadkml filename:" . $_FILES['i3GEOuploadkml']['name'],$dir_tmp); + } + $mapa = ms_newMapObj($map_file); echo "

Carregando o arquivo...

"; ob_flush(); diff --git a/ferramentas/uploadsimbolo/upload.php b/ferramentas/uploadsimbolo/upload.php index 885d7f4..3f41cc7 100755 --- a/ferramentas/uploadsimbolo/upload.php +++ b/ferramentas/uploadsimbolo/upload.php @@ -26,6 +26,11 @@ if (isset($_FILES['i3GEOuploadsimboloarq']['name']) && strlen(basename($_FILES[' } require_once (dirname(__FILE__)."/../../ms_configura.php"); + + if(isset($logExec) && $logExec["upload"] == true){ + i3GeoLog("uploadsimbolo filename:" . $_FILES['i3GEOuploadsimboloarq']['name'],$dir_tmp); + } + echo "

Carregando o arquivo...

"; ob_flush(); flush(); diff --git a/ms_configura.php b/ms_configura.php index d3ef5ef..f1562bd 100755 --- a/ms_configura.php +++ b/ms_configura.php @@ -67,6 +67,16 @@ $i3geomaster = array( Define se as transacoes no banco de dados de administracao serao mantidas em uma tabela de logs +Para que isso funcione e necessario que exista a tabela que armazena o log. + +Se voce possui um banco de administracao anterior a versao 7, utilize o seguinte sql para criar a tabela + +- caso esteja utilizando SQLlite: +CREATE TABLE i3geoadmin_log (id_log INTEGER PRIMARY KEY,sql TEXT,serializedata TEXT,usuario TEXT,ip TEXT,timestamp TEXT,outros TEXT) + +- caso esteja utilizando postgesql: +CREATE TABLE i3geoadmin.i3geoadmin_log (id_log SERIAL PRIMARY KEY NOT NULL,sql TEXT,serializedata TEXT,usuario TEXT,ip TEXT,timestamp TEXT,outros TEXT); + Tipo: {boolean} @@ -76,12 +86,62 @@ false */ $logTransacoes = false; +//TODO documentar moodle +/* + Variale: $logExec + + Ativa a geracao do log em ms_tmp/.log_i3geo_ + + Para evitar o log, basta definir os valores como false ou $logExec = '' + +*/ +$logExec = array( + "mapa_" => true, //mapa_openlayers e mapa_googlemaps + "init" => true, //ms_criamapa mapa_inicia + "ogc" => true, //servico ogc + "upload" => true //ferramentas de upload +); +/* + Variable: $i3GeoProjDefault + +Parametros de projecao cartografica utilizados nos mapas e nas exportacoes de arquivos. + +Os valores devem ser obtidos do site http://spatialreference.org/ + +proj4 - corresponde a string de definicao de projecao conforme a biblioteca proj4, exemplo http://spatialreference.org/ref/epsg/4326/proj4/ + +epsg - corresponde ao codigo da projecao definido pela autoridade EPSG e eh o mesmo utilizado como SRID no Postgis, exemplo http://spatialreference.org/ref/epsg/4326/ + +prj - string utilizado para gerar arquivos .prj que compoem shapefiles, exemplo: http://spatialreference.org/ref/epsg/4326/esriwkt/ + +A exportacao de arquivos shapefile gera sempre o PRJ conforme essa definicao. + +Quando um mapfile utilizado no i3Geo nao possui a definicao de projecao no LAYER o i3Geo utilizara a projecao definida nessa variavel. + +Caso essa variavel esteja definida como vazio ou nao definida aqui o i3Geo utilizara o defaul, que se baseia no EPSG:4326. + +Os mapfiles de inicializacao tem seus parametros de projecao sobrepostos por essa variavel. + +Tipo: +{array} + +Default: +baseado em 4326 + +*/ +$i3GeoProjDefault = array( + 'proj4' => '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs ', + 'epsg' => '4326', + 'prj' => 'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]' +); /* Variable: $statusFerramentas -Algumas das funcionalidades do mapa interativo dependem de configurações específicas do servidor. -Esse array informa quais dessas ferramentas estão corretamente configuradas. -As que estiverem marcadas como false não serão mostradas na interface do mapa interativo +Algumas das funcionalidades do mapa interativo dependem de configuracoes especificas do servidor. +Esse array informa quais dessas ferramentas estao corretamente configuradas. +As que estiverem marcadas como false nao serao mostradas na interface do mapa interativo +Sobre essas configuracoes, veja na pasta i3geo/ferramentas e na documentacao do +sistema de administracao do i3Geo */ $statusFerramentas = array( "saiku"=>true, @@ -449,7 +509,8 @@ Tipo: $postgis_mapa = array( "teste"=>"user=postgres password=postgres dbname=teste host=localhost port=5432", "postgres"=>"user=postgres password=postgres dbname=postgres host=localhost port=5432", - "i3geosaude"=>"user=postgres password=postgres dbname=i3geosaude host=localhost port=5432 options='-c client_encoding=LATIN1'" + "i3geosaude"=>"user=postgres password=postgres dbname=i3geosaude host=localhost port=5432 options='-c client_encoding=LATIN1'", + "i3geosaudeUtf"=>"user=postgres password=postgres dbname=i3geosaude host=localhost port=5432" ); /* Variable: utilizacgi diff --git a/ms_criamapa.php b/ms_criamapa.php index 7741848..81611fe 100755 --- a/ms_criamapa.php +++ b/ms_criamapa.php @@ -223,6 +223,7 @@ filtros - filtros podem ser adicionados incluindo o parametro da seguinte forma: // //quando $funcao existe, é pq o ms_criamapa.php está sendo utilizado como um include em classesphp/mapa_controle.php // + ms_ResetErrorList(); if(!isset($funcao)){ ob_end_clean(); @@ -285,6 +286,9 @@ $versao = $versao["principal"]; if(!isset($dir_tmp)){ include_once (dirname(__FILE__)."/ms_configura.php"); } +if(isset($logExec) && $logExec["init"] == true){ + i3GeoLog("ms_criamapa ".implode("&",array_merge($_GET,$_POST)),$_SESSION["dir_tmp"]); +} if(!empty($restauramapa)){ $base = restauraMapaAdmin($restauramapa,$dir_tmp); $m = ms_newMapObj($base); @@ -602,6 +606,7 @@ $_SESSION["imgurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atu $_SESSION["tmpurl"] = strtolower($protocolo[0])."://".$_SERVER['HTTP_HOST'].$atual; $_SESSION["map_file"] = $tmpfname; $_SESSION["mapext"] = $mapext; +$_SESSION["logExec"] = $logExec; if (isset($executa)){ if (file_exists($executa)){ //include_once ($executa); diff --git a/ogc.php b/ogc.php index 7b5cdc8..2c009f5 100755 --- a/ogc.php +++ b/ogc.php @@ -130,6 +130,9 @@ $cache = true; include(dirname(__FILE__)."/ms_configura.php"); include(dirname(__FILE__)."/classesphp/funcoes_gerais.php"); +if(isset($logExec) && $logExec["ogc"] == true){ + i3GeoLog("ogc ".implode("&",$_GET),$_SESSION["dir_tmp"]); +} // //ajusta o default // -- libgit2 0.21.2