Commit 6fbdd8e48f56ccda12bba4dca4eafaf6c3dde72d

Authored by Edmar Moretti
1 parent a92bc5f5

Conclusão da migração do sistema de administração para bootstrap

admin1/ferramentas/banco/exec.php 0 → 100755
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +<?php
  2 +/****************************************************************/
  3 +//include (dirname ( __FILE__ ) . "/../../../ms_configura.php");
  4 +//
  5 +//checa login
  6 +//valida _GET e _POST, juntando em _GET
  7 +//pega algumas variaveis de uso mais comum
  8 +//session_start
  9 +//
  10 +include ("../../php/checaLogin.php");
  11 +\admin\php\login\checaLogin();
  12 +//funcoes de administracao
  13 +include ($_SESSION["locaplic"]."/admin1/php/funcoesAdmin.php");
  14 +//
  15 +//carrega outras funcoes e extensoes do PHP
  16 +//
  17 +include ($_SESSION["locaplic"]."/classesphp/carrega_ext.php");
  18 +//
  19 +//conexao com o banco de administracao
  20 +//cria as variaveis $dbh e $dbhw alem de conexaoadmin
  21 +//
  22 +include ($_SESSION["locaplic"]."/admin1/php/conexao.php");
  23 +/***************************************************************/
  24 +if (\admin\php\funcoesAdmin\verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
  25 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  26 + exit ();
  27 +}
  28 +
  29 +?>
0 \ No newline at end of file 30 \ No newline at end of file
admin1/ferramentas/banco/index.php
1 <?php 1 <?php
2 define ( "ONDEI3GEO", "../../.." ); 2 define ( "ONDEI3GEO", "../../.." );
3 include ("exec.php"); 3 include ("exec.php");
4 -//verifica se o login pode ser realizado  
5 -if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){  
6 - header ( "HTTP/1.1 403 Login desativado" );  
7 - exit ();  
8 -}  
9 -  
10 -  
11 include "../../head.php"; 4 include "../../head.php";
12 ?> 5 ?>
13 <div class="container-fluid migalha" > 6 <div class="container-fluid migalha" >
@@ -41,8 +34,8 @@ include &quot;../../head.php&quot;; @@ -41,8 +34,8 @@ include &quot;../../head.php&quot;;
41 $resultado = $q->fetchAll(); 34 $resultado = $q->fetchAll();
42 echo "</div><div class='well'><h3>SQL no padr&atilde;o SQLITE</span></h3>"; 35 echo "</div><div class='well'><h3>SQL no padr&atilde;o SQLITE</span></h3>";
43 foreach($resultado as $r){ 36 foreach($resultado as $r){
44 - if(mb_detect_encoding($temasacessos2[$i],'UTF-8, ISO-8859-1') == "UTF-8"){  
45 - echo "<p>".utf8_decode($r["sql"])."</p>"; 37 + if(mb_detect_encoding($temasacessos2[$i],'UTF-8, ISO-8859-1') == "ISO-8859-1"){
  38 + echo "<p>".utf8_encode($r["sql"])."</p>";
46 } 39 }
47 else{ 40 else{
48 echo "<p>".$r["sql"]."</p>"; 41 echo "<p>".$r["sql"]."</p>";
@@ -52,16 +45,16 @@ include &quot;../../head.php&quot;; @@ -52,16 +45,16 @@ include &quot;../../head.php&quot;;
52 echo "<div class='alert alert-info'><p>Ap&oacute;s criar as tabelas no Postgres, vc deve definir as permiss&otilde;es para os usu&aacute;rios.</p>"; 45 echo "<div class='alert alert-info'><p>Ap&oacute;s criar as tabelas no Postgres, vc deve definir as permiss&otilde;es para os usu&aacute;rios.</p>";
53 echo "<p>Para usar outro banco de dados que n&atilde;o seja o default (SQLITE), voc&ecirc; ter&aacute; de alterar o programa i3geo/admin/php/conexao.php</p></div>"; 46 echo "<p>Para usar outro banco de dados que n&atilde;o seja o default (SQLITE), voc&ecirc; ter&aacute; de alterar o programa i3geo/admin/php/conexao.php</p></div>";
54 foreach($resultado as $r){ 47 foreach($resultado as $r){
55 - if(mb_detect_encoding($r["sql"],'UTF-8, ISO-8859-1') == "UTF-8"){  
56 - $r["sql"] = utf8_decode($r["sql"]); 48 + if(mb_detect_encoding($r["sql"],'UTF-8, ISO-8859-1') == "ISO-8859-1"){
  49 + $r["sql"] = utf8_encode($r["sql"]);
57 } 50 }
58 echo str_ireplace("INTEGER PRIMARY KEY","SERIAL PRIMARY KEY NOT NULL",$r["sql"])."<br>"; 51 echo str_ireplace("INTEGER PRIMARY KEY","SERIAL PRIMARY KEY NOT NULL",$r["sql"])."<br>";
59 } 52 }
60 echo "</div><div class='well'><h3>Listagem completa</h3>"; 53 echo "</div><div class='well'><h3>Listagem completa</h3>";
61 echo "<pre style='overflow:auto;'>"; 54 echo "<pre style='overflow:auto;'>";
62 $resultado = var_dump($resultado); 55 $resultado = var_dump($resultado);
63 - if(mb_detect_encoding($resultado,'UTF-8, ISO-8859-1') == "UTF-8"){  
64 - $resultado = utf8_decode($resultado); 56 + if(mb_detect_encoding($resultado,'UTF-8, ISO-8859-1') == "ISO-8859-1"){
  57 + $resultado = utf8_encode($resultado);
65 } 58 }
66 echo $resultado; 59 echo $resultado;
67 $dbh = null; 60 $dbh = null;
admin1/ferramentas/estatisticas/exec.php 0 → 100755
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +<?php
  2 +/****************************************************************/
  3 +//include (dirname ( __FILE__ ) . "/../../../ms_configura.php");
  4 +//
  5 +//checa login
  6 +//valida _GET e _POST, juntando em _GET
  7 +//pega algumas variaveis de uso mais comum
  8 +//session_start
  9 +//
  10 +include ("../../php/checaLogin.php");
  11 +\admin\php\login\checaLogin();
  12 +//funcoes de administracao
  13 +include ($_SESSION["locaplic"]."/admin1/php/funcoesAdmin.php");
  14 +//
  15 +//carrega outras funcoes e extensoes do PHP
  16 +//
  17 +include ($_SESSION["locaplic"]."/classesphp/carrega_ext.php");
  18 +//
  19 +//conexao com o banco de administracao
  20 +//cria as variaveis $dbh e $dbhw alem de conexaoadmin
  21 +//
  22 +include ($_SESSION["locaplic"]."/admin1/php/conexao.php");
  23 +/***************************************************************/
  24 +if (\admin\php\funcoesAdmin\verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
  25 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
  26 + exit ();
  27 +}
  28 +
  29 +?>
0 \ No newline at end of file 30 \ No newline at end of file
admin1/ferramentas/estatisticas/index.php
1 <?php 1 <?php
2 define ( "ONDEI3GEO", "../../.." ); 2 define ( "ONDEI3GEO", "../../.." );
3 include ("exec.php"); 3 include ("exec.php");
4 -//verifica se o login pode ser realizado  
5 -if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){  
6 - header ( "HTTP/1.1 403 Login desativado" );  
7 - exit ();  
8 -}  
9 -  
10 -  
11 include "../../head.php"; 4 include "../../head.php";
12 ?> 5 ?>
13 <div class="container-fluid migalha" > 6 <div class="container-fluid migalha" >
@@ -25,12 +18,11 @@ include &quot;../../head.php&quot;; @@ -25,12 +18,11 @@ include &quot;../../head.php&quot;;
25 <div class="col-sm-12"> 18 <div class="col-sm-12">
26 <div class="well"> 19 <div class="well">
27 <?php 20 <?php
28 - include("../../../admin/php/admin.php");  
29 - $totaltemas = count(\admin\php\funcoesAdmin\pegaDados("select * from ".$esquemaadmin."i3geoadmin_temas"));  
30 - $temasvalidos = \admin\php\funcoesAdmin\pegaDados("select codigo_tema,nome_tema,download_tema,kml_tema,ogc_tema,link_tema,tags_tema from ".$esquemaadmin."i3geoadmin_temas where codigo_tema <> ''");  
31 - $temasassocsubgrupos = \admin\php\funcoesAdmin\pegaDados("select id_tema from ".$esquemaadmin."i3geoadmin_n3 group by id_tema");  
32 - $nacessostema = \admin\php\funcoesAdmin\pegaDados("select b.nome_tema,sum(a.nacessos) as soma,a.codigo_tema from ".$esquemaadmin."i3geoadmin_acessostema as a,".$esquemaadmin."i3geoadmin_temas as b where a.codigo_tema = b.codigo_tema and a.nacessos > 0 group by a.codigo_tema,b.nome_tema");  
33 - $ntags = \admin\php\funcoesAdmin\pegaDados("select nome from ".$esquemaadmin."i3geoadmin_tags"); 21 + $totaltemas = count(\admin\php\funcoesAdmin\pegaDados("select * from ".$_SESSION["esquemaadmin"]."i3geoadmin_temas"));
  22 + $temasvalidos = \admin\php\funcoesAdmin\pegaDados("select codigo_tema,nome_tema,download_tema,kml_tema,ogc_tema,link_tema,tags_tema from ".$_SESSION["esquemaadmin"]."i3geoadmin_temas where codigo_tema <> ''");
  23 + $temasassocsubgrupos = \admin\php\funcoesAdmin\pegaDados("select id_tema from ".$_SESSION["esquemaadmin"]."i3geoadmin_n3 group by id_tema");
  24 + $nacessostema = \admin\php\funcoesAdmin\pegaDados("select b.nome_tema,sum(a.nacessos) as soma,a.codigo_tema from ".$_SESSION["esquemaadmin"]."i3geoadmin_acessostema as a,".$_SESSION["esquemaadmin"]."i3geoadmin_temas as b where a.codigo_tema = b.codigo_tema and a.nacessos > 0 group by a.codigo_tema,b.nome_tema");
  25 + $ntags = \admin\php\funcoesAdmin\pegaDados("select nome from ".$_SESSION["esquemaadmin"]."i3geoadmin_tags");
34 $totaltemasvalidos = count($temasvalidos); 26 $totaltemasvalidos = count($temasvalidos);
35 $codigostemas = array(); 27 $codigostemas = array();
36 $ncodigostemas = array(); 28 $ncodigostemas = array();
@@ -41,17 +33,25 @@ include &quot;../../head.php&quot;; @@ -41,17 +33,25 @@ include &quot;../../head.php&quot;;
41 $nsemlinktemas = 0; 33 $nsemlinktemas = 0;
42 $nsemtagstemas = 0; 34 $nsemtagstemas = 0;
43 35
44 - $sql = "select codigo_tema,soma from (select a.codigo_tema, sum(nacessos) as soma from ".$esquemaadmin."i3geoadmin_acessostema as a,".$esquemaadmin."i3geoadmin_temas as b where a.codigo_tema = b.codigo_tema AND nacessos > 0 group by a.codigo_tema) as soma where soma >"; 36 + $sql = "select codigo_tema,soma from (select a.codigo_tema, sum(nacessos) as soma from ".$_SESSION["esquemaadmin"]."i3geoadmin_acessostema as a,".$_SESSION["esquemaadmin"]."i3geoadmin_temas as b where a.codigo_tema = b.codigo_tema AND nacessos > 0 group by a.codigo_tema) as soma where soma >";
45 37
46 $nacessosmaiorqueum = count(\admin\php\funcoesAdmin\pegaDados($sql." 0")); 38 $nacessosmaiorqueum = count(\admin\php\funcoesAdmin\pegaDados($sql." 0"));
47 $nacessosmaiorquedez = count(\admin\php\funcoesAdmin\pegaDados($sql." 10")); 39 $nacessosmaiorquedez = count(\admin\php\funcoesAdmin\pegaDados($sql." 10"));
48 $nacessosmaiorquecem = count(\admin\php\funcoesAdmin\pegaDados($sql." 100")); 40 $nacessosmaiorquecem = count(\admin\php\funcoesAdmin\pegaDados($sql." 100"));
49 41
50 $temasacessos = array(); 42 $temasacessos = array();
51 - error_reporting (E_ALL);  
52 foreach($temasvalidos as $tema){ 43 foreach($temasvalidos as $tema){
53 - $ncodigostemas[$tema["codigo_tema"]]++;  
54 - $nnomestemas[$tema["nome_tema"]]++; 44 + if(in_array($tema["codigo_tema"],array_keys($ncodigostemas))){
  45 + $ncodigostemas[$tema["codigo_tema"]]++;
  46 + } else {
  47 + $ncodigostemas[$tema["codigo_tema"]] = 1;
  48 + }
  49 + if(in_array($tema["nome_tema"],array_keys($nnomestemas))){
  50 + $nnomestemas[$tema["nome_tema"]]++;
  51 + } else {
  52 + $nnomestemas[$tema["nome_tema"]] = 1;
  53 + }
  54 +
55 if(strtolower($tema["download_tema"]) == "sim") 55 if(strtolower($tema["download_tema"]) == "sim")
56 { 56 {
57 $ndownloadtemas++; 57 $ndownloadtemas++;
@@ -147,9 +147,9 @@ include &quot;../../head.php&quot;; @@ -147,9 +147,9 @@ include &quot;../../head.php&quot;;
147 echo "<div class='well'><h4>Acesos por tema</h4><ul>"; 147 echo "<div class='well'><h4>Acesos por tema</h4><ul>";
148 arsort($temasacessos); 148 arsort($temasacessos);
149 $temasacessos2 = array_keys($temasacessos); 149 $temasacessos2 = array_keys($temasacessos);
150 - for($i=0;$i<=count($temasacessos2);$i++){  
151 - if(mb_detect_encoding($temasacessos2[$i],'UTF-8, ISO-8859-1') == "UTF-8"){  
152 - echo "<li class='list-group-item'><label class='text-success'>".utf8_decode($temasacessos2[$i])." <span class='badge'> ".$temasacessos[$temasacessos2[$i]]."</span></li>"; 150 + for($i=0;$i<count($temasacessos2);$i++){
  151 + if(mb_detect_encoding($temasacessos2[$i],'UTF-8, ISO-8859-1') == "ISO-8859-1"){
  152 + echo "<li class='list-group-item'><label class='text-success'>".utf8_encode($temasacessos2[$i])." <span class='badge'> ".$temasacessos[$temasacessos2[$i]]."</span></li>";
153 } 153 }
154 else{ 154 else{
155 echo "<li class='list-group-item'><label class='text-success'>".$temasacessos2[$i]." <span class='badge'> ".$temasacessos[$temasacessos2[$i]]."</span></li>"; 155 echo "<li class='list-group-item'><label class='text-success'>".$temasacessos2[$i]." <span class='badge'> ".$temasacessos[$temasacessos2[$i]]."</span></li>";
admin1/ferramentas/miniaturas/exec.php
1 <?php 1 <?php
2 -include "index.php"; 2 +//
  3 +//no caso do programa ser utilizado via URL
  4 +//
  5 +if(empty($_GET["tipo"])){
  6 + exit;
  7 +}
3 ?> 8 ?>
4 <div class="container"> 9 <div class="container">
5 <div class="row center-block"> 10 <div class="row center-block">
@@ -12,42 +17,17 @@ include &quot;index.php&quot;; @@ -12,42 +17,17 @@ include &quot;index.php&quot;;
12 // 17 //
13 //carrega o phpmapscript 18 //carrega o phpmapscript
14 // 19 //
15 - if (!function_exists('ms_GetVersion')){  
16 - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){  
17 - if(!@dl('php_mapscript_48.dll'))  
18 - dl('php_mapscript.dll');  
19 - }  
20 - else{  
21 - dl('php_mapscript.so');  
22 - }  
23 - }  
24 - include_once (dirname(__FILE__)."/../../../admin/php/admin.php");  
25 $versao = \admin\php\funcoesAdmin\versao(); 20 $versao = \admin\php\funcoesAdmin\versao();
26 $versao = $versao["principal"]; 21 $versao = $versao["principal"];
27 - //  
28 - //no caso do programa ser utilizado via URL  
29 - //  
30 - if(empty($tipo)){  
31 - exit;  
32 - } 22 +
  23 + $tipo = $_GET["tipo"];
33 if($tipo == "mini" || $tipo == "todos" || $tipo == "grande"){ 24 if($tipo == "mini" || $tipo == "todos" || $tipo == "grande"){
34 ms_ResetErrorList(); 25 ms_ResetErrorList();
35 - //verifica login  
36 - if(empty($_POST["senha"]) || empty($_POST["usuario"])){  
37 - exit;  
38 - }  
39 - else{  
40 - $continua = \admin\php\funcoesAdmin\verificaMaster($_POST["usuario"],$_POST["senha"],$i3geomaster);  
41 - if($continua === false){  
42 - echo "<div class='alert alert-warning'>Usu&aacute;rio n&atilde;o registrado em i3geo/ms_configura.php na vari&aacute;vel i3geomaster</div>";  
43 - exit;  
44 - }  
45 - }  
46 if (ob_get_level() == 0){ 26 if (ob_get_level() == 0){
47 ob_start(); 27 ob_start();
48 } 28 }
49 error_reporting (E_ALL); 29 error_reporting (E_ALL);
50 - $arqs = listaArquivos("../../../temas",true,array("map","gvp")); 30 + $arqs = listaArquivos("../../../temas",true,array("map"));
51 $arqs = $arqs["arquivos"]; 31 $arqs = $arqs["arquivos"];
52 sort($arqs); 32 sort($arqs);
53 foreach ($arqs as $arq){ 33 foreach ($arqs as $arq){
@@ -67,8 +47,7 @@ include &quot;index.php&quot;; @@ -67,8 +47,7 @@ include &quot;index.php&quot;;
67 } 47 }
68 echo "</div>"; 48 echo "</div>";
69 } 49 }
70 - ob_flush();  
71 - flush(); 50 + ob_flush(); flush(); sleep(2);
72 } 51 }
73 ob_end_flush(); 52 ob_end_flush();
74 } 53 }
@@ -162,7 +141,7 @@ function verificaMiniatura($map,$tipo,$admin=false) @@ -162,7 +141,7 @@ function verificaMiniatura($map,$tipo,$admin=false)
162 else{ 141 else{
163 $dados = $layern->data; 142 $dados = $layern->data;
164 } 143 }
165 - $pegarext = $teman->name; 144 + $pegarext = $layern->name;
166 } 145 }
167 146
168 if (isset($postgis_mapa)){ 147 if (isset($postgis_mapa)){
@@ -187,18 +166,6 @@ function verificaMiniatura($map,$tipo,$admin=false) @@ -187,18 +166,6 @@ function verificaMiniatura($map,$tipo,$admin=false)
187 } 166 }
188 zoomTemaMiniatura($pegarext,$mapa); 167 zoomTemaMiniatura($pegarext,$mapa);
189 } 168 }
190 - if($extensao == ".gvp"){  
191 - include_once($_SESSION["locaplic"]."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");  
192 - $gm = new gvsig2mapfile($tema);  
193 - $gvsigview = $gm->getViewsNames();  
194 - foreach($gvsigview as $v){  
195 - $dataView = $gm->getViewData($v);  
196 - $mapa = $gm->addLayers($mapa,$v,$dataView["layerNames"]);  
197 - }  
198 - $next = $dataView["extent"];  
199 - $ext = $mapa->extent;  
200 - $ext->setextent($next[0],$next[1],$next[2],$next[3]);  
201 - }  
202 if ($tipo == "mini" || $tipo == "todos"){ 169 if ($tipo == "mini" || $tipo == "todos"){
203 $mapa->setsize(50,50); 170 $mapa->setsize(50,50);
204 $sca = $mapa->scalebar; 171 $sca = $mapa->scalebar;
@@ -304,5 +271,244 @@ function zoomTemaMiniatura($nomelayer,&amp;$mapa) @@ -304,5 +271,244 @@ function zoomTemaMiniatura($nomelayer,&amp;$mapa)
304 $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]); 271 $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]);
305 } 272 }
306 } 273 }
  274 +function listaArquivos($diretorio,$seguro=false,$permitido=array("png","PNG","jpg","JPG","tif","tiff","TIF","TIFF","shp","SHP","img"))
  275 +{
  276 + $docroot = $_SERVER["DOCUMENT_ROOT"];
  277 + if (!is_dir($diretorio)){
  278 + $diretorio = "../".$diretorio;
  279 + }
  280 + if (is_dir($diretorio)){
  281 + $dirs = array();
  282 + $arqs = array();
  283 + $nomes = array();
  284 + $urls = array();
  285 + $exts = array();
  286 + $d = dir($diretorio);
  287 + while (($nd = $d->read()) != FALSE)
  288 + {
  289 + if ($nd != "." && $nd != ".."){
  290 + $ext = explode(".",$nd);
  291 + if (count($ext)>1){
  292 + if($seguro == true){
  293 + $buscar = $ext[1];
  294 + //$permitido = array("png","PNG","jpg","JPG","tif","tiff","TIF","TIFF","shp","SHP","img");
  295 + if(in_array($buscar,$permitido)){
  296 + $arqs[] = $nd;
  297 + $nomes[] = basename($nd);
  298 + $exts[] = $ext[1];
  299 + $url = "";
307 300
  301 + if(strpos($diretorio,$docroot) === true || strpos($diretorio,$docroot) === 0){
  302 + $url = str_replace($docroot,"",$diretorio."/".$nd);
  303 + }
  304 + $urls[] = $url;
  305 + }
  306 + }
  307 + else{
  308 + $arqs[] = $nd;
  309 + $nomes[] = basename($nd);
  310 + $urls = "";
  311 + $exts[] = $ext[1];
  312 + }
  313 + }
  314 + if (count($ext)==1){
  315 + $dirs[] = $nd;
  316 + }
  317 + }
  318 + }
  319 + sort($dirs);
  320 + return array("diretorios"=>$dirs,"arquivos"=>$arqs,"nomes"=>$nomes,"urls"=>$urls,"extensoes"=>$exts);
  321 + }
  322 + else
  323 + {return "erro";}
  324 +}
  325 +function cloneInlineSymbol($layern, $nmapa, $mapa) {
  326 + $numclasses = $layern->numclasses;
  327 + for($ci = 0; $ci < $numclasses; $ci ++) {
  328 + $classe = $layern->getclass ( $ci );
  329 + $numestilos = $classe->numstyles;
  330 + for($ei = 0; $ei < $numestilos; $ei ++) {
  331 + $estilo = $classe->getstyle ( $ei );
  332 + if ($estilo->symbolname != "") {
  333 + $nomesimbolo = $estilo->symbolname;
  334 + $simbolo = $nmapa->getSymbolObjectById ( $nmapa->getSymbolByName ( $nomesimbolo ) );
  335 + if ($simbolo->inmapfile == MS_TRUE || file_exists ( $nomesimbolo )) {
  336 + $simbolon = new symbolObj ( $mapa, $nomesimbolo );
  337 + $simbolon->set ( "inmapfile", MS_TRUE );
  338 +
  339 + $simbolon->setImagePath ( $simbolo->imagepath );
  340 + $simbolon->setPoints ( $simbolo->getPointsArray () );
  341 + // $simbolon->setPattern($simbolo->getPatternArray());
  342 + $simbolon->set ( "type", $simbolo->type );
  343 + // $simbolon->set("antialias",$simbolo->antialias);
  344 + $simbolon->set ( "character", $simbolo->character );
  345 + $simbolon->set ( "filled", $simbolo->filled );
  346 +
  347 + // $simbolon->set("font",$simbolo->font);
  348 + // $simbolon->set("position",$simbolo->position);
  349 + $simbolon->set ( "sizex", $simbolo->sizex );
  350 + $simbolon->set ( "sizey", $simbolo->sizey );
  351 + $simbolon->set ( "transparent", $simbolo->transparent );
  352 + $simbolon->set ( "transparentcolor", $simbolo->transparentcolor );
  353 + // $simbolon->set("anchorpoint",$simbolo->anchorpoint);
  354 + }
  355 + }
  356 + }
  357 + }
  358 +}
  359 +function autoClasses(&$nlayer, $mapa, $locaplic = null) {
  360 + $postgis_mapa = $_SESSION ["postgis_mapa"];
  361 + ;
  362 + $substituicon = "nao";
  363 + if ($nlayer->connectiontype == MS_POSTGIS) {
  364 + if ($nlayer->connection == " ") {
  365 + $nlayer->set ( "connection", $postgis_mapa );
  366 + $substituicon = "sim";
  367 + }
  368 + }
  369 + //
  370 + // gera classes automaticamente (temas vetoriais)
  371 + if ($nlayer->getmetadata ( "classesitem" ) != "") {
  372 + $itemnome = $nlayer->getmetadata ( "classesnome" );
  373 + $itemid = $nlayer->getmetadata ( "classesitem" );
  374 + $itemcor = $nlayer->getmetadata ( "classescor" );
  375 + $itemsimbolo = $nlayer->getmetadata ( "classesimbolo" );
  376 + $itemtamanho = $nlayer->getmetadata ( "classestamanho" );
  377 + $classeoriginal = $nlayer->getclass ( 0 );
  378 + //
  379 + // pega a extensao geografica que devera ser utilizada
  380 + //
  381 + $prjMapa = $mapa->getProjection ();
  382 + $prjTema = $nlayer->getProjection ();
  383 + $ret = $nlayer->getmetadata ( "extensao" );
  384 + if ($ret == "") {
  385 + $ret = $nlayer->getextent ();
  386 + // reprojeta o retangulo
  387 + if (($prjTema != "") && ($prjMapa != $prjTema)) {
  388 + $projInObj = ms_newprojectionobj ( $prjTema );
  389 + $projOutObj = ms_newprojectionobj ( $prjMapa );
  390 + $ret->project ( $projInObj, $projOutObj );
  391 + }
  392 + } else {
  393 + $temp = explode ( " ", $ret );
  394 + $ret = ms_newRectObj ();
  395 + $ret->setextent ( $temp [0], $temp [1], $temp [2], $temp [3] );
  396 + }
  397 + //
  398 + $sopen = $nlayer->open ();
  399 + if ($sopen == MS_FAILURE) {
  400 + return "erro";
  401 + }
  402 +
  403 + $status = $nlayer->whichShapes ( $ret );
  404 + $parametrosClasses = array ();
  405 + if ($status == 0) {
  406 + while ( $shape = $nlayer->nextShape () ) {
  407 + $id = trim ( $shape->values [$itemid] );
  408 + if (! $parametrosClasses [$id]) {
  409 + $nome = "";
  410 + if ($itemnome != "")
  411 + $nome = trim ( $shape->values [$itemnome] );
  412 + $cor = "";
  413 + if ($itemcor != "")
  414 + $cor = explode ( ",", trim ( $shape->values [$itemcor] ) );
  415 + if (count ( $cor ) != 3)
  416 + $cor = explode ( " ", trim ( $shape->values [$itemcor] ) );
  417 + $tamanho = "";
  418 + if ($itemtamanho != "")
  419 + $tamanho = trim ( $shape->values [$itemtamanho] );
  420 + $simbolo = "";
  421 + if ($itemsimbolo != "")
  422 + $simbolo = trim ( $shape->values [$itemsimbolo] );
  423 + $parametrosClasses [$id] = array (
  424 + "nome" => $nome,
  425 + "cor" => $cor,
  426 + "tamanho" => $tamanho,
  427 + "simbolo" => $simbolo
  428 + );
  429 + }
  430 + }
  431 + $fechou = $nlayer->close ();
  432 + // echo "<pre>";var_dump($parametrosClasses);
  433 + if (count ( $parametrosClasses ) > 0) {
  434 + $ids = array_keys ( $parametrosClasses );
  435 + for($i = 0; $i < count ( $parametrosClasses ); ++ $i) {
  436 + $p = $parametrosClasses [$ids [$i]];
  437 + // echo "<pre>";var_dump($p);
  438 + $nclasse = ms_newClassObj ( $nlayer, $classeoriginal );
  439 + if ($p ["nome"] != "")
  440 + $nclasse->set ( "name", $p ["nome"] );
  441 + $estilo = $nclasse->getstyle ( 0 );
  442 + if ($p ["cor"] != "") {
  443 + $cor = $p ["cor"];
  444 + $ncor = $estilo->color;
  445 + if ($ncor == "")
  446 + $ncor = $estilo->outlinecolor;
  447 + $ncor->setrgb ( $cor [0], $cor [1], $cor [2] );
  448 + }
  449 + if ($p ["tamanho"] != "")
  450 + $estilo->set ( "size", $p ["tamanho"] );
  451 + if ($p ["simbolo"] != "")
  452 + $estilo->set ( "symbolname", $p ["simbolo"] );
  453 + $strE = "('[" . $itemid . "]'eq'" . $ids [$i] . "')";
  454 + $nclasse->setexpression ( $strE );
  455 + }
  456 + $classeoriginal->set ( "status", MS_DELETE );
  457 + }
  458 + }
  459 + if ($substituicon == "sim") {
  460 + $nlayer->set ( "connection", " " );
  461 + }
  462 + }
  463 + $pf = $nlayer->getmetadata ( "palletefile" );
  464 + if ($pf != "") {
  465 + if (! file_exists ( $pf )) {
  466 + return;
  467 + }
  468 + $ps = $nlayer->getmetadata ( "palletesteps" );
  469 + if ($ps == "")
  470 + $ps = 8;
  471 + //
  472 + // pega os valores do arquivo
  473 + //
  474 + $rules = array ();
  475 + $abre = fopen ( $pf, "r" );
  476 + $paletteRules = array ();
  477 + while ( ! feof ( $abre ) ) {
  478 + $line = trim ( fgets ( $abre ) );
  479 + $pos = strpos ( $line, "#" );
  480 + if ($pos === false || $pos > 0) {
  481 + $paletteEntry = explode ( " ", $line );
  482 + $rules [] = array (
  483 + "v0" => $paletteEntry [0],
  484 + "v1" => $paletteEntry [1],
  485 + "r0" => $paletteEntry [2],
  486 + "g0" => $paletteEntry [3],
  487 + "b0" => $paletteEntry [4],
  488 + "r1" => $paletteEntry [5],
  489 + "g1" => $paletteEntry [6],
  490 + "b1" => $paletteEntry [7]
  491 + );
  492 + }
  493 + }
  494 + fclose ( $abre );
  495 + foreach ( $rules as $rule ) {
  496 + $delta = ceil ( ($rule ["v1"] - $rule ["v0"]) / $ps );
  497 + $legenda = true;
  498 + for($value = $rule ["v0"]; $value < $rule ["v1"]; $value += $delta) {
  499 + $class = ms_newClassObj ( $nlayer );
  500 + $style = ms_newStyleObj ( $class );
  501 + if ($legenda) {
  502 + $class->set ( name, round ( $value, 0 ) );
  503 + $legenda = true;
  504 + }
  505 + $expression = "([pixel] > " . round ( $value, 0 ) . " AND [pixel] <= " . round ( $value + $delta, 0 ) . ")";
  506 + $class->setExpression ( $expression );
  507 + $rgb = getRGBpallete ( $rule, $value );
  508 + $style->color->setRGB ( $rgb [0], $rgb [1], $rgb [2] );
  509 + }
  510 + }
  511 + }
  512 + return;
  513 +}
308 ?> 514 ?>
admin1/ferramentas/miniaturas/index.php
1 <?php 1 <?php
2 define ( "ONDEI3GEO", "../../.." ); 2 define ( "ONDEI3GEO", "../../.." );
3 -include ("exec.php");  
4 -//verifica se o login pode ser realizado  
5 -if(isset($i3geoPermiteLogin) && $i3geoPermiteLogin == false){  
6 - header ( "HTTP/1.1 403 Login desativado" ); 3 +
  4 +/****************************************************************/
  5 +//
  6 +//checa login
  7 +//valida _GET e _POST, juntando em _GET
  8 +//pega algumas variaveis de uso mais comum
  9 +//session_start
  10 +//
  11 +include ("../../php/checaLogin.php");
  12 +\admin\php\login\checaLogin();
  13 +//funcoes de administracao
  14 +include ($_SESSION["locaplic"]."/admin1/php/funcoesAdmin.php");
  15 +//
  16 +//carrega outras funcoes e extensoes do PHP
  17 +//
  18 +include ($_SESSION["locaplic"]."/classesphp/carrega_ext.php");
  19 +//
  20 +//conexao com o banco de administracao
  21 +//cria as variaveis $dbh e $dbhw alem de conexaoadmin
  22 +//
  23 +include ($_SESSION["locaplic"]."/admin1/php/conexao.php");
  24 +/***************************************************************/
  25 +if (\admin\php\funcoesAdmin\verificaOperacaoSessao ( "admin/html/arvore" ) === false) {
  26 + header ( "HTTP/1.1 403 Vc nao pode realizar essa operacao" );
7 exit (); 27 exit ();
8 } 28 }
9 -  
10 include "../../head.php"; 29 include "../../head.php";
11 ?> 30 ?>
12 <div class="container-fluid migalha" > 31 <div class="container-fluid migalha" >
@@ -29,8 +48,7 @@ include &quot;../../head.php&quot;; @@ -29,8 +48,7 @@ include &quot;../../head.php&quot;;
29 <h4>O usu&aacute;rio e a senha devem estar cadastrados em i3geo/ms_configura.php</h4> 48 <h4>O usu&aacute;rio e a senha devem estar cadastrados em i3geo/ms_configura.php</h4>
30 </div> 49 </div>
31 <div class="well"> 50 <div class="well">
32 - <form class="form" role="form" method="post" action="exec.php">  
33 - <?php include("../../templates/login.php");?> 51 + <form class="form" role="form" method="post" action="index.php">
34 <div class="form-group"> 52 <div class="form-group">
35 <div class="radio"> 53 <div class="radio">
36 <label> <input name="tipo" value="todos" type="radio" required>todas as miniaturas 54 <label> <input name="tipo" value="todos" type="radio" required>todas as miniaturas
@@ -77,6 +95,514 @@ include &quot;../../head.php&quot;; @@ -77,6 +95,514 @@ include &quot;../../head.php&quot;;
77 t.removeClass('hidden'); 95 t.removeClass('hidden');
78 $.material.init(); 96 $.material.init();
79 }); 97 });
80 - </script> 98 +</script>
  99 +<?php
  100 +//
  101 +//no caso do programa ser utilizado via URL
  102 +//
  103 +if(empty($_POST["tipo"])){
  104 + echo "</body></html>";
  105 + exit;
  106 +}
  107 +?>
  108 +<div class="container">
  109 + <div class="row center-block">
  110 + <div class="col-sm-12">
  111 + <div class="row">
  112 + <div class="col-md-12">
  113 + <div class="well">
  114 + <?php
  115 + error_reporting (E_ALL);
  116 + $versao = \admin\php\funcoesAdmin\versao();
  117 + $versao = $versao["principal"];
  118 +
  119 + $tipo = $_POST["tipo"];
  120 + if($tipo == "mini" || $tipo == "todos" || $tipo == "grande"){
  121 + ms_ResetErrorList();
  122 + if (ob_get_level() == 0){
  123 + ob_start();
  124 + }
  125 + error_reporting (E_ALL);
  126 + $arqs = listaArquivos("../../../temas",true,array("map"));
  127 + $arqs = $arqs["arquivos"];
  128 + sort($arqs);
  129 + foreach ($arqs as $arq){
  130 + $arq = str_replace(" ","xxxx",$arq);
  131 + $temp = explode(".",$arq);
  132 + if(file_exists($_SESSION["locaplic"].'/temas/'.$arq) && $temp[(count($temp) - 1)] == "map" ){
  133 + echo "<div 'class=well'><h4>$arq</h4>";
  134 + if($tipo == "mini" || $tipo == "todos"){
  135 + if(!file_exists($_SESSION["locaplic"].'/temas/miniaturas/'.$arq.'.mini.png')){
  136 + verificaMiniatura($arq,"mini");
  137 + }
  138 + }
  139 + if($tipo == "grande" || $tipo == "todos"){
  140 + if(!file_exists($_SESSION["locaplic"].'/temas/miniaturas/'.$arq.'.grande.png')){
  141 + verificaMiniatura($arq,"grande");
  142 + }
  143 + }
  144 + echo "</div>";
  145 + }
  146 + ob_flush(); flush(); sleep(1);
  147 + }
  148 + ob_end_flush();
  149 + }
  150 + ?>
  151 + </div>
  152 + </div>
  153 + </div>
  154 + </div>
  155 + </div>
  156 +</div>
81 </body> 157 </body>
82 </html> 158 </html>
  159 +<?php
  160 +//
  161 +//se tipo for igual a "admin", as imagens s&atilde;o gravadas em i3geo/temas/miniaturas
  162 +//
  163 +function verificaMiniatura($map,$tipo,$admin=false)
  164 +{
  165 + global $versao,$base;
  166 + $postgis_mapa = $_SESSION["postgis_mapa"];
  167 + $locaplic = $_SESSION["locaplic"];
  168 + if($versao == ""){
  169 + $versao = \admin\php\funcoesAdmin\versao();
  170 + $versao = $versao["principal"];
  171 + }
  172 + ms_ResetErrorList();
  173 + $tema = "";
  174 + $map = str_replace("\\","/",$map);
  175 + $map = basename($map);
  176 + $extensao = ".map";
  177 + if (file_exists($_SESSION["locaplic"].'/temas/'.$map)){
  178 + $tema = $_SESSION["locaplic"].'/temas/'.$map;
  179 + }
  180 + else{
  181 + if (file_exists($_SESSION["locaplic"].'/temas/'.$map.'.gvp')){
  182 + $extensao = ".gvp";
  183 + }
  184 + $tema = $_SESSION["locaplic"].'/temas/'.$map.$extensao;
  185 + }
  186 + if ($tema != ""){
  187 + if(isset($base) && $base != ""){
  188 + if(file_exists($base))
  189 + {$f = $base;}
  190 + else
  191 + {$f = $_SESSION["locaplic"]."/aplicmap/".$base.".map";}
  192 + if(!file_exists($base)){
  193 + echo "<div class='alert alert-danger'>ARQUIVO $base N&Acirc;O FOI ENCONTRADO. CORRIJA ISSO EM ms_configura.php";
  194 + exit;
  195 + }
  196 + }
  197 + else{
  198 + $f = "";
  199 + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){
  200 + $f = $_SESSION["locaplic"]."/aplicmap/geral1windowsv".$versao.".map";
  201 + }
  202 + else{
  203 + if($f == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){
  204 + $f = "/var/www/i3geo/aplicmap/geral1debianv".$versao.".map";
  205 + }
  206 + if($f == "" && file_exists('/var/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){
  207 + $f = "/var/www/html/i3geo/aplicmap/geral1fedorav".$versao.".map";
  208 + }
  209 + if($f == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){
  210 + $f = "/opt/www/html/i3geo/aplicmap/geral1v".$versao.".map";
  211 + }
  212 + if($f == ""){
  213 + $f = $_SESSION["locaplic"]."/aplicmap/geral1v".$versao.".map";
  214 + }
  215 + }
  216 + }
  217 + $mapa = ms_newMapObj($f);
  218 + if($extensao == ".map"){
  219 + if(@ms_newMapObj($tema)){
  220 + $nmapa = ms_newMapObj($tema);
  221 + }
  222 + else{
  223 + echo "<div class='alert alert-danger'>erro no arquivo $tema </div>";
  224 + return;
  225 + }
  226 + $dados = "";
  227 + $numlayers = $nmapa->numlayers;
  228 + for ($i=0;$i < $numlayers;$i++){
  229 + $layern = $nmapa->getlayer($i);
  230 + $layern->set("status",MS_DEFAULT);
  231 + cloneInlineSymbol($layern,$nmapa,$mapa);
  232 + ms_newLayerObj($mapa, $layern);
  233 + autoClasses($layern,$mapa,$_SESSION["locaplic"]);
  234 + if ($layern->data == ""){
  235 + $dados = $layern->connection;
  236 + }
  237 + else{
  238 + $dados = $layern->data;
  239 + }
  240 + $pegarext = $layern->name;
  241 + }
  242 + if (isset($postgis_mapa)){
  243 + if ($postgis_mapa != ""){
  244 + $numlayers = $mapa->numlayers;
  245 + for ($i=0;$i < $numlayers;$i++){
  246 + $layern = $mapa->getlayer($i);
  247 + if (!empty($postgis_mapa)){
  248 + if ($layern->connectiontype == MS_POSTGIS){
  249 + $lcon = $layern->connection;
  250 + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){
  251 + if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade
  252 + {$layern->set("connection",$postgis_mapa);}
  253 + else{
  254 + $layern->set("connection",$postgis_mapa[$lcon]);
  255 + }
  256 + }
  257 + }
  258 + }
  259 + }
  260 + }
  261 + }
  262 + //zoomTemaMiniatura($pegarext,$mapa);
  263 + }
  264 + if ($tipo == "mini" || $tipo == "todos"){
  265 + $mapa->setsize(50,50);
  266 + $sca = $mapa->scalebar;
  267 + $sca->set("status",MS_OFF);
  268 + $objImagemM = @$mapa->draw();
  269 + //if ($objImagemM == "" || $objImagemM == MS_FAILURE)
  270 + //{echo "Problemas ao gerar o mapa<br>";return;}
  271 + $weboM = $mapa->web;
  272 + $urlM = $weboM->imageurl."/".$map;
  273 + }
  274 + if ($tipo == "grande" || $tipo == "todos"){
  275 + $mapa->setsize(300,300);
  276 + $sca = $mapa->scalebar;
  277 + $sca->set("status",MS_OFF);
  278 + $objImagemG = @$mapa->draw();
  279 + $weboG = $mapa->web;
  280 + $urlG = $weboG->imageurl."/".$map;
  281 + }
  282 + if($tipo=="mini" || $tipo == "todos"){
  283 + if (!$objImagemM){
  284 + echo "Problemas ao gerar o mapa<br>";
  285 + $error = "";
  286 + $error = ms_GetErrorObj();
  287 + while($error && $error->code != MS_NOERR){
  288 + echo "<div class='alert alert-danger'>Error in %s: %s</div>", $error->routine, $error->message;
  289 + $error = $error->next();
  290 + }
  291 + return;
  292 + }
  293 + if($objImagemM->imagepath == ""){
  294 + echo "<div class='alert alert-danger'>Erro IMAGEPATH vazio</div>";return;
  295 + }
  296 + $nomecM = ($objImagemM->imagepath).$map.".mini.png";
  297 + $objImagemM->saveImage($nomecM);
  298 + }
  299 + if($tipo=="grande" || $tipo == "todos"){
  300 + if (!$objImagemG){
  301 + echo "<div class='alert alert-danger'>Problemas ao gerar o mapa</div>";
  302 + $error = "";
  303 + $error = ms_GetErrorObj();
  304 + while($error && $error->code != MS_NOERR){
  305 + echo "<div class='alert alert-danger'>Error in %s: %s</div>", $error->routine, $error->message;
  306 + $error = $error->next();
  307 + }
  308 + return;
  309 + }
  310 + if($objImagemG->imagepath == ""){
  311 + echo "<div class='alert alert-danger'>Erro IMAGEPATH vazio</div>";return;
  312 + }
  313 + $nomecG = ($objImagemG->imagepath).$map.".grande.png";
  314 + $objImagemG->saveImage($nomecG);
  315 + }
  316 + if($admin === false){
  317 + if($tipo=="mini" || $tipo == "todos")
  318 + {echo "<img class='img-thumbnail' src='".$urlM.".mini.png' />";}
  319 + if($tipo=="grande" || $tipo == "todos")
  320 + {echo "<img class='img-thumbnail' src='".$urlG.".grande.png' />";}
  321 + }
  322 + //
  323 + //copia a imagem
  324 + //
  325 + if($admin === true){
  326 + $dir = $_SESSION["locaplic"]."/temas/miniaturas";
  327 + $mini = $dir."/".$map.".map.mini.png";
  328 + $grande = $dir."/".$map.".map.grande.png";
  329 + if(file_exists($mini))
  330 + {unlink($mini);}
  331 + if(file_exists($grande))
  332 + {unlink($grande);}
  333 + copy(($objImagemG->imagepath).$map.".grande.png",$grande);
  334 + copy(($objImagemM->imagepath).$map.".mini.png",$mini);
  335 + }
  336 + }
  337 +}
  338 +function zoomTemaMiniatura($nomelayer,&$mapa)
  339 +{
  340 + $layer = $mapa->getlayerbyname($nomelayer);
  341 + if($layer->data == "" && $layer->connection == "")
  342 + {return;}
  343 + $prjMapa = $mapa->getProjection();
  344 + $prjTema = $layer->getProjection();
  345 + $extatual = $mapa->extent;
  346 + $ret = $layer->getmetadata("extensao");
  347 + if($layer->type > 2 && $ret == "")
  348 + {return;}
  349 + $ct = $layer->connectiontype;
  350 + if(($ret == "") && ($ct != 1))
  351 + {return;}
  352 + if ($ret == ""){
  353 + $ret = $layer->getextent();
  354 + //reprojeta o retangulo
  355 + if (($prjTema != "") && ($prjMapa != $prjTema)){
  356 + $projInObj = ms_newprojectionobj($prjTema);
  357 + $projOutObj = ms_newprojectionobj($prjMapa);
  358 + $ret->project($projInObj, $projOutObj);
  359 + }
  360 + $extatual->setextent($ret->minx,$ret->miny,$ret->maxx,$ret->maxy);
  361 + }
  362 + else{
  363 + $ret = explode(" ",$ret);
  364 + $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]);
  365 + }
  366 +}
  367 +function listaArquivos($diretorio,$seguro=false,$permitido="")
  368 +{
  369 + $docroot = $_SERVER["DOCUMENT_ROOT"];
  370 + if (!is_dir($diretorio)){
  371 + $diretorio = "../".$diretorio;
  372 + }
  373 + if (is_dir($diretorio)){
  374 + $dirs = array();
  375 + $arqs = array();
  376 + $nomes = array();
  377 + $urls = array();
  378 + $exts = array();
  379 + $d = dir($diretorio);
  380 + while (($nd = $d->read()) != FALSE)
  381 + {
  382 + if ($nd != "." && $nd != ".."){
  383 + $ext = explode(".",$nd);
  384 + if (count($ext)>1){
  385 + if($seguro == true){
  386 + $buscar = $ext[1];
  387 + //$permitido = array("png","PNG","jpg","JPG","tif","tiff","TIF","TIFF","shp","SHP","img");
  388 + if(in_array($buscar,$permitido)){
  389 + $arqs[] = $nd;
  390 + $nomes[] = basename($nd);
  391 + $exts[] = $ext[1];
  392 + $url = "";
  393 +
  394 + if(strpos($diretorio,$docroot) === true || strpos($diretorio,$docroot) === 0){
  395 + $url = str_replace($docroot,"",$diretorio."/".$nd);
  396 + }
  397 + $urls[] = $url;
  398 + }
  399 + }
  400 + else{
  401 + $arqs[] = $nd;
  402 + $nomes[] = basename($nd);
  403 + $urls = "";
  404 + $exts[] = $ext[1];
  405 + }
  406 + }
  407 + if (count($ext)==1){
  408 + $dirs[] = $nd;
  409 + }
  410 + }
  411 + }
  412 + sort($dirs);
  413 + return array("diretorios"=>$dirs,"arquivos"=>$arqs,"nomes"=>$nomes,"urls"=>$urls,"extensoes"=>$exts);
  414 + }
  415 + else
  416 + {return "erro";}
  417 +}
  418 +function cloneInlineSymbol($layern, $nmapa, $mapa) {
  419 + $numclasses = $layern->numclasses;
  420 + for($ci = 0; $ci < $numclasses; $ci ++) {
  421 + $classe = $layern->getclass ( $ci );
  422 + $numestilos = $classe->numstyles;
  423 + for($ei = 0; $ei < $numestilos; $ei ++) {
  424 + $estilo = $classe->getstyle ( $ei );
  425 + if ($estilo->symbolname != "") {
  426 + $nomesimbolo = $estilo->symbolname;
  427 + $simbolo = $nmapa->getSymbolObjectById ( $nmapa->getSymbolByName ( $nomesimbolo ) );
  428 + if ($simbolo->inmapfile == MS_TRUE || file_exists ( $nomesimbolo )) {
  429 + $simbolon = new symbolObj ( $mapa, $nomesimbolo );
  430 + $simbolon->set ( "inmapfile", MS_TRUE );
  431 +
  432 + $simbolon->setImagePath ( $simbolo->imagepath );
  433 + $simbolon->setPoints ( $simbolo->getPointsArray () );
  434 + // $simbolon->setPattern($simbolo->getPatternArray());
  435 + $simbolon->set ( "type", $simbolo->type );
  436 + // $simbolon->set("antialias",$simbolo->antialias);
  437 + $simbolon->set ( "character", $simbolo->character );
  438 + $simbolon->set ( "filled", $simbolo->filled );
  439 +
  440 + // $simbolon->set("font",$simbolo->font);
  441 + // $simbolon->set("position",$simbolo->position);
  442 + $simbolon->set ( "sizex", $simbolo->sizex );
  443 + $simbolon->set ( "sizey", $simbolo->sizey );
  444 + $simbolon->set ( "transparent", $simbolo->transparent );
  445 + $simbolon->set ( "transparentcolor", $simbolo->transparentcolor );
  446 + // $simbolon->set("anchorpoint",$simbolo->anchorpoint);
  447 + }
  448 + }
  449 + }
  450 + }
  451 +}
  452 +function autoClasses(&$nlayer, $mapa, $locaplic = null) {
  453 + $postgis_mapa = $_SESSION ["postgis_mapa"];
  454 + ;
  455 + $substituicon = "nao";
  456 + if ($nlayer->connectiontype == MS_POSTGIS) {
  457 + if ($nlayer->connection == " ") {
  458 + $nlayer->set ( "connection", $postgis_mapa );
  459 + $substituicon = "sim";
  460 + }
  461 + }
  462 + //
  463 + // gera classes automaticamente (temas vetoriais)
  464 + if ($nlayer->getmetadata ( "classesitem" ) != "") {
  465 + $itemnome = $nlayer->getmetadata ( "classesnome" );
  466 + $itemid = $nlayer->getmetadata ( "classesitem" );
  467 + $itemcor = $nlayer->getmetadata ( "classescor" );
  468 + $itemsimbolo = $nlayer->getmetadata ( "classesimbolo" );
  469 + $itemtamanho = $nlayer->getmetadata ( "classestamanho" );
  470 + $classeoriginal = $nlayer->getclass ( 0 );
  471 + //
  472 + // pega a extensao geografica que devera ser utilizada
  473 + //
  474 + $prjMapa = $mapa->getProjection ();
  475 + $prjTema = $nlayer->getProjection ();
  476 + $ret = $nlayer->getmetadata ( "extensao" );
  477 + if ($ret == "") {
  478 + $ret = $nlayer->getextent ();
  479 + // reprojeta o retangulo
  480 + if (($prjTema != "") && ($prjMapa != $prjTema)) {
  481 + $projInObj = ms_newprojectionobj ( $prjTema );
  482 + $projOutObj = ms_newprojectionobj ( $prjMapa );
  483 + $ret->project ( $projInObj, $projOutObj );
  484 + }
  485 + } else {
  486 + $temp = explode ( " ", $ret );
  487 + $ret = ms_newRectObj ();
  488 + $ret->setextent ( $temp [0], $temp [1], $temp [2], $temp [3] );
  489 + }
  490 + //
  491 + $sopen = $nlayer->open ();
  492 + if ($sopen == MS_FAILURE) {
  493 + return "erro";
  494 + }
  495 +
  496 + $status = $nlayer->whichShapes ( $ret );
  497 + $parametrosClasses = array ();
  498 + if ($status == 0) {
  499 + while ( $shape = $nlayer->nextShape () ) {
  500 + $id = trim ( $shape->values [$itemid] );
  501 + if (! $parametrosClasses [$id]) {
  502 + $nome = "";
  503 + if ($itemnome != "")
  504 + $nome = trim ( $shape->values [$itemnome] );
  505 + $cor = "";
  506 + if ($itemcor != "")
  507 + $cor = explode ( ",", trim ( $shape->values [$itemcor] ) );
  508 + if (count ( $cor ) != 3)
  509 + $cor = explode ( " ", trim ( $shape->values [$itemcor] ) );
  510 + $tamanho = "";
  511 + if ($itemtamanho != "")
  512 + $tamanho = trim ( $shape->values [$itemtamanho] );
  513 + $simbolo = "";
  514 + if ($itemsimbolo != "")
  515 + $simbolo = trim ( $shape->values [$itemsimbolo] );
  516 + $parametrosClasses [$id] = array (
  517 + "nome" => $nome,
  518 + "cor" => $cor,
  519 + "tamanho" => $tamanho,
  520 + "simbolo" => $simbolo
  521 + );
  522 + }
  523 + }
  524 + $fechou = $nlayer->close ();
  525 + // echo "<pre>";var_dump($parametrosClasses);
  526 + if (count ( $parametrosClasses ) > 0) {
  527 + $ids = array_keys ( $parametrosClasses );
  528 + for($i = 0; $i < count ( $parametrosClasses ); ++ $i) {
  529 + $p = $parametrosClasses [$ids [$i]];
  530 + // echo "<pre>";var_dump($p);
  531 + $nclasse = ms_newClassObj ( $nlayer, $classeoriginal );
  532 + if ($p ["nome"] != "")
  533 + $nclasse->set ( "name", $p ["nome"] );
  534 + $estilo = $nclasse->getstyle ( 0 );
  535 + if ($p ["cor"] != "") {
  536 + $cor = $p ["cor"];
  537 + $ncor = $estilo->color;
  538 + if ($ncor == "")
  539 + $ncor = $estilo->outlinecolor;
  540 + $ncor->setrgb ( $cor [0], $cor [1], $cor [2] );
  541 + }
  542 + if ($p ["tamanho"] != "")
  543 + $estilo->set ( "size", $p ["tamanho"] );
  544 + if ($p ["simbolo"] != "")
  545 + $estilo->set ( "symbolname", $p ["simbolo"] );
  546 + $strE = "('[" . $itemid . "]'eq'" . $ids [$i] . "')";
  547 + $nclasse->setexpression ( $strE );
  548 + }
  549 + $classeoriginal->set ( "status", MS_DELETE );
  550 + }
  551 + }
  552 + if ($substituicon == "sim") {
  553 + $nlayer->set ( "connection", " " );
  554 + }
  555 + }
  556 + $pf = $nlayer->getmetadata ( "palletefile" );
  557 + if ($pf != "") {
  558 + if (! file_exists ( $pf )) {
  559 + return;
  560 + }
  561 + $ps = $nlayer->getmetadata ( "palletesteps" );
  562 + if ($ps == "")
  563 + $ps = 8;
  564 + //
  565 + // pega os valores do arquivo
  566 + //
  567 + $rules = array ();
  568 + $abre = fopen ( $pf, "r" );
  569 + $paletteRules = array ();
  570 + while ( ! feof ( $abre ) ) {
  571 + $line = trim ( fgets ( $abre ) );
  572 + $pos = strpos ( $line, "#" );
  573 + if ($pos === false || $pos > 0) {
  574 + $paletteEntry = explode ( " ", $line );
  575 + $rules [] = array (
  576 + "v0" => $paletteEntry [0],
  577 + "v1" => $paletteEntry [1],
  578 + "r0" => $paletteEntry [2],
  579 + "g0" => $paletteEntry [3],
  580 + "b0" => $paletteEntry [4],
  581 + "r1" => $paletteEntry [5],
  582 + "g1" => $paletteEntry [6],
  583 + "b1" => $paletteEntry [7]
  584 + );
  585 + }
  586 + }
  587 + fclose ( $abre );
  588 + foreach ( $rules as $rule ) {
  589 + $delta = ceil ( ($rule ["v1"] - $rule ["v0"]) / $ps );
  590 + $legenda = true;
  591 + for($value = $rule ["v0"]; $value < $rule ["v1"]; $value += $delta) {
  592 + $class = ms_newClassObj ( $nlayer );
  593 + $style = ms_newStyleObj ( $class );
  594 + if ($legenda) {
  595 + $class->set ( name, round ( $value, 0 ) );
  596 + $legenda = true;
  597 + }
  598 + $expression = "([pixel] > " . round ( $value, 0 ) . " AND [pixel] <= " . round ( $value + $delta, 0 ) . ")";
  599 + $class->setExpression ( $expression );
  600 + $rgb = getRGBpallete ( $rule, $value );
  601 + $style->color->setRGB ( $rgb [0], $rgb [1], $rgb [2] );
  602 + }
  603 + }
  604 + }
  605 + return;
  606 +}
  607 +?>
  608 +
admin1/menu.js
@@ -67,8 +67,6 @@ menuPrincipal = [ @@ -67,8 +67,6 @@ menuPrincipal = [
67 html: "<a href='" + i3GEO.configura.locaplic + "/admin1/upload/shp2pg/index.php' >"+$trad("shp2pg",i3GEOadmin.menup.dicionario)+"</a>" 67 html: "<a href='" + i3GEO.configura.locaplic + "/admin1/upload/shp2pg/index.php' >"+$trad("shp2pg",i3GEOadmin.menup.dicionario)+"</a>"
68 },{ 68 },{
69 html: "<a href='" + i3GEO.configura.locaplic + "/admin1/upload/csv2pg/index.php' >"+$trad("csv2pg",i3GEOadmin.menup.dicionario)+"</a>" 69 html: "<a href='" + i3GEO.configura.locaplic + "/admin1/upload/csv2pg/index.php' >"+$trad("csv2pg",i3GEOadmin.menup.dicionario)+"</a>"
70 - },{  
71 - html: "<a href='" + i3GEO.configura.locaplic + "/admin1/upload/simbolo/index.php' >"+$trad("uploadSimbolo",i3GEOadmin.menup.dicionario)+"</a>"  
72 } 70 }
73 ]},{ 71 ]},{
74 html: $trad("editaMapfile",i3GEOadmin.menup.dicionario), 72 html: $trad("editaMapfile",i3GEOadmin.menup.dicionario),
temas/testecsv.map 100644 → 100755