Example #1
0
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);
}
Example #2
0
 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;
 }
Example #3
0
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();
}
Example #4
0
<?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">
Example #5
0
    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>
Example #6
0
include_once dirname(__FILE__) . "/../safe.php";
verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false);
//
//faz a busca da fun&ccedil;&atilde;o que deve ser executada
//
$retorno = "";
//string que ser&aacute; 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);
Example #7
0
<?php

include_once dirname(__FILE__) . "/../safe.php";
verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false);
//
//faz a busca da fun&ccedil;&atilde;o que deve ser executada
//
$retorno = "";
//string que ser&aacute; 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);
Example #8
0
<?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);
Example #9
0
<?php

include_once dirname(__FILE__) . "/../safe.php";
verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false);
//
//faz a busca da fun&ccedil;&atilde;o que deve ser executada
//
$retorno = "";
//string que ser&aacute; retornada ao browser via JSON
switch (strtoupper($funcao)) {
    /*
    Valor: PEGAQUERYMAPCOR
    
    Pega a cor de sele&ccedil;&atilde;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);
Example #10
0
include_once dirname(__FILE__) . "/../safe.php";
verificaBlFerramentas(basename(dirname(__FILE__)), $i3geoBlFerramentas, false);
//
//faz a busca da fun&ccedil;&atilde;o que deve ser executada
//
$retorno = "";
//string que ser&aacute; 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);
Example #11
0
<?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.");
}
Example #12
0
            <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);
 }
Example #14
0
 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&atilde;o geogr&aacute;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));
 }
Example #15
0
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;
Example #16
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">
Example #17
0
 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);
Example #18
0
<?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>
Example #19
0
 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();
 }
Example #20
0
<?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);
Example #21
0
//
//faz a busca da fun&ccedil;&atilde;o que deve ser executada
//
$retorno = "";
//string que ser&aacute; 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);
Example #22
0
    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)) {
Example #23
0
           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>
Example #24
0
 $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);
     }
 }
Example #26
0
        
        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 &eacute; 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>
Example #28
0
//
//faz a busca da fun&ccedil;&atilde;o que deve ser executada
//
$retorno = "";
//string que ser&aacute; 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);
Example #29
0
        <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();
        ?>
Example #30
0
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&ccedil;&otilde;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&atilde;o geogr&aacute;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");
    //
    //&eacute; necess&aacute;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));
}