Commit 959e458be4b0d152cbee9ce29f59588bbbb6b3f4

Authored by Edmar Moretti
1 parent 36987e22

Inclusão de parâmetro no ms_configura para definição da pasta para armazenamento de cache

admin/admin.db
No preview for this file type
admin/php/editormapfile.php
... ... @@ -174,19 +174,26 @@ switch (strtoupper($funcao))
174 174 $mapfile = $locaplic."/temas/".$codigoMap.".map";
175 175 $mapa = ms_newMapObj($mapfile);
176 176 $nomes = $mapa->getalllayernames();
  177 + if($cachedir != "")
  178 + {$d = $cachedir;}
  179 + else
  180 + {$d = $dir_tmp."/cache";}
177 181 foreach($nomes as $nome)
178 182 {
179   - $dir = $dir_tmp."/cache/".$nome;
180   - if (is_dir($dir)) {
181   - $objects = scandir($dir);
182   - foreach ($objects as $object) {
183   - if ($object != "." && $object != "..") {
184   - if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
  183 + $dirs[] = $d."/".$nome;
  184 + $dirs[] = $d."/googlemaps/".$nome;
  185 + foreach($dirs as $dir){
  186 + if (is_dir($dir)) {
  187 + $objects = scandir($dir);
  188 + foreach ($objects as $object) {
  189 + if ($object != "." && $object != "..") {
  190 + if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
  191 + }
185 192 }
  193 + reset($objects);
  194 + rmdir($dir);
186 195 }
187   - reset($objects);
188   - rmdir($dir);
189   - }
  196 + }
190 197 }
191 198 retornaJSON("ok");
192 199 exit;
... ...
classesphp/funcoes_gerais.php
... ... @@ -2625,11 +2625,13 @@ Parametro:
2625 2625  
2626 2626 $dir_tmp {string} - Diretório temporário (no servidor) utilizado pelo mapserver.
2627 2627  
  2628 +$$cachedir {string} - Diretório de cache temporário definido no ms_configura.php
  2629 +
2628 2630 Retorno:
2629 2631  
2630 2632 {boleano}
2631 2633 */
2632   -function criaDirMapa($dir_tmp)
  2634 +function criaDirMapa($dir_tmp,$cachedir="")
2633 2635 {
2634 2636 if(!file_exists($dir_tmp)){
2635 2637 @mkdir ($dir_tmp,0777);
... ... @@ -2642,8 +2644,14 @@ function criaDirMapa($dir_tmp)
2642 2644 $mapfile = $dir_tmp."/".$tmpdirname."/".$tmpdirname.".map";
2643 2645 $tmpimgname = "img".$tmpdirname;
2644 2646 @mkdir($dir_tmp."/comum",0777);
2645   - @mkdir($dir_tmp."/cache",0777);
2646   - @mkdir($dir_tmp."/cache/googlemaps",0777);
  2647 + if($cachedir == ""){
  2648 + @mkdir($dir_tmp."/cache",0777);
  2649 + @mkdir($dir_tmp."/cache/googlemaps",0777);
  2650 + }
  2651 + else{
  2652 + @mkdir($cachedir,0777);
  2653 + @mkdir($cachedir."/googlemaps",0777);
  2654 + }
2647 2655 if(file_exists($dir_tmp."/".$tmpdirname))
2648 2656 return array($mapfile,$tmpdirname,$tmpimgname);
2649 2657 else
... ...
classesphp/mapa_googlemaps.php
... ... @@ -89,6 +89,7 @@ if(!isset($_SESSION["map_file"]))
89 89 //
90 90 $map_fileX = $_SESSION["map_file"];
91 91 $postgis_mapa = $_SESSION["postgis_mapa"];
  92 +$cachedir = $_SESSION["cachedir"];
92 93 //
93 94 //converte a requisição do tile em coordenadas geo
94 95 //http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#tile_numbers_to_lon.2Flat_2
... ... @@ -192,7 +193,7 @@ if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
192 193 if($qy)
193 194 {$cache = false;}
194 195 if($cache == true)
195   -{carregaCacheImagem($_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
  196 +{carregaCacheImagem($cachedir,$_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
196 197  
197 198 $map_size = explode(" ",$_GET["map_size"]);
198 199 $mapa->setsize($map_size[0],$map_size[1]);
... ... @@ -286,7 +287,7 @@ if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
286 287 }
287 288 else{
288 289 if($cache == true)
289   - {$nomer = salvaCacheImagem($_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
  290 + {$nomer = salvaCacheImagem($cachedir,$_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
290 291 else{
291 292 if($img->imagepath == "")
292 293 {echo "Erro IMAGEPATH vazio";exit;}
... ... @@ -301,27 +302,34 @@ else{
301 302 echo header("Content-type: image/png \n\n");
302 303 imagepng($img);
303 304 }
304   -function salvaCacheImagem($bbox,$layer,$map,$w,$h){
  305 +function salvaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){
305 306 global $img,$map_size;
306 307 //layers que são sempre iguais
  308 + //error_reporting(E_ALL);
307 309 if($layer == "copyright" || $layer == "")
308 310 {$bbox = "";}
309 311 if($layer == "")
310 312 {$layer = "fundo";}
311   - $nomedir = dirname(dirname($map))."/cache/googlemaps/".$layer;
312   - @mkdir($nomedir,0777);
313   - $nome = $nomedir."/".$w.$h.$bbox.".png";
  313 + if($cachedir == "")
  314 + {$cachedir = dirname(dirname($map))."/cache/googlemaps/".$layer;}
  315 + else
  316 + {$cachedir = $cachedir."/googlemaps/".$layer;}
  317 + @mkdir($cachedir,0777);
  318 + $nome = $cachedir."/".$w.$h.$bbox.".png";
314 319 if(!file_exists($nome))
315 320 {$img->saveImage($nome);}
316 321 return $nome;
317 322 }
318   -function carregaCacheImagem($bbox,$layer,$map,$w,$h){
  323 +function carregaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){
319 324 if($layer == "copyright" || $layer == "")
320 325 {$bbox = "";}
321 326 if($layer == "")
322 327 {$layer = "fundo";}
323 328 $nome = $w.$h.$bbox.".png";
324   - $nome = dirname(dirname($map))."/cache/googlemaps/".$layer."/".$nome;
  329 + if($cachedir == "")
  330 + {$nome = dirname(dirname($map))."/cache/googlemaps/".$layer."/".$nome;}
  331 + else
  332 + {$nome = $cachedir."/googlemaps/".$layer."/".$nome;}
325 333 if(file_exists($nome))
326 334 {
327 335 if (!function_exists('imagepng'))
... ...
classesphp/mapa_openlayers.php
... ... @@ -92,6 +92,7 @@ if(!isset($_SESSION["map_file"]))
92 92 //map_fileX é necessário caso register_globals = On no PHP.INI
93 93 $map_fileX = $_SESSION["map_file"];
94 94 $postgis_mapa = $_SESSION["postgis_mapa"];
  95 +$cachedir = $_SESSION["cachedir"];
95 96 if(isset($_GET["tipolayer"]) && $_GET["tipolayer"] == "fundo")
96 97 {$map_fileX = str_replace(".map","fundo.map",$map_fileX);}
97 98 if(isset($_GET["BBOX"]))
... ... @@ -168,7 +169,7 @@ if(strtolower($_GET["DESLIGACACHE"]) == "sim")
168 169 if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
169 170 {$cache = false;}
170 171 if($cache == true)
171   -{carregaCacheImagem($_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
  172 +{carregaCacheImagem($cachedir,$_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
172 173  
173 174 $map_size = explode(" ",$_GET["map_size"]);
174 175 $mapa->setsize($map_size[0],$map_size[1]);
... ... @@ -286,7 +287,7 @@ if(trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum")
286 287 }
287 288 else{
288 289 if($cache == true)
289   - {$nomer = salvaCacheImagem($_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
  290 + {$nomer = salvaCacheImagem($cachedir,$_GET["BBOX"],$nomecache,$map_fileX,$_GET["WIDTH"],$_GET["HEIGHT"]);}
290 291 else{
291 292 if($img->imagepath == "")
292 293 {echo "Erro IMAGEPATH vazio";exit;}
... ... @@ -302,17 +303,20 @@ else{
302 303 imagepng($img);
303 304 imagedestroy($img);
304 305 }
305   -function salvaCacheImagem($bbox,$layer,$map,$w,$h){
  306 +function salvaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){
306 307 global $img,$map_size;
  308 + //echo "oi".$cachedir;exit;
307 309 //layers que são sempre iguais
308 310 if($layer == "copyright" || $layer == "")
309 311 {$bbox = "";}
310 312 if($layer == "")
311 313 {$layer = "fundo";}
312   -
313   - $nomedir = dirname(dirname($map))."/cache/".$layer;
314   - @mkdir($nomedir,0777);
315   - $nome = $nomedir."/".$w.$h.$bbox.".png";
  314 + if($cachedir == "")
  315 + {$cachedir = dirname(dirname($map))."/cache/".$layer;}
  316 + else
  317 + {$cachedir = $cachedir."/".$layer;}
  318 + @mkdir($cachedir,0777);
  319 + $nome = $cachedir."/".$w.$h.$bbox.".png";
316 320 if(!file_exists($nome))
317 321 {
318 322 $img->saveImage($nome);
... ... @@ -320,14 +324,17 @@ function salvaCacheImagem($bbox,$layer,$map,$w,$h){
320 324 }
321 325 return $nome;
322 326 }
323   -function carregaCacheImagem($bbox,$layer,$map,$w,$h){
  327 +function carregaCacheImagem($cachedir,$bbox,$layer,$map,$w,$h){
324 328 if($layer == "copyright" || $layer == "")
325 329 {$bbox = "";}
326 330 if($layer == "")
327 331 {$layer = "fundo";}
328 332  
329 333 $nome = $w.$h.$bbox.".png";
330   - $nome = dirname(dirname($map))."/cache/".$layer."/".$nome;
  334 + if($cachedir == "")
  335 + {$nome = dirname(dirname($map))."/cache/".$layer."/".$nome;}
  336 + else
  337 + {$nome = $cachedir."/".$layer."/".$nome;}
331 338 if(file_exists($nome))
332 339 {
333 340 if (!function_exists('imagepng'))
... ...
ms_configura.php
... ... @@ -398,6 +398,20 @@ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
398 398 Vc pode usar essa variável para customizar a inicialização do mapa.
399 399 */
400 400 $base = "";
  401 + /*
  402 + Variable: cachedir
  403 +
  404 + Pasta onde ficarão armazenadas as imagens geradas pelo i3Geo para os LAYERS que permitem cache.
  405 +
  406 + Os layers que permitem cache são definidos no sistema de administração do i3Geo.
  407 +
  408 + Se cachedir for vazia, será utilizado o default do i3geo (diretório temporário)
  409 +
  410 + Exemplo
  411 +
  412 + $cachedir = 'c:/temp/cache';
  413 + */
  414 + $cachedir = "c:/temp/cache";
401 415 }
402 416 else //se for linux
403 417 {
... ... @@ -433,5 +447,6 @@ else //se for linux
433 447 $conexaoadmin = "";//$locaplic."/admin/php/conexaopostgresql.php";
434 448 $interfacePadrao = "openlayers.htm";
435 449 $base = "";
  450 + $cachedir = "";
436 451 }
437 452 ?>
438 453 \ No newline at end of file
... ...
ms_criamapa.php
... ... @@ -191,7 +191,7 @@ if(isset($idioma) && $idioma != "")
191 191 /*
192 192 Cria os diretórios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.
193 193 */
194   -$diretorios = criaDirMapa($dir_tmp);
  194 +$diretorios = criaDirMapa($dir_tmp,$cachedir);
195 195 if(!$diretorios)
196 196 {echo "<p style=color:red ><b>N&atilde;o foi poss&iacute;vel criar os diret&oacute;rios tempor&aacute;rios em $dir_tmp.</b></p>";exit;}
197 197 criaIndex();
... ... @@ -204,6 +204,7 @@ As variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com
204 204 */
205 205 if (!isset($mapext)){$mapext="";}
206 206 $editores_ = $editores;
  207 +$cachedir_ = $cachedir;
207 208 $dir_tmp_ = $dir_tmp;
208 209 $emailInstituicao_ = $emailInstituicao;
209 210 $locmapserv_ = $locmapserv;
... ... @@ -261,6 +262,7 @@ isso pq algumas aplicações podem ser prejudicadas caso o aguarde seja mostrado
261 262 */
262 263 $_SESSION["editores"] = $editores_;
263 264 $_SESSION["dir_tmp"] = $dir_tmp_;
  265 +$_SESSION["cachedir"] = $cachedir_;
264 266 $_SESSION["emailInstituicao"] = $emailInstituicao_;
265 267 $_SESSION["locmapserv"] = $locmapserv_;
266 268 $_SESSION["locaplic"] = $locaplic_;
... ...
ogc.php
... ... @@ -208,7 +208,7 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;)
208 208 {
209 209 $l->set("name",$tx);
210 210 if($cache == true && strtolower($l->getmetadata("cache")) == "sim"){
211   - carregaCacheImagem($_GET["BBOX"],$t,$_GET["WIDTH"],$_GET["HEIGHT"]);
  211 + carregaCacheImagem($_GET["BBOX"],$t,$_GET["WIDTH"],$_GET["HEIGHT"],$cachedir);
212 212 }
213 213 }
214 214 $l->setmetadata("gml_include_items","all");
... ... @@ -433,11 +433,13 @@ function ogc_imprimeListaDeTemas()
433 433 }
434 434 echo $imprimir."</body></html>";
435 435 }
436   -function carregaCacheImagem($bbox,$layer,$w,$h){
  436 +function carregaCacheImagem($bbox,$layer,$w,$h,$cachedir=""){
437 437 global $dir_tmp;
438   -
439 438 $nome = $w.$h.$bbox.".png";
440   - $nome = $dir_tmp."/cache/".$layer."/".$nome;
  439 + if($cachedir == "")
  440 + {$nome = $dir_tmp."/cache/".$layer."/".$nome;}
  441 + else
  442 + {$nome = $cachedir."/".$layer."/".$nome;}
441 443 if(file_exists($nome))
442 444 {
443 445 if (!function_exists('imagepng'))
... ...
temas/biomashp.map
1   -MAP
2   -
3   -
4   - FONTSET "c:\ms4w\apache\htdocs\i3geo\symbols\fontes.txt"
5   - SYMBOLSET "c:\ms4w\apache\htdocs\i3geo\symbols\simbolos.sym"
  1 +MAP
  2 + FONTSET "c:\ms4w\apache\htdocs\i3geo\symbols\fontes.txt"
  3 + SYMBOLSET "c:\ms4w\apache\htdocs\i3geo\symbols\simbolos.sym"
6 4 LAYER
7 5 CONNECTION ""
8 6 DATA "c:\ms4w\apache\htdocs\i3geo\aplicmap\dados\biomas.shp"
... ... @@ -10,30 +8,31 @@ MAP
10 8 GROUP "biomashp"
11 9 HEADER "teste.htm"
12 10 METADATA
13   - "cache" ""
14 11 "ltempoitemimagem" ""
15   - "ltempoitemdescricao" ""
  12 + "cache" "SIM"
16 13 "CLASSE" "SIM"
17   - "ltempoiteminicio" ""
  14 + "ltempoitemdescricao" ""
18 15 "palletestep" ""
19   - "ltempoitemtip" ""
  16 + "ltempoiteminicio" ""
20 17 "permitekmz" "sim"
21   - "ltempoitemtitulo" ""
22   - "description_template" ""
  18 + "ltempoitemtip" ""
23 19 "iconetema" "http://www.gpsdrive.de/development/map-icons/square.small/leisure/park.png"
  20 + "description_template" ""
  21 + "ltempoitemtitulo" ""
24 22 "ltempoitemlink" ""
25   - "extensao" "-44 -23 -39 -21"
26 23 "palletefile" ""
  24 + "extensao" "-44 -23 -39 -21"
27 25 "NOMEORIGINAL" ""
28   - "ltempoformatodata" ""
29 26 "permitedownload" "sim"
  27 + "ltempoformatodata" ""
30 28 "ltempoitemicone" ""
31 29 "download" "SIM"
32   - "permiteogc" ""
33 30 "permitekml" "sim"
  31 + "permiteogc" ""
  32 + "convcaracter" ""
34 33 "TEMA" "bioma shp"
35   - "editorsql" ""
36 34 "identifica" "NAO"
  35 + "editorsql" ""
37 36 "ltempoitemfim" ""
38 37 END
39 38 NAME "biomashp"
... ... @@ -109,4 +108,6 @@ MAP
109 108 TITLE ""
110 109 END
111 110 END
  111 +
112 112 END
  113 +
... ...