Após geradas as imagens, copie os arquivos para o diretório i3geo/temas/miniaturas."; echo "
As miniaturas são geradas apenas para os arquivos que ainda não existem no diretório temas/miniaturas."; echo "
Gerar todas as miniaturas"; echo "
Gerar apenas as pequenas"; echo "
Gerar apenas as grandes"; echo "
"; exit; } error_reporting(E_ALL); $arqs = listaArquivos("temas"); ob_start(); foreach ($arqs["arquivos"] as $arq) { $temp = explode(".",$arq); if($temp[(count($temp) - 1)] == "map") { //if(file_exists($locaplic.'/temas/miniaturas/'.$arq.'.mini.png') == false) //echo $locaplic.'/temas/miniaturas/'.$arq.'.mini.png
'; if($tipo == "mini" || $tipo == "todos") {if(!file_exists($locaplic.'/temas/miniaturas/'.$arq.'.mini.png')){echo "
".$arq."
";verificaMiniatura($arq,"mini");}} if($tipo == "grande" || $tipo == "todos") {if(!file_exists($locaplic.'/temas/miniaturas/'.$arq.'.grande.png')){echo "
".$arq."
";verificaMiniatura($arq,"grande");}} } ob_end_flush(); ob_flush(); flush(); ob_start(); } } // //se tipo for igual a "admin", as imagens são gravadas em i3geo/temas/miniaturas // function verificaMiniatura($map,$tipo,$admin=false) { global $locaplic,$versao,$base; if($versao == ""){ $versao = versao(); $versao = $versao["principal"]; } //echo $map."
";return; ms_ResetErrorList(); $tema = ""; $map = str_replace("\\","/",$map); $map = basename($map); if (file_exists($locaplic.'/temas/'.$map)) {$tema = $locaplic.'/temas/'.$map;} if (file_exists($locaplic.'/temas/'.$map.'.map')) {$tema = $locaplic.'/temas/'.$map.".map";} if ($tema != "") { if(isset($base) && $base != ""){ if(file_exists($base)) {$f = $base;} else {$f = $locaplic."/aplicmap/".$base.".map";} if(!file_exists($base)){ echo "ARQUIVO $base NÂO FOI ENCONTRADO. CORRIJA ISSO EM ms_configura.php"; exit; } } else { $f = ""; if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {$f = $locaplic."/aplicmap/geral1windowsv".$versao.".map";} else { if($f == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){ $f = "/var/www/i3geo/aplicmap/geral1debianv".$versao.".map"; } if($f == "" && file_exists('/var/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){ $f = "/var/www/html/i3geo/aplicmap/geral1fedorav".$versao.".map"; } if($f == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){ $f = "/opt/www/html/i3geo/aplicmap/geral1v".$versao.".map"; } if($f == "") {$f = $locaplic."/aplicmap/geral1v".$versao.".map";} } } $mapa = ms_newMapObj($f); if(@ms_newMapObj($tema)) {$nmapa = ms_newMapObj($tema);} else { echo "erro no arquivo $tema
"; return; } $temasn = $nmapa->getAllLayerNames(); $dados = ""; foreach ($temasn as $teman) { $layern = $nmapa->getLayerByName($teman); $layern->set("status",MS_DEFAULT); ms_newLayerObj($mapa, $layern); autoClasses($layern,$mapa,$locaplic); if ($layern->data == "") {$dados = $layern->connection;} else {$dados = $layern->data;} $pegarext = $teman; } if (isset($postgis_mapa)) { if ($postgis_mapa != "") { $numlayers = $mapa->numlayers; for ($i=0;$i < $numlayers;++$i) { $layer = $mapa->getlayer($i); if ($layer->connectiontype == MS_POSTGIS) { if ($layer->connection == " ") { $layer->set("connection",$postgis_mapa); } } } } } zoomTemaMiniatura($pegarext,$mapa); if ($tipo == "mini" || $tipo == "todos") { $mapa->setsize(50,50); $sca = $mapa->scalebar; $sca->set("status",MS_OFF); $objImagemM = @$mapa->draw(); //if ($objImagemM == "" || $objImagemM == MS_FAILURE) //{echo "Problemas ao gerar o mapa
";return;} $weboM = $mapa->web; $urlM = $weboM->imageurl."/".$map; } if ($tipo == "grande" || $tipo == "todos") { $mapa->setsize(300,300); $sca = $mapa->scalebar; $sca->set("status",MS_OFF); $objImagemG = @$mapa->draw(); //if ($objImagemG == "" || $objImagemG == MS_FAILURE) //{echo "Problemas ao gerar o mapa
";return;} $weboG = $mapa->web; $urlG = $weboG->imageurl."/".$map; } if($tipo=="mini" || $tipo == "todos") { if($objImagemM->imagepath == "") {echo "Erro IMAGEPATH vazio";return;} $nomecM = ($objImagemM->imagepath).$map.".mini.png"; $objImagemM->saveImage($nomecM); } if($tipo=="grande" || $tipo == "todos") { if($objImagemG->imagepath == "") {echo "Erro IMAGEPATH vazio";return;} $nomecG = ($objImagemG->imagepath).$map.".grande.png"; $objImagemG->saveImage($nomecG); } if($admin == false) { if($tipo=="mini" || $tipo == "todos") {echo "

";} if($tipo=="grande" || $tipo == "todos") {echo "

";} } // //copia a imagem // if($admin == true) { $dir = $locaplic."/temas/miniaturas"; $mini = $dir."/".$map.".map.mini.png"; $grande = $dir."/".$map.".map.grande.png"; if(file_exists($mini)) {unlink($mini);} if(file_exists($grande)) {unlink($grande);} copy(($objImagemG->imagepath).$map.".grande.png",$grande); copy(($objImagemM->imagepath).$map.".mini.png",$mini); } } } function zoomTemaMiniatura($nomelayer,&$mapa) { $layer = $mapa->getlayerbyname($nomelayer); if($layer->data == "" && $layer->connection == "") {return;} if($layer->type > 2) {return;} $prjMapa = $mapa->getProjection(); $prjTema = $layer->getProjection(); $extatual = $mapa->extent; $ret = $layer->getmetadata("extensao"); $ct = $layer->connectiontype; if(($ret == "") && ($ct != 1)) {return;} if ($ret == "") { $ret = $layer->getextent(); if(!$ret){return;} //reprojeta o retangulo if (($prjTema != "") && ($prjMapa != $prjTema)) { $projInObj = ms_newprojectionobj($prjTema); $projOutObj = ms_newprojectionobj($prjMapa); $ret->project($projInObj, $projOutObj); } $extatual->setextent($ret->minx,$ret->miny,$ret->maxx,$ret->maxy); } else { $ret = explode(" ",$ret); $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]); } } ?>