Commit 3b9a8fefc5a03f321b83b1afa0676d3b5f7e6c3c

Authored by Edmar Moretti
1 parent b58e197a

Contorno de erro do Mapserver na versão 6.0.3 ao criar imagens via save()

classesphp/mapa_googlemaps.php
@@ -76,6 +76,24 @@ if(@$_SESSION["fingerprint"]){ @@ -76,6 +76,24 @@ if(@$_SESSION["fingerprint"]){
76 $f = explode(",",$_SESSION["fingerprint"]); 76 $f = explode(",",$_SESSION["fingerprint"]);
77 if (md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id()) != $f[0] && !in_array($_GET["telaR"],$f) ){ 77 if (md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id()) != $f[0] && !in_array($_GET["telaR"],$f) ){
78 ilegal(); 78 ilegal();
  79 + } else{
  80 + if($img->imagepath == "")
  81 + {echo "Erro IMAGEPATH vazio";exit;}
  82 + if(ms_GetVersionInt() != 60003 ){
  83 + header('Content-Type: image/png');
  84 + $img->saveImage();
  85 + }
  86 + else{
  87 + $nomer = ($img->imagepath)."temp".nomeRand().".png";
  88 + $img->saveImage($nomer);
  89 + $img = imagecreatefrompng($nomer);
  90 + imagealphablending($img, false);
  91 + imagesavealpha($img, true);
  92 + ob_clean();
  93 + echo header("Content-type: image/png \n\n");
  94 + imagepng($img);
  95 + imagedestroy($img);
  96 + }
79 } 97 }
80 } 98 }
81 else{ 99 else{
@@ -296,11 +314,24 @@ else{ @@ -296,11 +314,24 @@ else{
296 header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nomer)).' GMT', true, 200); 314 header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($nomer)).' GMT', true, 200);
297 fpassthru(fopen($nomer, 'rb')); 315 fpassthru(fopen($nomer, 'rb'));
298 } 316 }
299 - else{ 317 + else{
300 if($img->imagepath == "") 318 if($img->imagepath == "")
301 {echo "Erro IMAGEPATH vazio";exit;} 319 {echo "Erro IMAGEPATH vazio";exit;}
302 - header('Content-Type: image/png');  
303 - $img->saveImage(); 320 + if(ms_GetVersionInt() != 60003 ){
  321 + header('Content-Type: image/png');
  322 + $img->saveImage();
  323 + }
  324 + else{
  325 + $nomer = ($img->imagepath)."temp".nomeRand().".png";
  326 + $img->saveImage($nomer);
  327 + $img = imagecreatefrompng($nomer);
  328 + imagealphablending($img, false);
  329 + imagesavealpha($img, true);
  330 + ob_clean();
  331 + echo header("Content-type: image/png \n\n");
  332 + imagepng($img);
  333 + imagedestroy($img);
  334 + }
304 } 335 }
305 exit; 336 exit;
306 } 337 }
classesphp/mapa_openlayers.php
@@ -288,10 +288,23 @@ else{ @@ -288,10 +288,23 @@ else{
288 fpassthru(fopen($nomer, 'rb')); 288 fpassthru(fopen($nomer, 'rb'));
289 } 289 }
290 else{ 290 else{
291 - if($img->imagepath == "")  
292 - {echo "Erro IMAGEPATH vazio";exit;}  
293 - header('Content-Type: image/png');  
294 - $img->saveImage(); 291 + if($img->imagepath == "")
  292 + {echo "Erro IMAGEPATH vazio";exit;}
  293 + if(ms_GetVersionInt() != 60003 ){
  294 + header('Content-Type: image/png');
  295 + $img->saveImage();
  296 + }
  297 + else{
  298 + $nomer = ($img->imagepath)."temp".nomeRand().".png";
  299 + $img->saveImage($nomer);
  300 + $img = imagecreatefrompng($nomer);
  301 + imagealphablending($img, false);
  302 + imagesavealpha($img, true);
  303 + ob_clean();
  304 + echo header("Content-type: image/png \n\n");
  305 + imagepng($img);
  306 + imagedestroy($img);
  307 + }
295 } 308 }
296 } 309 }
297 function salvaCacheImagem($cachedir,$map,$tms){ 310 function salvaCacheImagem($cachedir,$map,$tms){