Commit 118d99ea8f6f093cb5b0d7e12542b8bb4ea5725c
1 parent
702bc2cf
Exists in
master
and in
7 other branches
Inclusão de projetos gvsig no gerador de serviços OGC
Showing
4 changed files
with
104 additions
and
51 deletions
Show diff stats
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&atilde;o modificados ou nao | @@ -943,46 +942,101 @@ $random - indica se os nomes dos novos layers ser&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 é um arquivo php | 949 | //verifica se o tema é 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&atilde;o modificados ou nao | @@ -990,8 +1044,7 @@ $random - indica se os nomes dos novos layers ser&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&atilde;o modificados ou nao | @@ -1005,10 +1058,12 @@ $random - indica se os nomes dos novos layers ser&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&atilde;o modificados ou nao | @@ -1017,30 +1072,23 @@ $random - indica se os nomes dos novos layers ser&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(); |
ogc.php
@@ -298,7 +298,8 @@ if ($tipo == "" || $tipo == "metadados"){ | @@ -298,7 +298,8 @@ if ($tipo == "" || $tipo == "metadados"){ | ||
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 == "" || $tipo == "metadados"){ | @@ -306,8 +307,11 @@ if ($tipo == "" || $tipo == "metadados"){ | ||
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 | } |