set_data(""); // //verifica se o usuário está tentando utilizar um link que não funciona mais // if (!isset($map_file)) { //nesse caso é necessário criar o diretório temporário e iniciar o mapa $cp->set_data("linkquebrado"); $cp->return_data(); exit; } include_once("classe_vermultilayer.php"); include_once("funcoes_gerais.php"); if ($map_file != "") { // //copia o map_file atual com outro nome para restaurar caso ocorra algum problema // copiaSeguranca($map_file); // //substitui a string de conexão // substituiCon($map_file,$postgis_mapa); } if($atlasxml == "") { include($locaplic."/admin/php/xml.php"); $xml = simplexml_load_string(geraXmlAtlas($locaplic,$editores)); } else $xml = simplexml_load_file($atlasxml); // //faz a busca da função que deve ser executada // switch ($funcao) { /* Property: pegaListaDeAtlas Pega a lista de Atlas definida no arquivo xml menutemas/atlas.xml. */ case "pegaListaDeAtlas": include_once("classe_atlas.php"); $atl = new Atlas($xml,$atlasxml); $resultado = $atl->pegaListaDeAtlas($tituloInstituicao); $cp->set_data($resultado); break; /* Property: criaAtlas Abre um Atlas específico, criando o mapa e chamando a interface desejada. Esse programa é chamado diretamente, por exemplo, i3geo/classesphp/atlas_controle.php?atlasxml=&atlasId= */ case "criaAtlas": include_once("classe_atlas.php"); $atlasxmltemp = $atlasxml; $atl = new Atlas($xml,$atlasxml); $res = $atl->criaAtlas($atlasId_); $interface = $res["interface"]; $base = $res["base"]; if ($interface == "") { echo "Erro. Nenhuma interface definida para esse Atlas"; exit; } if (!isset($caminho)) {$caminho = "../";} // // a função gravaId será executada no final do processo de geração do mapa (ver ms_criamapa.php) // $executa = "gravaId"; $temasa = ""; include_once("../ms_criamapa.php"); exit; break; /* Property: pegaListaDePranchas Pega a lista de pranchas de um atlas específico. */ case "pegaListaDePranchas": include_once("classe_atlas.php"); $atl = new Atlas($xml,$atlasxml); $resultado = $atl->pegaListaDePranchas($atlasId); $cp->set_data($resultado); break; /* Property: abrePrancha Ativa uma prancha do atlas. */ case "abrePrancha": include_once("classe_atlas.php"); $atl = new Atlas($xml,$atlasxml); $resultado = $atl->abrePrancha($atlasId,$pranchaId,$map_file,$locaplic); $cp->set_data($resultado); break; } if (!connection_aborted()) { if ($map_file != "") { restauraCon($map_file,$postgis_mapa); } $cp->return_data(); } else {exit();} function gravaid() { global $atlasId_,$tmpfname,$atlasxmltemp;//a variavel tmpfname vem do ms_criamapa.php $_SESSION["atlasId"] = $atlasId_; $_SESSION["utilizacgi"] = "nao"; $_SESSION["atlasxml"] = $atlasxmltemp; $m = ms_newMapObj($tmpfname); $nomes = $m->getalllayernames(); foreach($nomes as $n) { $l = $m->getlayerbyname($n); $l->setmetadata("ATLAS","nao"); $l->setmetadata("TIP",""); } $m->save($tmpfname); } ?>