Erro ao enviar o arquivo. (1)"; return; } include(dirname(__FILE__)."/../../classesphp/carrega_ext.php"); if(isset($logExec) && $logExec["upload"] == true){ i3GeoLog("prog: carregamapa filename:" . $_FILES['i3GEOcarregamapafilemap']['name'],$dir_tmp); } ?>

Carregando o arquivo...

"; $dirmap = $dir_tmp; $Arquivo = $_FILES['i3GEOcarregamapafilemap']['name']; $Arquivo = str_replace(".map","",$Arquivo) . md5(uniqid(rand(), true)) . "_up.map"; $Arquivo = strip_tags($Arquivo); $Arquivo = htmlspecialchars($Arquivo, ENT_QUOTES); verificaNome($Arquivo); if(isset($i3geoKeys) && $i3geoKeys["salvaMapfile"] != ""){ $status = move_uploaded_file($_FILES['i3GEOcarregamapafilemap']['tmp_name'],$dirmap."/".$Arquivo."temp.map"); $keyAscii = $i3geoKeys["salvaMapfile"]; $key = Key::loadFromAsciiSafeString($keyAscii); $inputFilename = $dirmap."/".$Arquivo."temp.map"; $outputFilename = $dirmap."/".$Arquivo; File::decryptFile($inputFilename, $outputFilename, $key); } else { $checkphp = fileContemString($_FILES['i3GEOcarregamapafilemap']['tmp_name'],"Ocorreu um erro no envio do arquivo"; paraAguarde(); exit; } if($status == 1){ echo "

Arquivo enviado. Verificando o mapa...

"; $map = ms_newMapObj($map_file); // //muda o arquivo de simbolo // $s = file_get_contents($dirmap."/".$Arquivo); $s = "MAP\n SYMBOLSET '".$map->symbolsetfilename."'\nFONTSET '".$map->fontsetfilename."'\n" . $s; $handle = fopen($dirmap."/".$Arquivo, "w"); fwrite($handle,$s); fclose($handle); $mapt = ms_newMapObj($dirmap."/".$Arquivo); unlink($dirmap."/".$Arquivo); // //apaga os layers do mapa atual // $numlayers = $map->numlayers; for ($i=0;$i < $numlayers;$i++) { $layer = $map->getlayer($i); $layer->set("status",MS_DELETE); } $map->save($map_file); // //copia os layers do mapfile temporario para o mapfile em uso // $numlayers = $mapt->numlayers; for ($i=0;$i < $numlayers;$i++){ $layert = $mapt->getlayer($i); $layert->setmetadata("cache","nao"); // //verifica se existe o tema em i3geo/temas // $arqoriginal = ""; if(file_exists($locaplic."/temas/".$layert->name.".map")){ $nomeoriginal = $layert->name; $arqoriginal = $locaplic."/temas/".$layert->name.".map"; } elseif (file_exists($locaplic."/temas/".$layert->getmetadata("nomeoriginal").".map")){ $nomeoriginal = $layert->getmetadata("nomeoriginal"); $arqoriginal = $locaplic."/temas/".$layert->getmetadata("nomeoriginal").".map"; } if($arqoriginal != ""){ // //o tema existe // $mapo = ms_newMapObj($arqoriginal); $layero = $mapo->getlayerbyname($nomeoriginal); $layero->setmetadata("cache","nao"); // //remove as classes do layer original // $nclasses = $layero->numclasses; if ($nclasses > 0){ for ($j=0; $j < $nclasses; ++$j){ $classe = $layero->getClass($j); $classe->set("status",MS_DELETE); } } // //copia as classes do layer do upload para o original // $nclasses = $layert->numclasses; if ($nclasses > 0){ for ($j=0; $j < $nclasses; ++$j){ $classe = $layert->getClass($j); //adiciona a classe no original ms_newClassObj($layero, $classe); } } // //ajusta parametros que o usuario pode ter modificado // if($layert->status == 2){ $layero->set("status",MS_DEFAULT); } else{ $layero->set("status",MS_OFF); } if(ms_GetVersionInt() >= 7){ $layero->updateFromString('LAYER COMPOSITE OPACITY '.$layert->opacity.'END END'); } else { $layero->set("opacity",$layert->opacity); } $layero->setmetadata("TEMA",$layert->getmetadata("TEMA")); // //adiciona o layer ao mapa atual // ms_newLayerObj($map,$layero); } elseif($layert->connectiontype == MS_INLINE || $layert->connectiontype == MS_WMS || $layert->connectiontype == MS_GRATICULE){ ms_newLayerObj($map,$layert); } } $map->save($map_file); validaAcessoTemas($map_file); echo "

Ok. redesenhando."; echo ""; //echo ""; } else{ echo "

Erro ao enviar o arquivo. (2)"; } } else{ echo "

Erro ao enviar o arquivo. (3)"; } paraAguarde(); function paraAguarde(){ echo ""; } function verificaNome($nome) { $nome = strtolower($nome); $lista = explode(".",$nome); $extensao = $lista[count($lista) - 1]; if($extensao != "map") { echo "Nome de arquivo inválido"; paraAguarde(); exit; } } ?>