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 | 93 | $this->mapa = @ms_newMapObj($map_file); |
94 | 94 | $this->arquivo = $map_file; |
95 | 95 | $c = $this->mapa->numlayers; |
96 | - for ($i=0;$i < $c;++$i) | |
97 | - { | |
96 | + for ($i=0;$i < $c;++$i){ | |
98 | 97 | $l = $this->mapa->getlayer($i); |
99 | 98 | $this->layers[] = $l; |
100 | 99 | $this->nomes[] = $l->name; |
... | ... | @@ -943,46 +942,101 @@ $random - indica se os nomes dos novos layers ser&atilde;o modificados ou nao |
943 | 942 | //limpa selecao |
944 | 943 | $temas = explode(",",$temas); |
945 | 944 | $zoomlayer = ""; |
946 | - foreach ($temas as $nome) | |
947 | - { | |
945 | + foreach ($temas as $nome){ | |
948 | 946 | $this->adicionaAcesso($nome,$locaplic); |
949 | 947 | $nomemap = ""; |
950 | 948 | // |
951 | 949 | //verifica se o tema é um arquivo php |
952 | 950 | // |
951 | + $extensao = ".map"; | |
953 | 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 | 1023 | $nmap = ms_newMapObj($nomemap); |
970 | 1024 | $novosnomes = $nmap->getAllLayerNames(); |
971 | 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 | 1030 | $random == "sim" ? $nomeunico[$n] = nomeRandomico() : $nomeunico[$n] = $n; |
977 | 1031 | } |
978 | 1032 | //altera os temas para incluir o nome unico |
979 | 1033 | //include_once($locaplic."/classesphp/funcoes_gerais.php"); |
980 | - foreach ($novosnomes as $n) | |
981 | - { | |
1034 | + foreach ($novosnomes as $n){ | |
982 | 1035 | $nlayer = $nmap->getlayerbyname($n); |
983 | 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 | 1040 | autoClasses($nlayer,$this->mapa); |
987 | 1041 | $nlayer->set("status",MS_DEFAULT); |
988 | 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 | 1044 | $nlayer->setmetadata("nomeoriginal",$nlayer->name); |
991 | 1045 | $nlayer->set("name",$nomeunico[$n]); |
992 | 1046 | //altera o nome do grupo se existir |
993 | - if ($nlayer->group != " " && $nlayer->group != "" ) | |
994 | - { | |
1047 | + if ($nlayer->group != " " && $nlayer->group != "" ){ | |
995 | 1048 | $lr = $nlayer->group; |
996 | 1049 | if($nomeunico[$lr]) |
997 | 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 | 1058 | $tipotemp = $nlayer->type; |
1006 | 1059 | $tiporep = $nlayer->getmetadata("tipooriginal"); |
1007 | 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 | 1067 | $sld = $nlayer->generateSLD(); |
1013 | 1068 | if($sld != "") |
1014 | 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 | 1072 | ms_newLayerObj($this->mapa, $nlayer); |
1018 | 1073 | $l = $this->mapa->getlayerbyname($nlayer->name); |
1019 | 1074 | //reposiciona o layer se for o caso |
1020 | - if ($l->group == "") | |
1021 | - { | |
1075 | + if ($l->group == ""){ | |
1022 | 1076 | $ltipo = $l->type; |
1023 | - if (($ltipo == 2) || ($ltipo == 3))//poligono = 2 | |
1024 | - { | |
1077 | + if (($ltipo == 2) || ($ltipo == 3)){//poligono = 2 | |
1025 | 1078 | $indicel = $l->index; |
1026 | 1079 | $numlayers = $this->mapa->numlayers; |
1027 | 1080 | $nummove = 0; |
1028 | - for ($i = $numlayers-1;$i > 0;$i--) | |
1029 | - { | |
1081 | + for ($i = $numlayers-1;$i > 0;$i--){ | |
1030 | 1082 | $layerAbaixo = $this->mapa->getlayer($i); |
1031 | 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 | 2530 | if(empty($_COOKIE["i3geocodigologin"])){ |
2531 | 2531 | return array(); |
2532 | 2532 | } |
2533 | - session_write_close(); | |
2534 | 2533 | $nameatual = session_name(); |
2535 | 2534 | $idatual = session_id(); |
2535 | + session_write_close(); | |
2536 | 2536 | session_name("i3GeoLogin"); |
2537 | 2537 | session_id($_COOKIE["i3geocodigologin"]); |
2538 | 2538 | session_start(); |
2539 | 2539 | $res = $_SESSION["gruposusr"]; |
2540 | + session_write_close(); | |
2540 | 2541 | session_name("$nameatual"); |
2541 | 2542 | session_id($idatual); |
2542 | 2543 | session_start(); | ... | ... |
ogc.php
... | ... | @@ -298,7 +298,8 @@ if ($tipo == "" || $tipo == "metadados"){ |
298 | 298 | $gvsigview = $gvsigview[0]; |
299 | 299 | $dataView = $gm->getViewData($gvsigview); |
300 | 300 | $oMap = $gm->addLayers($oMap,$gvsigview,$dataView["layerNames"]); |
301 | - $numlayers = $oMap->numlayers; | |
301 | + $numlayers = $oMap->numlayers; | |
302 | + $layers = array(); | |
302 | 303 | for ($i=0;$i < $numlayers;$i++){ |
303 | 304 | $l = $oMap->getlayer($i); |
304 | 305 | $l->setmetadata("gml_include_items","all"); |
... | ... | @@ -306,8 +307,11 @@ if ($tipo == "" || $tipo == "metadados"){ |
306 | 307 | $l->setmetadata("WMS_INCLUDE_ITEMS","all"); |
307 | 308 | $l->setmetadata("WFS_INCLUDE_ITEMS","all"); |
308 | 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 | } | ... | ... |