Commit 645a9c0adb4b7cfba92601d6ca32a35d8b4faba6
1 parent
d6dad900
Exists in
master
and in
7 other branches
Correção na função de leitura do getcapabilities e montagem da lista de camadas de webservices WMS
Showing
1 changed file
with
26 additions
and
12 deletions
Show diff stats
classesphp/wmswfs.php
... | ... | @@ -261,10 +261,10 @@ function temaswms() |
261 | 261 | { |
262 | 262 | $r = pegaTag($layer); |
263 | 263 | $retorna = imprimeTag($r,$retorna); |
264 | - $query = $q.'/Layer/Layer'; | |
265 | - $layers1 = $xpath->query($query); | |
264 | + $layers1 = $xpath->query('Layer',$layer); | |
266 | 265 | foreach ($layers1 as $layer1) |
267 | 266 | { |
267 | + $layers2 = $xpath->query('Layer',$layer1); | |
268 | 268 | $r1 = pegaTag($layer1); |
269 | 269 | $camada1 = $r1["nome"]; |
270 | 270 | $titulocamada1 = $r1["titulo"]; |
... | ... | @@ -272,12 +272,13 @@ function temaswms() |
272 | 272 | if($r1["estilos"]) |
273 | 273 | {$retorna = imprimeEstilos($r1["estilos"],$suporta,$retorna,$camada1,$titulocamada1);} |
274 | 274 | else |
275 | - {$retorna[] = "<input style='cursor:pointer' type=radio NAME='checks' onClick='seltema(\"tema\",\"" . $camada1 . "\",\"\",\"default\",\"".$camada1." ".$titulocamada1."\",\"".$suporta."\")' value='" . $camada1 . "'/> default<i>".$titulocamada1."</i></span><br>";} | |
276 | - | |
277 | - $query = $q.'/Layer/Layer/Layer'; | |
278 | - $layers2 = $xpath->query($query); | |
275 | + { | |
276 | + if($layers2->length == 0) | |
277 | + $retorna[] = "<input style='cursor:pointer' type=radio NAME='checks' onClick='seltema(\"tema\",\"" . $camada1 . "\",\"\",\"default\",\"".$camada1." ".$titulocamada1."\",\"".$suporta."\")' value='" . $camada1 . "'/> default<i>".$titulocamada1."</i></span><br>"; | |
278 | + } | |
279 | 279 | foreach ($layers2 as $layer2) |
280 | 280 | { |
281 | + $layers3 = $xpath->query('Layer',$layer2); | |
281 | 282 | $r2 = pegaTag($layer2); |
282 | 283 | $camada2 = $r2["nome"]; |
283 | 284 | $titulocamada2 = $r2["titulo"]; |
... | ... | @@ -285,19 +286,32 @@ function temaswms() |
285 | 286 | if($r2["estilos"]) |
286 | 287 | {$retorna = imprimeEstilos($r2["estilos"],$suporta,$retorna,$camada2,$titulocamada2);} |
287 | 288 | else |
288 | - {$retorna[] = "<input style='cursor:pointer' type=radio NAME='checks' onClick='seltema(\"tema\",\"" . $camada2 . "\",\"\",\"default\",\"".$camada2." ".$titulocamada2."\",\"".$suporta."\")' value='" . $camada2 . "'/> default <i>".$titulocamada2."</i></span><br>";} | |
289 | - | |
290 | - } | |
289 | + { | |
290 | + if($layers3->length == 0) | |
291 | + $retorna[] = "<input style='cursor:pointer' type=radio NAME='checks' onClick='seltema(\"tema\",\"" . $camada2 . "\",\"\",\"default\",\"".$camada2." ".$titulocamada2."\",\"".$suporta."\")' value='" . $camada2 . "'/> default <i>".$titulocamada2."</i></span><br>"; | |
292 | + } | |
293 | + foreach ($layers3 as $layer3) | |
294 | + { | |
295 | + $r3 = pegaTag($layer3); | |
296 | + $camada3 = $r3["nome"]; | |
297 | + $titulocamada3 = $r3["titulo"]; | |
298 | + $retorna = imprimeTag($r3,$retorna); | |
299 | + if($r3["estilos"]) | |
300 | + {$retorna = imprimeEstilos($r3["estilos"],$suporta,$retorna,$camada3,$titulocamada3);} | |
301 | + else | |
302 | + { | |
303 | + $retorna[] = "<input style='cursor:pointer' type=radio NAME='checks' onClick='seltema(\"tema\",\"" . $camada3 . "\",\"\",\"default\",\"".$camada3." ".$titulocamada3."\",\"".$suporta."\")' value='" . $camada3 . "'/> default <i>".$titulocamada3."</i></span><br>"; | |
304 | + } | |
305 | + } | |
306 | + } | |
307 | + if(count($layers2) == 1){$retorna[] = "<hr>";} | |
291 | 308 | } |
292 | - | |
293 | 309 | } |
294 | 310 | $retorna[] = "<br>Proj.:<input size=30 id=proj type=text class=digitar value='".implode(",",wms_srs($dom))."'/><br>"; |
295 | 311 | $retorna[] = "<br>Formatos imagem:<input size=30 id=formatos type=text class=digitar value='".implode(",",wms_formats($dom))."'/><br><br>"; |
296 | 312 | $retorna[] = "<br>Formatos info:<input size=30 id=formatosinfo type=text class=digitar value='".implode(",",wms_formatsinfo($dom))."'/><br><br>"; |
297 | 313 | $retorna[] = "<br>Versao:<input size=30 id=versao type=text class=digitar value='".(wms_version($dom))."'/><br><br>"; |
298 | 314 | $retorna[] = "<br>Suporta SLD:<input size=30 id=suportasld type=text class=digitar value='".$suporta."'/><br><br><br>"; |
299 | - //echo "<pre>"; | |
300 | - //var_dump($retorna); | |
301 | 315 | $cp->set_data(implode($retorna)); |
302 | 316 | } |
303 | 317 | function imprimeEstilos($es,$suporta,$retorna,$tval,$tituloalternativo) | ... | ... |