function redesenhaMapa() { global $map_file, $tipoimagem, $cp, $postgis_mapa, $utilizacgi, $locmapserv, $interface, $mapexten; substituiCon($map_file, $postgis_mapa); if ($tipoimagem != "nenhum" && $tipoimagem != "") { $utilizacgi = "nao"; } if (connection_aborted()) { exit; } if ($interface == "googleearth" && $mapexten != "") { include_once dirname(__FILE__) . "/../classesphp/classe_navegacao.php"; $m = new Navegacao($map_file); $m->mudaExtensao($mapexten); $m->salva(); } include_once dirname(__FILE__) . "/../classesphp/classe_mapa.php"; $m = new Mapa($map_file); $par = $m->parametrosTemas(); // //na interface googlemaps não é necessário gerar a imagem // $e = $m->mapa->extent; $ext = $e->minx . " " . $e->miny . " " . $e->maxx . " " . $e->maxy; $res["mapimagem"] = ""; $res["mapexten"] = $ext; $res["mapres"] = ""; $res["erro"] = ""; $res["mapscale"] = ""; $res["pixelsize"] = ""; $res["mapimagem"] = ""; $res["w"] = $m->mapa->width; $res["h"] = $m->mapa->height; $res["mappath"] = ""; $res["mapurl"] = ""; $res["mensagens"] = $m->pegaMensagens(); $res["tempo"] = microtime(1) - $tempo; restauraCon($map_file, $postgis_mapa); ob_clean(); if ($par == "") { $retorno = "erro"; } else { $retorno = array("variaveis" => $res, "temas" => $par); } cpjson($retorno); }
public static function ataqueDistancia($orig, $dest) { if (!$orig instanceof Personagem) { throw new Exception("Origem precisa sem um personagem."); } if (!$dest instanceof Personagem) { throw new Exception("Destino precisa sem um personagem."); } $sentido = static::getSentido2DAtaque($orig, $dest); //echo "Sentido: $sentido<br />"; if ($sentido == SENTIDO_COSTAS) { return null; } $retorno = new stdClass(); $retorno->visibilidade = 0; //$retorno->luz = 0; $linha = static::linha($orig->getPos(), $dest->getPos()); $retorno->distancia = count($linha) - 1; $sentido = Mapa::getSentido($orig->getPos(), $dest->getPos()); $inverso = Mapa::inverterSentido2D($sentido); //if ($orig->getid() == 1) { // echo $dest->getNome()." - $sentido - $inverso<br />"; //} foreach ($linha as $pos) { $area = static::getArea($pos->x, $pos->y); $retorno->visibilidade += $area->getVisibilidade(); } //exit(); if (!is_null($area)) { $retorno->visibilidade += $area->getLuz(); } return $retorno; }
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(); }
<?php require 'common.php'; $sessao = Sessao::getSessaoAtual(); $sessao->atualizar(); $mapaFull = Mapa::gerarHex(); if (!is_null($sessao->personagemAtual())) { $pessoa = $sessao->personagemAtual(); $mapaFull = Mapa::mapaZoom($mapaFull, $pessoa->getX(), $pessoa->getY(), 750, 750, $pessoa->getSentido(), 1); } $imagem64 = Mapa::convertToBase64($mapaFull); imagedestroy($mapaFull); require 'header.php'; ?> <?php if (!is_null($msgerro)) { ?> <div class="row"> <div class="twelve columns"> <div class="alert-box alert"><?php echo $msgerro; ?> </div> </div> </div> <?php } ?> <div class="row"> <div class="six columns">
echo $campanha->getNome(); ?> </option> <?php } ?> </select> </span> </div> <div> <label>Mapa:</label> <span> <select id="id_mapa" name="id_mapa"> <option value="">--selecione--</option> <?php foreach (Mapa::listarEstrutura() as $mapa) { ?> <option value="<?php echo $mapa->id_mapa; ?> "><?php echo $mapa->nome; ?> </option> <?php } ?> </select> </span> </div> </div>
include_once dirname(__FILE__) . "/../safe.php"; verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false); // //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { /* Valor: MUDATAMANHO Muda o tamanho da imagem do mapa atual. <Mapa->mudaQS> */ case "MUDATAMANHO": copiaSeguranca($map_file); $map = ms_newMapObj($map_file); $map->setsize($_GET["largura"], $_GET["altura"]); $salvo = $map->save($map_file); include_once dirname(__FILE__) . "/../../classesphp/classe_mapa.php"; $m = new Mapa($map_file); $m->mudaQS($_GET["largura"], $_GET["altura"]); $retorno = "ok"; $_SESSION["contadorsalva"]++; break; } if (isset($map_file) && isset($postgis_mapa) && $map_file != "") { restauraCon($map_file, $postgis_mapa); } cpjson($retorno);
<?php include_once dirname(__FILE__) . "/../safe.php"; verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false); // //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { case "GRADECOORD": include_once "../../classesphp/classe_mapa.php"; copiaSeguranca($map_file); $m = new Mapa($map_file); $m->gradeCoord($_GET["intervalo"], $_GET["corlinha"], $_GET["larguralinha"], $_GET["tipolinha"], $_GET["tamanhotexto"], $_GET["fonte"], $_GET["cortexto"], $_GET["incluitexto"], $_GET["mascara"], $_GET["shadowcolor"], $_GET["shadowsizex"], $_GET["shadowsizey"]); $m->salva(); $retorno = "ok"; break; } if (isset($map_file) && isset($postgis_mapa) && $map_file != "") { restauraCon($map_file, $postgis_mapa); } cpjson($retorno);
<?php require 'common.php'; $jogadores = null; $personagens = null; $artes = null; if (array_key_exists('p', $_GET)) { //$jogadores = Jogador::buscar($_GET['p']); $personagens = Personagem::buscar($_GET['p']); $artes = Arte::buscar($_GET['p']); $mapas = Mapa::buscar($_GET['p']); } ?> <?php require 'header.php'; if (count($jogadores) > 0) { $i = 1; ?> <div class="row"> <div class="twelve columns"> <hr /> <h3>Jogadores</h3> </div> </div> <div class="row"> <?php foreach ($jogadores as $jogador) { ?> <?php //var_dump($jogador);
<?php include_once dirname(__FILE__) . "/../safe.php"; verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false); // //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { /* Valor: PEGAQUERYMAPCOR Pega a cor de seleção atual. <Mapa->corQM> */ case "PEGAQUERYMAPCOR": include_once dirname(__FILE__) . "/../../classesphp/classe_mapa.php"; $m = new Mapa($map_file); $retorno = $m->corQM(""); break; } if (isset($map_file) && isset($postgis_mapa) && $map_file != "") { restauraCon($map_file, $postgis_mapa); } cpjson($retorno);
include_once dirname(__FILE__) . "/../safe.php"; verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false); // //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { /* Valor: CONVERTEWMSWMC Converte o mapa atual em um wms e wmc. <Mapa->converteWMC> */ case "CONVERTEWMSWMC": include_once dirname(__FILE__) . "/../../classesphp/classe_mapa.php"; $m = new Mapa($map_file); if (!isset($_GET["h"])) { $_GET["h"] = ""; } $wms = $m->converteWS($locmapserv, $_GET["h"]); $wmc = $m->converteWMC($locmapserv, $_GET["h"]); $retorno = array("wms" => $wms, "wmc" => $wmc); break; } if (isset($map_file) && isset($postgis_mapa) && $map_file != "") { restauraCon($map_file, $postgis_mapa); } cpjson($retorno);
<?php require 'common.php'; if (array_key_exists('s', $_GET)) { Sessao::getSessaoAtual(); Mapa::renderizarImagem(); } elseif (array_key_exists('c', $_GET)) { Mapa::carregarEstrutura(); Mapa::renderizarConfiguracao(); } else { throw new Exception("Não foi possivel carregar o mapa."); }
<div> <label>Hex Largura:</label> <span><input type="number" id="hex_width" name="hex_width" value="<?php echo Mapa::getHexWidth(); ?> "></span> </div> <div> <label>Hex Altura:</label> <span><input type="number" id="hex_height" name="hex_height" value="<?php echo Mapa::getHexHeight(); ?> "></span> </div> <div> <label>Hex Lado:</label> <span><input type="number" id="hex_side" name="hex_side" value="<?php echo Mapa::getHexSide(); ?> "></span> </div> <div style="padding-bottom: 10px"> <input type="submit" name="acao" value="Atualizar" class="button" /> <input type="submit" name="acao" value="Gravar" class="button success right" /> </div> </fieldset> </div> </form> </div> <?php require 'footer.php';
public function projetar($golpe, $dano) { $projecao = floor($dano / ($this->getST() - 2)); if ($projecao <= 0) { return false; } $inimigo = $golpe->getChar(); $sentido = Mapa::getSentido2DAtaque($golpe->getChar(), $this); $sentido = Mapa::inverterSentido2D($sentido); //echo $sentido; //exit(); for ($i = 1; $i <= $projecao; $i++) { switch ($sentido) { case 0: $retorno = $this->moverTopo(); break; case 1: $retorno = $this->moverTopoDireito(); break; case 2: $retorno = $this->moverRodapeDireito(); break; case 3: $retorno = $this->moverRodape(); break; case 4: $retorno = $this->moveRodapeEsquerdo(); break; case 5: $retorno = $this->moverTopoEsquerdo(); break; } if ($retorno === false) { break; } } $mensagem = "O ataque de " . $inimigo->getNome() . " projetou " . $this->getNome() . " {$projecao} metro(s)."; $jogada = Dado::testeHabilidade($this->getDX(), $projecao - 1); if (in_array($jogada->resultado, array(FALHA, FALHA_CRITICA))) { $this->setPosicao(POSICAO_DEITADO_COSTA); $mensagem .= " " . $this->getNome() . " falhou no teste (" . $jogada->jogada . ") e caiu!"; $tipo_log = LOG_ATAQUE; } else { $mensagem .= " " . $this->getNome() . " foi bem sucedido no teste (" . $jogada->jogada . ") e evitou a queda!"; $tipo_log = LOG_FALHA; } Sessao::escreverlog($mensagem, $inimigo->getIdOriginal(), $tipo_log); }
function abrePrancha($atlasId, $pranchaId, $map_file, $locaplic) { $p = array(); $temasa = array(); $layers = array(); $mapa = ms_newMapObj($map_file); $numlayers = $mapa->numlayers; for ($i = 0; $i < $numlayers; ++$i) { $l = $mapa->getlayer($i); if ($l->getmetadata("ATLAS") != "nao") { $l->set("status", MS_DELETE); } } $mapa->save(str_replace(".map", "", $map_file) . ".map"); $mp = ""; foreach ($this->xml->ATLAS as $s) { $ida = ixml($s, "ID"); if ($ida == $atlasId) { foreach ($s->PRANCHAS as $pranchas) { foreach ($pranchas->PRANCHA as $prancha) { if ($pranchaId == ixml($prancha, "ID")) { $link = ixml($prancha, "LINKMAISINFO"); $w = ixml($prancha, "WABERTURA"); $h = ixml($prancha, "HABERTURA"); $mp = ixml($prancha, "MAPEXT"); //pega os temas foreach ($prancha->TEMAS as $temas) { foreach ($temas->TEMA as $tema) { $codigo = ixml($tema, "CODIGO"); $ligado = ixml($tema, "LIGADO"); if ($codigo != "") { $temasa[] = $codigo; if (strtolower($ligado) == "sim") { $layers[] = $codigo; } } } } } } } } } if (count($temasa) > 0) { include_once "classe_mapa.php"; $mapa = ""; $m = new Mapa($map_file); $m->adicionaTema(implode(",", $temasa), $locaplic, "nao"); $m->salva(); $mapa = ms_newMapObj($map_file); $numlayers = $mapa->numlayers; for ($i = 0; $i < $numlayers; ++$i) { $l = $mapa->getlayer($i); if ($l->getmetadata("ATLAS") != "nao") { $l->set("status", MS_OFF); } } foreach ($layers as $t) { $layer = $mapa->getlayerbyname($t); $layer->set("status", MS_DEFAULT); } $mapa->save(str_replace(".map", "", $map_file) . ".map"); } //verifica extensão geográfica $newext = array(); if ($mp != "") { $ext = $mapa->extent; $newext = array(); $temp = explode(",", $mp); foreach ($temp as $t) { if ($t != "") { $newext[] = $t; } } if (count($newext) == 4) { $ext->setextent($newext[0], $newext[1], $newext[2], $newext[3]); } $mapa->save(str_replace(".map", "", $map_file) . ".map"); } if (!function_exists("sobeAnno")) { include_once "funcoes_gerais.php"; } sobeAnno($map_file); if ($w == "") { $w = 300; } if ($h == "") { $h = 300; } return array("link" => $link, "w" => $w, "h" => $h, "mapexten" => implode(" ", $newext)); }
echo WEB_PATH; ?> /mapa-novo.php">Novo Mapa</a></li> <li><a href="<?php echo WEB_PATH; ?> /mapas.php">Meus Mapas</a></li> </ul> </div> </div> <div class="twelve columns"> <hr /> </div> </div> <?php $mapas = Mapa::listarEstrutura(ID_JOGADOR); $i = 1; ?> <div class="row"> <?php foreach ($mapas as $mapa) { ?> <?php include 'mapa-tmpl.php'; ?> <?php if ($i == 4) { ?> </div><div class="row"> <?php $i = 0;
<div> <label><input type="checkbox" id="entrada" name="entrada" value="1" <?php if ($area->getEntrada()) { echo "checked=\"checked\""; } ?> /> Ponto de Entrada</label> </div> <div> <label>Ponto de SaÃda:</label> <span> <select id="id_mapa_entrada" name="id_mapa_entrada"> <option value="">--Nenhum--</option> <?php foreach (Mapa::listarEstrutura(ID_JOGADOR) as $mapa) { ?> <option value="<?php echo $mapa->id_mapa; ?> "><?php echo $mapa->nome; ?> </option> <?php } ?> </select> </span> </div> <div style="padding-top: 10px; padding-bottom: 10px">
Mapa::getArea(3, 4)->setTipo(AREA_FORA); Mapa::getArea(4, 4)->setTipo(AREA_FORA); if ($gerar) { $width = Mapa::getTileAreaWidth(); $height = Mapa::getTileAreaHeight(); $height -= floor(Mapa::getHexWidth() / 2); $image2 = imagecreatetruecolor($width, $height); imagealphablending($image2, false); imagesavealpha($image2, true); $bg = imagecolorallocatealpha($image2, 255, 255, 255, 127); imagefilledrectangle($image2, 0, 0, $width, $height, $bg); } else { $image = Mapa::gerarConfiguracao(); $width = imagesx($image); $height = imagesy($image); $height -= floor(Mapa::getHexWidth() / 2); $image2 = imagecreatetruecolor($width, $height); imagecopy($image2, $image, 0, 0, 0, 0, $width, imagesy($image)); } $arte->carregarArquivo(); $arte->resizeToHeight($altura); $token = $arte->getImagem(); $dst_w = imagesx($token); $dst_h = $altura; $dst_x = floor(($width - $dst_w) / 2) + $margin_left; $dst_y = floor(($height - $dst_y) / 2) + $margin_top; if ($rotate > 0) { $bg = imagecolorallocatealpha($token, 0, 0, 0, 127); $token = imagerotate($token, $rotate, $bg); } imagecopyresampled($image2, $token, $dst_x, $dst_y, 0, 0, $dst_w, $dst_h, $dst_w, $dst_h);
<?php require 'common.php'; $msgerro = null; if (count($_POST) > 0) { try { $id_mapa = Mapa::novo(); header("location: mapa-config.php?map={$id_mapa}"); exit; } catch (Exception $e) { $msgerro = $e->getMessage(); } } require 'header.php'; if (!is_null($msgerro)) { ?> <div class="row"> <div class="twelve columns"> <div class="alert-box alert"><?php echo $msgerro; ?> </div> </div> </div> <?php } ?> <div class="row"> <div class="six columns"> <h3>Mapas</h3> </div>
public function finalizarTurno() { foreach (Mapa::listarPessoa() as $personagem) { $personagem->executarGolpePendente(); } $query = "\n UPDATE sessao SET\n ultimo_turno = NOW()\n WHERE id_sessao = '" . do_escape(static::idSessao()) . "'\n "; do_update($query); Mapa::escreverlog('Turno terminado!'); foreach (Mapa::listarPessoa() as $personagem) { $personagem->continuarAcordado(); $personagem->ativarTurno(); if ($personagem->getAutomatico() && $personagem->getCodSituacao() == ATIVO) { $personagem->autoplay(); } } //exit(); }
<?php require 'common.php'; $sessao = Sessao::getSessaoAtual(); $sessao->atualizar(); $zoom = floatval($_GET['z']); if ($zoom <= 0) { $zoom = 1; } if (array_key_exists('x', $_GET) && array_key_exists('y', $_GET)) { $x = intval($_GET['x']); $y = intval($_GET['y']); } elseif (!is_null($sessao->personagemAtual())) { $pessoa = $sessao->personagemAtual(); if (!is_null($pessoa)) { $x = $pessoa->getX(); $y = $pessoa->getY(); } } $mapaFull = Mapa::gerarHex(); $mapaFull = Mapa::mapaZoom($mapaFull, $x, $y, 960, 350, 0, $zoom); header('content-type: image/jpeg'); imagejpeg($mapaFull); imagedestroy($mapaFull);
// //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { /* Valor: ADICIONATEMAGEOJSON Adiciona um tema baseado em uma URL GeoJson. <Mapa->adicionaTemaGeoJson> */ case "ADICIONATEMAGEOJSON": include_once dirname(__FILE__) . "/../../classesphp/classe_mapa.php"; copiaSeguranca($map_file); $m = new Mapa($map_file); $retorno = $m->adicionaTemaGeoJson($_GET["servico"], $dir_tmp, $locaplic); if ($retorno != "erro") { $m->salva(); $_SESSION["contadorsalva"]++; redesenhaMapa(); } else { $retorno = "erro."; } break; } if (isset($map_file) && isset($postgis_mapa) && $map_file != "") { restauraCon($map_file, $postgis_mapa); } cpjson($retorno);
header('Location: sessao.php?s=' . Sessao::idSessao() . '&id=' . Sessao::idPersonagemAtual()); exit; } $sessao->atualizar(); /* $mapaFull = Mapa::gerarHex(); if (!is_null($sessao->personagemAtual())) { $pessoa = $sessao->personagemAtual(); $mapaFull = Mapa::mapaZoom($mapaFull, $pessoa->getX(), $pessoa->getY(), 960, 350, $pessoa->getSentido(), 2); } $imagem64 = Mapa::convertToBase64($mapaFull); imagedestroy($mapaFull); */ $personagem = null; if (!is_null(Sessao::idPersonagemAtual())) { $personagem = Mapa::getPessoa(Sessao::idPersonagemAtual()); } require 'header.php'; ?> <script type="text/javascript" src="<?php echo WEB_PATH; ?> /js/mapa.js"></script> <script type="text/javascript"> zoomAtual = 1; SESSAO_ID = '<?php echo Sessao::idSessao(); ?> '; <?php if (!is_null($personagem)) {
case SENTIDO_FRENTE_ESQUERDA: $area->setCor(array(137,211,255)); break; case SENTIDO_LATERAL_DIREITA: $area->setCor(array(107,68,35)); break; case SENTIDO_LATERAL_ESQUERDA: $area->setCor(array(0,166,147)); break; case SENTIDO_COSTAS: $area->setCor(array(0,38,73)); break; } } } * */ ?> <html> <body> <img src='<?php echo Mapa::configuracaoToBase64(); ?> ' style="float: left" /> <div style="float: right"><?php echo $log; ?> </div> </body> </html>
$yaml = str_replace("...", "", $yaml); $yaml = str_replace("- p", " p", $yaml); $yaml = str_replace("'", "", $yaml); $yaml = str_replace('"', "", $yaml); $yaml = trim($yaml) . "\n"; $yaml = str_replace('|-', "", $yaml); $yaml = str_replace('|2-', "", $yaml); //salva o arquivo com os parametros $fp = fopen($y, "w"); fwrite($fp, $yaml); fclose($fp); //executa os calculos exec(dirname(__FILE__) . "/better_path.py {$y}"); //adiciona ao mapa atual os shapefiles criados include_once "../../classesphp/classe_mapa.php"; $m = new Mapa($map_file); if (file_exists($pathresult . "/" . $prefixo . "_best_path.shp")) { //adiciona ao mapa best_path $retorno = $m->adicionaTemaSHP($pathresult . "/" . $prefixo . "_best_path.shp"); $layer = $m->mapa->getlayerbyname($prefixo . "_best_path.shp"); $layer->setmetadata("TEMA", "Melhor caminho {$prefixo}"); $layer->setmetadata("DOWNLOAD", "SIM"); $layer->setmetadata("TEMALOCAL", "SIM"); $classe = $layer->getclass(0); $estilo = $classe->getstyle(0); $cor = $estilo->color; $cor->setRGB(255, 0, 0); } if (file_exists($pathresult . "/" . $prefixo . "_cartesian_straight_line_cost.shp")) { //cartesian_straight_line_cost $retorno = $m->adicionaTemaSHP($pathresult . "/" . $prefixo . "_cartesian_straight_line_cost.shp");
public function drawHex($im, $exibePos = false, $selected = false) { $left = Mapa::getMarginLeft(); $top = Mapa::getMarginTop(); $left += (Mapa::getHexWidth() - (Mapa::getHexWidth() - Mapa::getHexSide()) / 2) * $this->getX(); if ($this->getX() % 2 == 0) { $top += Mapa::getHexHeight() * $this->getY(); } else { $top += Mapa::getHexHeight() * $this->getY() + Mapa::getHexHeight() / 2; } $hex = $this->getHexCanto(); if ($selected) { $cor = imagecolorallocatealpha($im, 255, 255, 255, 50); imagefilledpolygon($im, $hex, 6, $cor); $cor = imagecolorallocate($im, 0, 0, 0); } else { if ($this->getTipo() == AREA_FORA) { //$cor = imagecolorallocatealpha($im, 130, 130, 130, 40); //imagefilledpolygon($im, $hex, 6, $cor); //$cor = imagecolorallocate($im, 0, 0, 0); } elseif ($this->getEntrada()) { $cor = imagecolorallocatealpha($im, 218, 165, 32, 100); imagefilledpolygon($im, $hex, 6, $cor); $cor = imagecolorallocate($im, 0, 0, 0); } elseif ($this->getTipo() == AREA_PAREDE) { $cor = imagecolorallocatealpha($im, 130, 130, 130, 80); imagefilledpolygon($im, $hex, 6, $cor); $cor = imagecolorallocate($im, 0, 0, 0); } elseif (!is_null($this->cor)) { $cor = imagecolorallocatealpha($im, $this->cor[0], $this->cor[1], $this->cor[2], 80); imagefilledpolygon($im, $hex, 6, $cor); $cor = imagecolorallocate($im, 0, 0, 0); } else { $cor = imagecolorallocatealpha($im, 255, 255, 255, 100); imagepolygon($im, $hex, 6, $cor); } } imagesetthickness($im, 15); $cor = imagecolorallocatealpha($im, 130, 130, 130, 80); for ($i = 0; $i <= 5; $i++) { if ($this->lados[$i] == AREA_PAREDE) { $l = $i >= 5 ? 0 : $i + 1; imageline($im, $cantos[$i]['x'], $cantos[$i]['y'], $cantos[$l]['x'], $cantos[$l]['y'], $cor); } } $cor = imagecolorallocate($im, 0, 0, 0); imagesetthickness($im, 1); if ($exibePos && $this->getTipo() != AREA_FORA) { $texto = $this->getX() . "." . $this->getY(); $font = 5; $fx = $left + (Mapa::getHexWidth() - strlen($texto) * imagefontwidth($font)) / 2; $fy = $top + (Mapa::getHexHeight() - imagefontheight($font)) / 2; $cor = imagecolorallocatealpha($im, 255, 255, 255, 50); imagestring($im, $font, $fx, $fy, $texto, $cor); } }
Altera a cor do fundo do mapa. <Mapa->corfundo> */ /* Valor: CORFUNDO Altera a cor do fundo do mapa. <Mapa->corfundo> */ case "CORFUNDO": include_once dirname(__FILE__) . "/../../classesphp/classe_mapa.php"; copiaSeguranca($map_file); $m = new Mapa($map_file); $m->corfundo($_GET["cor"]); $m->salva(); //no caso da interface openlayers, o mapfile é outro /* $nomefundo = str_replace(".map","fundo.map",$map_file); if(file_exists($nomefundo)){ $m = new Mapa($nomefundo); $m->corfundo($cor); $m->salva(); } */ $_SESSION["contadorsalva"]++; redesenhaMapa(); break; }
echo $id_tipo; ?> "><?php echo $tipo; ?> </option> <?php } ?> </select> </span> </div> <div> <label>Imagem:</label> <span><?php MapaArea::dropDownListHex(); ?> </span> </div> </fieldset> <img id="loading" src="images/ajax-loader.gif" alt="Carregando" style="display: none" /> </div> <div id='hexmap' class='hexmap' onclick='handle_map_click(event);'> <?php Mapa::renderizarMapa(); ?> <img id='highlight' class='hex' src='images/hex-highlight.png' style='zindex:100;'> </div> </body> </html>
// //faz a busca da função que deve ser executada // $retorno = ""; //string que será retornada ao browser via JSON switch (strtoupper($funcao)) { /* Valor: ADICIONATEMAGEORSS Adiciona um tema baseado em um RSS. <Mapa->adicionaTemaGeoRSS> */ case "ADICIONATEMAGEORSS": include_once dirname(__FILE__) . "/../../classesphp/classe_mapa.php"; copiaSeguranca($map_file); $m = new Mapa($map_file); $retorno = $m->adicionaTemaGeoRSS($_GET["servico"], $dir_tmp, $locaplic, $_GET["canal"]); if ($retorno != "erro") { $m->salva(); $_SESSION["contadorsalva"]++; redesenhaMapa(); } else { $retorno = "erro.Nenhum dado espacializado foi encontrado."; } break; } if (isset($map_file) && isset($postgis_mapa) && $map_file != "") { restauraCon($map_file, $postgis_mapa); } cpjson($retorno);
<div class="row"> <?php $i = 1; ?> <?php $personagens = Personagem::listar(ID_JOGADOR); ?> <?php foreach ($personagens as $personagem) { ?> <div class="four columns"> <a href="<?php echo WEB_PATH; ?> /sessao-grupo.php?map=<?php echo Mapa::getId(); ?> &personagem=<?php echo $personagem->getId(); ?> "><img src="<?php echo $personagem->getImagemBase64(); ?> " alt="<?php echo $personagem->getNome(); ?> " style="width: 40px; height: 40px; float: left" /></a> <h6> <label style="font-weight: bold"><input class="right" type="radio" name="personagem" value="<?php echo $personagem->getId(); ?>
function iniciaMapa() { global $googleApiKey, $i3geoPermiteLogin, $dir_tmp, $logExec, $postgis_mapa, $statusFerramentas, $saikuUrl, $emailInstituicao, $openid, $interfacePadrao, $mensagemInicia, $kmlurl, $tituloInstituicao, $tempo, $navegadoresLocais, $locaplic, $embedLegenda, $map_file, $mapext, $w, $h, $R_path, $locmapserv, $utilizacgi, $expoeMapfile, $interface; // //verifica se algum tema e restrito a determinado usuario //as funcoes de validacao encontram-se em funcoes_gerais.php // if (!function_exists("validaAcessoTemas")) { include_once "funcoes_gerais.php"; } validaAcessoTemas($map_file); if ($dir_tmp != "" && isset($logExec) && $logExec["init"] == true) { i3GeoLog("prog: iniciaMapa interface: {$interface}", $dir_tmp); } if (!isset($kmlurl)) { $kmlurl = ""; } error_reporting(0); if (!isset($interface)) { $interface = ""; } if ($interface == "openlayers") { $m = ms_newMapObj($map_file); $e = $m->extent; $ext = $e->minx . " " . $e->miny . " " . $e->maxx . " " . $e->maxy; $c = $m->numlayers; for ($i = 0; $i < $c; ++$i) { $layer = $m->getlayer($i); if ($layer->status == 2) { $layer->setmetadata("olstatus", "DEFAULT"); } else { $layer->setmetadata("olstatus", "OFF"); } $layer->setmetadata("olopacity", $layer->opacity); } $m->save($map_file); } if ($interface == "googlemaps" || $interface == "googleearth") { $m = ms_newMapObj($map_file); $e = $m->extent; $ext = $e->minx . " " . $e->miny . " " . $e->maxx . " " . $e->maxy; if ($interface == "googlemaps") { $m->setProjection("+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m"); } $c = $m->numlayers; for ($i = 0; $i < $c; ++$i) { $layer = $m->getlayer($i); if ($layer->status == 2) { $layer->setmetadata("gmstatus", "DEFAULT"); } else { $layer->setmetadata("gmstatus", "OFF"); } $layer->setmetadata("gmopacity", $layer->opacity); if ($layer->name == "mundo" || $layer->name == "estados") { $layer->set("status", MS_OFF); } if ($layer->type == MS_LAYER_POLYGON || $layer->type == MS_LAYER_RASTER) { if ($layer->opacity == "" || $layer->opacity == 100) { $layer->set("opacity", 50); } } if ($layer->name == "rosadosventos" || $layer->name == "copyright") { $layer->set("status", MS_DELETE); } } $temp = $m->scalebar; $temp->set("status", MS_OFF); $c = $m->imagecolor; $c->setrgb(255, 255, 255); if ($interface == "googleearth") { $m->selectOutputFormat("jpeg"); $of = $m->outputformat; $of->set("driver", "AGG/PNG"); } else { $of = $m->outputformat; } $of->set("imagemode", MS_IMAGEMODE_RGBA); $of->set("transparent", MS_ON); $m->save($map_file); } $protocolo = explode("/", $_SERVER['SERVER_PROTOCOL']); $protocolo = $protocolo[0]; $protocolo = strtolower($protocolo) . '://' . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT']; $urli3geo = str_replace("/classesphp/mapa_controle.php", "", $protocolo . $_SERVER["PHP_SELF"]); //altera o tamanho do query map para ficar igual ao do mapa include_once "classe_mapa.php"; error_reporting(0); if (!function_exists("sobeAnno")) { include_once "funcoes_gerais.php"; } sobeAnno($map_file); $m = new Mapa($map_file); if (isset($w)) { $m->mudaQS($w, $h); $m = new Mapa($map_file); $m->mapa->setsize($w, $h); } error_reporting(0); // //verifica se a legenda deve ser embebida no mapa // $legenda = $m->mapa->legend; $embedLegenda == "sim" ? $legenda->set("status", MS_EMBED) : $legenda->set("status", MS_OFF); // //salva as alterações feitas // $m->mapa->setmetadata("ows_enable_request", "*"); $m->salva(); //prepara a legenda para incluir no mapa, preenchendo os nomes das classes em branco if (strtolower($embedLegenda) == "sim") { foreach ($m->layers as $l) { if ($l->data != "" && strtoupper($l->getmetadata("escondido")) != "SIM" && strtolower($l->getmetadata("tema")) != "nao") { if ($l->numclasses > 0) { $classe = $l->getclass(0); if ($classe->name == "" || $classe->name == " ") { $classe->set("name", $l->getmetadata("tema")); } } } } } // //cuidado ao mexer aqui //o mapa precisa ser salvo para registrar a extensão geográfica // //$imgo = $m->mapa->draw(); $imgo = $m->mapa->prepareImage(); $m->salva($map_file); //$e = $m->mapa->extent; //$ext = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); $escalaMapa = $m->mapa->scaledenom; $celula = $m->mapa->cellsize; // //pega os parametros de cada tema // $qyfile = str_replace(".map", ".qy", $map_file); $arqsel = file_exists($qyfile) ? true : false; $m = new Mapa($map_file, $locaplic); $temas = $m->parametrosTemas(); //$m->ligaDesligaTemas("",implode(",",$m->nomes),"nao"); // //é necessário um mapa para compor o fundo apenas com o imagecolor e sem nenhuma outra camada //utilizado em algumas interfaces // /* $nomefundo = str_replace(".map","fundo.map",$map_file); $m->mapa->save($nomefundo); $mf = ms_newMapObj($nomefundo); $numlayers = $mf->numlayers; for($i = 0;$i < $numlayers;++$i) { $l = $mf->getLayer($i); $l->set("status",MS_DELETE); } $of = $mf->outputformat; $of->set("driver","GD/PNG"); $versao = versao(); $temp = $mf->scalebar; $temp->set("status",MS_OFF); $mf->save($nomefundo); */ $versao = versao(); $temp = $m->mapa->scalebar; $temp->set("status", MS_OFF); $of = $m->mapa->outputformat; $of->set("imagemode", MS_IMAGEMODE_RGBA); $of->setOption("QUANTIZE_FORCE", "OFF"); $of->set("driver", "AGG/PNG"); $m->mapa->setmetadata("interface", $interface); $m->salva(); $nomes = nomeRandomico(12); if ($imgo->imagepath == "") { echo "Erro IMAGEPATH vazio"; exit; } $nomer = $imgo->imagepath . "mapa" . $nomes . ".png"; //$imgo->saveImage($nomer); if (isset($utilizacgi) && strtolower($utilizacgi) == "sim") { $nomer = $locmapserv . "?map=" . $map_file . "&mode=map"; } else { $nomer = $imgo->imageurl . basename($nomer); } //pega a cor de fundo do mapa $c = $m->mapa->imagecolor; $cordefundo = $c->red . "," . $c->green . "," . $c->blue; //pega o texto de copyright $copyright = ""; $lc = $m->mapa->getlayerbyname("copyright"); if ($lc != "" && $lc->status == MS_DEFAULT) { if ($versao["principal"] >= 6) { $shape = $lc->getShape(new resultObj(0)); $copyright = $shape->text; } else { $shape = $lc->getfeature(0, -1); $copyright = $shape->text; } } $res["editor"] = "nao"; // //papeis do usuario se estiver logado // $res["papeis"] = array(); $logado = "nao"; $res["i3geoPermiteLogin"] = "******"; if (isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false) { $_COOKIE = array(); $res["i3geoPermiteLogin"] = "******"; } if (!empty($_COOKIE["i3geocodigologin"])) { session_write_close(); session_name("i3GeoLogin"); session_id($_COOKIE["i3geocodigologin"]); session_start(); //var_dump($_SESSION);exit; $logado = "sim"; if (!empty($_SESSION["usuario"]) && $_SESSION["usuario"] == $_COOKIE["i3geousuariologin"]) { $res["papeis"] = $_SESSION["papeis"]; } else { $logado = "nao"; } //verifica se o usuario logado pode ver as opcoes de edicao do sistema de admin dentro do mapa foreach ($res["papeis"] as $p) { if ($p < 3) { $res["editor"] = "sim"; } } } // $res["mapexten"] = $ext; $res["mapscale"] = $escalaMapa; $res["mapres"] = $m->mapa->resolution; $res["pixelsize"] = $celula; //TODO depreciar na documentacao e ms_configura /* if ((isset($expoeMapfile)) && ($expoeMapfile == "nao")) {$res["mapfile"] = "";} else {$res["mapfile"] = $map_file;} */ $res["mapfile"] = ""; $res["cgi"] = ""; //$locmapserv; $res["extentTotal"] = $ext; $res["mapimagem"] = ""; //$nomer; $geoip = "nao"; if (file_exists($locaplic . "/pacotes/geoip") && file_exists($locaplic . "/pacotes/geoip/GeoLiteCity.dat")) { $geoip = "sim"; } $res["geoip"] = $geoip; $res["listavisual"] = file_exists($locaplic . "/imagens/visual") ? implode(",", listaDiretorios($locaplic . "/imagens/visual")) : ""; //TODO depreciar na documentacao $res["utilizacgi"] = "nao"; //$utilizacgi; $res["versaoms"] = $versao["principal"]; $res["versaomscompleta"] = $versao["completa"]; $res["mensagens"] = $m->pegaMensagens(); $res["r"] = isset($R_path) ? "sim" : "nao"; $res["extentref"] = ""; $res["kmlurl"] = $kmlurl; $res["mensageminicia"] = $mensagemInicia; $res["interfacePadrao"] = $interfacePadrao; $res["embedLegenda"] = $embedLegenda; $res["w"] = $w; $res["h"] = $h; $res["titulo"] = $tituloInstituicao; $res["tempo"] = microtime(1) - $tempo; $res["embedLegenda"] = $embedLegenda; $res["erro"] = ''; $res["mappath"] = ""; //$imgo->imagepath; $res["mapurl"] = ""; //$imgo->imageurl; $res["navegacaoDir"] = $navegadoresLocais; if ($openid == true) { $res["autenticadoopenid"] = "sim"; } else { $res["autenticadoopenid"] = "nao"; } $res["emailInstituicao"] = $emailInstituicao; $res["cordefundo"] = $cordefundo; $res["copyright"] = $copyright; $res["logado"] = $logado; $res["saikuUrl"] = $saikuUrl; $res["statusFerramentas"] = $statusFerramentas; $res["googleApiKey"] = $googleApiKey; //parametros de inicializacao armazenados com o mapa quando o usuario utiliza a opcao de salvar mapa no nbanco de dados $customizacoesinit = $m->mapa->getmetadata("CUSTOMIZACOESINIT"); $res["editavel"] = $m->mapa->getmetadata("EDITAVEL"); $m->mapa->setmetadata("CUSTOMIZACOESINIT", ""); $m->salva(); restauraCon($map_file, $postgis_mapa); copy($map_file, str_replace(".map", "reinc.map", $map_file)); copy($map_file, str_replace(".map", "seguranca.map", $map_file)); ob_clean(); cpjson(array("variaveis" => $res, "temas" => $temas, "customizacoesinit" => $customizacoesinit)); }