_filter= * * Exemplo de filtro * * http://localhost/i3geo/ms_criamapa.php?temasa=_lbiomashp&map_layer__lbiomashp_filter=(('[CD_LEGENDA]'='CAATINGA'))&temasa=_lbiomashp * * no caso de camadas Postgis basta usar map_layer__lbiomashp_filter=cd_legenda='CAATINGA' * * largura - largura em pixel do mapa * * altura - altura em pixels do mapa * * DESLIGACACHE - sim|nao forca o desligamento do cache em todos os layers */ if (isset($_GET["ajuda"])) { echo "
";
echo "
Parâmetros:
base - arquivo mapfile que servirá de base para a criação do mapa. Por default, são utilizados os arquivos existentes em i3geo/aplicmap (geral1windows, geral1,...)
Essa variável pode ser definida em ms_configura também. Se não estiver definida em nenhum lugar, o i3Geo tentará descobrir o arquivo adequado a ser utilizado. Você pode utilizar essa opção para abrir um mapa com as camadas que você quiser, mas para evitar redundâncias, prefira o uso de &temasa
temasa - lista, separada por espaços, com os nomes dos arquivos map ou gvsig que serão adicionados ao mapa. Se o arquivo não estiver no diretório i3geo/temas, o nome deve incluir o caminho completo no servidor. O arquivo pode conter mais de um layer pois todos os existentes serão adicionados ao mapa. Por default, todos os layers encontrados nos mapfiles são adicionados ao mapa com o status de desenho em OFF.
layers - lista, separada por espaços, com os nomes dos layers que serão ligados. A lista deve conter os nomes dos layers e não os nomes dos mapfiles acrescentados ao mapa. Por exemplo, ao adicionar com 'temasa' um mapfile chamado 'transporte' que contenha os layers 'estradas' e 'ferrovias' os dois layers serão adicionados ao mapa. Para que esses dois layers fiquem visíveis no mapa deve-se utilizar &layers=estradas ferrovias.
desligar - lista com os nomes dos temas que serão forçados a inicializar desligados, ou seja, com STATUS OFF
mapext - extensao geografica que será utilizada. Por padrão, a extensão geográfica é definida para abranger o Brasil todo. Para alterar o padrão deve-se utilizar o parâmetro mapext para especificar a nova abrangência. Essa abrangência deve ser definida em coordenadas no formato décimos de grau e na projeção geográfica. Exemplo: &mapext=-54 -30 -50 -12. Observe que a ordem dos valores são xmin ymin xmax ymax
interface - nome da interface que será utilizada para abrir o mapa. As interfaces são arquivos HTML que podem estar no diretório aplicmap. Por default, utiliza-se o geral.htm. Vc pode copiar esse html e alterá-lo para customizar o mapa. Para chamar o html customizado, utilize ms_criamapa.php?interface=meumapa.htm
perfil - perfil utilizado para restringir os menus de temas. ms_criamapa.php?perfil=usuário1
caminho - caminho relativo que indica o local onde a interface do mapa esta localizada.
pontos - lista de coordenadas x e y que serão adicionadas como pontos no mapa.
nometemapontos - nome do tema de pontos
linhas - lista de coordenadas x e y que serão adicionadas como linhas no mapa. As coordenadas de linhas diferentes devem ser separadas por ',', por exemplo: -54 -12 -50 -12,-50 -1 -50 -2 -50 -3
nometemalinhas - nome do tema de linhas
poligonos - lista de coordenadas x e y que serão adicionadas como polígonos no mapa. As coordenadas dos vértices de polígonos diferentes devem ser separadas por ','.
nometemapoligonos - nome do tema de polígonos
simbolo - nome do símbolo que será utilizado para desenhar os elementos inseridos (veja arquivo de símbolos em i3geo/symbols)
corsimbolo - cor do símbolo definido em RGB separados por espaço ou vírgula
tamanhosimbolo - tamanho do símbolo em pixels
wkt - insere elementos no mapa com coordenadas definidas em wkt
nometemawkt - nome do tema em wkt
idioma - idioma da interface (veja os idiomas disponíveis em classe_idioma.js)
kmlurl - url de um arquivo KML que será incluido no mapa. Válido apenas na interface google maps
url_wms - endereço de um WMS (será incluido como uma camada no mapa)
layer_wms - nome do layer
style_wms - estilo do layer
nome_wms - nome da camada (titulo)
srs_wms - código da projeção
image_wms - tipo de imagem disponível
versao_wms - Versão do WMS (necessário quando da inclusão de uma camada WMS diretamente pela URL)
restauramapa - id do mapa armazenado no sistema de administracao e que será restaurado para ser aberto novamente
filtros - filtros podem ser adicionados incluindo o parametro da seguinte forma: &map_layer__filter=
Exemplo de filtro
http://localhost/i3geo/ms_criamapa.php?layers=_lbiomashp&temasa=_lbiomashp&map_layer__lbiomashp_filter=(('[CD_LEGENDA]'='CAATINGA'))
no caso de camadas Postgis basta usar map_layer__lbiomashp_filter=cd_legenda='CAATINGA'
largura - largura em pixel do mapa
altura - altura em pixels do mapa
";
exit();
}
// $_COOKIE = array();
//
// quando $funcao existe, é pq o ms_criamapa.php está
// sendo utilizado como um include em classesphp/mapa_controle.php
//
if (! isset($funcao)) {
ob_end_clean();
/*
* Carrega as extensões PHP
*
* Carrega as extensões utilizadas no programa de inicialização.
* A carga das extensões geralmente é necessária nas instalações windows (ms4w) ou quando as mesmas não são carregadas pela própria inicialização do PHP.
*/
include_once (dirname(__FILE__) . "/classesphp/carrega_ext.php");
/*
* Include dos arquivos PHP.
*
* Inclui os programas php com funções utilizadas pelo ms_criamapa.php
*/
include_once (dirname(__FILE__) . "/classesphp/sani_request.php");
include_once (dirname(__FILE__) . "/classesphp/funcoes_gerais.php");
if (! isset($_GET["interface"])) {
$_GET["interface"] = "";
}
$interface = $_GET["interface"];
}
$parurl = array_merge($_GET, $_POST);
//
// $base pode vir do ms_configura ou da URL
// o ms_configura pode ter sido inserido antes
//
if (empty($base) && ! empty($parurl["base"])) {
$base = $parurl["base"];
}
ms_ResetErrorList();
$metaestatids = @$parurl["metaestatids"];
$temasa = @$parurl["temasa"];
$layers = @$parurl["layers"];
$desligar = @$parurl["desligar"];
$mapext = @$parurl["mapext"];
$executa = ""; // $parurl["executa"];
$perfil = @$parurl["perfil"];
$caminho = @$parurl["caminho"];
$pontos = @$parurl["pontos"];
$nometemapontos = @$parurl["nometemapontos"];
$linhas = @$parurl["linhas"];
$nometemalinhas = @$parurl["nometemalinhas"];
$poligonos = @$parurl["poligonos"];
$nometemapoligonos = @$parurl["nometemapoligonos"];
$simbolo = @$parurl["simbolo"];
$corsimbolo = @$parurl["corsimbolo"];
$tamanhosimbolo = @$parurl["tamanhosimbolo"];
$wkt = @$parurl["wkt"];
$nometemawkt = @$parurl["nometemawkt"];
$idioma = @$parurl["idioma"];
$kmlurl = @$parurl["kmlurl"];
$url_wms = @$parurl["url_wms"];
$layer_wms = @$parurl["layer_wms"];
$style_wms = @$parurl["style_wms"];
$nome_wms = @$parurl["nome_wms"];
$srs_wms = @$parurl["srs_wms"];
$image_wms = @$parurl["image_wms"];
$versao_wms = @$parurl["versao_wms"];
$gvsigview = @$parurl["gvsigview"];
$restauramapa = @$parurl["restauramapa"];
$versao = versao();
$versao = $versao["principal"];
//
// a variável $base pode ser definida em ms_configura, mas a preferência é pela definição já existente
// por isso, $base é guardada em uma variável e retomada apos o include de ms_configura.php
// se restauramapa estiver definido, usa o mapfile guardado no banco de administracao como a base
//
if (! isset($dir_tmp)) {
include_once (dirname(__FILE__) . "/ms_configura.php");
if (! empty($parurl["base"])) {
$base = $parurl["base"];
}
if (! empty($parurl["interface"])) {
$interface = $parurl["interface"];
}
}
if (isset($logExec) && $logExec["init"] == true) {
i3GeoLog("prog: ms_criamapa url: " . implode("&", array_merge($_GET, $_POST)), $dir_tmp);
}
if (! empty($restauramapa)) {
$base = restauraMapaAdmin($restauramapa, $dir_tmp);
$m = ms_newMapObj($base);
$w = $m->web;
$w->set("imagepath", dirname($w->imagepath) . "/");
$w->set("imageurl", dirname($w->imageurl) . "/");
$m->save($base);
} else {
if (isset($base)) {
$tempBaseX = $base;
}
if (isset($tempBaseX) && $tempBaseX != "") {
$base = $tempBaseX;
}
}
// verifica se o usuario trocou a senha do master
if ($_SERVER['SERVER_NAME'] != "localhost" && ($i3geomaster[0]["usuario"] == "admin" && $i3geomaster[0]["senha"] == "admin")) {
echo json_encode(array(
"bloqueado" => "Bloqueado. ATENCAO!!! Acesso bloqueado: edite o arquivo i3geo/ms_configura.php e altere o login e senha da variavel i3geomaster"
));
exit();
}
/*
* Define o cookie para o idioma da interface
*/
if (isset($idioma) && $idioma != "") {
setcookie("i3geolingua", $idioma);
}
/*
* Cria os diretorios temporários que serão utilizados pelo i3geo para armazenar as imagens e outros dados.
*/
$diretorios = criaDirMapa($dir_tmp, $cachedir);
if (! $diretorios) {
echo "Não foi possível criar os diretórios temporários em $dir_tmp.
";
exit();
}
criaIndex($dir_tmp, $diretorios);
$tmpfname = $diretorios[0];
$protocolo = explode("/", $_SERVER['SERVER_PROTOCOL']);
/*
* Prepara as variáveis que serão incluidas na seção
*
* As variáveis vêm do arquivo ms_configura.php e são armazenadas em uma seção com nome específico para o i3geo.
*/
if (! isset($mapext) || empty($mapext)) {
$mapext = "";
} else {
$mapext = str_replace(",", " ", $mapext);
}
$saikuUrl_ = $saikuUrl;
$cachedir_ = $cachedir;
$dir_tmp_ = $dir_tmp;
$emailInstituicao_ = $emailInstituicao;
$locmapserv_ = $locmapserv;
$locaplic_ = $locaplic;
// $locsistemas_ = $locsistemas;
// $locidentifica_ = $locidentifica;
$R_path_ = $R_path;
$mapext_ = $mapext;
$debug_ = @$debug;
$ler_extensoes_ = $ler_extensoes;
$postgis_mapa_ = $postgis_mapa;
$tituloInstituicao_ = $tituloInstituicao;
// $atlasxml_ = $atlasxml;
$expoeMapfile_ = $expoeMapfile;
$googleApiKey_ = $googleApiKey;
$mensagemInicia_ = $mensagemInicia;
$interfacePadrao_ = $interfacePadrao;
if (empty($interface)) {
$interface_ = $interfacePadrao;
}
if (isset($kmlurl)) {
$kmlurl_ = $kmlurl;
}
//
// se houver string de conexão para substituição
// o modo cgi não irá funcionar
//
if ($postgis_mapa != "") {
$utilizacgi = "nao";
}
if (! isset($perfil)) {
$perfil = "";
}
$perfil_ = $perfil;
$utilizacgi_ = $utilizacgi;
if ((isset($navegadoresLocais)) && ($navegadoresLocais != "")) {
$navegadoresLocais_ = "sim";
} else {
$navegadoresLocais_ = "nao";
}
if (empty($i3georendermode)) {
$i3georendermode_ = 0;
} else {
$i3georendermode_ = $i3georendermode;
}
if (empty($statusFerramentas)) {
$statusFerramentas_ = array();
} else {
$statusFerramentas_ = $statusFerramentas;
}
if (empty($logExec)) {
$logExec_ = "";
} else {
$logExec_ = $logExec;
}
if (! isset($i3geoPermiteLogin)) {
$i3geoPermiteLogin_ = "";
} else {
$i3geoPermiteLogin_ = $i3geoPermiteLogin;
}
/*
* Inicia a seção
*
* O i3geo inicia uma seção específica no servidor, denominada i3GeoPHP.
* Se já houver uma seção aberta, em função de outro browser estar ativo, cria uma nova. Faz a cópia das variáveis definidas para itens da seção.
*/
session_name("i3GeoPHP");
session_start();
// echo $_SESSION["map_file"];exit;
if (! isset($g_sid)) {
$g_sid = "";
}
if (isset($_SESSION["map_file"]) || $g_sid != "" || $g_sid == "undefined") {
session_regenerate_id();
$_SESSION = array();
}
/*
* Aguarde
*
* Monta a apresentação do aguarde.
*
* Aqui é necessário verificar se $executa está definido
* isso pq algumas aplicações podem ser prejudicadas caso o aguarde seja mostrado
*/
$_SESSION["dir_tmp"] = $dir_tmp_;
$_SESSION["cachedir"] = $cachedir_;
$_SESSION["emailInstituicao"] = $emailInstituicao_;
$_SESSION["locmapserv"] = $locmapserv_;
$_SESSION["locaplic"] = $locaplic_;
$_SESSION["R_path"] = $R_path_;
$_SESSION["mapext"] = $mapext_;
$_SESSION["debug"] = $debug_;
$_SESSION["ler_extensoes"] = $ler_extensoes_;
$_SESSION["postgis_mapa"] = $postgis_mapa_;
$_SESSION["perfil"] = $perfil_;
$_SESSION["navegadoresLocais"] = $navegadoresLocais_;
$_SESSION["utilizacgi"] = $utilizacgi_;
$_SESSION["tituloInstituicao"] = $tituloInstituicao_;
$_SESSION["expoeMapfile"] = $expoeMapfile;
$_SESSION["googleApiKey"] = $googleApiKey_;
$_SESSION["mensagemInicia"] = $mensagemInicia_;
$_SESSION["interfacePadrao"] = $interfacePadrao_;
$_SESSION["logExec"] = $logExec_;
$_SESSION["i3geoPermiteLogin"] = $i3geoPermiteLogin_;
if (! isset($customDir)) {
$customDir = "";
}
$_SESSION["customDir"] = $customDir;
if (isset($interface_)) {
$_SESSION["interface"] = $interface_;
}
if (isset($kmlurl_)) {
$_SESSION["kmlurl"] = $kmlurl_;
}
// rotina de segurança, ver http://shiflett.org/articles/the-truth-about-sessions
$fingerprint = 'I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'];
$_SESSION['fingerprint'] = md5($fingerprint . session_id());
$_SESSION["mapdir"] = $diretorios[1];
$_SESSION["imgdir"] = $diretorios[2];
$_SESSION["contadorsalva"] = 0; // essa variavel e utilizada pela ferramenta telaremota. Toda vez que o mapa e salvo, acrescenta 1 (veja classesphp/mapa_controle.php)
$_SESSION["i3georendermode"] = $i3georendermode_;
$_SESSION["saikuUrl"] = $saikuUrl_;
$_SESSION["logExec"] = $logExec_;
$_SESSION["i3geoPermiteLogin"] = $i3geoPermiteLogin_;
// sao arrays
$postgis_mapa = $postgis_mapa_;
$_SESSION["statusFerramentas"] = $statusFerramentas_;
/*
* Define os arquivos .map
*
* Seleciona os arquivos mapfile que serão carregados como base conforme o tipo de sistema operacional.
*
* A variável $base pode ser definida como um parâmetro na inicialização, caso contrário será utilizado o valor definido em ms_configura.php ou o i3Geo tentará descobrir o melhor arquivo a ser usado, conforme o que existir em i3geo/aplicmap.
*
* Os arquivos .map padrão são armazenados em i3geo/aplicmap.
* O arquivo é lido conforma a característica do sistema operacional.
*
*/
$versao = versao();
$versao = $versao["principal"];
if (! isset($base) || $base == "") {
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
$base = $locaplic . "/aplicmap/geral1windowsv" . $versao . ".map";
} else {
if ($base == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv' . $versao . '.map')) {
$base = "/var/www/i3geo/aplicmap/geral1debianv" . $versao . ".map";
}
if ($base == "" && file_exists('/var/www/html/i3geo/aplicmap/geral1fedorav' . $versao . '.map')) {
$base = "/var/www/html/i3geo/aplicmap/geral1fedorav" . $versao . ".map";
}
if ($base == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav' . $versao . '.map')) {
$base = "/opt/www/html/i3geo/aplicmap/geral1v" . $versao . ".map";
}
if ($base == "") {
$base = $locaplic . "/aplicmap/geral1v" . $versao . ".map";
}
}
}
// error_log($base);
// if(!isset($estadosl))
// {$estadosl = "estadosl";}
/*
* Cria os objetos map que serão processados
*
* O arquivo definido em $base é lido como um objeto map. Esse objeto será processado para incluir novos layers e alterar outros parâmetros definidos pelo usuário.
*/
if (file_exists($base)) {
$map = ms_newMapObj($base);
$mapn = ms_newMapObj($base);
} else {
$map = ms_newMapObj($locaplic . "/aplicmap/" . $base . ".map");
$mapn = ms_newMapObj($locaplic . "/aplicmap/" . $base . ".map");
}
/*
* Parâmetros adicionais.
*
* Processa os parâmetros para a inicialização verificando se foram passados pela URL ou não.
*/
if (! isset($mapext)) {
$mapext = $map->extent->minx . " " . $map->extent->miny . " " . $map->extent->maxx . " " . $map->extent->maxy;
}
// arquivo com a imagem de referência
if (! isset($map_reference_image)) {
$map_reference_image = $map->reference->image;
//verifica o caminho
if(!file_exists($map_reference_image)){
$map_reference_image = $locaplic . "/imagens/" . basename($map_reference_image);
}
}
// extensão geográfica da imagem do mapa de referência
if (! isset($map_reference_extent)) {
$map_reference_extent = $map->reference->extent->minx . " " . $map->reference->extent->miny . " " . $map->reference->extent->maxx . " " . $map->reference->extent->maxy;
}
if (empty($interface)) {
if (! isset($interfacePadrao)) {
$interfacePadrao = "ol.htm";
}
$interface = $interfacePadrao;
}
if (isset($layers) && ! isset($temasa)) {
$temasa = $layers;
}
incluiTemasIniciais();
if (isset($layers)) {
ligaTemas();
}
desligaTemasIniciais();
if (isset($map_reference_image)) {
$mapn->reference->set("image", $map_reference_image);
}
$extr = $mapn->reference->extent;
if (isset($map_reference_extent)) {
$temp = explode(" ", $map_reference_extent);
foreach ($temp as $t) {
if ($t != "") {
$newext[] = $t;
}
}
if (count($newext) == 4) {
$extr->setextent($newext[0], $newext[1], $newext[2], $newext[3]);
}
}
$ext = $mapn->extent;
$newext = array();
if ((isset($mapext)) && ($mapext != "")) {
$temp = explode(" ", $mapext);
foreach ($temp as $t) {
if ($t != "") {
$newext[] = $t;
}
}
if (count($newext) == 4) {
$ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]);
}
} else {
// algumas aplicacoes usam essa variavel (SAIKU)
$mapext = $ext->minx . " " . $ext->miny . " " . $ext->maxx . " " . $ext->maxy;
}
/*
* Configura os endereços corretos no mapfile.
*
* Altera as propriedades imagepath e imageurl corrigindo os caminhos padrão conforme o diretório criado para armazenar o mapa de trabalho.
*/
$w = $mapn->web;
$atual = $w->imagepath;
$w->set("imagepath", $atual . $diretorios[2] . "/");
$atual = $w->imageurl;
$w->set("imageurl", $atual . $diretorios[2] . "/");
$projecao = pegaProjecaoDefault("proj4");
if ($projecao != "") {
$mapn->setProjection($projecao);
}
// aplica o tamanho do mapa
if (isset($parurl["largura"]) && isset($parurl["altura"])) {
$mapn->setsize($parurl["largura"], $parurl["altura"]);
}
$tmpfname = str_replace(".map", "", $tmpfname) . ".map";
$salvo = $mapn->save($tmpfname);
$_SESSION["imgurl"] = strtolower($protocolo[0]) . "://" . $_SERVER['HTTP_HOST'] . $atual . $diretorios[2] . "/";
$_SESSION["tmpurl"] = strtolower($protocolo[0]) . "://" . $_SERVER['HTTP_HOST'] . $atual;
$_SESSION["map_file"] = $tmpfname;
$_SESSION["mapext"] = $mapext;
if (isset($executa)) {
if (file_exists($executa)) {
// include_once ($executa);
}
if (function_exists($executa)) {
// eval($executa."();");
}
}
if (isset($wkt)) {
insereWKTUrl();
}
if (isset($pontos)) {
inserePontosUrl();
}
if (isset($linhas)) {
insereLinhasUrl();
}
if (isset($poligonos)) {
inserePoligonosUrl();
}
if (isset($url_wms)) {
incluiTemaWms();
}
adaptaLayers($tmpfname, $versao);
// if (file_exists($locaplic."/pacotes/geoip") && file_exists($locaplic."/pacotes/geoip/GeoLiteCity.dat")){
// require_once(dirname(__FILE__)."/ms_registraip.php");
// }
if ($interface != "mashup") {
abreInterface($interface, $caminho);
}
/*
* Adapta os dados de cada layer.
*
* Faz alterações em cada layer caso sejam necessárias.
*/
function adaptaLayers($tmpfname, $versao)
{
global $parurl;
$mapa = ms_newMapObj($tmpfname);
$path = $mapa->shapepath;
$numlayers = $mapa->numlayers;
for ($i = 0; $i < $numlayers; ++ $i) {
$layer = $mapa->getLayer($i);
$ok = true;
if ($layer->connection == "") {
$ok = false;
$d = $layer->data;
if ((file_exists($d)) || (file_exists($d . ".shp"))) {
$ok = true;
} else {
if ((file_exists($path . "/" . $d)) || (file_exists($path . "/" . $d . ".shp"))) {
$ok = true;
}
}
}
if ($ok == false) {
$layer->set("status", MS_OFF);
}
// para impedir erros na legenda
if ($layer->getmetadata("classe") == "") {
$layer->setmetadata("classe", "");
}
if ($versao > 5) {
$pr = $layer->getProcessing();
if (! in_array("LABEL_NO_CLIP=True", $pr)) {
$layer->setprocessing("LABEL_NO_CLIP=True");
}
if (! in_array("POLYLINE_NO_CLIP=True", $pr)) {
$layer->setprocessing("POLYLINE_NO_CLIP=True");
}
}
//
// verifica se deve aplicar filtro
//
$filtro = @$parurl["map_layer_" . $layer->name . "_filter"];
if (! empty($filtro)) {
$layer->setmetadata("CACHE", "nao");
$layer->setfilter($filtro);
}
corrigeLayerPath($layer, $mapa);
}
$mapa->save($tmpfname);
erroCriacao();
}
/*
* Redireciona para o HTML definido em $interface, abrindo o mapa
*/
function abreInterface($interface, $caminho)
{
global $customDir;
if(empty($customDir)){
$customDir = "interface";
}
$nomeInterface = explode(".", basename($interface));
if (count(explode(".php", $interface)) > 1) {
if (file_exists($caminho . $customDir . "/" . $interface)) {
include_once ($caminho . $customDir . "/" . $interface);
}
exit();
} else {
if (file_exists($caminho . $customDir . "/" . $interface)) {
$urln = $caminho . $customDir . "/" . $interface . "?&" . session_id();
} else {
$urln = $interface . "?&" . session_id();
}
if (! headers_sent()) {
header("Location:" . $urln);
} else {
echo "";
}
}
}
/*
* Desliga os temas definidos na variável $desligar
*/
function desligaTemasIniciais()
{
global $desligar, $temasa, $layers, $mapn;
//para evitar LAYERS com status MS_DEFAULT
if(!isset($desligar)){
$lista = array_diff(explode(" ", $temasa),explode(" ", $layers));
} else {
$layersdesligar = str_replace(',', " ", $desligar);
$lista = explode(" ", $layersdesligar);
}
foreach ($lista as $l) {
if ($l == "") {
continue;
}
if (@$mapn->getLayerByName($l)) {
$layern = $mapn->getLayerByName($l);
$layern->set("status", MS_OFF);
}
$grupos = $mapn->getLayersIndexByGroup($l);
if (count($grupos) > 0) {
for ($i = 0; $i < count($grupos); ++ $i) {
$layern = $mapn->getLayer($grupos[$i]);
if (strtolower($layern->group) == strtolower($l)) {
$layern->set("status", MS_OFF);
}
}
}
}
erroCriacao();
}
/*
* Liga os temas definidos na variável $layers
*/
function ligaTemas()
{
global $layers, $mapn;
if (isset($layers)) {
$layers = str_replace(',', " ", $layers);
$lista = explode(" ", $layers);
foreach ($lista as $l) {
if ($l == "") {
continue;
}
if (@$mapn->getLayerByName($l)) {
$layern = $mapn->getLayerByName($l);
$layern->set("status", MS_DEFAULT);
}
$grupos = $mapn->getLayersIndexByGroup($l);
if (count($grupos) > 0) {
for ($i = 0; $i < count($grupos); ++ $i) {
$layern = $mapn->getLayer($grupos[$i]);
if (strtolower($layern->group) == strtolower($l)) {
$layern->set("status", MS_DEFAULT);
}
}
}
}
}
erroCriacao();
}
/*
* Inclui os temas definidos na variável $temasa
*
* Os temas devem estar em i3geo/temas
*/
function incluiTemasIniciais()
{
global $temasa, $mapn, $locaplic, $metaestatids, $layers;
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
$temasdir = $locaplic . "\\temas";
} else {
$temasdir = $locaplic . "/temas";
}
if (! isset($temasa)) {
$temasa = "";
}
$temasa = str_replace(',', " ", $temasa);
$alayers = explode(" ", $temasa);
if (isset($metaestatids)) {
// localhost/i3geo/ms_criamapa.php?metaestatids=25,12&layers=25
include_once (dirname(__FILE__) . "/classesphp/classe_metaestatinfo.php");
$metaestatids = str_replace(',', " ", $metaestatids);
$metaestatids = explode(" ", $metaestatids);
$metaestatidsligados = $layers;
$metaestatidsligados = str_replace(',', " ", $metaestatidsligados);
$metaestatidsligados = explode(" ", $metaestatidsligados);
foreach ($metaestatids as $metaestatid) {
// $_pg["filtro"] = str_replace('"', "'", $_pg["filtro"]);
$m = new MetaestatInfo();
$parametros = $m->listaParametro($metaestatid, "", "", true, true);
// id_parametro_medida,coluna
$filtroPar = array();
$tituloPar = array();
foreach ($parametros as $parametro) {
$valoresparametro = $m->valorUnicoMedidaVariavel($metaestatid, $parametro["coluna"]);
//var_dump($valoresparametro);
//exit();
$valormaior = $valoresparametro[count($valoresparametro) - 1];
$filtroPar[] = " " . $parametro["coluna"] . "::text = '" . $valormaior[$parametro["coluna"]] . "' ";
$tituloPar[] = $parametro["coluna"] . ": " . $valormaior[$parametro["coluna"]];
}
$dadosMedida = $m->listaMedidaVariavel("", $metaestatid);
// var_dump($dadosMedida);exit;
$tituloCamada = mb_convert_encoding($dadosMedida["nomemedida"],"ISO-8859-1",mb_detect_encoding($dadosMedida["nomemedida"]));
if(count($tituloPar)>0){
$tituloCamada = $tituloCamada." (".implode(" ,",$tituloPar)." )";
}
$mapfilemetaestat = $m->mapfileMedidaVariavel($metaestatid, implode(" AND ", $filtroPar), 0, "polygon", $tituloCamada, "", "", "", "", false, true);
// array(3) { ["mapfile"]=> string(52) "/tmp/ms_tmp/AAAAc20ad4d76fe97759aa27a0c99bff6710.map" ["layer"]=> string(36) "AAAAc20ad4d76fe97759aa27a0c99bff6710" ["titulolayer"]=> string(0) "" }
// var_dump ($mapfilemetaestat);
// exit;
array_push($alayers, $mapfilemetaestat["mapfile"]);
if (in_array($metaestatid, $metaestatidsligados)) {
$maptemp = @ms_newMapObj($mapfilemetaestat["mapfile"]);
$maptemp->getlayerbyname($mapfilemetaestat["layer"])->set("status", MS_DEFAULT);
$maptemp->save($mapfilemetaestat["mapfile"]);
}
}
}
$existeraster = false;
foreach ($alayers as $arqt) {
$arqtemp = "";
$arqt = trim($arqt);
if ($arqt == "") {
continue;
}
$extensao = ".map";
if (file_exists($arqt)) {
$arqtemp = $arqt;
}
if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($locaplic . "\\aplicmap\\" . $arqt . $extensao))) {
$arqtemp = $locaplic . "\\aplicmap\\" . $arqt . $extensao;
} elseif (file_exists($locaplic . "/aplicmap/" . $arqt . $extensao)) {
$arqtemp = $locaplic . "/aplicmap/" . $arqt . $extensao;
}
if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir . "\\" . $arqt . $extensao))) {
$arqtemp = $temasdir . "\\" . $arqt . $extensao;
} elseif (file_exists($temasdir . "/" . $arqt . $extensao)) {
$arqtemp = $temasdir . "/" . $arqt . $extensao;
}
if ($arqtemp == "") {
// echo "
Impossível acessar tema $arqtemp";
} else {
if ($extensao == ".map" && ! @ms_newMapObj($arqtemp)) {
echo "
Problemas com a camada $arqtemp
";
} else {
$maptemp = @ms_newMapObj($arqtemp);
for ($i = 0; $i < ($maptemp->numlayers); ++ $i) {
// error_reporting(0);
$layern = $maptemp->getLayer($i);
if ($layern->type == MS_LAYER_RASTER) {
$existeraster = true;
}
if ($layern->name == "estadosl") {
$layern->set("data", $locaplic . "/aplicmap/dados/estados.shp");
}
$layern->setmetadata("nomeoriginal", $layern->name);
$nNome = str_replace(".map", "", basename($arqtemp));
$layern->setmetadata("arquivotemaoriginal", $nNome);
autoClasses($layern, $mapn);
//
// necessário para não alterar a extensão do mapa por esse parâmetro
//
$layern->setmetadata("aplicaextensao", "");
// cria e aplica sld se for wms e existirem classes
if ($layern->classitem != "" && $layern->connectiontype == 7 && $layern->numclasses > 0 && $layern->getmetadata("wms_sld_body") == "") {
$tipotemp = $layern->type;
$statustemp = $layern->status;
$tiporep = $layern->getmetadata("tipooriginal");
$layern->set("type", MS_LAYER_POLYGON);
if ($tiporep == "linear") {
$layern->set("type", MS_LAYER_LINE);
}
if ($tiporep == "pontual") {
$layern->set("type", MS_LAYER_POINT);
}
$layern->set("status", MS_DEFAULT);
$sld = $layern->generateSLD();
if ($sld != "")
$layern->setmetadata("wms_sld_body", str_replace('"', "'", $sld));
$layern->set("type", $tipotemp);
$layern->set("status", $statustemp);
}
cloneInlineSymbol($layern, $maptemp, $mapn);
//$layerAdicionado = ms_newLayerObj($mapn, $layern);
if($layern->type == MS_LAYER_POLYGON && $layern->getmetadata("METAESTAT") == "SIM"){
$mapn->insertLayer($layern,0);
} else {
$mapn->insertLayer($layern,-1);
}
// echo $layern->name;
//corrigeLayerGrid($layern, $layerAdicionado);
corrigeLayerGrid($layern, $mapn->getlayerbyname($layern->name));
}
}
}
}
erroCriacao();
}
/*
* Cria os arquivos vazios index.htm e index.html nos diretorios temporários
*/
function criaIndex($dir_tmp, $diretorios)
{
if (! file_exists($dir_tmp . "/index.htm")) {
$f = fopen($dir_tmp . "/index.htm", "x");
fclose($f);
$f = fopen($dir_tmp . "/index.html", "x");
fclose($f);
$f = fopen($dir_tmp . "/" . $diretorios[1] . "/index.html", "x");
fclose($f);
$f = fopen($dir_tmp . "/" . $diretorios[1] . "/index.htm", "x");
fclose($f);
$f = fopen($dir_tmp . "/" . $diretorios[2] . "/index.html", "x");
fclose($f);
$f = fopen($dir_tmp . "/" . $diretorios[2] . "/index.htm", "x");
fclose($f);
}
if (! file_exists($dir_tmp . "/index.htm")) {
echo "Erro. Não foi possível gravar no diretório temporário";
exit();
}
}
/*
* Mostra a mensagem de aguarde
*/
function mostraAguarde()
{
global $interface, $mensagemInicia, $tituloInstituicao;
if (! isset($interface)) {
echo "";
echo '';
echo "" . $tituloInstituicao . " ";
echo '';
echo '' . $mensagemInicia . '
Aguarde...preparando o mapa
';
echo '';
echo " . "/imagens/i3geo1.jpg)
";
echo " . "/imagens/pspb.png)
";
echo " . "/imagens/mapserv.png)
";
echo " . "/imagens/yui-logo.png)
";
echo " . "/imagens/somerights20_pt.gif)
";
echo "
";
echo '';
}
}
/*
* Insere elementos no mapa a partir de uma string definida em wkt
*/
function insereWKTUrl()
{
global $tamanhosimbolo, $simbolo, $corsimbolo, $wkt, $nometemawkt, $dir_tmp, $imgdir, $tmpfname, $locaplic;
include_once "pacotes/phpxbase/api_conversion.php";
if (! isset($nometemapontos)) {
$nometemapontos = "WKT";
}
if ($nometemapontos == "") {
$nometemapontos = "WKT";
}
//
// cria o shape file
//
$shape = ms_shapeObjFromWkt($wkt);
$tipol = $shape->type;
if ($tipol == 0) {
$tipol = 3;
}
$nomeshp = $dir_tmp . "/" . $imgdir . "/wkts";
// cria o dbf
$def = array();
$items = array(
"COORD"
);
foreach ($items as $ni) {
$def[] = array(
$ni,
"C",
"254"
);
}
if (! function_exists(dbase_create)) {
xbase_create($nomeshp . ".dbf", $def);
} else {
dbase_create($nomeshp . ".dbf", $def);
}
$dbname = $nomeshp . ".dbf";
$db = xbase_open($dbname, 2);
if ($tipol == 1) {
$novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_ARC);
}
if ($tipol == 3) {
$novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_MULTIPOINT);
}
if ($tipol == 2) {
$novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_POLYGON);
}
$reg[] = "";
$novoshpf->addShape($shape);
xbase_add_record($db, $reg);
$novoshpf->free();
xbase_close($db);
// adiciona o layer
$mapa = ms_newMapObj($tmpfname);
$layer = ms_newLayerObj($mapa);
$layer->set("name", "wktins");
$layer->set("data", $nomeshp . ".shp");
$layer->setmetadata("DOWNLOAD", "sim");
$layer->setmetadata("temalocal", "sim");
$layer->setmetadata("tema", $nometemawkt);
$layer->setmetadata("classe", "sim");
$layer->set("type", $shape->type);
$layer->set("status", MS_DEFAULT);
$classe = ms_newClassObj($layer);
$classe->set("name", " ");
$estilo = ms_newStyleObj($classe);
if ($shape->type == 0) {
if (! isset($simbolo))
$estilo->set("symbolname", "ponto");
if (! isset($tamanhosimbolo))
$estilo->set("size", 6);
}
if ($shape->type == 1) {
if (! isset($simbolo))
$estilo->set("symbolname", "linha");
if (! isset($tamanhosimbolo))
$estilo->set("size", 3);
}
if ($shape->type == 2) {
$layer->set("opacity", "50");
}
$cor = $estilo->color;
if (! isset($corsimbolo)) {
$corsimbolo = "255,0,0";
}
$corsimbolo = str_replace(" ", ",", $corsimbolo);
$corsimbolo = explode(",", $corsimbolo);
$cor->setRGB($corsimbolo[0], $corsimbolo[1], $corsimbolo[2]);
$salvo = $mapa->save($tmpfname);
erroCriacao();
}
/*
* Insere um tema do tipo ponto
*
*/
function inserePontosUrl()
{
global $pontos, $tamanhosimbolo, $simbolo, $corsimbolo, $nometemapontos, $dir_tmp, $imgdir, $tmpfname, $locaplic;
include_once "pacotes/phpxbase/api_conversion.php";
if (! isset($nometemapontos)) {
$nometemapontos = "Pontos";
}
if ($nometemapontos == "") {
$nometemapontos = "Pontos";
}
//
// cria o shape file
//
$tipol = MS_SHP_POINT;
$nomeshp = $dir_tmp . "/" . $imgdir . "/" . nomeRandomico();
// cria o dbf
$def = array();
$items = array(
"COORD"
);
foreach ($items as $ni) {
$def[] = array(
$ni,
"C",
"254"
);
}
if (! function_exists(dbase_create)) {
xbase_create($nomeshp . ".dbf", $def);
} else {
dbase_create($nomeshp . ".dbf", $def);
}
$dbname = $nomeshp . ".dbf";
$db = xbase_open($dbname, 2);
$novoshpf = ms_newShapefileObj($nomeshp, $tipol);
$pontos = explode(" ", trim($pontos));
if (count($pontos) == 1) {
$pontos = explode(",", trim($pontos[0]));
}
foreach ($pontos as $p) {
if (is_numeric($p)) {
$pontosn[] = $p;
}
}
$pontos = $pontosn;
for ($ci = 0; $ci < count($pontos); $ci = $ci + 2) {
$reg = array();
$reg[] = $pontos[$ci] . " " . $pontos[$ci + 1];
$shape = ms_newShapeObj($tipol);
$linha = ms_newLineObj();
$linha->addXY($pontos[$ci], $pontos[$ci + 1]);
$shape->add($linha);
$novoshpf->addShape($shape);
xbase_add_record($db, $reg);
}
$novoshpf->free();
xbase_close($db);
// adiciona o layer
$mapa = ms_newMapObj($tmpfname);
$layer = ms_newLayerObj($mapa);
$layer->set("name", "pontoins");
$layer->set("data", $nomeshp . ".shp");
$layer->setmetadata("DOWNLOAD", "sim");
$layer->setmetadata("tema", $nometemapontos);
$layer->setmetadata("classe", "sim");
$layer->setmetadata("temalocal", "sim");
$layer->setmetadata("ATLAS", "nao");
$layer->set("type", MS_LAYER_POINT);
$layer->set("status", MS_DEFAULT);
$classe = ms_newClassObj($layer);
$classe->set("name", " ");
$estilo = ms_newStyleObj($classe);
if (! isset($simbolo)) {
$simbolo = "ponto";
}
$estilo->set("symbolname", $simbolo);
if (! isset($tamanhosimbolo)) {
$tamanhosimbolo = 6;
}
$estilo->set("size", $tamanhosimbolo);
$cor = $estilo->color;
if (! isset($corsimbolo)) {
$corsimbolo = "255,0,0";
}
$corsimbolo = str_replace(" ", ",", $corsimbolo);
$corsimbolo = explode(",", $corsimbolo);
$cor->setRGB($corsimbolo[0], $corsimbolo[1], $corsimbolo[2]);
$salvo = $mapa->save($tmpfname);
erroCriacao();
}
/*
* Insere um tema do tipo linear
*
* As linhas devem ter os pontos separados por espaços e cada linha separada por vírgula
*
*/
function insereLinhasUrl()
{
global $tamanhosimbolo, $simbolo, $corsimbolo, $linhas, $nometemalinhas, $dir_tmp, $imgdir, $tmpfname, $locaplic;
include_once "pacotes/phpxbase/api_conversion.php";
if (! isset($nometemalinhas)) {
$nometemalinhas = "Linhas";
}
if ($nometemalinhas == "") {
$nometemalinhas = "Linhas";
}
//
// cria o shape file
//
$tipol = MS_SHP_ARC;
$nomeshp = $dir_tmp . "/" . $imgdir . "/" . nomeRandomico();
// cria o dbf
$def = array();
$items = array(
"COORD"
);
foreach ($items as $ni) {
$def[] = array(
$ni,
"C",
"254"
);
}
if (! function_exists(dbase_create)) {
xbase_create($nomeshp . ".dbf", $def);
} else {
dbase_create($nomeshp . ".dbf", $def);
}
$dbname = $nomeshp . ".dbf";
$db = xbase_open($dbname, 2);
$novoshpf = ms_newShapefileObj($nomeshp, $tipol);
$linhas = explode(",", trim($linhas));
$pontosLinhas = array(); // guarda os pontos de cada linha em arrays
foreach ($linhas as $l) {
$tempPTs = explode(" ", trim($l));
$temp = array();
foreach ($tempPTs as $p) {
if (is_numeric($p)) {
$temp[] = $p;
}
}
$pontosLinhas[] = $temp;
}
foreach ($pontosLinhas as $ptsl) {
$linhas = $ptsl;
$shape = ms_newShapeObj(MS_SHAPE_LINE);
$linha = ms_newLineObj();
$reg = array();
$reg[] = implode(",", $ptsl);
for ($ci = 0; $ci < count($linhas); $ci = $ci + 2) {
$linha->addXY($linhas[$ci], $linhas[$ci + 1]);
}
$shape->add($linha);
$novoshpf->addShape($shape);
xbase_add_record($db, $reg);
}
$novoshpf->free();
xbase_close($db);
// adiciona o layer
$mapa = ms_newMapObj($tmpfname);
$layer = ms_newLayerObj($mapa);
$layer->set("name", "linhains");
$layer->set("data", $nomeshp . ".shp");
$layer->setmetadata("DOWNLOAD", "sim");
$layer->setmetadata("temalocal", "sim");
$layer->setmetadata("tema", $nometemalinhas);
$layer->setmetadata("classe", "sim");
$layer->setmetadata("ATLAS", "nao");
$layer->set("type", MS_LAYER_LINE);
$layer->set("status", MS_DEFAULT);
$classe = ms_newClassObj($layer);
$classe->set("name", " ");
$estilo = ms_newStyleObj($classe);
if (isset($simbolo)) {
$simbolo = "linha";
$estilo->set("symbolname", $simbolo);
}
if (! isset($tamanhosimbolo)) {
$tamanhosimbolo = 4;
}
$estilo->set("width", $tamanhosimbolo);
$cor = $estilo->color;
if (! isset($corsimbolo)) {
$corsimbolo = "255,0,0";
}
$corsimbolo = str_replace(" ", ",", $corsimbolo);
$corsimbolo = explode(",", $corsimbolo);
$cor->setRGB($corsimbolo[0], $corsimbolo[1], $corsimbolo[2]);
$salvo = $mapa->save($tmpfname);
erroCriacao();
}
/*
* Insere um tema poligonal.
*
* Os polígonos devem ter os pontos separados por espaços e cada polígono separado por vírgula
*/
function inserePoligonosUrl()
{
global $tamanhosimbolo, $simbolo, $corsimbolo, $poligonos, $nometemapoligonos, $dir_tmp, $imgdir, $tmpfname, $locaplic;
include_once "pacotes/phpxbase/api_conversion.php";
if (! isset($nometemapoligonos)) {
$nometemapoligonos = "Poligonos";
}
if ($nometemapoligonos == "") {
$nometemapoligonos = "Poligonos";
}
//
// cria o shape file
//
$tipol = MS_SHP_POLYGON;
$nomeshp = $dir_tmp . "/" . $imgdir . "/" . nomeRandomico();
// cria o dbf
$def = array();
$items = array(
"COORD"
);
foreach ($items as $ni) {
$def[] = array(
$ni,
"C",
"254"
);
}
if (! function_exists(dbase_create)) {
xbase_create($nomeshp . ".dbf", $def);
} else {
dbase_create($nomeshp . ".dbf", $def);
}
$dbname = $nomeshp . ".dbf";
$db = xbase_open($dbname, 2);
$novoshpf = ms_newShapefileObj($nomeshp, $tipol);
$linhas = explode(",", trim($poligonos));
$pontosLinhas = array(); // guarda os pontos de cada linha em arrays
foreach ($linhas as $l) {
$tempPTs = explode(" ", trim($l));
$temp = array();
foreach ($tempPTs as $p)
if (is_numeric($p)) {
$temp[] = $p;
}
$pontosLinhas[] = $temp;
}
foreach ($pontosLinhas as $ptsl) {
$linhas = $ptsl;
$shape = ms_newShapeObj(MS_SHAPE_POLYGON);
$linha = ms_newLineObj();
$reg = array();
$reg[] = "";
for ($ci = 0; $ci < count($linhas); $ci = $ci + 2) {
$linha->addXY($linhas[$ci], $linhas[$ci + 1]);
}
$shape->add($linha);
$novoshpf->addShape($shape);
xbase_add_record($db, $reg);
}
$novoshpf->free();
xbase_close($db);
// adiciona o layer
$mapa = ms_newMapObj($tmpfname);
$layer = ms_newLayerObj($mapa);
$layer->set("name", "linhains");
$layer->set("data", $nomeshp . ".shp");
$layer->setmetadata("DOWNLOAD", "sim");
$layer->setmetadata("temalocal", "sim");
$layer->setmetadata("tema", $nometemapoligonos);
$layer->setmetadata("classe", "sim");
$layer->setmetadata("ATLAS", "nao");
$layer->set("type", MS_LAYER_POLYGON);
$layer->set("opacity", "50");
$layer->set("status", MS_DEFAULT);
$classe = ms_newClassObj($layer);
$classe->set("name", " ");
$estilo = ms_newStyleObj($classe);
$cor = $estilo->color;
if (! isset($corsimbolo)) {
$corsimbolo = "255,0,0";
}
$corsimbolo = str_replace(" ", ",", $corsimbolo);
$corsimbolo = explode(",", $corsimbolo);
$cor->setRGB($corsimbolo[0], $corsimbolo[1], $corsimbolo[2]);
$salvo = $mapa->save($tmpfname);
erroCriacao();
}
/*
* Inclui no mapa um tema do tipo WMS
*/
function incluiTemaWms()
{
global $nome_wms, $url_wms, $layer_wms, $style_wms, $srs_wms, $image_wms, $versao_wms, $tmpfname, $locaplic;
include_once ($locaplic . "/classesphp/classe_mapa.php");
if (! $nome_wms) {
$nome = $layer_wms . " " . $style_wms;
} else
$nome = $nome_wms;
$m = new Mapa($tmpfname);
$m->adicionatemawms($layer_wms, $url_wms, $style_wms, $srs_wms, $image_wms, $locaplic, "", $versao_wms, $nome, "", "", "", "", "nao", "text/plain", "");
$salvo = $m->salva($tmpfname);
// echo $tmpfname;exit;
erroCriacao();
}
/*
* Projeto gvsig
*/
function incluiMapaGvsig($gvsiggvp, $gvsigview = "")
{}
/*
* Captura e mostra os erros de processamento do mapserver
*/
function erroCriacao()
{
$error = ms_GetErrorObj();
while ($error && $error->code != MS_NOERR) {
printf("
Error in %s: %s
\n", $error->routine, $error->message);
$error = $error->next();
}
ms_ResetErrorList();
}
/*
* Cria os diretórios temporários para a aplicação.
*
* Parametro:
*
* $dir_tmp {string} - Diretório temporário (no servidor) utilizado pelo mapserver.
*
* $cachedir {string} - Diretório de cache temporário definido no ms_configura.php
*
* Retorno:
*
* {boleano}
*/
function criaDirMapa($dir_tmp, $cachedir = "")
{
if (empty($dir_tmp)) {
return false;
}
if (! file_exists($dir_tmp)) {
@mkdir($dir_tmp, 0744);
}
if (file_exists($dir_tmp)) {
foreach (glob($dir_tmp . '/{,.}*.php', GLOB_BRACE) as $f) {
unlink($f);
}
$tmpdirname = nomeRandomico();
$crdir = @mkdir($dir_tmp . "/" . $tmpdirname, 0744);
chmod($dir_tmp . "/" . $tmpdirname, 0744);
$crdiri = @mkdir($dir_tmp . "/img" . $tmpdirname, 0744);
chmod($dir_tmp . "/img" . $tmpdirname, 0744);
$mapfile = $dir_tmp . "/" . $tmpdirname . "/" . $tmpdirname . ".map";
$tmpimgname = "img" . $tmpdirname;
if (! file_exists($dir_tmp . "/comum")) {
@mkdir($dir_tmp . "/comum", 0744);
}
if (! file_exists($dir_tmp . "/saiku-datasources")) {
// utilizado para armazenar os arquivos de fonte de dados do SAIKU
@mkdir($dir_tmp . "/saiku-datasources", 0744);
chmod($dir_tmp . "/saiku-datasources", 0744);
}
//
if ($cachedir == "") {
if (! file_exists($dir_tmp . "/cache")) {
@mkdir($dir_tmp . "/cache", 0744);
chmod($dir_tmp . "/cache", 0744);
@mkdir($dir_tmp . "/cache/googlemaps", 0744);
chmod($dir_tmp . "/cache/googlemaps", 0744);
}
} else {
if (! file_exists($cachedir)) {
@mkdir($cachedir, 0744);
chmod($cachedir, 0744);
@mkdir($cachedir . "/googlemaps", 0744);
chmod($cachedir . "/googlemaps", 0744);
}
}
if (file_exists($dir_tmp . "/" . $tmpdirname)) {
return array(
$mapfile,
$tmpdirname,
$tmpimgname
);
} else {
return false;
}
} else {
return false;
}
}
?>