loadquery($qyfile);} $layersNames = $mapa->getalllayernames(); foreach ($layersNames as $layerName) { $l = $mapa->getLayerByname($layerName); if ($l->getmetadata("classesnome") != "") { include_once("funcoes_gerais.php"); autoClasses(&$l,$mapa); } if($layerName != $_GET["layer"]) {$l->set("status",MS_OFF);} if($layerName == $_GET["layer"] || $l->group == $_GET["layer"] && $l->group != "") {$l->set("status",MS_DEFAULT);} $l->set("template","none.htm"); } $map_size = explode(" ",$_GET["map_size"]); $mapa->setsize($map_size[0],$map_size[1]); $mapext = explode(" ",$_GET["mapext"]); $mapa->setExtent($mapext[0],$mapext[1],$mapext[2],$mapext[3]); $o = $mapa->outputformat; $o->set("imagemode",MS_IMAGEMODE_RGBA); if(!$qy) {$img = $mapa->draw();} else {$img = $mapa->drawQuery();} if (($postgis_mapa != "") || ($postgis_mapa != " ")) {restauraCon($_GET["map"],$postgis_mapa);} echo header("Content-type: " . $o->mimetype . "\n\n"); $img->saveImage(""); function nomeRandomico($n=10) { $nomes = ""; $a = 'azertyuiopqsdfghjklmwxcvbnABCDEFGHIJKLMNOPQRSTUVWXYZ'; $max = 51; for($i=0; $i < $n; ++$i) {$nomes .= $a{mt_rand(0, $max)};} return $nomes; } function substituiCon($map_file,$postgis_mapa) { if ((isset($postgis_mapa)) && (file_exists($map_file))) { if (($postgis_mapa != "") || ($postgis_mapa != " ")) { if(!@ms_newMapObj($map_file)){return false;} $objMap = ms_newMapObj($map_file); $numlayers = $objMap->numlayers; for ($i=0;$i < $numlayers;++$i) { $layer = $objMap->getlayer($i); if ($layer->connectiontype == MS_POSTGIS) { $lcon = $layer->connection; if(isset($postgis_mapa) && $postgis_mapa != "") { if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))) { // //o metadata CONEXAOORIGINAL guarda o valor original para posterior substituição // if(($lcon == " ") || ($lcon == "")) { $layer->set("connection",$postgis_mapa); $layer->setmetadata("CONEXAOORIGINAL",$lcon); } else { $layer->set("connection",$postgis_mapa[$lcon]); $layer->setmetadata("CONEXAOORIGINAL",$lcon); } } } } } $objMap->save($map_file); } } return true; } function restauraCon($map_file,$postgis_mapa) { if(!@ms_newMapObj($map_file)){return;} if(isset($postgis_mapa) && $postgis_mapa != "") { $objMap = ms_newMapObj($map_file); $numlayers = $objMap->numlayers; for ($i=0;$i < $numlayers;++$i) { $layer = $objMap->getlayer($i); if ($layer->connectiontype == MS_POSTGIS) { if (!is_array($postgis_mapa) && $layer->connection == $postgis_mapa) {$layer->set("connection"," ");} if($layer->getmetadata("conexaooriginal") != "") {$layer->set("connection",$layer->getmetadata("conexaooriginal"));} } } $objMap->save($map_file); } } ?>