コード例 #1
0
ファイル: exec.php プロジェクト: edmarmoretti/i3geo
function adicionar($id_grupo, $id_tema, $dbhw)
{
    global $esquemaadmin;
    try {
        $dataCol = array("id_tema" => $id_tema, "id_grupo" => $id_grupo);
        $retorna = i3GeoAdminInsert($dbhw, "i3geousr_grupotema", $dataCol);
        return $retorna;
    } catch (PDOException $e) {
        return false;
    }
}
コード例 #2
0
ファイル: editormapfile.php プロジェクト: edmarmoretti/i3geo
function alterarConexao()
{
    global $esquemaadmin, $dir_tmp, $codigoMap, $codigoLayer, $locaplic;
    if ($_GET["data"] != "") {
        $_GET["data"] = base64_decode($_GET["data"]);
    }
    $mapfile = $locaplic . "/temas/" . $codigoMap . ".map";
    $mapa = ms_newMapObj($mapfile);
    $layer = $mapa->getlayerbyname($codigoLayer);
    //quando o layer estiver conectado com o METAESTAT, alguns parametros sao default
    include "conexao.php";
    //e necessario atualizar o banco de dados de administracao, por isso e feito a verificacao do registro ou nao do mapfile no banco
    $sql = "SELECT * from " . $esquemaadmin . "i3geoadmin_temas where codigo_tema = '{$codigoMap}'";
    $dados = pegaDados($sql);
    if (count($dados) == 0) {
        $dataCol = array("tipoa_tema" => "META", "nome_tema" => $codigoMap, "codigo_tema" => $codigoMap, "kml_tema" => "SIM", "kmz_tema" => "NAO", "ogc_tema" => "SIM", "download_tema" => "SIM", "tags_tema" => "", "link_tema" => "", "desc_tema" => "");
        i3GeoAdminInsert($dbhw, "i3geoadmin_temas", $dataCol);
    }
    if (strtoupper($metaestat) == "SIM") {
        $_GET["connectiontype"] = 6;
        $_GET["filteritem"] = "";
        $_GET["filter"] = "";
        $_GET["data"] = "";
        $_GET["connection"] = "";
        $dataCol = array("tipoa_tema" => "META");
        i3GeoAdminUpdate($dbhw, "i3geoadmin_temas", $dataCol, "WHERE codigo_tema = '{$codigoMap}'");
        $layer->setmetadata("metaestat", "SIM");
        $layer->setmetadata("METAESTAT_ID_MEDIDA_VARIAVEL", $_GET["metaestat_id_medida_variavel"]);
    } else {
        $layer->setmetadata("METAESTAT_CODIGO_TIPO_REGIAO", "");
        $layer->setmetadata("METAESTAT_ID_MEDIDA_VARIAVEL", "");
        $layer->setmetadata("metaestat", "");
        $dataCol = array("tipoa_tema" => "");
        i3GeoAdminUpdate($dbhw, "i3geoadmin_temas", $dataCol, "WHERE codigo_tema = '{$codigoMap}'");
    }
    $layer->set("connection", $_GET["connection"]);
    if (ms_GetVersionInt() > 50201) {
        $layer->setconnectiontype($_GET["connectiontype"]);
    } else {
        $layer->set("connectiontype", $_GET["connectiontype"]);
    }
    $layer->set("data", $_GET["data"]);
    $layer->set("tileitem", $_GET["tileitem"]);
    $layer->set("tileindex", $_GET["tileindex"]);
    $layer->set("type", $_GET["type"]);
    if ($_GET["type"] == 0) {
        $c = $layer->getClass(0);
        $e = $c->getStyle(0);
        if ($e->symbolname == "") {
            $e->set("symbolname", "ponto");
        }
    }
    if ($_GET["type"] == 1) {
        $c = $layer->getClass(0);
        $e = $c->getStyle(0);
        if ($e->symbolname == "" || $e->symbolname == "ponto") {
            $e->set("symbolname", "linha");
        }
    }
    if ($_GET["type"] == 2) {
        $c = $layer->getClass(0);
        $e = $c->getStyle(0);
        if ($e->symbolname == "linha" || $e->symbolname == "ponto") {
            $e->set("symbolname", " ");
        }
    }
    $layer->setfilter($_GET["filter"]);
    $layer->set("filteritem", $_GET["filteritem"]);
    if ($layer->getprojection() == MS_TRUE) {
        $layer->setprojection($_GET["projection"]);
    }
    if ($layer->getprojection() == MS_FALSE && $_GET["projection"] != "") {
        $layer->setprojection($_GET["projection"]);
    }
    if ($layer->connectiontype == 7 || $layer->connectiontype == 9) {
        $layer->setmetadata("tipooriginal", $_GET["tipooriginal"]);
    }
    $layer->setmetadata("cache", $_GET["cache"]);
    $layer->setmetadata("tiles", $_GET["tiles"]);
    if ($_GET["cortepixels"] == "") {
        $_GET["cortepixels"] = 0;
    }
    $layer->setmetadata("cortepixels", $_GET["cortepixels"]);
    $layer->setmetadata("convcaracter", $_GET["convcaracter"]);
    if ($_GET["testar"] == "true") {
        $nome = $dir_tmp . "/" . $codigoMap . ".map";
        $mapa->save($nome);
        removeCabecalho($nome, true);
        return $nome;
    } else {
        $mapa->save($mapfile);
        removeCabecalho($mapfile);
        return "ok";
    }
}
コード例 #3
0
ファイル: exec.php プロジェクト: edmarmoretti/i3geo
function adicionaUsuario($id_grupo, $id_usuario, $dbhw)
{
    global $esquemaadmin;
    $dataCol = array("id_usuario" => $id_usuario, "id_grupo" => $id_grupo);
    $resultado = i3GeoAdminInsert($dbhw, "i3geousr_grupousuario", $dataCol);
    return $resultado;
}
コード例 #4
0
ファイル: exec.php プロジェクト: edmarmoretti/i3geo
function adicionar($locaplic, $titulolegenda, $link_tema, $codigo, $acessopublico, $metaestat, $titulo, $desc_tema, $tituloEN, $tituloES, $registraBanco, $dbhw)
{
    global $convUTF, $esquemaadmin;
    $arq = $locaplic . "/temas/" . $codigo . ".map";
    if (empty($acessopublico) || $acessopublico == "on") {
        $acessopublico = "SIM";
    } else {
        $acessopublico = "NAO";
    }
    if (mb_detect_encoding($titulolegenda, 'UTF-8, ISO-8859-1') == "UTF-8") {
        $titulolegenda = utf8_decode($titulolegenda);
    }
    $tipoLayer = "line";
    $dados[] = "MAP";
    $dados[] = "SYMBOLSET ../symbols/simbolosv6.sym";
    $dados[] = 'FONTSET   "../symbols/fontes.txt"';
    $dados[] = "LAYER";
    $dados[] = '	NAME "' . $codigo . '"';
    $dados[] = '	TEMPLATE "none.htm"';
    if (!empty($metaestat) && $metaestat == "SIM") {
        $dados[] = '	CONNECTIONTYPE POSTGIS';
        $tipoLayer = "polygon";
    }
    $dados[] = "\tTYPE " . $tipoLayer;
    $dados[] = '	DATA ""';
    $dados[] = '	CONNECTION ""';
    $dados[] = '	STATUS DEFAULT';
    $dados[] = '	METADATA';
    $dados[] = '		TEMA "' . $titulolegenda . '"';
    $dados[] = '		CLASSE "SIM"';
    $tipoa_tema = "";
    if (!empty($metaestat) && $metaestat == "SIM") {
        $dados[] = '		METAESTAT "SIM"';
        // para marcar no banco de dados de administracao
        $tipoa_tema = "META";
    }
    $dados[] = '		permiteogc "' . $acessopublico . '"';
    $dados[] = '		permitedownload "' . $acessopublico . '"';
    $dados[] = '		permitekml "' . $acessopublico . '"';
    $dados[] = '		permitekmz "' . $acessopublico . '"';
    $dados[] = '	END';
    $dados[] = '    CLASS';
    $dados[] = '        NAME ""';
    $dados[] = '        STYLE';
    $dados[] = '        	COLOR 0 0 0';
    $dados[] = '        	SIZE 12';
    $dados[] = '        END';
    $dados[] = '    END';
    $dados[] = "END";
    $dados[] = "END";
    // abre o arquivo para ver se nao deu erro antes de adicionar ao banco
    $fp = fopen($arq, "w");
    if ($fp === false) {
        return false;
    }
    if ($convUTF != true) {
        $titulo = utf8_decode($titulo);
        $desc_tema = utf8_decode($desc_tema);
    }
    if ($registraBanco == true) {
        try {
            $dataCol = array("link_tema" => $link_tema, "kml_tema" => $acessopublico, "kmz_tema" => $acessopublico, "ogc_tema" => $acessopublico, "download_tema" => $acessopublico, "desc_tema" => $desc_tema, "tipoa_tema" => $tipoa_tema, "tags_tema" => '', "nome_tema" => $titulo, "codigo_tema" => $codigo, "it" => "", "es" => $tituloES, "en" => $tituloEN);
            i3GeoAdminInsert($dbhw, "i3geoadmin_temas", $dataCol);
            // salva o arquivo mapfile
            foreach ($dados as $dado) {
                fwrite($fp, $dado . "\n");
            }
            fclose($fp);
            return true;
        } catch (PDOException $e) {
            return false;
        }
    } else {
        return true;
    }
}
コード例 #5
0
ファイル: admin.php プロジェクト: edmarmoretti/i3geo
/**
 * Faz o insert de um registro e retorna o ID unico criado
 *
 * @param obj $pdo - objeto pdo
 * @param string $tabela - nome da tabela que sofreara o insert
 * @param array $data - array com os nomes dos campos da tabela e os valores
 * @param string $colTemp - coluna do tipo text que recebera um valor temporario para poder recuperar o registro inserido
 * @param string $colId - coluna com id unico, cujo calculo e automatico
 * @return string
 */
function i3GeoAdminInsertUnico($pdo, $tabela, $data, $colTemp, $colId)
{
    global $esquemaadmin;
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $idtemp = rand(9000, 10000) * -1;
    $data[$colTemp] = $idtemp;
    $q = i3GeoAdminInsert($pdo, $tabela, $data);
    if ($q !== true) {
        echo "Error! insert ";
        exit;
    }
    try {
        $id = $pdo->query("SELECT {$colId} FROM " . $esquemaadmin . "{$tabela} WHERE {$colTemp} = '{$idtemp}'");
    } catch (PDOException $e) {
        return "SELECT ID ";
    }
    try {
        $id = $id->fetchAll();
        $id = $id[0][$colId];
        $sql = "UPDATE " . $esquemaadmin . "{$tabela} SET {$colTemp} = '' WHERE {$colId} = {$id} AND {$colTemp} = '{$idtemp}'";
        $pdo->query($sql);
        i3GeoAdminInsertLog($pdo, $sql);
        return $id;
    } catch (PDOException $e) {
        return "UPDATE ID ";
    }
}
コード例 #6
0
ファイル: usuarios.php プロジェクト: edmarmoretti/i3geo
function adicionaPapelUsuario()
{
    global $id_usuario, $id_papel;
    try {
        include dirname(__FILE__) . "/conexao.php";
        $dataCol = array("id_usuario" => $id_usuario, "id_papel" => $id_papel);
        i3GeoAdminInsert($dbhw, "i3geousr_papelusuario", $dataCol);
        $dbhw = null;
        $dbh = null;
        return "ok";
    } catch (PDOException $e) {
        return "Error!: ";
    }
}
コード例 #7
0
ファイル: menutemas.php プロジェクト: edmarmoretti/i3geo
function alteraTemas()
{
    global $esquemaadmin, $id, $locaplic;
    //error_reporting(0);
    try {
        $retorna = "ok";
        include "conexao.php";
        $nomeo = $_GET["nome"];
        if ($convUTF) {
            $_GET["nome"] = utf8_encode($_GET["nome"]);
            $_GET["desc"] = utf8_encode($_GET["desc"]);
            $_GET["tags"] = utf8_encode($_GET["tags"]);
            $_GET["en"] = utf8_encode($_GET["en"]);
            $_GET["es"] = utf8_encode($_GET["es"]);
            $_GET["it"] = utf8_encode($_GET["it"]);
        }
        if ($id != "") {
            $dataCol = array("en" => $_GET["en"], "es" => $_GET["es"], "it" => $_GET["it"], "tags_tema" => $_GET["tags"], "link_tema" => $_GET["link"], "nome_tema" => $_GET["nome"], "desc_tema" => $_GET["desc"], "codigo_tema" => $_GET["codigo"], "tipoa_tema" => $_GET["tipoa"], "download_tema" => $_GET["download"], "ogc_tema" => $_GET["ogc"], "kml_tema" => $_GET["kml"]);
            if (isset($_GET["kmz"])) {
                $dataCol["kmz_tema"] = $_GET["kmz"];
            }
            i3GeoAdminUpdate($dbhw, "i3geoadmin_temas", $dataCol, "WHERE id_tema = {$id}");
            $retorna = $id;
            if (!isset($_GET["kmz"])) {
                $_GET["kmz"] = "nao";
            }
            $sql = "SELECT * from " . $esquemaadmin . "i3geoadmin_temas where id_tema = {$id}";
            $q = $dbh->query($sql, PDO::FETCH_ASSOC);
            $resultado = $q->fetchAll();
            $mapfile = $resultado[0]["codigo_tema"];
            if (file_exists($locaplic . "/temas/" . $mapfile . ".map")) {
                $mapfile = $locaplic . "/temas/" . $mapfile . ".map";
                if ($mapa = @ms_newMapObj($mapfile)) {
                    $mapa = ms_newMapObj($mapfile);
                    $numlayers = $mapa->numlayers;
                    for ($i = 0; $i < $numlayers; $i++) {
                        $layer = $mapa->getlayer($i);
                        $layer->setmetadata("permitedownload", strtolower($_GET["download"]));
                        $layer->setmetadata("download", strtolower($_GET["download"]));
                        $layer->setmetadata("permiteogc", strtolower($_GET["ogc"]));
                        $layer->setmetadata("permitekml", strtolower($_GET["kml"]));
                        $layer->setmetadata("permitekmz", strtolower($_GET["kmz"]));
                        //zera os metadados do sistema METAESTAT
                        if ($_GET["tipoa"] != "META") {
                            $layer->setmetadata("METAESTAT_CODIGO_TIPO_REGIAO", "");
                            $layer->setmetadata("METAESTAT_ID_MEDIDA_VARIAVEL", "");
                            $layer->setmetadata("metaestat", "");
                        }
                        if (count($_GET["nomes"]) == 1) {
                            $layer->setmetadata("tema", $nomeo);
                        }
                    }
                    $mapa->save($mapfile);
                    removeCabecalho($mapfile);
                }
            }
        } else {
            $dataCol = array("en" => "", "es" => "", "it" => "", "tags_tema" => "", "link_tema" => "", "nome_tema" => "", "desc_tema" => "", "codigo_tema" => "", "tipoa_tema" => "", "download_tema" => "", "ogc_tema" => "", "kml_tema" => "");
            if (isset($kmz)) {
                $dataCol["kmz_tema"] = "";
            }
            $retorna = i3GeoAdminInsertUnico($dbhw, "i3geoadmin_temas", $dataCol, "nome_tema", "id_tema");
        }
        //verifica se &eacute; necess&aacute;rio adicionar algum tag novo
        $_GET["tags"] = explode(" ", $_GET["tags"]);
        foreach ($_GET["tags"] as $tag) {
            if (!verificaDuplicados("select * from " . $esquemaadmin . "i3geoadmin_tags where nome = '{$tag}'", $dbh)) {
                $dataCol = array("nome" => $tag);
                i3GeoAdminInsert($dbhw, "i3geoadmin_tags", $dataCol);
            }
        }
        $dbhw = null;
        $dbh = null;
        return $retorna;
    } catch (PDOException $e) {
        return "Error!: ";
    }
}
コード例 #8
0
ファイル: exec.php プロジェクト: edmarmoretti/i3geo
function adicionaPapel($id_operacao, $id_papel, $dbhw)
{
    global $esquemaadmin;
    $dataCol = array("id_operacao" => $id_operacao, "id_papel" => $id_papel);
    $resultado = i3GeoAdminInsert($dbhw, "i3geousr_operacoespapeis", $dataCol);
    return $resultado;
}