Commit 118d99ea8f6f093cb5b0d7e12542b8bb4ea5725c

Authored by Edmar Moretti
1 parent 702bc2cf

Inclusão de projetos gvsig no gerador de serviços OGC

admin/admin.db
No preview for this file type
classesphp/classe_mapa.php
@@ -93,8 +93,7 @@ $map_file - Endereço do mapfile no servidor. @@ -93,8 +93,7 @@ $map_file - Endereço do mapfile no servidor.
93 $this->mapa = @ms_newMapObj($map_file); 93 $this->mapa = @ms_newMapObj($map_file);
94 $this->arquivo = $map_file; 94 $this->arquivo = $map_file;
95 $c = $this->mapa->numlayers; 95 $c = $this->mapa->numlayers;
96 - for ($i=0;$i < $c;++$i)  
97 - { 96 + for ($i=0;$i < $c;++$i){
98 $l = $this->mapa->getlayer($i); 97 $l = $this->mapa->getlayer($i);
99 $this->layers[] = $l; 98 $this->layers[] = $l;
100 $this->nomes[] = $l->name; 99 $this->nomes[] = $l->name;
@@ -943,46 +942,101 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao @@ -943,46 +942,101 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao
943 //limpa selecao 942 //limpa selecao
944 $temas = explode(",",$temas); 943 $temas = explode(",",$temas);
945 $zoomlayer = ""; 944 $zoomlayer = "";
946 - foreach ($temas as $nome)  
947 - { 945 + foreach ($temas as $nome){
948 $this->adicionaAcesso($nome,$locaplic); 946 $this->adicionaAcesso($nome,$locaplic);
949 $nomemap = ""; 947 $nomemap = "";
950 // 948 //
951 //verifica se o tema &eacute; um arquivo php 949 //verifica se o tema &eacute; um arquivo php
952 // 950 //
  951 + $extensao = ".map";
953 if ((file_exists($locaplic."/temas/".$nome.".php")) || (file_exists($nome.".php"))){ 952 if ((file_exists($locaplic."/temas/".$nome.".php")) || (file_exists($nome.".php"))){
954 - include_once($locaplic."/temas/".$nome.".php");  
955 - if(function_exists($nome)){  
956 - eval($nome."(\$this->mapa);"); 953 + $extensao = ".php";
  954 + }
  955 + if ((file_exists($locaplic."/temas/".$nome.".gvp")) || (file_exists($nome.".gvp"))){
  956 + $extensao = ".gvp";
  957 + }
  958 + if($extensao == ".php"){
  959 + include_once($locaplic."/temas/".$nome.".php");
  960 + if(function_exists($nome)){
  961 + eval($nome."(\$this->mapa);");
957 } 962 }
958 } 963 }
959 - else  
960 - {  
961 - if (file_exists($locaplic."/temas/".$nome.".map"))  
962 - {$nomemap = $locaplic."/temas/".$nome.".map";}  
963 - if (file_exists($nome))  
964 - {$nomemap = $nome;}  
965 - if (file_exists($nome.".map"))  
966 - {$nomemap = $nome.".map";}  
967 - if ($nomemap != "")  
968 - { 964 + if($extensao == ".gvp"){
  965 + if (file_exists($locaplic."/temas/".$nome.".gvp")){
  966 + $nomemap = $locaplic."/temas/".$nome.".gvp";
  967 + }
  968 + if (file_exists($nome)){
  969 + $nomemap = $nome;
  970 + }
  971 + if (file_exists($nome.".gvp")){
  972 + $nomemap = $nome.".gvp";
  973 + }
  974 + if ($nomemap != ""){
  975 + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
  976 + $gm = new gvsig2mapfile($nomemap);
  977 + $gvsigview = $gm->getViewsNames();
  978 + $gvsigview = $gvsigview[0];
  979 + $dataView = $gm->getViewData($gvsigview);
  980 + $adicionar = array();
  981 + foreach($dataView["layerNames"] as $t){
  982 + if(!in_array($t,$this->nomes)){
  983 + $adicionar[] = $t;
  984 + }
  985 + }
  986 + $this->mapa = $gm->addLayers($this->mapa,$gvsigview,$adicionar);
  987 + foreach($adicionar as $nome){
  988 + $l = $this->mapa->getlayerbyname($nome);
  989 + //reposiciona o layer se for o caso
  990 + if ($l->group == ""){
  991 + $ltipo = $l->type;
  992 + if (($ltipo == 2) || ($ltipo == 3)){//poligono = 2
  993 + $indicel = $l->index;
  994 + $numlayers = $this->mapa->numlayers;
  995 + $nummove = 0;
  996 + for ($i = $numlayers-1;$i > 0;$i--){
  997 + $layerAbaixo = $this->mapa->getlayer($i);
  998 + $tipo = $layerAbaixo->type;
  999 + if (($tipo != 2) && ($tipo != 3)){
  1000 + $nummove++;
  1001 + }
  1002 + }
  1003 + for ($i=0;$i<($nummove);++$i){
  1004 + $indicel = $l->index;
  1005 + $this->mapa->movelayerup($indicel);
  1006 + }
  1007 + }
  1008 + }
  1009 + }
  1010 + }
  1011 + }
  1012 + if($extensao == ".map"){
  1013 + if (file_exists($locaplic."/temas/".$nome.".map")){
  1014 + $nomemap = $locaplic."/temas/".$nome.".map";
  1015 + }
  1016 + if (file_exists($nome)){
  1017 + $nomemap = $nome;
  1018 + }
  1019 + if (file_exists($nome.".map")){
  1020 + $nomemap = $nome.".map";
  1021 + }
  1022 + if ($nomemap != ""){
969 $nmap = ms_newMapObj($nomemap); 1023 $nmap = ms_newMapObj($nomemap);
970 $novosnomes = $nmap->getAllLayerNames(); 1024 $novosnomes = $nmap->getAllLayerNames();
971 //define nomes unicos para os temas 1025 //define nomes unicos para os temas
972 - foreach ($novosnomes as $n)  
973 - {  
974 - if(!@$this->mapa->getlayerbyname($n))  
975 - {$random = "nao";} 1026 + foreach ($novosnomes as $n){
  1027 + if(!@$this->mapa->getlayerbyname($n)){
  1028 + $random = "nao";
  1029 + }
976 $random == "sim" ? $nomeunico[$n] = nomeRandomico() : $nomeunico[$n] = $n; 1030 $random == "sim" ? $nomeunico[$n] = nomeRandomico() : $nomeunico[$n] = $n;
977 } 1031 }
978 //altera os temas para incluir o nome unico 1032 //altera os temas para incluir o nome unico
979 //include_once($locaplic."/classesphp/funcoes_gerais.php"); 1033 //include_once($locaplic."/classesphp/funcoes_gerais.php");
980 - foreach ($novosnomes as $n)  
981 - { 1034 + foreach ($novosnomes as $n){
982 $nlayer = $nmap->getlayerbyname($n); 1035 $nlayer = $nmap->getlayerbyname($n);
983 //para impedir erros na legenda 1036 //para impedir erros na legenda
984 - if($nlayer->getmetadata("classe") == "")  
985 - {$nlayer->setmetadata("classe","");} 1037 + if($nlayer->getmetadata("classe") == ""){
  1038 + $nlayer->setmetadata("classe","");
  1039 + }
986 autoClasses($nlayer,$this->mapa); 1040 autoClasses($nlayer,$this->mapa);
987 $nlayer->set("status",MS_DEFAULT); 1041 $nlayer->set("status",MS_DEFAULT);
988 $nNome = str_replace(".map","",basename($nomemap)); 1042 $nNome = str_replace(".map","",basename($nomemap));
@@ -990,8 +1044,7 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao @@ -990,8 +1044,7 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao
990 $nlayer->setmetadata("nomeoriginal",$nlayer->name); 1044 $nlayer->setmetadata("nomeoriginal",$nlayer->name);
991 $nlayer->set("name",$nomeunico[$n]); 1045 $nlayer->set("name",$nomeunico[$n]);
992 //altera o nome do grupo se existir 1046 //altera o nome do grupo se existir
993 - if ($nlayer->group != " " && $nlayer->group != "" )  
994 - { 1047 + if ($nlayer->group != " " && $nlayer->group != "" ){
995 $lr = $nlayer->group; 1048 $lr = $nlayer->group;
996 if($nomeunico[$lr]) 1049 if($nomeunico[$lr])
997 $nlayer->set("group",$nomeunico[$lr]); 1050 $nlayer->set("group",$nomeunico[$lr]);
@@ -1005,10 +1058,12 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao @@ -1005,10 +1058,12 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao
1005 $tipotemp = $nlayer->type; 1058 $tipotemp = $nlayer->type;
1006 $tiporep = $nlayer->getmetadata("tipooriginal"); 1059 $tiporep = $nlayer->getmetadata("tipooriginal");
1007 $nlayer->set("type",MS_LAYER_POLYGON); 1060 $nlayer->set("type",MS_LAYER_POLYGON);
1008 - if ($tiporep == "linear")  
1009 - {$nlayer->set("type",MS_LAYER_LINE);}  
1010 - if ($tiporep == "pontual")  
1011 - {$nlayer->set("type",MS_LAYER_POINT);} 1061 + if ($tiporep == "linear"){
  1062 + $nlayer->set("type",MS_LAYER_LINE);
  1063 + }
  1064 + if ($tiporep == "pontual"){
  1065 + $nlayer->set("type",MS_LAYER_POINT);
  1066 + }
1012 $sld = $nlayer->generateSLD(); 1067 $sld = $nlayer->generateSLD();
1013 if($sld != "") 1068 if($sld != "")
1014 $nlayer->setmetadata("wms_sld_body",str_replace('"',"'",$sld)); 1069 $nlayer->setmetadata("wms_sld_body",str_replace('"',"'",$sld));
@@ -1017,30 +1072,23 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao @@ -1017,30 +1072,23 @@ $random - indica se os nomes dos novos layers ser&amp;atilde;o modificados ou nao
1017 ms_newLayerObj($this->mapa, $nlayer); 1072 ms_newLayerObj($this->mapa, $nlayer);
1018 $l = $this->mapa->getlayerbyname($nlayer->name); 1073 $l = $this->mapa->getlayerbyname($nlayer->name);
1019 //reposiciona o layer se for o caso 1074 //reposiciona o layer se for o caso
1020 - if ($l->group == "")  
1021 - { 1075 + if ($l->group == ""){
1022 $ltipo = $l->type; 1076 $ltipo = $l->type;
1023 - if (($ltipo == 2) || ($ltipo == 3))//poligono = 2  
1024 - { 1077 + if (($ltipo == 2) || ($ltipo == 3)){//poligono = 2
1025 $indicel = $l->index; 1078 $indicel = $l->index;
1026 $numlayers = $this->mapa->numlayers; 1079 $numlayers = $this->mapa->numlayers;
1027 $nummove = 0; 1080 $nummove = 0;
1028 - for ($i = $numlayers-1;$i > 0;$i--)  
1029 - { 1081 + for ($i = $numlayers-1;$i > 0;$i--){
1030 $layerAbaixo = $this->mapa->getlayer($i); 1082 $layerAbaixo = $this->mapa->getlayer($i);
1031 $tipo = $layerAbaixo->type; 1083 $tipo = $layerAbaixo->type;
1032 - if (($tipo != 2) && ($tipo != 3))  
1033 - {$nummove++;}  
1034 - }  
1035 - //echo $nummove;exit;  
1036 - //if ($nummove > 2)  
1037 - //{  
1038 - for ($i=0;$i<($nummove);++$i)  
1039 - {  
1040 - $indicel = $l->index;  
1041 - $this->mapa->movelayerup($indicel); 1084 + if (($tipo != 2) && ($tipo != 3)){
  1085 + $nummove++;
1042 } 1086 }
1043 - //} 1087 + }
  1088 + for ($i=0;$i<($nummove);++$i){
  1089 + $indicel = $l->index;
  1090 + $this->mapa->movelayerup($indicel);
  1091 + }
1044 } 1092 }
1045 } 1093 }
1046 } 1094 }
classesphp/funcoes_gerais.php
@@ -2530,13 +2530,14 @@ function listaGruposUsrLogin(){ @@ -2530,13 +2530,14 @@ function listaGruposUsrLogin(){
2530 if(empty($_COOKIE["i3geocodigologin"])){ 2530 if(empty($_COOKIE["i3geocodigologin"])){
2531 return array(); 2531 return array();
2532 } 2532 }
2533 - session_write_close();  
2534 $nameatual = session_name(); 2533 $nameatual = session_name();
2535 $idatual = session_id(); 2534 $idatual = session_id();
  2535 + session_write_close();
2536 session_name("i3GeoLogin"); 2536 session_name("i3GeoLogin");
2537 session_id($_COOKIE["i3geocodigologin"]); 2537 session_id($_COOKIE["i3geocodigologin"]);
2538 session_start(); 2538 session_start();
2539 $res = $_SESSION["gruposusr"]; 2539 $res = $_SESSION["gruposusr"];
  2540 + session_write_close();
2540 session_name("$nameatual"); 2541 session_name("$nameatual");
2541 session_id($idatual); 2542 session_id($idatual);
2542 session_start(); 2543 session_start();
@@ -298,7 +298,8 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){ @@ -298,7 +298,8 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){
298 $gvsigview = $gvsigview[0]; 298 $gvsigview = $gvsigview[0];
299 $dataView = $gm->getViewData($gvsigview); 299 $dataView = $gm->getViewData($gvsigview);
300 $oMap = $gm->addLayers($oMap,$gvsigview,$dataView["layerNames"]); 300 $oMap = $gm->addLayers($oMap,$gvsigview,$dataView["layerNames"]);
301 - $numlayers = $oMap->numlayers; 301 + $numlayers = $oMap->numlayers;
  302 + $layers = array();
302 for ($i=0;$i < $numlayers;$i++){ 303 for ($i=0;$i < $numlayers;$i++){
303 $l = $oMap->getlayer($i); 304 $l = $oMap->getlayer($i);
304 $l->setmetadata("gml_include_items","all"); 305 $l->setmetadata("gml_include_items","all");
@@ -306,8 +307,11 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){ @@ -306,8 +307,11 @@ if ($tipo == &quot;&quot; || $tipo == &quot;metadados&quot;){
306 $l->setmetadata("WMS_INCLUDE_ITEMS","all"); 307 $l->setmetadata("WMS_INCLUDE_ITEMS","all");
307 $l->setmetadata("WFS_INCLUDE_ITEMS","all"); 308 $l->setmetadata("WFS_INCLUDE_ITEMS","all");
308 $l->setmetadata("ows_srs",$listaepsg); 309 $l->setmetadata("ows_srs",$listaepsg);
309 - $oMap->setmetadata("ows_enable_request","*"); 310 + $l->set("status",MS_DEFAULT);
  311 + $layers[] = $l->name;
310 } 312 }
  313 + $req->setParameter("LAYERS", implode(",",$layers));
  314 + //r_dump($req);exit;
311 } 315 }
312 } 316 }
313 } 317 }