From 077fdef0bee3fcb9f606f4b180a201caffed3514 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Tue, 7 Mar 2017 08:50:13 -0300 Subject: [PATCH] Padronização do sistema de administração. Modificação na operação de salvar geometrias do tipo ponto, que passaram a usar point no lugar de multipoint --- admin/admin.db | Bin 340992 -> 0 bytes admin1/catalogo/mapfile/comportamento/exec.php | 108 ++++++++++++++---------------------------------------------------------------------------------------------- admin1/catalogo/mapfile/comportamento/funcoes.php | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/catalogo/mapfile/disponibilidade/exec.php | 108 +++++++++++++----------------------------------------------------------------------------------------------- admin1/catalogo/mapfile/disponibilidade/funcoes.php | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/catalogo/mapfile/editor/funcoes.php | 0 admin1/catalogo/mapfile/gruposusuarios/exec.php | 104 ++++++++++++++++++-------------------------------------------------------------------------------------- admin1/catalogo/mapfile/gruposusuarios/funcoes.php | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ classesphp/funcoes_gerais.php | 1 + ferramentas/editorol/editorol.js | 15 ++++++++++++++- ferramentas/pontosdistri/exec.php | 10 ++++++---- ferramentas/wkt2layer/exec.php | 12 ++++++++---- ferramentas/wkt2layer/index.js | 2 ++ temas/_lbiomashp.map | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------- 14 files changed, 491 insertions(+), 378 deletions(-) create mode 100644 admin1/catalogo/mapfile/comportamento/funcoes.php create mode 100644 admin1/catalogo/mapfile/disponibilidade/funcoes.php mode change 100644 => 100755 admin1/catalogo/mapfile/editor/funcoes.php create mode 100755 admin1/catalogo/mapfile/gruposusuarios/funcoes.php diff --git a/admin/admin.db b/admin/admin.db index 9780432..2a99cb6 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/catalogo/mapfile/comportamento/exec.php b/admin1/catalogo/mapfile/comportamento/exec.php index 3efa56a..9a71622 100755 --- a/admin1/catalogo/mapfile/comportamento/exec.php +++ b/admin1/catalogo/mapfile/comportamento/exec.php @@ -34,113 +34,33 @@ if (verificaOperacaoSessao ( "admin/html/editormapfile" ) === false) { } include (dirname ( __FILE__ ) . "/../../../../admin/php/conexao.php"); +include ("funcoes.php"); $codigo = $_POST ["codigo"]; +$codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); +$codigo = str_replace ( ".", "", $codigo ); +$codigo = strip_tags ( $codigo ); +$codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); + $id_tema = ( int ) $_POST ["id_tema"]; $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ALTERAR" : - $codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); - $codigo = str_replace ( ".", "", $codigo ); - $codigo = strip_tags ( $codigo ); - $codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); - $arq = $locaplic . "/temas/" . $codigo . ".map"; - if ($codigo == "" || ! file_exists ( $arq )) { - header ( "HTTP/1.1 400 arquivo nao existe" ); - exit (); - } // quando e feita a listagem unica, o mapfile ja foi registrado no banco se nao tinha sido antes - $novo = alterar ( $locaplic, $id_tema, $codigo, $_POST["aplicaextensao"],$_POST["permitecomentario"],$_POST["temporizador"],$_POST["escondido"],$_POST["transitioneffect"],$_POST["status"],$_POST["iconetema"], $_POST["mensagem"]); - if ($novo === false) { - header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); - exit (); + $dados = \admin\catalogo\mapfile\comportamento\alterar ( $locaplic, $id_tema, $codigo, $_POST["aplicaextensao"],$_POST["permitecomentario"],$_POST["temporizador"],$_POST["escondido"],$_POST["transitioneffect"],$_POST["status"],$_POST["iconetema"], $_POST["mensagem"]); + if ($dados === false) { + header ( "HTTP/1.1 500 erro ao alterar" ); } - retornaJSON ( array ( - "codigo" => $codigo - ) ); - exit (); break; case "LISTA" : - // pega o nome registrado no mapfile - if (! file_exists ( $locaplic . "/temas/" . $codigo . ".map" )) { - header ( "HTTP/1.1 500 erro mapfile nao existe" ); - exit (); - } - $mapa = ms_newMapObj ( $locaplic . "/temas/" . $codigo . ".map" ); - $layer = $mapa->getlayerbyname ( $codigo ); - if ($layer == "") { - header ( "HTTP/1.1 500 erro nao existe LAYER com o nome $codigo" ); - exit (); - } - $dados = array (); - $dados["aplicaextensao"] = $layer->getmetadata("aplicaextensao"); - if (empty ( $dados ["aplicaextensao"] )) { - $dados ["aplicaextensao"] = "NAO"; - } - $dados["permitecomentario"] = $layer->getmetadata("permitecomentario"); - if (empty ( $dados ["permitecomentario"] )) { - $dados ["permitecomentario"] = "NAO"; - } - $dados["temporizador"] = $layer->getmetadata("temporizador"); - if ($dados ["temporizador"] == 0) { - $dados ["temporizador"] = ""; - } - $dados["escondido"] = $layer->getmetadata("escondido"); - if (empty ( $dados ["escondido"] )) { - $dados ["escondido"] = "NAO"; - } - $dados["transitioneffect"] = $layer->getmetadata("transitioneffect"); - if (empty ( $dados ["transitioneffect"] )) { - $dados ["transitioneffect"] = "NAO"; - } - $dados["iconetema"] = $layer->getmetadata("iconetema"); - if (empty ( $dados ["iconetema"] )) { - $dados ["iconetema"] = ""; - } - $dados["mensagem"] = $layer->getmetadata("mensagem"); - if (empty ( $dados ["mensagem"] )) { - $dados ["mensagem"] = ""; - } - if(mb_detect_encoding($mensagem,'UTF-8, ISO-8859-1') == "ISO-8859-1"){ - $mensagem = utf8_encode($mensagem); - } - $dados["status"] = $layer->status; + $dados = \admin\catalogo\mapfile\comportamento\listar ($locaplic,$codigo); retornaJSON ( array ( - "dados" => $dados + "dados" => $dados ) ); break; -} -cpjson ( $retorno ); -function alterar($locaplic, $id_tema, $codigo, $aplicaextensao, $permitecomentario, $temporizador, $escondido, $transitioneffect, $status, $iconetema, $mensagem) { - global $convUTF, $esquemaadmin; - $arq = $locaplic . "/temas/" . $codigo . ".map"; - if (! file_exists ( $locaplic . "/temas/" . $codigo . ".map" )) { - return false; - } - $mapa = ms_newMapObj ( $arq ); - $layer = @$mapa->getlayerbyname ( $codigo ); - if ($layer == "") { - return false; - } - $layer->setmetadata ( "aplicaextensao", $aplicaextensao ); - $layer->setmetadata ( "permitecomentario", $permitecomentario ); - $layer->setmetadata ( "temporizador", $temporizador ); - $layer->setmetadata ( "escondido", $escondido ); - $layer->setmetadata ( "transitioneffect", $transitioneffect ); - $layer->setmetadata ( "iconetema", $iconetema ); - if(mb_detect_encoding($mensagem,'UTF-8, ISO-8859-1') == "UTF-8"){ - $mensagem = utf8_decode($mensagem); - } - $layer->setmetadata ( "mensagem", $mensagem ); - $layer->set("status",$status); - try { - $mapa->save ( $arq ); - include (dirname ( __FILE__ ) . "/../../../php/removeCabecalhoMapfile.php"); - removeCabecalhoMapfile ( $arq ); - return true; - } catch (Exception $e) { - return false; - } + default: + header ( "HTTP/1.1 500 erro funcao nao existe" ); + break; } ?> diff --git a/admin1/catalogo/mapfile/comportamento/funcoes.php b/admin1/catalogo/mapfile/comportamento/funcoes.php new file mode 100644 index 0000000..4172509 --- /dev/null +++ b/admin1/catalogo/mapfile/comportamento/funcoes.php @@ -0,0 +1,81 @@ +getlayerbyname ( $codigo ); + if ($layer == "") { + header ( "HTTP/1.1 500 erro nao existe LAYER com o nome $codigo" ); + exit (); + } + $dados = array (); + $dados["aplicaextensao"] = $layer->getmetadata("aplicaextensao"); + if (empty ( $dados ["aplicaextensao"] )) { + $dados ["aplicaextensao"] = "NAO"; + } + $dados["permitecomentario"] = $layer->getmetadata("permitecomentario"); + if (empty ( $dados ["permitecomentario"] )) { + $dados ["permitecomentario"] = "NAO"; + } + $dados["temporizador"] = $layer->getmetadata("temporizador"); + if ($dados ["temporizador"] == 0) { + $dados ["temporizador"] = ""; + } + $dados["escondido"] = $layer->getmetadata("escondido"); + if (empty ( $dados ["escondido"] )) { + $dados ["escondido"] = "NAO"; + } + $dados["transitioneffect"] = $layer->getmetadata("transitioneffect"); + if (empty ( $dados ["transitioneffect"] )) { + $dados ["transitioneffect"] = "NAO"; + } + $dados["iconetema"] = $layer->getmetadata("iconetema"); + if (empty ( $dados ["iconetema"] )) { + $dados ["iconetema"] = ""; + } + $dados["mensagem"] = $layer->getmetadata("mensagem"); + if (empty ( $dados ["mensagem"] )) { + $dados ["mensagem"] = ""; + } + if(mb_detect_encoding($mensagem,'UTF-8, ISO-8859-1') == "ISO-8859-1"){ + $mensagem = utf8_encode($mensagem); + } + $dados["status"] = $layer->status; + return $dados; +} +function alterar($locaplic, $id_tema, $codigo, $aplicaextensao, $permitecomentario, $temporizador, $escondido, $transitioneffect, $status, $iconetema, $mensagem){ + global $convUTF, $esquemaadmin; + $arq = $locaplic . "/temas/" . $codigo . ".map"; + if (! file_exists ( $locaplic . "/temas/" . $codigo . ".map" )) { + return false; + } + $mapa = ms_newMapObj ( $arq ); + $layer = @$mapa->getlayerbyname ( $codigo ); + if ($layer == "") { + return false; + } + $layer->setmetadata ( "aplicaextensao", $aplicaextensao ); + $layer->setmetadata ( "permitecomentario", $permitecomentario ); + $layer->setmetadata ( "temporizador", $temporizador ); + $layer->setmetadata ( "escondido", $escondido ); + $layer->setmetadata ( "transitioneffect", $transitioneffect ); + $layer->setmetadata ( "iconetema", $iconetema ); + if(mb_detect_encoding($mensagem,'UTF-8, ISO-8859-1') == "UTF-8"){ + $mensagem = utf8_decode($mensagem); + } + $layer->setmetadata ( "mensagem", $mensagem ); + $layer->set("status",$status); + try { + $mapa->save ( $arq ); + include (dirname ( __FILE__ ) . "/../../../php/removeCabecalhoMapfile.php"); + removeCabecalhoMapfile ( $arq ); + return true; + } catch (Exception $e) { + return false; + } +} +?> \ No newline at end of file diff --git a/admin1/catalogo/mapfile/disponibilidade/exec.php b/admin1/catalogo/mapfile/disponibilidade/exec.php index 131d242..741c0f0 100755 --- a/admin1/catalogo/mapfile/disponibilidade/exec.php +++ b/admin1/catalogo/mapfile/disponibilidade/exec.php @@ -34,115 +34,33 @@ if (verificaOperacaoSessao ( "admin/html/editormapfile" ) === false) { } include (dirname ( __FILE__ ) . "/../../../../admin/php/conexao.php"); +include ("funcoes.php"); $codigo = $_POST ["codigo"]; +$codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); +$codigo = str_replace ( ".", "", $codigo ); +$codigo = strip_tags ( $codigo ); +$codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); + $id_tema = ( int ) $_POST ["id_tema"]; $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ALTERAR" : - $codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); - $codigo = str_replace ( ".", "", $codigo ); - $codigo = strip_tags ( $codigo ); - $codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); - $arq = $locaplic . "/temas/" . $codigo . ".map"; - if ($codigo == "" || ! file_exists ( $arq )) { - header ( "HTTP/1.1 400 arquivo nao existe" ); - exit (); - } - // quando e feita a listagem unica, o mapfile ja foi registrado no banco se nao tinha sido antes - $novo = alterar ( $locaplic, $id_tema, $codigo, $_POST["permiteogc"], $_POST["permitedownload"], $_POST["permitekml"], $_POST["permitekmz"], $_POST["download"], $_POST["arquivodownload"], $_POST["arquivokmz"], $dbhw ); - if ($novo === false) { + $dados = \admin\catalogo\mapfile\disponibilidade\alterar ($locaplic, $id_tema, $codigo, $_POST["permiteogc"], $_POST["permitedownload"], $_POST["permitekml"], $_POST["permitekmz"], $_POST["download"], $_POST["arquivodownload"], $_POST["arquivokmz"], $dbhw); + if ($dados === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); exit (); } - retornaJSON ( array ( - "codigo" => $codigo - ) ); - exit (); break; case "LISTA" : - // pega o nome registrado no mapfile - if (! file_exists ( $locaplic . "/temas/" . $codigo . ".map" )) { - header ( "HTTP/1.1 500 erro mapfile nao existe" ); - exit (); - } - $mapa = ms_newMapObj ( $locaplic . "/temas/" . $codigo . ".map" ); - $layer = $mapa->getlayerbyname ( $codigo ); - if ($layer == "") { - header ( "HTTP/1.1 500 erro nao existe LAYER com o nome $codigo" ); - exit (); - } - $dados = array (); - $dados ["download"] = strtoupper ( $layer->getmetadata ( "download" ) ); - if (empty ( $dados ["download"] )) { - $dados ["download"] = "SIM"; - } - $dados ["permiteogc"] = strtoupper ( $layer->getmetadata ( "permiteogc" ) ); - if (empty ( $dados ["permiteogc"] )) { - $dados ["permiteogc"] = "SIM"; - } - $dados ["permitedownload"] = strtoupper ( $layer->getmetadata ( "permitedownload" ) ); - if (empty ( $dados ["permitedownload"] )) { - $dados ["permitedownload"] = "SIM"; - } - $dados ["permitekml"] = strtoupper ( $layer->getmetadata ( "permitekml" ) ); - if (empty ( $dados ["permitekml"] )) { - $dados ["permitekml"] = "SIM"; - } - $dados ["permitekmz"] = strtoupper ( $layer->getmetadata ( "permitekmz" ) ); - if (empty ( $dados ["permitekmz"] )) { - $dados ["permitekmz"] = "SIM"; - } - $dados ["arquivodownload"] = $layer->getmetadata ( "arquivodownload" ); - $dados ["arquivokmz"] = $layer->getmetadata ( "arquivokmz" ); + $dados = \admin\catalogo\mapfile\disponibilidade\listar ($locaplic,$codigo); retornaJSON ( array ( - "dados" => $dados + "dados" => $dados ) ); break; -} -cpjson ( $retorno ); -function alterar($locaplic, $id_tema, $codigo, $permiteogc, $permitedownload, $permitekml, $permitekmz, $download, $arquivodownload, $arquivokmz, $dbhw) { - global $esquemaadmin; - $arq = $locaplic . "/temas/" . $codigo . ".map"; - if (! file_exists ( $locaplic . "/temas/" . $codigo . ".map" )) { - return false; - } - $mapa = ms_newMapObj ( $arq ); - $layer = @$mapa->getlayerbyname ( $codigo ); - if ($layer == "") { - return false; - } - $layer->setmetadata ( "download", $download ); - $layer->setmetadata ( "permiteogc", $permiteogc ); - $layer->setmetadata ( "permitedownload", $permitedownload ); - $layer->setmetadata ( "permitekml", $permitekml ); - $layer->setmetadata ( "permitekmz", $permitekmz ); - $layer->setmetadata ( "arquivodownload", $arquivodownload ); - $layer->setmetadata ( "arquivokmz", $arquivokmz ); - if (! empty ( $id_tema )) { - try { - $dataCol = array ( - "kml_tema" => $permitekml, - "kmz_tema" => $permitekmz, - "ogc_tema" => $permiteogc, - "download_tema" => $download - ); - $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_temas", $dataCol, "WHERE id_tema = $id_tema" ); - if ($resultado === false) { - return false; - } - } catch ( PDOException $e ) { - return false; - } - } - try { - $mapa->save ( $arq ); - include (dirname ( __FILE__ ) . "/../../../php/removeCabecalhoMapfile.php"); - removeCabecalhoMapfile ( $arq ); - return true; - } catch (Exception $e) { - return false; - } + default: + header ( "HTTP/1.1 500 erro funcao nao existe" ); + break; } ?> diff --git a/admin1/catalogo/mapfile/disponibilidade/funcoes.php b/admin1/catalogo/mapfile/disponibilidade/funcoes.php new file mode 100644 index 0000000..f0940c3 --- /dev/null +++ b/admin1/catalogo/mapfile/disponibilidade/funcoes.php @@ -0,0 +1,84 @@ +getlayerbyname ( $codigo ); + if ($layer == "") { + header ( "HTTP/1.1 500 erro nao existe LAYER com o nome $codigo" ); + exit (); + } + $dados = array (); + $dados ["download"] = strtoupper ( $layer->getmetadata ( "download" ) ); + if (empty ( $dados ["download"] )) { + $dados ["download"] = "SIM"; + } + $dados ["permiteogc"] = strtoupper ( $layer->getmetadata ( "permiteogc" ) ); + if (empty ( $dados ["permiteogc"] )) { + $dados ["permiteogc"] = "SIM"; + } + $dados ["permitedownload"] = strtoupper ( $layer->getmetadata ( "permitedownload" ) ); + if (empty ( $dados ["permitedownload"] )) { + $dados ["permitedownload"] = "SIM"; + } + $dados ["permitekml"] = strtoupper ( $layer->getmetadata ( "permitekml" ) ); + if (empty ( $dados ["permitekml"] )) { + $dados ["permitekml"] = "SIM"; + } + $dados ["permitekmz"] = strtoupper ( $layer->getmetadata ( "permitekmz" ) ); + if (empty ( $dados ["permitekmz"] )) { + $dados ["permitekmz"] = "SIM"; + } + $dados ["arquivodownload"] = $layer->getmetadata ( "arquivodownload" ); + $dados ["arquivokmz"] = $layer->getmetadata ( "arquivokmz" ); + return $dados; +} +function alterar($locaplic, $id_tema, $codigo, $permiteogc, $permitedownload, $permitekml, $permitekmz, $download, $arquivodownload, $arquivokmz, $dbhw){ + global $esquemaadmin; + $arq = $locaplic . "/temas/" . $codigo . ".map"; + if ($codigo == "" || ! file_exists ( $arq )) { + header ( "HTTP/1.1 400 arquivo nao existe" ); + exit (); + } + $mapa = ms_newMapObj ( $arq ); + $layer = @$mapa->getlayerbyname ( $codigo ); + if ($layer == "") { + return false; + } + $layer->setmetadata ( "download", $download ); + $layer->setmetadata ( "permiteogc", $permiteogc ); + $layer->setmetadata ( "permitedownload", $permitedownload ); + $layer->setmetadata ( "permitekml", $permitekml ); + $layer->setmetadata ( "permitekmz", $permitekmz ); + $layer->setmetadata ( "arquivodownload", $arquivodownload ); + $layer->setmetadata ( "arquivokmz", $arquivokmz ); + if (! empty ( $id_tema )) { + try { + $dataCol = array ( + "kml_tema" => $permitekml, + "kmz_tema" => $permitekmz, + "ogc_tema" => $permiteogc, + "download_tema" => $download + ); + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geoadmin_temas", $dataCol, "WHERE id_tema = $id_tema" ); + if ($resultado === false) { + return false; + } + } catch ( PDOException $e ) { + return false; + } + } + try { + $mapa->save ( $arq ); + include (dirname ( __FILE__ ) . "/../../../php/removeCabecalhoMapfile.php"); + removeCabecalhoMapfile ( $arq ); + return true; + } catch (Exception $e) { + return false; + } +} +?> \ No newline at end of file diff --git a/admin1/catalogo/mapfile/editor/funcoes.php b/admin1/catalogo/mapfile/editor/funcoes.php old mode 100644 new mode 100755 index cdff0da..cdff0da --- a/admin1/catalogo/mapfile/editor/funcoes.php +++ b/admin1/catalogo/mapfile/editor/funcoes.php diff --git a/admin1/catalogo/mapfile/gruposusuarios/exec.php b/admin1/catalogo/mapfile/gruposusuarios/exec.php index 316744d..9da2141 100755 --- a/admin1/catalogo/mapfile/gruposusuarios/exec.php +++ b/admin1/catalogo/mapfile/gruposusuarios/exec.php @@ -34,8 +34,14 @@ if (verificaOperacaoSessao ( "admin/html/arvore" ) === false) { } include (dirname ( __FILE__ ) . "/../../../../admin/php/conexao.php"); +include ("funcoes.php"); + +$codigo = $_POST ["codigo"]; +$codigo = str_replace ( " ", "", removeAcentos ( $codigo ) ); +$codigo = str_replace ( ".", "", $codigo ); +$codigo = strip_tags ( $codigo ); +$codigo = htmlspecialchars ( $codigo, ENT_QUOTES ); -$codigo = str_replace(" ","",$_POST["codigo"]); $id_grupo = $_POST["id_grupo"]; $id_tema = $_POST["id_tema"]; @@ -44,105 +50,31 @@ testaSafeNumerico([$id_grupo,$id_tema]); $funcao = strtoupper ( $funcao ); switch ($funcao) { case "ADICIONAR" : - $sql = "select * from ".$esquemaadmin."i3geousr_grupotema where id_tema = $id_tema and id_grupo = $id_grupo"; - $q = pegaDados($sql, $dbh, false); - if($q){ - if(count($q) != 0){ - header ( "HTTP/1.1 500 erro valor ja cadastrado" ); - exit (); - } - } - if(empty($id_grupo) || empty($id_tema)){ - header ( "HTTP/1.1 500 erro parametro invalido" ); - exit (); - } - if(!file_exists($locaplic."/temas/".$codigo.".map")){ - $dbhw = null; - $dbh = null; - header ( "HTTP/1.1 500 erro mapfile nao existe" ); - exit (); - } - $novo = adicionar( $id_grupo, $id_tema, $dbhw ); + $novo = \admin\catalogo\mapfile\gruposusuarios\adicionar( $locaplic, $codigo, $id_grupo, $id_tema, $dbhw ); + $dbhw = null; + $dbh = null; if ($novo === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); - exit (); } - retornaJSON ( array("ok") ); break; case "LISTA" : - if(empty($codigo) || empty($id_tema)){ - $dbhw = null; - $dbh = null; - header ( "HTTP/1.1 500 erro codigo invalido" ); - exit (); - } - if(file_exists($locaplic."/temas/".$codigo.".map")){ - $sql = " - select ".$esquemaadmin."i3geoadmin_temas.codigo_tema, ".$esquemaadmin."i3geousr_grupos.id_grupo, - ".$esquemaadmin."i3geousr_grupos.nome, ".$esquemaadmin."i3geousr_grupos.descricao, - ".$esquemaadmin."i3geousr_grupotema.id_tema - from - ".$esquemaadmin."i3geoadmin_temas - join ".$esquemaadmin."i3geousr_grupotema - on ".$esquemaadmin."i3geousr_grupotema.id_grupo = ".$esquemaadmin."i3geousr_grupos.id_grupo - join ".$esquemaadmin."i3geousr_grupos - on ".$esquemaadmin."i3geoadmin_temas.id_tema = ".$esquemaadmin."i3geousr_grupotema.id_tema - where codigo_tema = '".$codigo."' order by lower(nome) - "; - $dados = pegaDados ( $sql, $dbh, false ); - } - else { - $dbhw = null; - $dbh = null; - header ( "HTTP/1.1 500 erro mapfile nao existe" ); - exit (); - } - if ($dados === false) { - $dbhw = null; - $dbh = null; - header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); - exit (); - } - $grupos = pegaDados("select * from ".$esquemaadmin."i3geousr_grupos order by lower(nome)", $dbh, false); + $dados = \admin\catalogo\mapfile\gruposusuarios\listar ($dbh,$locaplic,$codigo); + include ("../../../usuarios/grupos/funcoes.php"); + $grupos = \admin\usuarios\grupos\listar($dbh); $dbhw = null; $dbh = null; retornaJSON ( array("dados" => $dados, "grupos" => $grupos) ); break; case "EXCLUIR" : - $retorna = excluir ( $id_tema, $id_grupo, $dbhw ); + $retorna = \admin\catalogo\mapfile\gruposusuarios\excluir ( $id_tema, $id_grupo, $dbhw ); $dbhw = null; $dbh = null; if ($retorna === false) { header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); - exit (); } - retornaJSON ( "ok" ); + break; + default: + header ( "HTTP/1.1 500 erro funcao nao existe" ); break; } -// $papeis deve ser um array -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 excluir($id_tema, $id_grupo, $dbhw) { - global $esquemaadmin; - try { - $sql = "DELETE from ".$esquemaadmin."i3geousr_grupotema where id_tema = ? and id_grupo = ? "; - $prep = $dbhw->prepare($sql); - $prep->execute(array($id_tema,$id_grupo)); - i3GeoAdminInsertLog($dbhw,$sql,array($id_tema,$id_grupo)); - return true; - } catch ( PDOException $e ) { - return false; - } -} -?> +?> \ No newline at end of file diff --git a/admin1/catalogo/mapfile/gruposusuarios/funcoes.php b/admin1/catalogo/mapfile/gruposusuarios/funcoes.php new file mode 100755 index 0000000..7696a73 --- /dev/null +++ b/admin1/catalogo/mapfile/gruposusuarios/funcoes.php @@ -0,0 +1,150 @@ + $id_tema, + "id_grupo" => $id_grupo + ); + $retorna = i3GeoAdminInsert($dbhw,"i3geousr_grupotema",$dataCol); + return $retorna; + } catch ( PDOException $e ) { + return false; + } +} +function excluir($id_tema, $id_grupo, $dbhw) { + global $esquemaadmin; + try { + $sql = "DELETE from ".$esquemaadmin."i3geousr_grupotema where id_tema = ? and id_grupo = ? "; + $prep = $dbhw->prepare($sql); + $prep->execute(array($id_tema,$id_grupo)); + i3GeoAdminInsertLog($dbhw,$sql,array($id_tema,$id_grupo)); + return true; + } catch ( PDOException $e ) { + return false; + } +} + +//apagar + +function listaUsuarios($dbh){ + global $esquemaadmin; + $dados = pegaDados ( "SELECT id_usuario, nome_usuario FROM " . $esquemaadmin . "i3geousr_usuarios WHERE ativo = 1 ORDER BY nome_usuario", dbh, false ); + if ($dados === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } else { + return $dados; + } +} +function listaGruposUsuario($id_grupo,$dbh){ + global $esquemaadmin; + $dados = pegaDados ( "SELECT U.nome_usuario, U.id_usuario, UP.id_grupo FROM " . $esquemaadmin . "i3geousr_grupousuario AS UP JOIN " . $esquemaadmin . "i3geousr_usuarios AS U ON U.id_usuario = UP.id_usuario WHERE UP.id_grupo = $id_grupo", dbh, false ); + if ($dados === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + exit (); + } else { + return $dados; + } +} + +function alterar($id_grupo, $nome, $descricao, $usuarios, $dbhw) { + global $convUTF, $esquemaadmin; + if ($convUTF != true) { + $nome = utf8_decode ( $nome ); + $descricao = utf8_decode ( $descricao ); + } + $dataCol = array ( + "nome" => $nome, + "descricao" => $descricao + ); + + $resultado = i3GeoAdminUpdate ( $dbhw, "i3geousr_grupos", $dataCol, "WHERE id_grupo = $id_grupo" ); + if ($resultado === false) { + return false; + } + // apaga todos os papeis + $resultado = \admin\usuarios\grupos\excluirUsuarios ( $id_grupo, $dbhw ); + if ($resultado === false) { + return false; + } + if (! empty ( $usuarios )) { + // atualiza papeis vinculados + foreach ( $usuarios as $p ) { + $resultado = \admin\usuarios\grupos\adicionaUsuario ( $id_grupo, $p, $dbhw ); + if ($resultado === false) { + return false; + } + } + } + return $id_grupo; +} +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 excluirUsuarios($id_grupo, $dbhw) { + global $esquemaadmin; + $resultado = i3GeoAdminExclui ( $esquemaadmin . "i3geousr_grupousuario", "id_grupo", $id_grupo, $dbhw, false ); + return $resultado; +} +?> \ No newline at end of file diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 2270706..9842890 100755 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -2643,6 +2643,7 @@ function retornaShapesSelecionados($objLayer,$map_file,$objMapa,$indexado=false) $sopen = $objLayer->open(); if($sopen == MS_FAILURE){return "erro";} $res_count = $objLayer->getNumresults(); + $centroides = array(); $shapes = array(); //pega um shape especifico diff --git a/ferramentas/editorol/editorol.js b/ferramentas/editorol/editorol.js index 90f3eb3..3692201 100755 --- a/ferramentas/editorol/editorol.js +++ b/ferramentas/editorol/editorol.js @@ -2231,7 +2231,7 @@ i3GEO.editorOL = temp = i3GEO.editorOL.merge(linhas); } if (pontos.length > 0) { - temp = i3GEO.editorOL.merge(pontos); + temp = i3GEO.editorOL.desagrupa(pontos); } if (i3GEO.mapa) { i3GEO.mapa.dialogo.wkt2layer(temp); @@ -2277,6 +2277,19 @@ i3GEO.editorOL = i3GEO.janela.tempoMsg("Selecione pelo menos dois elementos"); } }, + desagrupa : function(geoms) { + var n = geoms.length, + w = [], + g, m, i, + format = new ol.format.WKT(); + for (i = 0; i < n; i++) { + g = format.writeFeatures([geoms[i]]); + m = new Wkt.Wkt(); + m.read(g); + w.push(m); + } + return w.join("\n"); + }, merge : function(geoms) { var n = geoms.length, w = new Wkt.Wkt(), diff --git a/ferramentas/pontosdistri/exec.php b/ferramentas/pontosdistri/exec.php index 4f03242..84ef320 100755 --- a/ferramentas/pontosdistri/exec.php +++ b/ferramentas/pontosdistri/exec.php @@ -19,10 +19,12 @@ Executa script R para gerar a imagem. case "ANALISEDISTRIPT": include_once(dirname(__FILE__)."/../../classesphp/classe_analise.php"); copiaSeguranca($map_file); - if(!isset($_GET["tema2"])) - {$_GET["tema2"] = "";} - if(!isset($_GET["limitepontos"])) - {$_GET["limitepontos"] = "";} + if(!isset($_GET["tema2"])){ + $_GET["tema2"] = ""; + } + if(!isset($_GET["limitepontos"])){ + $_GET["limitepontos"] = ""; + } $m = new Analise($map_file,$tema,$locaplic,$ext); if(empty($_GET["item"])){ $_GET["item"] = ""; diff --git a/ferramentas/wkt2layer/exec.php b/ferramentas/wkt2layer/exec.php index 8856363..739ec0b 100755 --- a/ferramentas/wkt2layer/exec.php +++ b/ferramentas/wkt2layer/exec.php @@ -20,7 +20,8 @@ Insere elementos no mapa como um layer do tipo feature baseado em wkt if(!isset($_GET["marca"])){ $_GET["marca"]=""; } - $shp = ms_shapeObjFromWkt($_GET["xy"]); + $wkt = explode("|",$_GET["xy"]); + $shp = ms_shapeObjFromWkt($wkt[0]); if($shp->type == MS_SHAPE_POINT){ $tipo = "POINT"; } @@ -30,19 +31,22 @@ Insere elementos no mapa como um layer do tipo feature baseado em wkt if($shp->type == MS_SHAPE_POLYGON){ $tipo = "POLYGON"; } - $m->insereFeature($_GET["marca"],$_GET["tipo"],$_GET["xy"],$_GET["texto"],$_GET["position"],$_GET["partials"],$_GET["offsetx"],$_GET["offsety"],$_GET["minfeaturesize"],$_GET["mindistance"],$_GET["force"],$_GET["shadowcolor"],$_GET["shadowsizex"],$_GET["shadowsizey"],$_GET["outlinecolor"],$_GET["cor"],$_GET["sombray"],$_GET["sombrax"],$_GET["sombra"],$_GET["fundo"],$_GET["angulo"],$_GET["tamanho"],$_GET["fonte"],$_GET["wrap"],true,$_GET["nometema"]); + foreach($wkt as $w){ + $m->insereFeature($_GET["marca"],$_GET["tipo"],$w,$_GET["texto"],$_GET["position"],$_GET["partials"],$_GET["offsetx"],$_GET["offsety"],$_GET["minfeaturesize"],$_GET["mindistance"],$_GET["force"],$_GET["shadowcolor"],$_GET["shadowsizex"],$_GET["shadowsizey"],$_GET["outlinecolor"],$_GET["cor"],$_GET["sombray"],$_GET["sombrax"],$_GET["sombra"],$_GET["fundo"],$_GET["angulo"],$_GET["tamanho"],$_GET["fonte"],$_GET["wrap"],true,$_GET["nometema"]); + } $m->salva(); redesenhaMapa(); break; case "SHAPEFILE": include_once("../../classesphp/classe_analise.php"); $m = new Analise($map_file,""); - $nomeLayer = $m->aplicaFuncaoListaWKT(array($_GET["xy"]),"converteSHP",$dir_tmp,$imgdir); + $wkt = explode("|",$_GET["xy"]); + $nomeLayer = $m->aplicaFuncaoListaWKT($wkt,"converteSHP",$dir_tmp,$imgdir); $l = $m->mapa->getlayerbyname($nomeLayer); $l->setmetadata("tema",$_GET["nometema"]); //verifica projecao - $shp = ms_shapeObjFromWkt($_GET["xy"]); + $shp = ms_shapeObjFromWkt($wkt[0]); $c = $shp->getCentroid(); $c = $c->x; if($c > -181 && $c < 181){ diff --git a/ferramentas/wkt2layer/index.js b/ferramentas/wkt2layer/index.js index 553dbd3..df75b30 100755 --- a/ferramentas/wkt2layer/index.js +++ b/ferramentas/wkt2layer/index.js @@ -165,6 +165,7 @@ i3GEOF.wkt2layer = }; par = i3GEOF.wkt2layer.pegaPar(); wkt = $i("i3GEOFwkt2layerWkt").value; + wkt = wkt.split("\n").join("|"); p = i3GEO.configura.locaplic+"/ferramentas/wkt2layer/exec.php?g_sid="+i3GEO.configura.sid+ "&funcao=feature&"+par; cp = new cpaint(); @@ -190,6 +191,7 @@ i3GEOF.wkt2layer = }; par = i3GEOF.wkt2layer.pegaPar(); wkt = $i("i3GEOFwkt2layerWkt").value; + wkt = wkt.split("\n").join("|"); p = i3GEO.configura.locaplic+"/ferramentas/wkt2layer/exec.php?g_sid="+i3GEO.configura.sid+ "&funcao=shapefile&"+par; cp = new cpaint(); diff --git a/temas/_lbiomashp.map b/temas/_lbiomashp.map index 0a18c7c..15907d8 100755 --- a/temas/_lbiomashp.map +++ b/temas/_lbiomashp.map @@ -1,94 +1,100 @@ -MAP - FONTSET "../symbols/fontes.txt" - SYMBOLSET "../symbols/simbolosv6.sym" - LAYER - CONNECTION "" - DATA "/var/www/i3geo/aplicmap/dados/biomas.shp" - METADATA - "TIP" "CD_LEGENDA" - "cache" "SIM" - "CLASSE" "sim" - "permitekmz" "SIM" - "ITENSDESC" "Teste de acentuação" - "TILES" "SIM" - "ESCALA" "1000000" - "extensao" "-73.990940816816 -33.74827031115 -34.822855820777 5.272224303909" - "permitedownload" "SIM" - "permitecomentario" "NAO" - "escondido" "NAO" - "download" "SIM" - "itembuscarapida" "CD_LEGENDA" - "ITENS" "CD_LEGENDA" - "permitekml" "SIM" - "permiteogc" "SIM" - "transitioneffect" "NAO" - "TEMA" "Biomas shapefile (acentuação)" - "identifica" "sim" - "aplicaextensao" "NAO" - END # METADATA - NAME "_lbiomashp" - PROCESSING "ITEMS=CD_LEGENDA" - PROCESSING "LABEL_NO_CLIP=True" - PROCESSING "POLYLINE_NO_CLIP=True" - STATUS DEFAULT - TEMPLATE "none.htm" - TILEITEM "location" - OPACITY 90 - TYPE POLYGON - UNITS METERS - CLASS - NAME "CAATINGA" - EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA') - STYLE - COLOR 183 247 169 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "PAMPA area > 5" - EXPRESSION ('[CD_LEGENDA]'eq'PAMPA area > 5') - STYLE - COLOR 239 22 152 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "CERRADO" - EXPRESSION ('[CD_LEGENDA]'eq'CERRADO') - STYLE - COLOR 57 32 234 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "PANTANAL" - EXPRESSION ('[CD_LEGENDA]'eq'PANTANAL') - STYLE - COLOR 214 107 232 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "AMAZÔNIA" - EXPRESSION ('[CD_LEGENDA]'eq'AMAZÔNIA') - STYLE - COLOR 0 177 0 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "MATA ATLÂNTICA" - EXPRESSION ('[CD_LEGENDA]'eq'MATA ATLÂNTICA') - STYLE - COLOR 44 215 49 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - END # LAYER -END # MAP \ No newline at end of file +MAP + FONTSET "../symbols/fontes.txt" + SYMBOLSET "../symbols/simbolosv6.sym" + LAYER + CONNECTION "" + DATA "/var/www/i3geo/aplicmap/dados/biomas.shp" + METADATA + "cache" "SIM" + "TIP" "CD_LEGENDA" + "CLASSE" "sim" + "permitekmz" "SIM" + "temporizador" "" + "ITENSDESC" "Teste de acentuação" + "iconetema" "" + "ESCALA" "1000000" + "TILES" "SIM" + "extensao" "-73.990940816816 -33.74827031115 -34.822855820777 5.272224303909" + "permitedownload" "SIM" + "permitecomentario" "NAO" + "escondido" "NAO" + "download" "SIM" + "itembuscarapida" "CD_LEGENDA" + "arquivokmz" "" + "arquivodownload" "" + "ITENS" "CD_LEGENDA" + "transitioneffect" "NAO" + "permiteogc" "SIM" + "permitekml" "SIM" + "TEMA" "Biomas shapefile (acentuação)" + "aplicaextensao" "NAO" + "identifica" "sim" + END # METADATA + NAME "_lbiomashp" + PROCESSING "ITEMS=CD_LEGENDA" + PROCESSING "LABEL_NO_CLIP=True" + PROCESSING "POLYLINE_NO_CLIP=True" + STATUS DEFAULT + TEMPLATE "none.htm" + TILEITEM "location" + OPACITY 90 + TYPE POLYGON + UNITS METERS + CLASS + NAME "CAATINGA" + EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA') + STYLE + COLOR 183 247 169 + OUTLINECOLOR 255 255 255 + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "PAMPA area > 5" + EXPRESSION ('[CD_LEGENDA]'eq'PAMPA area > 5') + STYLE + COLOR 239 22 152 + OUTLINECOLOR 255 255 255 + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "CERRADO" + EXPRESSION ('[CD_LEGENDA]'eq'CERRADO') + STYLE + COLOR 57 32 234 + OUTLINECOLOR 255 255 255 + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "PANTANAL" + EXPRESSION ('[CD_LEGENDA]'eq'PANTANAL') + STYLE + COLOR 214 107 232 + OUTLINECOLOR 255 255 255 + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "AMAZÔNIA" + EXPRESSION ('[CD_LEGENDA]'eq'AMAZÔNIA') + STYLE + COLOR 0 177 0 + OUTLINECOLOR 255 255 255 + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "MATA ATLÂNTICA" + EXPRESSION ('[CD_LEGENDA]'eq'MATA ATLÂNTICA') + STYLE + COLOR 44 215 49 + OUTLINECOLOR 255 255 255 + END # STYLE + TITLE "" + END # CLASS + END # LAYER + +END # MAP + -- libgit2 0.21.2