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; } }
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"; } }
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; }
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; } }
/** * 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 "; } }
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!: "; } }
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 é necessá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!: "; } }
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; }