diff --git a/admin/admin.db b/admin/admin.db index 2c88025..ce1788c 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/php/admin.php b/admin/php/admin.php index 460c273..a44c4b3 100755 --- a/admin/php/admin.php +++ b/admin/php/admin.php @@ -156,15 +156,19 @@ function exclui($tabela,$coluna,$id){ } } //usar esse para nao haver confusao com o nome "exclui" -function i3GeoAdminExclui($tabela,$coluna,$id){ +function i3GeoAdminExclui($tabela,$coluna,$id,$dbhw="",$close=true){ try { - include("conexao.php"); + if($dbh == "" || is_string($dbh)){ + include(dirname(__FILE__)."/conexao.php"); + } $sql = "DELETE from $tabela WHERE $coluna = ?"; $prep = $dbhw->prepare($sql); $prep->execute(array($id)); i3GeoAdminInsertLog($dbhw,$sql,array($id)); - $dbhw = null; - $dbh = null; + if($close == true){ + $dbh = null; + $dbhw = null; + } return "ok"; } catch (PDOException $e) { diff --git a/admin/php/conexao.php b/admin/php/conexao.php index 051229a..4abe071 100755 --- a/admin/php/conexao.php +++ b/admin/php/conexao.php @@ -65,7 +65,7 @@ if(!isset($logTransacoes)){ $convUTF = true; if($conexaoadmin == ""){ $arquivosqlite = $locaplic."/admin/admin.db"; - chmod($arquivosqlite,0777); + chmod($arquivosqlite,0774); //echo $arquivosqlite;exit; if(!file_exists($arquivosqlite)){ echo "O arquivo admin.db não existe. Utilize i3geo/admin/criabanco.php para criar o banco de dados SQLITE."; diff --git a/admin1/cadastros/identifica/exec.php b/admin1/cadastros/identifica/exec.php index ada6dd9..0c601d6 100755 --- a/admin1/cadastros/identifica/exec.php +++ b/admin1/cadastros/identifica/exec.php @@ -114,7 +114,7 @@ function adicionar($publicado_i, $abrir_i, $nome_i, $target_i,$dbhw) { } // $papeis deve ser um array function alterar($id_i, $publicado_i, $abrir_i, $nome_i, $target_i, $dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $nome_i = utf8_encode($nome_i); } diff --git a/admin1/cadastros/perfis/exec.php b/admin1/cadastros/perfis/exec.php index 279ba10..4368732 100755 --- a/admin1/cadastros/perfis/exec.php +++ b/admin1/cadastros/perfis/exec.php @@ -113,7 +113,7 @@ function adicionar($perfil, $dbhw) { } // $papeis deve ser um array function alterar($id_perfil, $perfil,$dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; //pega o nome conforme o ID $original = pegaDados ( "SELECT perfil from ".$esquemaadmin."i3geoadmin_perfis WHERE id_perfil = $id_perfil", $dbh, false ); $original = $original[0]["perfil"]; diff --git a/admin1/cadastros/servicos/exec.php b/admin1/cadastros/servicos/exec.php index c2fc3f0..871b055 100755 --- a/admin1/cadastros/servicos/exec.php +++ b/admin1/cadastros/servicos/exec.php @@ -115,7 +115,7 @@ function adicionar($autor_ws,$desc_ws,$link_ws,$nome_ws,$tipo_ws,$dbhw) { } // $papeis deve ser um array function alterar($id_ws,$autor_ws,$desc_ws,$link_ws,$nome_ws,$tipo_ws,$dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $nome_ws = utf8_encode($nome_ws); $desc_ws = utf8_encode($desc_ws); diff --git a/admin1/cadastros/tags/exec.php b/admin1/cadastros/tags/exec.php index 0f5e351..e68deda 100755 --- a/admin1/cadastros/tags/exec.php +++ b/admin1/cadastros/tags/exec.php @@ -113,7 +113,7 @@ function adicionar($nome, $dbhw) { } // $papeis deve ser um array function alterar($id_tag, $nome,$dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $nome = utf8_encode($nome); } diff --git a/admin1/catalogo/atlas/exec.php b/admin1/catalogo/atlas/exec.php index 85329bb..80c8a09 100755 --- a/admin1/catalogo/atlas/exec.php +++ b/admin1/catalogo/atlas/exec.php @@ -132,7 +132,7 @@ function adicionar( $titulo_atlas, $publicado_atlas, $ordem_atlas, $basemapfile_ } // $papeis deve ser um array function alterar($id_atlas, $titulo_atlas, $publicado_atlas, $ordem_atlas, $basemapfile_atlas, $desc_atlas, $h_atlas, $w_atlas, $icone_atlas, $link_atlas, $pranchadefault_atlas, $template_atlas, $tipoguias_atlas, $dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $desc_atlas = utf8_encode($desc_atlas); $titulo_atlas = utf8_encode($titulo_atlas); diff --git a/admin1/catalogo/atlas/pranchas/exec.php b/admin1/catalogo/atlas/pranchas/exec.php index 064e5ec..a651518 100755 --- a/admin1/catalogo/atlas/pranchas/exec.php +++ b/admin1/catalogo/atlas/pranchas/exec.php @@ -129,7 +129,7 @@ function adicionar( $id_atlas, $titulo_prancha, $ordem_prancha, $desc_prancha, $ } // $papeis deve ser um array function alterar($id_atlas, $id_prancha, $titulo_prancha, $ordem_prancha, $desc_prancha, $h_prancha, $icone_prancha, $link_prancha, $mapext_prancha, $w_prancha, $dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $desc_prancha = utf8_encode($desc_prancha); $titulo_prancha = utf8_encode($titulo_prancha); diff --git a/admin1/catalogo/mapas/exec.php b/admin1/catalogo/mapas/exec.php index 90f413b..3df08b6 100755 --- a/admin1/catalogo/mapas/exec.php +++ b/admin1/catalogo/mapas/exec.php @@ -31,7 +31,8 @@ include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php"); $funcoesEdicao = array ( "ADICIONAR", "ALTERAR", - "EXCLUIR" + "EXCLUIR", + "LIMPACACHE" ); if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { if (verificaOperacaoSessao ( "admin/html/mapas" ) === false) { @@ -41,13 +42,15 @@ if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { } include (dirname ( __FILE__ ) . "/../../../admin/php/conexao.php"); -$id_mapa = $_POST["id_mapa"]; -testaSafeNumerico([$id_mapa]); +$id_mapa = $_POST ["id_mapa"]; +testaSafeNumerico ( [ + $id_mapa +] ); $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ADICIONAR" : - $novo = adicionar( $_POST["publicado_mapa"], $_POST["ordem_mapa"], $_POST["perfil_mapa"], $_POST["ligados_mapa"], $_POST["temas_mapa"], $_POST["desc_mapa"], $_POST["ext_mapa"], $_POST["imagem_mapa"], $_POST["linkdireto_mapa"], $_POST["nome_mapa"], $_POST["outros_mapa"], $dbhw ); + $novo = adicionar ( $_POST ["publicado_mapa"], $_POST ["ordem_mapa"], $_POST ["perfil_mapa"], $_POST ["ligados_mapa"], $_POST ["temas_mapa"], $_POST ["desc_mapa"], $_POST ["ext_mapa"], $_POST ["imagem_mapa"], $_POST ["linkdireto_mapa"], $_POST ["nome_mapa"], $_POST ["outros_mapa"], $dbhw ); if ($novo === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); @@ -55,12 +58,12 @@ switch ($funcao) { exit (); break; case "ALTERAR" : - $novo = alterar ( $id_mapa, $_POST["publicado_mapa"], $_POST["ordem_mapa"], $_POST["perfil_mapa"], $_POST["ligados_mapa"], $_POST["temas_mapa"], $_POST["desc_mapa"], $_POST["ext_mapa"], $_POST["imagem_mapa"], $_POST["linkdireto_mapa"], $_POST["nome_mapa"], $_POST["outros_mapa"], $_POST["mapfile"] , $dbhw ); + $novo = alterar ( $id_mapa, $_POST ["publicado_mapa"], $_POST ["ordem_mapa"], $_POST ["perfil_mapa"], $_POST ["ligados_mapa"], $_POST ["temas_mapa"], $_POST ["desc_mapa"], $_POST ["ext_mapa"], $_POST ["imagem_mapa"], $_POST ["linkdireto_mapa"], $_POST ["nome_mapa"], $_POST ["outros_mapa"], $_POST ["mapfile"], $dbhw ); if ($novo === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); } - $dados = pegaDados ( "SELECT id_mapa from ".$esquemaadmin."i3geoadmin_mapas WHERE id_mapa = $id_mapa order by ordem_mapa, nome_mapa", $dbh, false ); + $dados = pegaDados ( "SELECT id_mapa from " . $esquemaadmin . "i3geoadmin_mapas WHERE id_mapa = $id_mapa order by ordem_mapa, nome_mapa", $dbh, false ); if ($dados === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); @@ -72,22 +75,26 @@ switch ($funcao) { exit (); break; case "LISTA" : - $semmapfile = pegaDados("SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'nao' as contemmapfile from ".$esquemaadmin."i3geoadmin_mapas where mapfile = '' or mapfile is null order by ordem_mapa, nome_mapa", $dbh, false); - $commapfile = pegaDados("SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'sim' as contemmapfile from ".$esquemaadmin."i3geoadmin_mapas where mapfile != '' and mapfile is not null order by ordem_mapa, nome_mapa", $dbh, false); + $semmapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'nao' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where mapfile = '' or mapfile is null order by ordem_mapa, nome_mapa", $dbh, false ); + $commapfile = pegaDados ( "SELECT id_mapa, publicado_mapa, ordem_mapa, perfil_mapa, ligados_mapa, temas_mapa, desc_mapa, ext_mapa, imagem_mapa, linkdireto_mapa, nome_mapa, outros_mapa, 'sim' as contemmapfile from " . $esquemaadmin . "i3geoadmin_mapas where mapfile != '' and mapfile is not null order by ordem_mapa, nome_mapa", $dbh, false ); if ($semmapfile === false || $commapfile === false) { $dbhw = null; $dbh = null; header ( "HTTP/1.1 500 erro ao consultar banco de dados tabela de mapas" ); exit (); } - $perfis = pegaDados ( "SELECT id_perfil, perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbh, false ); + $perfis = pegaDados ( "SELECT id_perfil, perfil from " . $esquemaadmin . "i3geoadmin_perfis order by perfil", $dbh, false ); $dbhw = null; $dbh = null; - //pega a lista de temas - include("../../../admin/php/classe_arvore.php"); - $arvore = new Arvore($locaplic); - $temas = $arvore->pegaTodosTemas(true); - retornaJSON ( array("dados"=>array_merge($semmapfile,$commapfile), "perfis"=>$perfis, "temas"=>$temas) ); + // pega a lista de temas + include ("../../../admin/php/classe_arvore.php"); + $arvore = new Arvore ( $locaplic ); + $temas = $arvore->pegaTodosTemas ( true ); + retornaJSON ( array ( + "dados" => array_merge ( $semmapfile, $commapfile ), + "perfis" => $perfis, + "temas" => $temas + ) ); break; case "EXCLUIR" : $retorna = excluir ( $id_mapa, $dbhw ); @@ -100,27 +107,27 @@ switch ($funcao) { retornaJSON ( $id_mapa ); exit (); break; + } cpjson ( $retorno ); - -function adicionar( $publicado_mapa, $ordem_mapa, $perfil_mapa, $ligados_mapa, $temas_mapa, $desc_mapa, $ext_mapa, $imagem_mapa, $linkdireto_mapa, $nome_mapa, $outros_mapa, $dbhw) { +function adicionar($publicado_mapa, $ordem_mapa, $perfil_mapa, $ligados_mapa, $temas_mapa, $desc_mapa, $ext_mapa, $imagem_mapa, $linkdireto_mapa, $nome_mapa, $outros_mapa, $dbhw) { global $esquemaadmin; try { - $dataCol = array( - "publicado_mapa" => '', - "ordem_mapa" => 0, - "perfil_mapa" => '', - "desc_mapa" => '', - "ext_mapa" => '', - "imagem_mapa" => '', - "linkdireto_mapa" => '', - "outros_mapa" => '', - "temas_mapa" => '', - "ligados_mapa" => '', - "nome_mapa" => '', - "mapfile" => '' + $dataCol = array ( + "publicado_mapa" => '', + "ordem_mapa" => 0, + "perfil_mapa" => '', + "desc_mapa" => '', + "ext_mapa" => '', + "imagem_mapa" => '', + "linkdireto_mapa" => '', + "outros_mapa" => '', + "temas_mapa" => '', + "ligados_mapa" => '', + "nome_mapa" => '', + "mapfile" => '' ); - $id_mapa = i3GeoAdminInsertUnico($dbhw,"i3geoadmin_mapas",$dataCol,"nome_mapa","id_mapa"); + $id_mapa = i3GeoAdminInsertUnico ( $dbhw, "i3geoadmin_mapas", $dataCol, "nome_mapa", "id_mapa" ); $retorna = alterar ( $id_mapa, $publicado_mapa, $ordem_mapa, $perfil_mapa, $ligados_mapa, $temas_mapa, $desc_mapa, $ext_mapa, $imagem_mapa, $linkdireto_mapa, $nome_mapa, $outros_mapa, '', $dbhw ); return $retorna; @@ -129,34 +136,34 @@ function adicionar( $publicado_mapa, $ordem_mapa, $perfil_mapa, $ligados_mapa, $ } } // $papeis deve ser um array -function alterar($id_mapa, $publicado_mapa, $ordem_mapa, $perfil_mapa, $ligados_mapa, $temas_mapa, $desc_mapa, $ext_mapa, $imagem_mapa, $linkdireto_mapa, $nome_mapa, $outros_mapa, $mapfile ,$dbhw) { - global $esquemaadmin; - if($convUTF){ - $nome_mapa = utf8_encode($nome_mapa); - $desc_mapa = utf8_encode($desc_mapa); - $perfil_menu = utf8_encode($perfil_mapa); +function alterar($id_mapa, $publicado_mapa, $ordem_mapa, $perfil_mapa, $ligados_mapa, $temas_mapa, $desc_mapa, $ext_mapa, $imagem_mapa, $linkdireto_mapa, $nome_mapa, $outros_mapa, $mapfile, $dbhw) { + global $convUTF, $esquemaadmin; + if ($convUTF) { + $nome_mapa = utf8_encode ( $nome_mapa ); + $desc_mapa = utf8_encode ( $desc_mapa ); + $perfil_menu = utf8_encode ( $perfil_mapa ); } - $perfil_mapa = str_replace(","," ",trim($perfil_mapa)); - //verifica a consistencia da lista de perfis - $perfis = pegaDados ( "SELECT perfil from ".$esquemaadmin."i3geoadmin_perfis order by perfil", $dbw, false ); - $p = array(); - foreach ($perfis as $perfil){ - $p[] = $perfil["perfil"]; + $perfil_mapa = str_replace ( ",", " ", trim ( $perfil_mapa ) ); + // verifica a consistencia da lista de perfis + $perfis = pegaDados ( "SELECT perfil from " . $esquemaadmin . "i3geoadmin_perfis order by perfil", $dbw, false ); + $p = array (); + foreach ( $perfis as $perfil ) { + $p [] = $perfil ["perfil"]; } - $perfil_mapa = implode(" ",array_intersect(explode(" ",$perfil_mapa),$p)); + $perfil_mapa = implode ( " ", array_intersect ( explode ( " ", $perfil_mapa ), $p ) ); - $dataCol = array( - "publicado_mapa" => $publicado_mapa, - "ordem_mapa" => $ordem_mapa, - "desc_mapa" => $desc_mapa, - "ext_mapa" => $ext_mapa, - "imagem_mapa" => $imagem_mapa, - "outros_mapa" => $outros_mapa, - "nome_mapa" => $nome_mapa, - "linkdireto_mapa" => $linkdireto_mapa, - "temas_mapa" => $temas_mapa, - "ligados_mapa" => $ligados_mapa, - "perfil_mapa" => $perfil_mapa + $dataCol = array ( + "publicado_mapa" => $publicado_mapa, + "ordem_mapa" => $ordem_mapa, + "desc_mapa" => $desc_mapa, + "ext_mapa" => $ext_mapa, + "imagem_mapa" => $imagem_mapa, + "outros_mapa" => $outros_mapa, + "nome_mapa" => $nome_mapa, + "linkdireto_mapa" => $linkdireto_mapa, + "temas_mapa" => $temas_mapa, + "ligados_mapa" => $ligados_mapa, + "perfil_mapa" => $perfil_mapa ); $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_mapas", $dataCol, "WHERE id_mapa = $id_mapa" ); if ($resultado === false) { @@ -172,4 +179,5 @@ function excluir($id_mapa, $dbhw) { } return $resultado; } + ?> diff --git a/admin1/catalogo/mapfile/exec.php b/admin1/catalogo/mapfile/exec.php index a8d5aec..54d6b50 100755 --- a/admin1/catalogo/mapfile/exec.php +++ b/admin1/catalogo/mapfile/exec.php @@ -29,7 +29,8 @@ error_reporting ( 0 ); include_once (dirname ( __FILE__ ) . "/../../../admin/php/login.php"); $funcoesEdicao = array ( - "LISTA" + "LISTA", + "ADICIONAR" ); if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { if (verificaOperacaoSessao ( "admin/html/editormapfile" ) === false) { @@ -39,131 +40,348 @@ if (in_array ( strtoupper ( $funcao ), $funcoesEdicao )) { } include (dirname ( __FILE__ ) . "/../../../admin/php/conexao.php"); -//$id_mapa = $_POST["id_mapa"]; -//testaSafeNumerico([$id_mapa]); +// $id_mapa = $_POST["id_mapa"]; +// testaSafeNumerico([$id_mapa]); $funcao = strtoupper ( $funcao ); switch ($funcao) { + case "ADICIONAR" : + $codigo = $_POST ["codigo"]; + $codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); + $codigo = str_replace ( ".", "", $codigo ); + $codigo = strip_tags ( $codigo ); + $codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); + $arq = $locaplic . "/temas/" . $codigo . ".map"; + if ($codigo == "" || file_exists ( $arq )) { + header ( "HTTP/1.1 400 arquivo ja existe" ); + exit (); + } + $novo = adicionar ( $locaplic, $_POST ["link_tema"], $codigo, $_POST ["acessopublico"], $_POST ["metaestat"], $_POST ["titulo"], $_POST ["desc_tema"], $_POST ["tituloEN"], $_post ["tituloES"], $dbhw ); + if ($novo === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } + retornaJSON ( array ( + "codigo" => $codigo + ) ); + exit (); + break; + case "EXCLUIR" : + $codigo = $_POST ["codigo"]; + $codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); + $codigo = str_replace ( ".", "", $codigo ); + $codigo = strip_tags ( $codigo ); + $codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); + $retorna = excluir ( $codigo, $dbhw ); + $dbhw = null; + $dbh = null; + if ($retorna === false) { + header ( "HTTP/1.1 400 $retorna" ); + exit (); + } + retornaJSON ( array ( + "codigo" => $codigo + ) ); + exit (); + break; case "LISTA" : - $retorna = lista($dbh); + $retorna = lista ( $dbh ); $dbhw = null; $dbh = null; if ($retorna === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); } - retornaJSON ($retorna); - exit(); + retornaJSON ( $retorna ); + exit (); + break; + case "LIMPACACHE" : + $mapfile = $locaplic."/temas/".$_POST["codigo"].".map"; + if(!file_exists($mapfile)){ + header ( "HTTP/1.1 403 arquivo nao existe" ); + exit (); + } + $mapa = ms_newMapObj($mapfile); + $nomes = $mapa->getalllayernames(); + //$cachedir e $dir_tmp vem de ms_configura.php + if($cachedir != ""){ + $d = $cachedir; + } + else{ + $d = $dir_tmp."/cache"; + } + foreach($nomes as $nome){ + $nome = str_replace(".","",$nome); + $nome = strip_tags($nome); + $nome = htmlspecialchars($nome, ENT_QUOTES); + $dirs[] = $d."/".$nome; + $dirs[] = $d."/googlemaps/".$nome; + $dirs[] = $d."/wmts/".$nome; + foreach($dirs as $dir){ + rrmdir($dir); + } + } + retornaJSON("ok"); + exit (); break; } cpjson ( $retorno ); +function excluir($codigo, $dbhw) { + global $locaplic, $esquemaadmin; + // pega o id do tema + // se o mapfile nao estiver registrado, $id sera vazio + $dados = pegaDados ( "SELECT id_tema from " . $esquemaadmin . "i3geoadmin_temas WHERE codigo_tema = '" . $codigo . "'", $dbhw, false ); + if (count ( $dados ) > 0) { + $id = $dados [0] ["id_tema"]; + } else { + $id = ""; + } + // verifica se o tema esta em uso + if ($id != "") { + $r = pegaDados ( "SELECT id_tema from " . $esquemaadmin . "i3geoadmin_n3 where id_tema ='$id'", $dbhw, false ); + if (count ( $r ) > 0) { + return "o tema e utilizado em algum subgrupo"; + } + $r = pegaDados ( "SELECT id_tema from " . $esquemaadmin . "i3geoadmin_raiz where id_tema ='$id'", $dbhw, false ); + if (count ( $r ) > 0) { + return "o tema e utilizado em alguma raiz"; + } + } + if (!file_exists ( "$locaplic/temas/" . $codigo . ".map" )) { + return "o arquivo mapfile nao existe"; + } + //verifica se pode escrever + $handle = fopen("$locaplic/temas/" . $codigo . ".map", "r+"); + if($handle == false){ + return "o arquivo nao pode ser apagado verifique as permissoes"; + } + fclose($handle); + //tenta excluir do banco + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geoadmin_temas", "id_tema", $id, $dbhw, true ); + if ($resultado === false) { + return "nao foi possivel excluir do banco de dados"; + } + unlink("$locaplic/temas/" . $codigo . ".map"); + return true; +} +function adicionar($locaplic, $link_tema, $codigo, $acessopublico, $metaestat, $titulo, $desc_tema, $tituloEN, $tituloES, $dbhw) { + global $convUTF, $esquemaadmin; + $arq = $locaplic . "/temas/" . $codigo . ".map"; + if (empty ( $acessopublico ) || $acessopublico == "on") { + $acessopublico = "SIM"; + } else { + $acessopublico = "SIM"; + } + $tipoLayer = "line"; + $dados [] = "MAP"; + $dados [] = "SYMBOLSET ../symbols/simbolosv6.sym"; + $dados [] = 'FONTSET "../symbols/fontes.txt"'; + $dados [] = "LAYER"; + $dados [] = ' NAME "' . $codigo . '"'; + $dados [] = ' TEMPLATE "none.htm"'; + if (! empty ( $metaestat ) && $metaestat == "SIM") { + $dados [] = ' CONNECTIONTYPE POSTGIS'; + $tipoLayer = "polygon"; + } + $dados [] = " TYPE " . $tipoLayer; + $dados [] = ' DATA ""'; + $dados [] = ' CONNECTION ""'; + $dados [] = ' STATUS DEFAULT'; + $dados [] = ' METADATA'; + $dados [] = ' TEMA "' . $titulo . '"'; + $dados [] = ' CLASSE "SIM"'; + $tipoa_tema = ""; + if (! empty ( $metaestat ) && $metaestat == "SIM") { + $dados [] = ' METAESTAT "SIM"'; + // para marcar no banco de dados de administracao + $tipoa_tema = "META"; + } + $dados [] = ' permiteogc "' . $acessopublico . '"'; + $dados [] = ' permitedownload "' . $acessopublico . '"'; + $dados [] = ' permitekml "' . $acessopublico . '"'; + $dados [] = ' permitekmz "' . $acessopublico . '"'; + $dados [] = ' END'; + $dados [] = ' CLASS'; + $dados [] = ' NAME ""'; + $dados [] = ' STYLE'; + $dados [] = ' COLOR 0 0 0'; + $dados [] = ' SIZE 12'; + $dados [] = ' END'; + $dados [] = ' END'; + $dados [] = "END"; + $dados [] = "END"; -function lista($dbh,$filtro=""){ - global $locaplic,$esquemaadmin; - $arquivos = array(); - if (is_dir($locaplic."/temas")){ - if ($dh = opendir($locaplic."/temas")){ + // abre o arquivo para ver se nao deu erro antes de adicionar ao banco + $fp = fopen ( $arq, "w" ); + if ($fp === false) { + return false; + } + if ($convUTF != true) { + $titulo = utf8_decode ( $titulo ); + $desc_tema = utf8_decode ( $desc_tema ); + } + try { + $dataCol = array ( + "link_tema" => $link_tema, + "kml_tema" => $acessopublico, + "kmz_tema" => $acessopublico, + "ogc_tema" => $acessopublico, + "download_tema" => $acessopublico, + "desc_tema" => $desc_tema, + "tipoa_tema" => $tipoa_tema, + "tags_tema" => '', + "nome_tema" => $titulo, + "codigo_tema" => $codigo, + "it" => "", + "es" => $tituloES, + "en" => $tituloEN + ); + i3GeoAdminInsert ( $dbhw, "i3geoadmin_temas", $dataCol ); + // salva o arquivo mapfile + foreach ( $dados as $dado ) { + fwrite ( $fp, $dado . "\n" ); + } + fclose ( $fp ); + return $retorna; + } catch ( PDOException $e ) { + return false; + } +} +function lista($dbh, $filtro = "") { + global $locaplic, $esquemaadmin; + $arquivos = array (); + if (is_dir ( $locaplic . "/temas" )) { + if ($dh = opendir ( $locaplic . "/temas" )) { $extensao = ""; - while (($file = readdir($dh)) !== false){ - if(!stristr($file, '.map') === FALSE){ - $file = str_replace(".map","",$file); - $arquivos[] = array("nome"=>$file); + while ( ($file = readdir ( $dh )) !== false ) { + if (! stristr ( $file, '.map' ) === FALSE) { + $file = str_replace ( ".map", "", $file ); + $arquivos [] = array ( + "nome" => $file + ); } } } - closedir($dh); + closedir ( $dh ); } - sort($arquivos); + sort ( $arquivos ); // - //pega o nome de cada tema filtrando a listagem se for o caso + // pega o nome de cada tema filtrando a listagem se for o caso // - $regs = pegaDados("select * from ".$esquemaadmin."i3geoadmin_temas ", $dbh, false); - //pega os grupos de usuarios que podem acessar o tema - $grpids = array(); - $sql = "select nome,descricao,a.id_grupo,id_tema from ".$esquemaadmin."i3geousr_grupotema as a,".$esquemaadmin."i3geousr_grupos as b where a.id_grupo = b.id_grupo"; - $gs = pegaDados($sql, $dbh, false); - //agrupa o array - foreach($gps as $g){ - array_push($grpids[$g["id_tema"]],array("id_grupo"=>$g["id_grupo"],"nome"=>$g["nome"],"descricao"=>$g["descricao"])); - } + $regs = pegaDados ( "select * from " . $esquemaadmin . "i3geoadmin_temas ", $dbh, false ); - $nomes = array(); - $ids = array(); - foreach($regs as $reg){ - $nomes[$reg["codigo_tema"]] = $reg["nome_tema"]; - $ids[$reg["codigo_tema"]] = $reg["id_tema"]; + $nomes = array (); + $ids = array (); + foreach ( $regs as $reg ) { + $nomes [$reg ["codigo_tema"]] = $reg ["nome_tema"]; + $ids [$reg ["codigo_tema"]] = $reg ["id_tema"]; } - $lista = array(); + $lista = array (); - foreach($arquivos as $arq){ - $arq = $arq["nome"]; - $nT = explode(".",$arq); - $n = $nomes[$nT[0]]; - if(!$n){ + foreach ( $arquivos as $arq ) { + $arq = $arq ["nome"]; + $nT = explode ( ".", $arq ); + $n = $nomes [$nT [0]]; + if (! $n) { $n = ""; } - $id = $ids[$nT[0]]; - if(!$id){ + $id = $ids [$nT [0]]; + if (! $id) { $id = ""; } - //pega os grupos de usuarios - $grupousr = $grpids[$id]; - if(!$grupousr){ - $grupousr = ""; - } $imagem = ""; - if(file_exists($locaplic."/temas/miniaturas/".$arq.".map.mini.png")){ - $imagem = $arq.".map.mini.png"; + if (file_exists ( $locaplic . "/temas/miniaturas/" . $arq . ".map.mini.png" )) { + $imagem = $arq . ".map.mini.png"; } - if($_POST["checaNomes"] == "true"){ - if(file_exists($locaplic."/temas/".$arq.".map")){ - $handle = fopen($locaplic."/temas/".$arq.".map", "r"); - while (!feof($handle)){ - $linha = fgets($handle); - if(stripos($linha,"'TEMA'") !== false || stripos($linha,'"TEMA"') !== false){ - $ntema = str_replace(array("'TEMA'",'"TEMA"',"'tema'",'"tema"'),"",$linha); - $ntema = trim(str_replace(array("'",'"'),"",$ntema)); - if($n != $ntema && $n != utf8_encode($ntema) && $n != ""){ - $n .= "".utf8_encode($ntema).""; + if ($_POST ["checaNomes"] == "true") { + if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) { + $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" ); + while ( ! feof ( $handle ) ) { + $linha = fgets ( $handle ); + if (stripos ( $linha, "'TEMA'" ) !== false || stripos ( $linha, '"TEMA"' ) !== false) { + $ntema = str_replace ( array ( + "'TEMA'", + '"TEMA"', + "'tema'", + '"tema"' + ), "", $linha ); + $ntema = trim ( str_replace ( array ( + "'", + '"' + ), "", $ntema ) ); + if ($n != $ntema && $n != utf8_decode ( $ntema ) && $n != "") { + $n .= "" . utf8_decode ( $ntema ) . ""; } break; } } - fclose($handle); + fclose ( $handle ); } } - if($_POST["checaNames"] == "true"){ - if(file_exists($locaplic."/temas/".$arq.".map")){ - $handle = fopen($locaplic."/temas/".$arq.".map", "r"); - //deve buscar dentro de LAYER pois pode haver simbolos antes + if ($_POST ["checaNames"] == "true") { + if (file_exists ( $locaplic . "/temas/" . $arq . ".map" )) { + $handle = fopen ( $locaplic . "/temas/" . $arq . ".map", "r" ); + // deve buscar dentro de LAYER pois pode haver simbolos antes $elayer = false; - while (!feof($handle)){ - $linha = trim(fgets($handle)); - if(stripos($linha,"LAYER") === 0){ + while ( ! feof ( $handle ) ) { + $linha = trim ( fgets ( $handle ) ); + if (stripos ( $linha, "LAYER" ) === 0) { $elayer = true; } - if($elayer == true && stripos($linha,"NAME") === 0){ - $ntema = ltrim($linha,"NAMEname"); - $ntema = trim(str_replace(array("'",'"'),"",$ntema)); - if($arq != $ntema){ + if ($elayer == true && stripos ( $linha, "NAME" ) === 0) { + $ntema = ltrim ( $linha, "NAMEname" ); + $ntema = trim ( str_replace ( array ( + "'", + '"' + ), "", $ntema ) ); + if ($arq != $ntema) { $n .= ""; } break; } } - fclose($handle); + fclose ( $handle ); } } - if(isset($filtro) && $filtro != "" && $n != ""){ - $lista[] = array("grupousr"=>$grupousr,"id_tema"=>$id,"nome"=>$n,"codigo"=>$arq,"imagem"=>$imagem,"extensao"=>$extensao); + if (isset ( $filtro ) && $filtro != "" && $n != "") { + $lista [] = array ( + "id_tema" => $id, + "nome" => $n, + "codigo" => $arq, + "imagem" => $imagem, + "extensao" => $extensao + ); } - if(!isset($filtro) || $filtro == ""){ - $lista[] = array("grupousr"=>$grupousr,"id_tema"=>$id,"nome"=>$n,"codigo"=>$arq,"imagem"=>$imagem,"extensao"=>$extensao); + if (! isset ( $filtro ) || $filtro == "") { + $lista [] = array ( + "id_tema" => $id, + "nome" => $n, + "codigo" => $arq, + "imagem" => $imagem, + "extensao" => $extensao + ); } - } return $lista; } +function rrmdir($dir) { + if (is_dir($dir)) { + $objects = scandir($dir); + foreach ($objects as $object) { + if ($object != "." && $object != "..") { + if (filetype($dir."/".$object) == "dir") { + rrmdir($dir."/".$object); + } else { + $object = str_replace(".png","",$object).".png"; + chmod($dir."/".$object,077); + unlink($dir."/".$object); + } + } + } + reset($objects); + //rmdir($dir); + } +} ?> diff --git a/admin1/catalogo/mapfile/index.js b/admin1/catalogo/mapfile/index.js index a47f7c0..3816f20 100755 --- a/admin1/catalogo/mapfile/index.js +++ b/admin1/catalogo/mapfile/index.js @@ -48,43 +48,14 @@ Obtém a lista var filtro = i3GEOadmin.core.valorFiltro(); //objeto json com os dados viondos do banco var json = jQuery.parseJSON(data); - //template do form de cada operacao var templateLista = $("#templateLista").html(); - //combo com temas - var opcoesTema = '' + Mustache.to_html( - "{{#data}}" + $("#templateTemas").html() + "{{/data}}", - {"data":json["temas"]} - ); - //combo com perfis - var opcoesPerfil = '' + Mustache.to_html( - "{{#data}}" + $("#templateOpcoesPerfil").html() + "{{/data}}", - {"data":json["perfis"]} - ); - //lista todas as menus var html = Mustache.to_html( "{{#data}}" + templateLista + "{{/data}}", $.extend( {}, i3GEOadmin.mapfile.dicionario, { - "data": json, - "onExcluir": "i3GEOadmin.mapfile.excluirDialogo",//funcao - "onSalvar": "i3GEOadmin.mapfile.salvarDialogo",//funcao - "opcoesPublicado": function(){ - var hash = {}; - hash["sim"] = i3GEOadmin.mapfile.dicionario.sim; - hash["nao"] = i3GEOadmin.mapfile.dicionario.nao; - if(this.publicado_mapa == ""){ - this.publicado_mapa = "SIM"; - } - hash[this.publicado_mapa + "-sel"] = "selected"; - return Mustache.to_html( - $("#templateOpcoesPublicado").html(), - hash - ); - }, - "opcoesPerfil": opcoesPerfil, - "opcoesTema": opcoesTema + "data": json } ) ); @@ -119,9 +90,7 @@ Obtém a lista {}, i3GEOadmin.mapfile.dicionario, { - "data": "modal", - "onExcluir": "i3GEOadmin.core.fechaModalGeral", - "onSalvar": "i3GEOadmin.mapfile.salvarDialogo" + "data": "modal" } ) ); @@ -129,7 +98,7 @@ Obtém a lista }, // os parametros sao obtidos do formulario aberto do modal adiciona: function(){ - var parametros = $("#form-modal form").serialize(); + var parametros = $("#form-modal-adiciona").serialize(); i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( @@ -138,8 +107,10 @@ Obtém a lista ) .done( function(data, status){ + var json = jQuery.parseJSON(data); i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); + i3GEOadmin.mapfile.favoritosArray.push(json.codigo); i3GEOadmin.mapfile.lista(); } ) @@ -164,45 +135,14 @@ Obtém a lista i3GEOadmin.core.modalAguarde(true); $.post( "exec.php?funcao=excluir", - "id_mapa="+id - ) - .done( - function(data, status){ - i3GEOadmin.core.modalAguarde(false); - var json = jQuery.parseJSON(data)*1; - $("#form-" + json).remove(); - } - ) - .fail( - function(data){ - i3GEOadmin.core.modalAguarde(false); - i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); - } - ); - }, - salvarDialogo: function(id){ - var hash = { - "mensagem": i3GEOadmin.mapfile.dicionario.confirma, - "onBotao1": "i3GEOadmin.mapfile.salvar('"+id+"')", - "botao1": i3GEOadmin.mapfile.dicionario.sim, - "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", - "botao2": i3GEOadmin.mapfile.dicionario.nao - }; - i3GEOadmin.core.abreModalConfirma(hash); - }, - salvar: function(id){ - var parametros = $("#form-" + id + " form").serialize(); - i3GEOadmin.core.fechaModalGeral(); - i3GEOadmin.core.modalAguarde(true); - $.post( - "exec.php?funcao=alterar", - "id_mapa="+ id+"&"+parametros + "codigo="+id ) .done( function(data, status){ i3GEOadmin.core.modalAguarde(false); - i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); - i3GEOadmin.mapfile.lista(); + var json = jQuery.parseJSON(data); + $("#form-" + json.codigo).remove(); + i3GEOadmin.mapfile.registraFavoritos(json.codigo); } ) .fail( @@ -212,10 +152,6 @@ Obtém a lista } ); }, - addInput: function(id,valor){ - var i = $("#"+id); - $(i.val(i.val() + ' ' + valor)); - }, retornaFavoritosArray: function(){ var temp = i3GEO.util.pegaCookie("I3GEOfavoritosEditorMapfile"); if(temp){ @@ -227,6 +163,7 @@ Obtém a lista return i3GEOadmin.mapfile.favoritosArray; }, registraFavoritos: function(codigoTema){ + i3GEOadmin.mapfile.favoritosArray.remove("NaN"); if(i3GEO.util.in_array(codigoTema,i3GEOadmin.mapfile.favoritosArray)){ i3GEOadmin.mapfile.favoritosArray.remove(codigoTema); } else { @@ -236,16 +173,46 @@ Obtém a lista i3GEOadmin.mapfile.montaFavoritos(); }, montaFavoritos: function(){ - var mapfile, i, conteudo = [], n, codigo; + var mapfile, i, conteudo = [], n, codigo, h; n = i3GEOadmin.mapfile.favoritosArray.length; for (i=0; i"; - conteudo.push(mapfile); + h = $("#form-" + codigo + " .panel-heading").html(); + if(h != undefined){ + mapfile = '
' + h; + conteudo.push(mapfile); + mapfile = '
' + $("#form-" + codigo + " .panel-body").html() + "
"; + conteudo.push(mapfile); + } } $("#body-favoritos").html(conteudo.join("\n")); + }, + limpaCacheDialogo: function(codigo){ + var hash = { + "mensagem": i3GEOadmin.mapfile.dicionario.excluiCache, + "onBotao1": "i3GEOadmin.mapfile.limpaCache('"+codigo+"')", + "botao1": i3GEOadmin.mapfile.dicionario.sim, + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.mapfile.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + limpaCache: function(codigo){ + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=limpaCache", + "codigo="+codigo + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); } - }; \ No newline at end of file diff --git a/admin1/catalogo/mapfile/index.php b/admin1/catalogo/mapfile/index.php index 3665c72..18d8896 100755 --- a/admin1/catalogo/mapfile/index.php +++ b/admin1/catalogo/mapfile/index.php @@ -68,24 +68,18 @@ include "../../head.php";
-
-
-
-
-
-
- -
-
-
- diff --git a/admin1/catalogo/menus/exec.php b/admin1/catalogo/menus/exec.php index f1bff1a..cd02b40 100755 --- a/admin1/catalogo/menus/exec.php +++ b/admin1/catalogo/menus/exec.php @@ -131,7 +131,7 @@ function adicionar($publicado_menu, $perfil_menu, $aberto, $desc_menu, $nome_men } // $papeis deve ser um array function alterar($id_menu, $publicado_menu, $perfil_menu, $aberto, $desc_menu, $nome_menu, $es, $en,$dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $nome_menu = utf8_encode($nome_menu); $desc_menu = utf8_encode($desc_menu); diff --git a/admin1/catalogo/menus/grupos/listadegrupos/exec.php b/admin1/catalogo/menus/grupos/listadegrupos/exec.php index 13341ba..56bb187 100755 --- a/admin1/catalogo/menus/grupos/listadegrupos/exec.php +++ b/admin1/catalogo/menus/grupos/listadegrupos/exec.php @@ -124,7 +124,7 @@ function adicionar($nome_grupo, $desc_grupo, $en, $es, $dbhw) { } // $papeis deve ser um array function alterar($id_grupo, $nome_grupo, $desc_grupo, $en, $es, $dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $nome_grupo = utf8_encode($nome_grupo); $desc_grupo = utf8_encode($desc_grupo); diff --git a/admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/exec.php b/admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/exec.php index 2cba406..b03b6bf 100755 --- a/admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/exec.php +++ b/admin1/catalogo/menus/grupos/subgrupos/listadesubgrupos/exec.php @@ -124,7 +124,7 @@ function adicionar($nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw) { } // $papeis deve ser um array function alterar($id_subgrupo, $nome_subgrupo, $desc_subgrupo, $en, $es, $dbhw) { - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $nome_subgrupo = utf8_encode($nome_subgrupo); $desc_subgrupo = utf8_encode($desc_subgrupo); diff --git a/admin1/dicionario/core.js b/admin1/dicionario/core.js index cf18fb3..7e81a88 100755 --- a/admin1/dicionario/core.js +++ b/admin1/dicionario/core.js @@ -419,5 +419,15 @@ i3GEOadmin.core.dicionario = { pt : "Editar lista", en : "", es : "" + } ], + 'arquivoTxt' : [ { + pt : "Arquivo", + en : "", + es : "" + } ], + 'tituloTxt' : [ { + pt : "Título", + en : "", + es : "" } ] }; diff --git a/admin1/dicionario/editormapfile.js b/admin1/dicionario/editormapfile.js index b46ceeb..e8601b4 100755 --- a/admin1/dicionario/editormapfile.js +++ b/admin1/dicionario/editormapfile.js @@ -1505,9 +1505,14 @@ i3GEOadmin.mapfile.dicionario = { en : "", es : "" } ], - '' : [ { - pt : "", + 'criaMapfileDesc' : [ { + pt : "Será criado um arquivo mapfile na pasta i3geo/temas e registrado no banco de dados de administração. Para facilitar a edição posterior, os mapfiles criados são adicionados na lista de favoritos.", + en : "", + es : "" + } ], + 'fonteTema' : [{ + pt : "Link para os metadados", en : "", es : "" - } ] + }] }; diff --git a/admin1/usuarios/cadastro/exec.php b/admin1/usuarios/cadastro/exec.php index 50bbdd9..5ec20d0 100755 --- a/admin1/usuarios/cadastro/exec.php +++ b/admin1/usuarios/cadastro/exec.php @@ -192,9 +192,9 @@ function adicionar($ativo, $data_cadastro, $email, $login, $nome_usuario, $senha } // $papeis deve ser um array function alterar($id_usuario, $ativo, $data_cadastro, $email, $login, $nome_usuario, $senha, $papeis, $dbhw) { - global $esquemaadmin; - if ($convUTF) { - $nome_usuario = utf8_encode ( $nome_usuario ); + global $convUTF, $esquemaadmin; + if ($convUTF != true) { + $nome_usuario = utf8_decode ( $nome_usuario ); } $dataCol = array ( "nome_usuario" => $nome_usuario, diff --git a/admin1/usuarios/grupos/exec.php b/admin1/usuarios/grupos/exec.php index b85b6e2..4b41e3d 100755 --- a/admin1/usuarios/grupos/exec.php +++ b/admin1/usuarios/grupos/exec.php @@ -151,10 +151,10 @@ function adicionar($nome, $descricao, $usuarios, $dbhw) { } // $papeis deve ser um array function alterar($id_grupo, $nome, $descricao, $usuarios, $dbhw) { - global $esquemaadmin; - if ($convUTF) { - $nome = utf8_encode ( $nome ); - $descricao = utf8_encode ( $descricao ); + global $convUTF, $esquemaadmin; + if ($convUTF != true) { + $nome = utf8_decode ( $nome ); + $descricao = utf8_decode ( $descricao ); } $dataCol = array ( "nome" => $nome, diff --git a/admin1/usuarios/operacoes/exec.php b/admin1/usuarios/operacoes/exec.php index 4884bed..3e7d3be 100755 --- a/admin1/usuarios/operacoes/exec.php +++ b/admin1/usuarios/operacoes/exec.php @@ -153,7 +153,7 @@ function adicionar($codigo,$descricao,$papeis,$dbhw){ } //$papeis deve ser um array function alterar($id_operacao,$codigo,$descricao,$papeis,$dbhw){ - global $esquemaadmin; + global $convUTF, $esquemaadmin; if($convUTF){ $descricao = utf8_encode($descricao); } diff --git a/classesphp/mapa_openlayers.php b/classesphp/mapa_openlayers.php index 88060f4..524db82 100755 --- a/classesphp/mapa_openlayers.php +++ b/classesphp/mapa_openlayers.php @@ -503,6 +503,7 @@ function salvaCacheImagem($cachedir,$map,$tms){ else{ $nome = $cachedir.$tms; } + $nome = str_replace(".png","",$nome); $nome = $nome.".png"; if(!file_exists($nome)){ @mkdir(dirname($nome),0744,true); diff --git a/ogc.php b/ogc.php index 97646aa..a1d08f6 100755 --- a/ogc.php +++ b/ogc.php @@ -132,7 +132,9 @@ if(isset($_GET["TileMatrix"])){ $res[] = $temp; $temp = $temp / 2; } - $_GET["tms"] = "/wmts/".$tema."/".$_GET["TileMatrix"]."/".$_GET["TileCol"]."/".$_GET["TileRow"].".png"; + $_GET["tms"] = "/wmts/".$tema."/".$_GET["TileMatrix"]."/".$_GET["TileCol"]."/".$_GET["TileRow"]; + $_GET["tms"] = str_replace(".png","",$_GET["tms"]).".png"; + if($_GET["TileMatrix"]."/".$_GET["TileCol"]."/".$_GET["TileRow"] == "0/0/0" || $_GET["TileCol"] == -1 || $_GET["TileRow"]== -1){ return; } -- libgit2 0.21.2