Commit 21baff3b6d0dc9648e110e16dc245f2413d82843
1 parent
1427e2e1
Exists in
master
and in
7 other branches
Novos ícones no editor de mapfiles e mudanças no plugin parametrssql para permit…
…ir mudar variaveis apos adicionar a camada ao mapa
Showing
11 changed files
with
195 additions
and
76 deletions
Show diff stats
admin/admin.db
No preview for this file type
1.82 KB
2.11 KB
admin/js/editormapfile.js
... | ... | @@ -278,20 +278,21 @@ function montaNosRaiz(redesenha) |
278 | 278 | iconePlus = false; |
279 | 279 | conteudo += "<b>("+$mapfiles[i].extensao+") </b>"; |
280 | 280 | } |
281 | - conteudo += " <img style=\"width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"excluirMapfile('"+$mapfiles[i].codigo+"')\" title=excluir src=\"../imagens/01.png\" />"; | |
281 | + conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"excluirMapfile('"+$mapfiles[i].codigo+"')\" title=excluir src=\"../imagens/01.png\" />"; | |
282 | 282 | if(iconePlus) |
283 | - {conteudo += " <img style=\"width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"clonarMapfile('"+$mapfiles[i].codigo+"')\" title='cria uma copia' src=\"../imagens/clonar.png\" />";} | |
284 | - conteudo += " <img style=\"width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"limparCacheMapfile('"+$mapfiles[i].codigo+"')\" title='limpa o cache de imagens se houver' src=\"../imagens/limparcache.png\" />"; | |
285 | - conteudo += " <img style=\"width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"editorTemaMapfile('"+$mapfiles[i].codigo+"')\" title='editar tema associado' src=\"../imagens/03.png\" />"; | |
283 | + {conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"clonarMapfile('"+$mapfiles[i].codigo+"')\" title='cria uma copia' src=\"../imagens/clonar.png\" />";} | |
284 | + conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"limparCacheMapfile('"+$mapfiles[i].codigo+"')\" title='limpa o cache de imagens se houver' src=\"../imagens/limparcache.png\" />"; | |
285 | + conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"editorTemaMapfile('"+$mapfiles[i].codigo+"')\" title='editar tema associado' src=\"../imagens/03.png\" />"; | |
286 | 286 | if(iconePlus){ |
287 | - conteudo += "<a style='border:solid white 0px;text-decoration:none;' href='../php/editortexto.php?mapfile="+$mapfiles[i].codigo+"' target=_self > <img title='Editor de textos' style=\"border:0px solid white;width:12px;position:relative;cursor:pointer;top:2px\" src=\"../imagens/06.png\" /></a>"; | |
287 | + conteudo += "<a style='margin-left:2px;border:solid white 0px;text-decoration:none;' href='../php/editortexto.php?mapfile="+$mapfiles[i].codigo+"' target=_self > <img title='Editor de textos' style=\"border:0px solid white;width:12px;position:relative;cursor:pointer;top:2px\" src=\"../imagens/06.png\" /></a>"; | |
288 | 288 | } |
289 | 289 | //opcao de download se for gvsig |
290 | 290 | if($mapfiles[i].extensao === "gvp"){ |
291 | - conteudo += " <img style=\"width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"downloadGvp('"+$mapfiles[i].codigo+"')\" title='download' src=\"../imagens/down1.gif\" />"; | |
291 | + conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"downloadGvp('"+$mapfiles[i].codigo+"')\" title='download' src=\"../imagens/down1.gif\" />"; | |
292 | 292 | } |
293 | - conteudo += " <img style=\"width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='testar!' src=\"../imagens/41.png\" />"; | |
294 | - conteudo += " <img width=20px style=\"position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../interface/black_editor.php?&temaEdicao="+$mapfiles[i].codigo+"')\" title='abrir no i3Geo' src=\"../../imagens/i3geo2.jpg\" />"; | |
293 | + conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='testar!' src=\"../imagens/41.png\" />"; | |
294 | + conteudo += " <img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../interface/black_editor.php?&temaEdicao="+$mapfiles[i].codigo+"')\" title='editar no i3Geo' src=\"../imagens/i3geo2editor.jpg\" />"; | |
295 | + conteudo += " <img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../ms_criamapa.php?temasa="+$mapfiles[i].codigo+"&layers="+$mapfiles[i].codigo+"')\" title='testar no i3Geo' src=\"../imagens/i3geo2.jpg\" />"; | |
295 | 296 | conteudo += "<b> <span>"+$mapfiles[i].codigo+" <span style=color:gray id='idNome_"+$mapfiles[i].codigo+"'>"+$mapfiles[i].nome+"</span></span>"; |
296 | 297 | if($mapfiles[i].imagem != "" && $i("mostraMini").checked == true){ |
297 | 298 | conteudo += "</b><br><img src='../../temas/miniaturas/"+$mapfiles[i].imagem+"'/>"; | ... | ... |
admin/php/editormapfile.php
... | ... | @@ -137,7 +137,6 @@ switch (strtoupper($funcao)) |
137 | 137 | retornaJSON($layer->getmetadata("PLUGINI3GEO")); |
138 | 138 | break; |
139 | 139 | case "GRAVAPLUGIN": |
140 | - //echo $plugin;exit; | |
141 | 140 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; |
142 | 141 | $mapa = ms_newMapObj($mapfile); |
143 | 142 | $layer = $mapa->getlayerbyname($codigoLayer); | ... | ... |
classesjs/classe_plugini3geo.js
... | ... | @@ -102,6 +102,13 @@ i3GEO.pluginI3geo = |
102 | 102 | formAdmin : function(plugin, configString) { |
103 | 103 | return i3GEO.pluginI3geo[plugin].formAdmin(configString); |
104 | 104 | }, |
105 | + /** | |
106 | + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas | |
107 | + * Esse icone e utilizado para reabrir o formulario de parametros | |
108 | + */ | |
109 | + iconeArvoreDeCamadas : function(nomecamada){ | |
110 | + return i3GEO.pluginI3geo[plugin].iconeArvoreDeCamadas(nomecamada); | |
111 | + }, | |
105 | 112 | linkAjuda : function(plugin) { |
106 | 113 | return i3GEO.pluginI3geo[plugin].linkAjuda(); |
107 | 114 | }, |
... | ... | @@ -234,6 +241,13 @@ i3GEO.pluginI3geo = |
234 | 241 | + " Veja o exemplo utilizado no tema _lmapadecalor.map</p>"; |
235 | 242 | return ins; |
236 | 243 | }, |
244 | + /** | |
245 | + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas | |
246 | + * Esse icone e utilizado para reabrir o formulario de parametros | |
247 | + */ | |
248 | + iconeArvoreDeCamadas : function(nomecamada){ | |
249 | + return false; | |
250 | + }, | |
237 | 251 | googlemaps : { |
238 | 252 | aplicaPropriedades : function(camada) { |
239 | 253 | camada.sel = "nao"; |
... | ... | @@ -511,6 +525,13 @@ i3GEO.pluginI3geo = |
511 | 525 | |
512 | 526 | return ins; |
513 | 527 | }, |
528 | + /** | |
529 | + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas | |
530 | + * Esse icone e utilizado para reabrir o formulario de parametros | |
531 | + */ | |
532 | + iconeArvoreDeCamadas : function(nomecamada){ | |
533 | + return false; | |
534 | + }, | |
514 | 535 | googlemaps : { |
515 | 536 | aplicaPropriedades : function(camada) { |
516 | 537 | camada.sel = "nao"; |
... | ... | @@ -853,6 +874,13 @@ i3GEO.pluginI3geo = |
853 | 874 | + "<p>Veja o exemplo utilizado no tema _lmapakml.map</p>"; |
854 | 875 | return ins; |
855 | 876 | }, |
877 | + /** | |
878 | + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas | |
879 | + * Esse icone e utilizado para reabrir o formulario de parametros | |
880 | + */ | |
881 | + iconeArvoreDeCamadas : function(nomecamada){ | |
882 | + return false; | |
883 | + }, | |
856 | 884 | googlemaps : { |
857 | 885 | aplicaPropriedades : function(camada) { |
858 | 886 | camada.sel = "nao"; |
... | ... | @@ -996,6 +1024,8 @@ i3GEO.pluginI3geo = |
996 | 1024 | } |
997 | 1025 | } |
998 | 1026 | }, |
1027 | + //TODO incluir um marcador que indique se o formulario sera aberto ao adicionar a camada ou nao | |
1028 | + //TODO apos adicionar a camada, incluir icone que permita modificar os parametros | |
999 | 1029 | /** |
1000 | 1030 | * Section: i3GEO.pluginI3geo.parametrossql |
1001 | 1031 | * |
... | ... | @@ -1018,8 +1048,9 @@ i3GEO.pluginI3geo = |
1018 | 1048 | * Exemplo: |
1019 | 1049 | * |
1020 | 1050 | * "PLUGINI3GEO" |
1021 | - * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":"","php":""}]}}' | |
1051 | + * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":"","prog":"","ativo":sim|nao}]}}' | |
1022 | 1052 | * |
1053 | + * A opção "ativo" indica se o formulário será aberto ou não quando a camada for adicionada ao mapa | |
1023 | 1054 | */ |
1024 | 1055 | parametrossql : { |
1025 | 1056 | linkAjuda : function() { |
... | ... | @@ -1028,7 +1059,7 @@ i3GEO.pluginI3geo = |
1028 | 1059 | }, |
1029 | 1060 | formAdmin : function(config) { |
1030 | 1061 | var n, i, parametros, ins = "", configDefault = |
1031 | - '{"plugin":"parametrossql","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""}]}'; | |
1062 | + '{"plugin":"parametrossql","ativo":"sim","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""},{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""}]}'; | |
1032 | 1063 | if (config === "") { |
1033 | 1064 | config = configDefault; |
1034 | 1065 | } |
... | ... | @@ -1038,7 +1069,18 @@ i3GEO.pluginI3geo = |
1038 | 1069 | } |
1039 | 1070 | parametros = config.parametros; |
1040 | 1071 | n = 4; |
1041 | - ins += "<table><tr><td>Título</td><td>Chave</td><td>Tipo (input ou select)</td><td>Valores</td><td>PHP que retorna os valores (opcional)</td></tr>"; | |
1072 | + if(config.ativo == undefined){ | |
1073 | + config.ativo = "sim"; | |
1074 | + } | |
1075 | + ins += "<p class='paragrafo'>Abre o formulário quando a camada é adicionada ao mapa: (true ou false)</p>"; | |
1076 | + ins += "<select style='width:200px' id='parametrosSqlAtivo' ><option value='' ></option>"; | |
1077 | + if(config.ativo === "nao"){ | |
1078 | + ins += "<option value=sim >sim</option><option value=nao selected >nao</option></select>"; | |
1079 | + } else{ | |
1080 | + ins += "<option value=sim selected >sim</option><option value=nao >nao</option></select>"; | |
1081 | + } | |
1082 | + | |
1083 | + ins += "<table><tr><td>Título</td><td>Chave</td><td>Tipo (input ou select)</td><td>Valores</td><td>PHP que retorna os valores (opcional)</td></tr>"; | |
1042 | 1084 | for (i = 0; i < n; i++) { |
1043 | 1085 | ins += "<tr><td><input name='titulo' type=text size=20 value='" |
1044 | 1086 | + parametros[i].titulo |
... | ... | @@ -1054,7 +1096,8 @@ i3GEO.pluginI3geo = |
1054 | 1096 | + "' /></td> " |
1055 | 1097 | + "<td><input name='prog' type=text size=20 value='" |
1056 | 1098 | + parametros[i].prog |
1057 | - + "' /></td></tr>"; | |
1099 | + + "' /></td> " | |
1100 | + + "<td></tr>"; | |
1058 | 1101 | } |
1059 | 1102 | ins += |
1060 | 1103 | "</table>" |
... | ... | @@ -1063,6 +1106,7 @@ i3GEO.pluginI3geo = |
1063 | 1106 | + "<br>Será mostrado ao usuário um formulário com opções. Cada opção conterá um título e um campo de formulário" |
1064 | 1107 | + "<br>Cada campo de formulário pode ser dos tipos input (para digitar um valor) ou select (caixa de opções)." |
1065 | 1108 | + "<br>Em valores deve ser definida a lista ou o valor default que será mostrado. No caso de listas, utilize vírgula para separar os valores." |
1109 | + + "<br>Em ativo, é indicado com sim ou nao se o formulário será aberto quando a camada for adicionada ao mapa." | |
1066 | 1110 | + "<br>Como opcional, pode ser definido o endereço de um programa PHP que retorna a lista de nomes e valores que serão utilizados para preencher " |
1067 | 1111 | + "o campo de escolha. Para mais informações, veja o mapfile i3geo/temas/_llocaliphp.map. O caminho desse arquivo PHP é relativo à pasta i3geo."; |
1068 | 1112 | return ins; |
... | ... | @@ -1075,7 +1119,7 @@ i3GEO.pluginI3geo = |
1075 | 1119 | for (j = 0; j < nlinhas; j++) { |
1076 | 1120 | temp = []; |
1077 | 1121 | for (i = 0; i < ncampos; i++) { |
1078 | - if(campos[campo]){ | |
1122 | + if(campos[campo] && campos[campo].name != ""){ | |
1079 | 1123 | temp.push('"'+campos[campo].name |
1080 | 1124 | + '" : "' |
1081 | 1125 | + campos[campo].value |
... | ... | @@ -1087,10 +1131,17 @@ i3GEO.pluginI3geo = |
1087 | 1131 | + temp.join(",") |
1088 | 1132 | + "}"); |
1089 | 1133 | } |
1090 | - return '{"plugin":"parametrossql","parametros":[' | |
1134 | + return '{"plugin":"parametrossql","ativo":"' + $i("parametrosSqlAtivo").value + '","parametros":[' | |
1091 | 1135 | + par.join(",") |
1092 | 1136 | + ']}'; |
1093 | 1137 | }, |
1138 | + /** | |
1139 | + * Constroi um icone que sera adicionado na barra de icones do tema quando for adicionado na arvore de camadas | |
1140 | + * Esse icone e utilizado para reabrir o formulario de parametros | |
1141 | + */ | |
1142 | + iconeArvoreDeCamadas : function(nomecamada){ | |
1143 | + return false; | |
1144 | + }, | |
1094 | 1145 | inicia : function(camada) { |
1095 | 1146 | i3GEO.janela.fechaAguarde("aguardePlugin"); |
1096 | 1147 | var iniciaform = function() { | ... | ... |
ferramentas/conectarwms/index.js
... | ... | @@ -168,7 +168,7 @@ Veja: |
168 | 168 | |
169 | 169 | <TEMASWMS> |
170 | 170 | */ |
171 | -function clickGuia3() | |
171 | +function clickGuia3(codLayer) | |
172 | 172 | { |
173 | 173 | var listatemas = function(retorno) |
174 | 174 | { |
... | ... | @@ -190,6 +190,8 @@ function clickGuia3() |
190 | 190 | $i("textoSLD").style.display = "block"; |
191 | 191 | } |
192 | 192 | } |
193 | + //ativa um layer caso tenha sido enviado como um parametro no inicio da ferramenta | |
194 | + ativaAutoLayer(codLayer); | |
193 | 195 | } |
194 | 196 | else |
195 | 197 | {$i("listatemas").innerHTML = "erro";} |
... | ... | @@ -209,6 +211,20 @@ function clickGuia3() |
209 | 211 | cp.call(p,"temaswms",listatemas); |
210 | 212 | } |
211 | 213 | } |
214 | +function ativaAutoLayer(codLayer){ | |
215 | + if(codLayer && codLayer != ""){ | |
216 | + var container = $i("listatemas"), | |
217 | + rs = container.getElementsByTagName("input"), | |
218 | + nrs = re.lenght, | |
219 | + i,r; | |
220 | + for(i = 0; i < nrs; i++){ | |
221 | + r = rs[i]; | |
222 | + if(r.type === "radio" && r.name === codLayer){ | |
223 | + r.onclick.call(); | |
224 | + } | |
225 | + } | |
226 | + } | |
227 | +} | |
212 | 228 | /* |
213 | 229 | Function: registraws |
214 | 230 | ... | ... |
ferramentas/conectarwms/listalayers.php
1 | +<?php | |
2 | +/** | |
3 | + * Este programa e utilizado pela ferramenta buscainde | |
4 | + * E uma copia da ferramenta conctarwms sem mostrar as guias de esolha de servico | |
5 | + * Isso pq o endereco do servico e um parametro obtido em $_GET["servico"] | |
6 | + */ | |
7 | +?> | |
1 | 8 | <html> |
9 | + | |
2 | 10 | <head> |
3 | 11 | <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
4 | 12 | <link rel="stylesheet" type="text/css" href="../../css/i3geo_ferramentas6.css"> |
... | ... | @@ -43,11 +51,38 @@ p{ |
43 | 51 | </div> |
44 | 52 | </div> |
45 | 53 | <input type=hidden id=servico value="<?php echo $_GET["servico"];?>" /> |
54 | + | |
46 | 55 | <script src="../i3geo_tudo_compacto.js.php" type="text/javascript"></script> |
47 | 56 | <script type="text/javascript" src="index.js"></script> |
57 | + | |
48 | 58 | <script type="text/javascript" > |
59 | +// | |
60 | +//tenta pegar o codigo do layer do endereco do servico | |
61 | +// | |
62 | +var buscarEm = ["LAYER","LAYERS","layer","layers","tema","typename","typeName"], | |
63 | + n = buscarEm.length, | |
64 | + i,s,partes, | |
65 | + b = [], | |
66 | + codLayer = "", | |
67 | + u = window.location.href; | |
68 | + | |
69 | +//acrescenta novas strings | |
70 | +for(i = 0; i < n; i++){ | |
71 | + b.push("&" + buscarEm[i] + "="); | |
72 | + b.push("?" + buscarEm[i] + "="); | |
73 | +} | |
74 | +n = b.length; | |
75 | +//quebra as strings pra achar o padrao | |
76 | +for(i = 0; i < n; i++){ | |
77 | + s = b[i]; | |
78 | + partes = u.split(s); | |
79 | + if(partes.length > 1){ | |
80 | + partes = partes[1].split("&"); | |
81 | + codLayer = partes[0]; | |
82 | + } | |
83 | +} | |
49 | 84 | g_locaplic = "../.."; |
50 | -clickGuia3(); | |
85 | +clickGuia3(codLayer); | |
51 | 86 | </script> |
52 | 87 | </body> |
53 | 88 | </html> | ... | ... |
ferramentas/parametrossql/exec.php
... | ... | @@ -16,6 +16,8 @@ Aplica a substituicao de chaves pelos valores enviados |
16 | 16 | //pega o layer |
17 | 17 | $nomeLayer = ""; |
18 | 18 | $c = $map->numlayers; |
19 | + //obtem o layer existente no mapfile | |
20 | + //esse layer pode conter o nome no metadata nomeoriginal ou em NAME | |
19 | 21 | for ($i=0;$i < $c;++$i){ |
20 | 22 | $layer = $map->getlayer($i); |
21 | 23 | if($layer->name == $tema){ |
... | ... | @@ -31,68 +33,69 @@ Aplica a substituicao de chaves pelos valores enviados |
31 | 33 | } |
32 | 34 | else{ |
33 | 35 | $layer = $map->getlayerbyname($nomeLayer); |
34 | - $data = $layer->data; | |
35 | - //pega as chaves do proprio mapfile | |
36 | - $c = $layer->getmetadata("PLUGINI3GEO"); | |
37 | - if($c == ""){ | |
38 | - //tenta pegar os parametros do arquivo mapfile original | |
39 | - $map1 = ms_newMapObj($locaplic."/temas/".$nomeLayer.".map"); | |
40 | - $layer1 = $map1->getlayerbyname($nomeLayer); | |
41 | - $c = $layer1->getmetadata("PLUGINI3GEO"); | |
42 | - if($c == ""){ | |
43 | - $retorno = "erro"; | |
44 | - } | |
36 | + //os parametros do plugin sao obtidos do mapfile original | |
37 | + //isso evita que o mapfile temporario contenha as informacoes | |
38 | + //sobre as variaveis de substituicao | |
39 | + if(file_exists($locaplic."/temas/".$nomeLayer.".map")){ | |
40 | + $map1 = @ms_newMapObj($locaplic."/temas/".$nomeLayer.".map"); | |
45 | 41 | } |
46 | - if($c != ""){ | |
47 | - $cs = json_decode($c,true); | |
48 | - $cs = $cs["parametros"]; | |
49 | - $chaves = array(); | |
50 | - foreach($cs as $c){ | |
51 | - $chaves[] = $c["chave"]; | |
52 | - } | |
53 | - $chaves = implode(",",$chaves); | |
54 | - //verifica se o layer ja teve os parametros substituidos anteriormente | |
55 | - //nesse caso, o data he obtido do metadata que guarda o valor original | |
56 | - if($layer->getmetadata("DATAORIGINAL") != ""){ | |
57 | - $data = $layer->getmetadata("DATAORIGINAL"); | |
58 | - } | |
59 | - else{ | |
60 | - $layer->setmetadata("DATAORIGINAL",$data); | |
61 | - } | |
62 | - $filtro = $layer->getFilterString(); | |
63 | - if($layer->getmetadata("FILTROORIGINAL") != ""){ | |
64 | - $filtro = $layer->getmetadata("FILTROORIGINAL"); | |
65 | - } | |
66 | - else{ | |
67 | - $layer->setmetadata("FILTROORIGINAL",$filtro); | |
68 | - } | |
69 | - $chaves = str_ireplace(array("and", "or", "select","from","where","update","delete","insert","--"),"",$chaves); | |
70 | - $chaves = explode(",",$chaves); | |
71 | - $valores = str_ireplace(array("and", "or", "select","from","where","update","delete","insert","--"),"",$valores); | |
72 | - $valores = explode(",",strip_tags($valores)); | |
73 | - $n = count($chaves); | |
74 | - for($i = 0; $i < $n; $i++){ | |
75 | - if($chaves[$i] != ""){ | |
76 | - $v = $valores[$i]; | |
77 | - $data = str_replace($chaves[$i],$v,$data); | |
78 | - if($filtro != ""){ | |
79 | - $filtro = str_replace($chaves[$i],$v,$filtro); | |
42 | + elseif (file_exists($locaplic."/temas/".$layer->getmetadata("nomeoriginal").".map")){ | |
43 | + $map1 = @ms_newMapObj($locaplic."/temas/".$layer->getmetadata("nomeoriginal").".map"); | |
44 | + } | |
45 | + if($map1){ | |
46 | + $layer1 = $map1->getlayerbyname($nomeLayer); | |
47 | + if($layer1 != ""){ | |
48 | + $data = $layer1->data; | |
49 | + $c = $layer1->getmetadata("PLUGINI3GEO"); | |
50 | + if($c == ""){ | |
51 | + $retorno = "erro"; | |
52 | + } | |
53 | + if($c != ""){ | |
54 | + $cs = json_decode($c,true); | |
55 | + $cs = $cs["parametros"]; | |
56 | + $chaves = array(); | |
57 | + foreach($cs as $c){ | |
58 | + $chaves[] = $c["chave"]; | |
80 | 59 | } |
60 | + $chaves = implode(",",$chaves); | |
61 | + $filtro = $layer1->getFilterString(); | |
62 | + if(!empty($valores)){ | |
63 | + $chaves = str_ireplace(array("and", "or", "select","from","where","update","delete","insert","--"),"",$chaves); | |
64 | + $chaves = explode(",",$chaves); | |
65 | + $valores = str_ireplace(array("and", "or", "select","from","where","update","delete","insert","--"),"",$valores); | |
66 | + $valores = explode(",",strip_tags($valores)); | |
67 | + $n = count($chaves); | |
68 | + for($i = 0; $i < $n; $i++){ | |
69 | + if($chaves[$i] != ""){ | |
70 | + $v = $valores[$i]; | |
71 | + $data = str_replace($chaves[$i],$v,$data); | |
72 | + if($filtro != ""){ | |
73 | + $filtro = str_replace($chaves[$i],$v,$filtro); | |
74 | + } | |
75 | + } | |
76 | + } | |
77 | + if($filtro != ""){ | |
78 | + $layer->setfilter($filtro); | |
79 | + } | |
80 | + $layer->set("data",$data); | |
81 | + } | |
82 | + $layer->set("status",MS_DEFAULT); | |
83 | + $layer->setmetadata("PLUGINI3GEO",'{"plugin":"parametrossql","ativo":"sim","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":"","prog":""}'); | |
84 | + $layer->setmetadata("TEMA",$layer->getmetadata("TEMA")." - ".implode(",",$valores)); | |
85 | + $layer->set("name","plugin".nomeRandomico()); | |
86 | + if (connection_aborted()){ | |
87 | + exit(); | |
88 | + } | |
89 | + $salvo = $map->save($map_file); | |
90 | + $retorno = "ok"; | |
81 | 91 | } |
82 | 92 | } |
83 | - if($filtro != ""){ | |
84 | - $layer->setfilter($filtro); | |
93 | + else{ | |
94 | + $retorno = "layer $nomeLayer nao encontrado"; | |
85 | 95 | } |
86 | - $layer->set("data",$data); | |
87 | - $layer->set("status",MS_DEFAULT); | |
88 | - $layer->setmetadata("PLUGINI3GEO",""); | |
89 | - $layer->setmetadata("TEMA",$layer->getmetadata("TEMA")." - ".implode(",",$valores)); | |
90 | - $layer->set("name","plugin".nomeRandomico()); | |
91 | - if (connection_aborted()){ | |
92 | - exit(); | |
93 | - } | |
94 | - $salvo = $map->save($map_file); | |
95 | - $retorno = "ok"; | |
96 | + } | |
97 | + else{ | |
98 | + $retorno = "mapfile nao encontrado em temas"; | |
96 | 99 | } |
97 | 100 | } |
98 | 101 | break; | ... | ... |
ferramentas/parametrossql/index.js
... | ... | @@ -106,6 +106,20 @@ i3GEOF.parametrossql = { |
106 | 106 | Cria a janela flutuante para controle da ferramenta. |
107 | 107 | */ |
108 | 108 | iniciaJanelaFlutuante: function(camada){ |
109 | + //verifica se deve ser aberto o formulario | |
110 | + if(camada.plugini3geo.ativo != undefined && camada.plugini3geo.ativo === "nao"){ | |
111 | + fim = function(){ | |
112 | + i3GEO.atualiza(); | |
113 | + }; | |
114 | + p = i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+i3GEO.configura.sid | |
115 | + + "&funcao=aplicar" | |
116 | + + "&tema=" + camada.name | |
117 | + + "&chaves=&valores="; | |
118 | + cp = new cpaint(); | |
119 | + cp.set_response_type("JSON"); | |
120 | + cp.call(p,"foo",fim); | |
121 | + return; | |
122 | + } | |
109 | 123 | var minimiza,cabecalho,janela,divid,temp,titulo; |
110 | 124 | if($i("i3GEOF.parametrossql")){ |
111 | 125 | i3GEOF.parametrossql.inicia("i3GEOF.parametrossql_corpo",camada); | ... | ... |
temas/_llocaliphp.map
... | ... | @@ -4,6 +4,7 @@ MAP |
4 | 4 | LAYER |
5 | 5 | CONNECTION "" |
6 | 6 | DATA "/var/www/i3geo/aplicmap/dados/locali.shp" |
7 | + FILTER (([ANOCRIA] = 1990)) | |
7 | 8 | METADATA |
8 | 9 | "METAESTAT_ID_MEDIDA_VARIAVEL" "" |
9 | 10 | "TIP" "TIPO,NOMELOC,ANOCRIA" |
... | ... | @@ -35,7 +36,7 @@ MAP |
35 | 36 | "permitecomentario" "SIM" |
36 | 37 | "LTEMPOITEMICONE" "" |
37 | 38 | "metaestat" "" |
38 | - "PLUGINI3GEO" '{"plugin":"parametrossql","parametros":[{"titulo" : "Ano de criação","chave" : "1990","tipo" : "input","valores" : "","prog" : "aplicmap/dados/listaano.php"},{"titulo" : "","chave" : "","tipo" : "input","valores" : "","prog" : ""},{"titulo" : "","chave" : "","tipo" : "input","valores" : "","prog" : ""},{"titulo" : "","chave" : "","tipo" : "input","valores" : "","prog" : ""}]}' | |
39 | + "PLUGINI3GEO" '{"plugin":"parametrossql","ativo":"nao","parametros":[{"titulo" : "Ano de criação","chave" : "1990","tipo" : "input","valores" : "","prog" : "aplicmap/dados/listaano.php"},{"titulo" : "","chave" : "","tipo" : "input","valores" : "","prog" : ""},{"titulo" : "","chave" : "","tipo" : "input","valores" : "","prog" : ""},{"titulo" : "","chave" : "","tipo" : "input","valores" : "","prog" : ""}]}' | |
39 | 40 | "download" "SIM" |
40 | 41 | "itembuscarapida" "NOMELOC" |
41 | 42 | "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA" |
... | ... | @@ -57,7 +58,6 @@ MAP |
57 | 58 | TEMPLATE "none.htm" |
58 | 59 | TILEITEM "location" |
59 | 60 | TYPE POINT |
60 | - FILTER (([ANOCRIA] = 1990)) | |
61 | 61 | UNITS METERS |
62 | 62 | CLASS |
63 | 63 | NAME "Vila" | ... | ... |