diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php
index b5627b9..cf579e3 100755
--- a/classesphp/mapa_controle.php
+++ b/classesphp/mapa_controle.php
@@ -1855,6 +1855,7 @@ switch (strtoupper($funcao))
*/
case "TEMASWMS":
include_once("wmswfs.php");
+ error_reporting(0);
$servico = $_pg["servico"];
restauraCon($map_file,$postgis_mapa);
$retorno = temaswms();
diff --git a/classesphp/wmswfs.php b/classesphp/wmswfs.php
index 337415d..412da63 100755
--- a/classesphp/wmswfs.php
+++ b/classesphp/wmswfs.php
@@ -1,1110 +1,1174 @@
- 1 ){
- $servico = $servico."&";
- }
- else{
- $teste = explode("?",$servico);
- if ( count($teste) == 1 ){
- $servico = $servico."?";
- }
- }
- $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WMS";
- $teste = explode("version",strtolower($wms_service_request));
- if(count($teste) == 1){
- $wms_service_request .= "&VERSION=1.1.1";
- }
- $nome = $dir_tmp."/wms".md5($servico).".xml";
- //echo ($wms_service_request);exit;
- if(!file_exists($nome)){
- //$wms_capabilities = file($wms_service_request);
- $curl = curl_init();
- curl_setopt ($curl, CURLOPT_URL, $wms_service_request);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl, CURLOPT_HEADER, 0);
- if(isset($i3geo_proxy_server) && $i3geo_proxy_server != ""){
- curl_setopt($curl, CURLOPT_PROXY, $i3geo_proxy_server);
- }
- $wms_capabilities = curl_exec($curl);
- curl_close ($curl);
- if( !$wms_capabilities || $wms_capabilities == ""){
- return "erro";
- }
- else{
- $fp = fopen($nome, 'w');
- //fwrite($fp, implode("",$wms_capabilities));
- fwrite($fp,$wms_capabilities);
- fclose($fp);
- }
- }
- return $nome;
- }
- catch(Exception $e){return "erro";}
-}
-/*
-Function: existeTemaWFS
-
-Verifica se existe um tema em um servico WFS.
-
-Globais:
-
-$wfs {string} - endereço do serviço
-
-$tema {string} - tema (layer) que será verificado
-
-Retorno:
-
-{string} - sim|nao
-*/
-function existeTemaWFS()
-{
- global $wfs,$tema;
- $capabilities = implode("",$wfs);
- $dom = new DomDocument();
- $dom->loadXML($capabilities);
- $xpath = new DOMXPath($dom);
- $query = '//WFS_Capabilities/FeatureTypeList/FeatureType';
- $entries = $xpath->query($query);
- foreach($entries as $e)
- {
- $e->getElementsByTagName("Name");
- $n = $e->nodeValue;
- if ($n == $tema)
- {return "sim";}
- }
- return "nao";
-}
-/*
-Function: existeWFS
-
-Verifica se existe um servico WFS invocando o getcapabilities.
-
-Global:
-
-$servico {string} - endereço do serviço
-
-Retorno:
-
-{string} - nao|true
-*/
-function existeWFS()
-{
- global $servico;
- $teste = explode("=",$servico);
- if ( count($teste) > 1 ){$servico = $servico."&";}
- $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WFS";
- # -------------------------------------------------------------
- # Test that the capabilites file has successfully downloaded.
- #
- if( !($wfs_capabilities = file($wms_service_request)) ) {
- # Cannot download the capabilities file.
- return "nao";
- }
- else
- {return $wfs_capabilities;}
-}
-/*
-Function: getcapabilities
-
-Chama a função getcapabilities e retorna o resultado.
-
-Global:
-
-$servico {string} - Endereço do web service.
-
-Retorno:
-
-{string}
-*/
-function getcapabilities()
-{
- global $servico;
- $teste = explode("=",$servico);
- if ( count($teste) > 1 ){$servico = $servico."&";}
- $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WMS&version=1.1.0";
- # -------------------------------------------------------------
- # Test that the capabilites file has successfully downloaded.
- #
- if( !($wms_capabilities = file($wms_service_request)) ) {
- # Cannot download the capabilities file.
- $cp->set_data("Erro de acesso");
- return;
- }
- $wms_capabilities = implode("",$wms_capabilities);
- return(xml2html($wms_capabilities));
-}
-/*
-function: getcapabilities2
-
-Chama a função getcapabilities e retorna o resultado pré-formatado (WMS).
-
-Global:
-
-$servico {string} - Endereço do web service.
-
-Retorno:
-
-{string}
-*/
-function getcapabilities2()
-{
- global $servico;
- $teste = explode("=",$servico);
- if ( count($teste) > 1 ){$servico = $servico."&";}
- $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WMS";
- $teste = explode("version",strtolower($wms_service_request));
- if(count($teste) == 1)
- {$wms_service_request .= "&VERSION=1.1.1";}
- # -------------------------------------------------------------
- # Test that the capabilites file has successfully downloaded.
- #
- if( !($wms_capabilities = file($wms_service_request)) ) {
- # Cannot download the capabilities file.
- $cp->set_data("Erro de acesso");
- return;
- }
- $wms_capabilities = implode("",$wms_capabilities);
- $dom = new DomDocument();
- $dom->loadXML($wms_capabilities);
- $xpath = new DOMXPath($dom);
- $retorno = "";
- $query = '//WMT_MS_Capabilities/Service/Name';
- $entries = $xpath->query($query);
- if($entries == FALSE || $entries->length == 0){
- $rn = $xpath->registerNamespace("tag", "http://www.opengis.net/wms");
- $entries = $xpath->query('/tag:WMS_Capabilities/tag:Service/tag:Name');
- }
-
- $temp = "";
- foreach ($entries as $entry){$temp .= $entry->nodeValue;}
- $retorno .= "Nome: ".$temp;
-
- $query = '//WMT_MS_Capabilities/Service/Title';
- $entries = $xpath->query($query);
- if($entries == FALSE || $entries->length == 0){
- $entries = $xpath->query('/tag:WMS_Capabilities/tag:Service/tag:Title');
- }
- $temp = "";
- foreach ($entries as $entry){$temp .= $entry->nodeValue;}
- $retorno .= "
Título: ".$temp;
-
- $query = '//WMT_MS_Capabilities/Service/Abstract';
- $entries = $xpath->query($query);
- if($entries == FALSE || $entries->length == 0){
- $entries = $xpath->query('/tag:WMS_Capabilities/tag:Service/tag:Abstract');
- }
- $temp = "";
- foreach ($entries as $entry){$temp .= $entry->nodeValue;}
- $retorno .= "
Resumo: ".$temp;
-
- $query = '//WMT_MS_Capabilities/Service/KeywordList';
- $entries = $xpath->query($query);
- if($entries == FALSE || $entries->length == 0){
- $entries = $xpath->query('/tag:WMS_Capabilities/tag:Service/tag:KeywordList');
- }
- $temp = "";
- foreach ($entries as $entry){$temp .= $entry->nodeValue.".";}
- $retorno .= "
Palavras-chave: ".$temp;
-
- $query = '//WMT_MS_Capabilities/Service/ContactInformation';
- $entries = $xpath->query($query);
- if($entries == FALSE || $entries->length == 0){
- $entries = $xpath->query('/tag:WMS_Capabilities/tag:Service/tag:ContactInformation');
- }
- $temp = "";
- foreach ($entries as $entry){$temp .= $entry->nodeValue.".";}
- $retorno .= "
Contato: ".$temp;
-
- return($retorno);
-}
-/*
-getcapabilities3
-
-Chama a função getcapabilities e retorna o resultado formatado (WFS).
-
-Global:
-
-$servico {string} - Endereço do web service.
-
-
-*/
-function getcapabilities3()
-{
- global $servico;
- $teste = explode("=",$servico);
- if ( count($teste) > 1 ){$servico = $servico."&";}
- $wms_service_request = $servico . "request=getcapabilities&service=wfs&version=1.0.0";
- # -------------------------------------------------------------
- # Test that the capabilites file has successfully downloaded.
- #
- if( !($wms_capabilities = file($wms_service_request)) ) {
- # Cannot download the capabilities file.
- $cp->set_data("Erro de acesso");
- return;
- }
- $wms_capabilities = implode("",$wms_capabilities);
- $dom = new DomDocument();
- $dom->loadXML($wms_capabilities);
- $retorno = "";
- $services = $dom->getElementsByTagName("Service");
- foreach ($services as $service)
- {
- $vs = $service->getElementsByTagName("Name");
- $temp = "";
- foreach ($vs as $v)
- {$temp .= $v->nodeValue;}
- $retorno .= "Nome: ".$temp;
- $vs = $service->getElementsByTagName("Title");
- $temp = "";
- foreach ($vs as $v)
- {$temp .= $v->nodeValue;}
- $retorno .= "
Título: ".$temp;
- }
- return($retorno);
-}
-/*
-Function: temaswms
-
-Lista os temas de um web service WMS.
-
-Globais:
-
-$servico {string} - Endereço do web service.
-
-$id_ws {string} - (opcional) id do serviço registrado no sistema de administração do i3geo. Se definido, é feito o registro de tentativa de acesso ao serviço no sistema de administração
-
-Retorno:
-
-{html} - htaml formatado para permitir a escolha de uma camada
-*/
-function temaswms()
-{
- global $servico,$id_ws;
- //para admin1/cadastros/servicos/exec.php
- $_GET["funcao"] = "lista";
- $wms_service_request = gravaCacheWMS($servico);
- # -------------------------------------------------------------
- # Test that the capabilites file has successfully downloaded.
- #
- //$wms_service_request = "c://temp//teste.xml";
- if(file_exists(dirname(__FILE__)."/../admin1/cadastros/servicos/exec.php")){
- include_once(dirname(__FILE__)."/../admin1/cadastros/servicos/exec.php");
- }
- else{
- include_once(dirname(__FILE__)."/../admin/php/admin.php");
- include_once(dirname(__FILE__)."/../admin/php/webservices.php");
- }
-
- //error_reporting(0);
- if($wms_service_request == "erro") {
- # Cannot download the capabilities file.
- //registra a tentativa de acesso
- if(isset($id_ws))
- {
- adicionaAcesso($id_ws,false);
- }
- $cp->set_data("Erro de acesso");
- return;
- }
- elseif(isset($id_ws))
- {
- if($id_ws != "")
- adicionaAcesso($id_ws,true);
- }
- $handle = fopen ($wms_service_request, "r");
- $wms_capabilities = fread($handle, filesize($wms_service_request));
- fclose ($handle);
- $dom = new DomDocument();
- $dom->loadXML($wms_capabilities);
-
- //var_dump($dom);exit;
- //$layers = wms_layers($dom);
- $xpath = new DOMXPath($dom);
- //verifica sld
- $suporta = "nao";
- $query = '//WMT_MS_Capabilities/Capability/UserDefinedSymbolization';
- $entries = $xpath->query($query);
- if($entries->length == 0){
- $suporta = "sim";
- }
- else{
- foreach($entries as $e)
- {$n = $e->getAttribute("SupportSLD");}
- if ($n == 1){$suporta = "sim";}
- }
- $xpath = new DOMXPath($dom);
- //var_dump($xpath);exit;
- $q = '//WMT_MS_Capabilities/Capability';
- $query = $q.'/Layer';
- $layers = $xpath->query($query);
- if($layers == FALSE || $layers->length == 0){
- $teste = $xpath->registerNamespace("tag", "http://www.opengis.net/wms");
- $q = '/tag:WMS_Capabilities/tag:Capability';
- $query = $q.'/tag:Layer';
- $layers = $xpath->query($query);
- }
- //var_dump($layers);exit;
- $retorna = array();
- foreach ($layers as $layer)
- {
- $layers1 = $xpath->query('/Layer',$layer);
- if($layers1->length == 0) //v 1.3.0
- {$layers1 = $layers;}
- else{
- $r = pegaTag($layer);
- $retorna = imprimeTag($r,$retorna);
- }
- foreach ($layers1 as $layer1)
- {
- $layers2 = $xpath->query('Layer',$layer1);
- $r1 = pegaTag($layer1);
- $camada1 = $r1["nome"];
- $titulocamada1 = $r1["titulo"];
- $retorna = imprimeTag($r1,$retorna);
- if($r1["estilos"])
- {$retorna = imprimeEstilos($r1["estilos"],$suporta,$retorna,$camada1,$titulocamada1);}
- else
- {
- if($layers2->length == 0)
- $retorna[] = " default".$titulocamada1."
";
- }
- foreach ($layers2 as $layer2)
- {
- $layers3 = $xpath->query('Layer',$layer2);
- $r2 = pegaTag($layer2);
- $camada2 = $r2["nome"];
- $titulocamada2 = $r2["titulo"];
- $retorna = imprimeTag($r2,$retorna);
- if($r2["estilos"])
- {$retorna = imprimeEstilos($r2["estilos"],$suporta,$retorna,$camada2,$titulocamada2);}
- else
- {
- if($layers3->length == 0)
- $retorna[] = " default ".$titulocamada2."
";
- }
- foreach ($layers3 as $layer3)
- {
- $r3 = pegaTag($layer3);
- $camada3 = $r3["nome"];
- $titulocamada3 = $r3["titulo"];
- $retorna = imprimeTag($r3,$retorna);
- if($r3["estilos"])
- {$retorna = imprimeEstilos($r3["estilos"],$suporta,$retorna,$camada3,$titulocamada3);}
- else
- {
- $retorna[] = " default ".$titulocamada3."
";
- }
- }
- }
- if(count($layers2) == 1){$retorna[] = "
Projeção:
"; - $retorna[] = "Formatos imagem:
"; - $retorna[] = "Formatos de informação:
"; - $retorna[] = "Versão:
"; - $retorna[] = "Suporta SLD:
"; - return(implode($retorna)); -} -/* -Function: listaLayersWMS - -Lista os temas de um web service WMS e retorna o resultado como um array. - -Globais: - -$servico {string} - Endereço do web service. - -$nivel - nível do layer na hierarquia existente no getcapabilities - -$nomelayer - nome do layer que contém os pr�ximos layers - -Retorno: - -{array} -*/ -function listaLayersWMS() -{ - global $servico,$nivel,$id_ws,$nomelayer,$tipo_ws; - - if(!isset($nomelayer)){ - $nomelayer = "undefined"; - } - //para o caso do sistema de metadados estatisticos - $wms_service_request = gravaCacheWMS($servico); - include_once(dirname(__FILE__)."/../admin/php/admin.php"); - include_once(dirname(__FILE__)."/../admin/php/webservices.php"); - - - if($tipo_ws != "WMSMETAESTAT" && $nivel < 2){ - if($wms_service_request == "erro") { - //registra a tentativa de acesso - if(isset($id_ws)){ - adicionaAcesso($id_ws,false); - } - $cp->set_data("Erro de acesso"); - return; - } - elseif(isset($id_ws)){ - adicionaAcesso($id_ws,true); - } - } - - $handle = fopen ($wms_service_request, "r"); - $wms_capabilities = fread ($handle, filesize ($wms_service_request)); - fclose ($handle); - - $dom = new DomDocument(); - $dom->loadXML($wms_capabilities); - $xpath = new DOMXPath($dom); - $q = '//WMT_MS_Capabilities/Capability'; - $res = array(); - if($nomelayer != "undefined"){ - for($i=0; $i < $nivel-1 ; ++$i){ - $q .= "/Layer"; - } - $layersanteriores = $xpath->query($q); - foreach ($layersanteriores as $layeranterior){ - $r1 = pegaTag($layeranterior); - //echo "";var_dump($layeranterior); - if($r1["nome"] == $nomelayer || $r1["titulo"] == $nomelayer) - { - $layers = $xpath->query('Layer',$layeranterior); - foreach ($layers as $layer) - { - $r = pegaTag($layer); - if(!$r["nome"]){$r["nome"] = $r["titulo"];} - $res[] = array("nome"=>$r["nome"],"titulo"=>$r["titulo"],"estilos"=>$r["estilos"],"srs"=>wms_srs($dom),"formats"=>wms_formats($dom),"version"=>wms_version($dom),"formatsinfo"=>wms_formatsinfo($dom)); - } - if($layers->length == 0) - { - $res[] = array("nome"=>$r1["nome"],"titulo"=>$r1["titulo"],"estilos"=>(array(array("nome"=>"default","titulo"=>"default"))),"srs"=>wms_srs($dom),"formats"=>wms_formats($dom),"version"=>wms_version($dom),"formatsinfo"=>wms_formatsinfo($dom)); - } - } - } - } - else{ - // - //pega os layers no primeiro nível - // - $q .= "/Layer"; - $layers = $xpath->query($q); - $res = array(); - foreach ($layers as $layer){ - $r = pegaTag($layer); - //var_dump($r); - if(!$r["nome"]){ - $r["nome"] = $r["titulo"]; - } - if(array_search("Style",$r["tags"]) || array_search("Layer",$r["tags"])){ - $res[] = array( - "nome"=>$r["nome"], - "titulo"=>$r["titulo"], - "estilos"=>$r["estilos"], - "srs"=>wms_srs($dom), - "formats"=>wms_formats($dom), - "version"=>wms_version($dom), - "formatsinfo"=>wms_formatsinfo($dom) + 1) { + $servico = $servico . "&"; + } else { + $teste = explode ( "?", $servico ); + if (count ( $teste ) == 1) { + $servico = $servico . "?"; + } + } + $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WMS"; + $teste = explode ( "version", strtolower ( $wms_service_request ) ); + if (count ( $teste ) == 1) { + $wms_service_request .= "&VERSION=1.1.1"; + } + $nome = $dir_tmp . "/wms" . md5 ( $servico ) . ".xml"; + // echo ($wms_service_request);exit; + if (! file_exists ( $nome )) { + // $wms_capabilities = file($wms_service_request); + $curl = curl_init (); + curl_setopt ( $curl, CURLOPT_URL, $wms_service_request ); + curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 ); + curl_setopt ( $curl, CURLOPT_HEADER, 0 ); + if (isset ( $i3geo_proxy_server ) && $i3geo_proxy_server != "") { + curl_setopt ( $curl, CURLOPT_PROXY, $i3geo_proxy_server ); + } + $wms_capabilities = curl_exec ( $curl ); + curl_close ( $curl ); + if (! $wms_capabilities || $wms_capabilities == "") { + return "erro"; + } else { + $fp = fopen ( $nome, 'w' ); + // fwrite($fp, implode("",$wms_capabilities)); + fwrite ( $fp, $wms_capabilities ); + fclose ( $fp ); + } + } + return $nome; + } catch ( Exception $e ) { + return "erro"; + } +} +/* + * Function: existeTemaWFS + * + * Verifica se existe um tema em um servico WFS. + * + * Globais: + * + * $wfs {string} - endereço do serviço + * + * $tema {string} - tema (layer) que será verificado + * + * Retorno: + * + * {string} - sim|nao + */ +function existeTemaWFS() { + global $wfs, $tema; + $capabilities = implode ( "", $wfs ); + $dom = new DomDocument (); + $dom->loadXML ( $capabilities ); + $xpath = new DOMXPath ( $dom ); + $query = '//WFS_Capabilities/FeatureTypeList/FeatureType'; + $entries = $xpath->query ( $query ); + foreach ( $entries as $e ) { + $e->getElementsByTagName ( "Name" ); + $n = $e->nodeValue; + if ($n == $tema) { + return "sim"; + } + } + return "nao"; +} +/* + * Function: existeWFS + * + * Verifica se existe um servico WFS invocando o getcapabilities. + * + * Global: + * + * $servico {string} - endereço do serviço + * + * Retorno: + * + * {string} - nao|true + */ +function existeWFS() { + global $servico; + $teste = explode ( "=", $servico ); + if (count ( $teste ) > 1) { + $servico = $servico . "&"; + } + $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WFS"; + // ------------------------------------------------------------- + // Test that the capabilites file has successfully downloaded. + // + if (! ($wfs_capabilities = file ( $wms_service_request ))) { + // Cannot download the capabilities file. + return "nao"; + } else { + return $wfs_capabilities; + } +} +/* + * Function: getcapabilities + * + * Chama a função getcapabilities e retorna o resultado. + * + * Global: + * + * $servico {string} - Endereço do web service. + * + * Retorno: + * + * {string} + */ +function getcapabilities() { + global $servico; + $teste = explode ( "=", $servico ); + if (count ( $teste ) > 1) { + $servico = $servico . "&"; + } + $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WMS&version=1.1.0"; + // ------------------------------------------------------------- + // Test that the capabilites file has successfully downloaded. + // + if (! ($wms_capabilities = file ( $wms_service_request ))) { + // Cannot download the capabilities file. + $cp->set_data ( "Erro de acesso" ); + return; + } + $wms_capabilities = implode ( "", $wms_capabilities ); + return (xml2html ( $wms_capabilities )); +} +/* + * function: getcapabilities2 + * + * Chama a função getcapabilities e retorna o resultado pré-formatado (WMS). + * + * Global: + * + * $servico {string} - Endereço do web service. + * + * Retorno: + * + * {string} + */ +function getcapabilities2() { + global $servico; + $teste = explode ( "=", $servico ); + if (count ( $teste ) > 1) { + $servico = $servico . "&"; + } + $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WMS"; + $teste = explode ( "version", strtolower ( $wms_service_request ) ); + if (count ( $teste ) == 1) { + $wms_service_request .= "&VERSION=1.1.1"; + } + // ------------------------------------------------------------- + // Test that the capabilites file has successfully downloaded. + // + if (! ($wms_capabilities = file ( $wms_service_request ))) { + // Cannot download the capabilities file. + $cp->set_data ( "Erro de acesso" ); + return; + } + $wms_capabilities = implode ( "", $wms_capabilities ); + $dom = new DomDocument (); + $dom->loadXML ( $wms_capabilities ); + $xpath = new DOMXPath ( $dom ); + $retorno = ""; + $query = '//WMT_MS_Capabilities/Service/Name'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $rn = $xpath->registerNamespace ( "tag", "http://www.opengis.net/wms" ); + $entries = $xpath->query ( '/tag:WMS_Capabilities/tag:Service/tag:Name' ); + } + + $temp = ""; + foreach ( $entries as $entry ) { + $temp .= $entry->nodeValue; + } + $retorno .= "Nome: " . $temp; + + $query = '//WMT_MS_Capabilities/Service/Title'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $entries = $xpath->query ( '/tag:WMS_Capabilities/tag:Service/tag:Title' ); + } + $temp = ""; + foreach ( $entries as $entry ) { + $temp .= $entry->nodeValue; + } + $retorno .= "
Título: " . $temp; + + $query = '//WMT_MS_Capabilities/Service/Abstract'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $entries = $xpath->query ( '/tag:WMS_Capabilities/tag:Service/tag:Abstract' ); + } + $temp = ""; + foreach ( $entries as $entry ) { + $temp .= $entry->nodeValue; + } + $retorno .= "
Resumo: " . $temp; + + $query = '//WMT_MS_Capabilities/Service/KeywordList'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $entries = $xpath->query ( '/tag:WMS_Capabilities/tag:Service/tag:KeywordList' ); + } + $temp = ""; + foreach ( $entries as $entry ) { + $temp .= $entry->nodeValue . "."; + } + $retorno .= "
Palavras-chave: " . $temp; + + $query = '//WMT_MS_Capabilities/Service/ContactInformation'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $entries = $xpath->query ( '/tag:WMS_Capabilities/tag:Service/tag:ContactInformation' ); + } + $temp = ""; + foreach ( $entries as $entry ) { + $temp .= $entry->nodeValue . "."; + } + $retorno .= "
Contato: " . $temp; + + return ($retorno); +} +/* + * getcapabilities3 + * + * Chama a função getcapabilities e retorna o resultado formatado (WFS). + * + * Global: + * + * $servico {string} - Endereço do web service. + * + * + */ +function getcapabilities3() { + global $servico; + $teste = explode ( "=", $servico ); + if (count ( $teste ) > 1) { + $servico = $servico . "&"; + } + $wms_service_request = $servico . "request=getcapabilities&service=wfs&version=1.0.0"; + // ------------------------------------------------------------- + // Test that the capabilites file has successfully downloaded. + // + if (! ($wms_capabilities = file ( $wms_service_request ))) { + // Cannot download the capabilities file. + $cp->set_data ( "Erro de acesso" ); + return; + } + $wms_capabilities = implode ( "", $wms_capabilities ); + $dom = new DomDocument (); + $dom->loadXML ( $wms_capabilities ); + $retorno = ""; + $services = $dom->getElementsByTagName ( "Service" ); + foreach ( $services as $service ) { + $vs = $service->getElementsByTagName ( "Name" ); + $temp = ""; + foreach ( $vs as $v ) { + $temp .= $v->nodeValue; + } + $retorno .= "Nome: " . $temp; + $vs = $service->getElementsByTagName ( "Title" ); + $temp = ""; + foreach ( $vs as $v ) { + $temp .= $v->nodeValue; + } + $retorno .= "
Título: " . $temp; + } + return ($retorno); +} +/* + * Function: temaswms + * + * Lista os temas de um web service WMS. + * + * Globais: + * + * $servico {string} - Endereço do web service. + * + * $id_ws {string} - (opcional) id do serviço registrado no sistema de administração do i3geo. Se definido, é feito o registro de tentativa de acesso ao serviço no sistema de administração + * + * Retorno: + * + * {html} - htaml formatado para permitir a escolha de uma camada + */ +function temaswms() { + global $servico, $id_ws; + // para admin1/cadastros/servicos/exec.php + $_GET ["funcao"] = "lista"; + $wms_service_request = gravaCacheWMS ( $servico ); + // ------------------------------------------------------------- + // Test that the capabilites file has successfully downloaded. + // + // $wms_service_request = "c://temp//teste.xml"; + if (file_exists ( dirname ( __FILE__ ) . "/../admin1/cadastros/servicos/exec.php" )) { + include_once (dirname ( __FILE__ ) . "/../admin1/cadastros/servicos/exec.php"); + } else { + include_once (dirname ( __FILE__ ) . "/../admin/php/admin.php"); + include_once (dirname ( __FILE__ ) . "/../admin/php/webservices.php"); + } + + // error_reporting(0); + if ($wms_service_request == "erro") { + // Cannot download the capabilities file. + // registra a tentativa de acesso + if (isset ( $id_ws )) { + adicionaAcesso ( $id_ws, false ); + } + $cp->set_data ( "Erro de acesso" ); + return; + } elseif (isset ( $id_ws )) { + if ($id_ws != "") + adicionaAcesso ( $id_ws, true ); + } + $handle = fopen ( $wms_service_request, "r" ); + $wms_capabilities = fread ( $handle, filesize ( $wms_service_request ) ); + fclose ( $handle ); + $dom = new DomDocument (); + $dom->loadXML ( $wms_capabilities ); + + // var_dump($dom);exit; + // $layers = wms_layers($dom); + $xpath = new DOMXPath ( $dom ); + // verifica sld + $suporta = "nao"; + $query = '//WMT_MS_Capabilities/Capability/UserDefinedSymbolization'; + $entries = $xpath->query ( $query ); + if ($entries->length == 0) { + $suporta = "sim"; + } else { + foreach ( $entries as $e ) { + $n = $e->getAttribute ( "SupportSLD" ); + } + if ($n == 1) { + $suporta = "sim"; + } + } + $xpath = new DOMXPath ( $dom ); + // var_dump($xpath);exit; + $q = '//WMT_MS_Capabilities/Capability'; + $query = $q . '/Layer'; + $layers = $xpath->query ( $query ); + if ($layers == FALSE || $layers->length == 0) { + $teste = $xpath->registerNamespace ( "tag", "http://www.opengis.net/wms" ); + $q = '/tag:WMS_Capabilities/tag:Capability'; + $query = $q . '/tag:Layer'; + $layers = $xpath->query ( $query ); + } + // var_dump($layers);exit; + $retorna = array (); + foreach ( $layers as $layer ) { + $layers1 = $xpath->query ( '/Layer', $layer ); + if ($layers1->length == 0) // v 1.3.0 +{ + $layers1 = $layers; + } else { + $r = pegaTag ( $layer ); + $retorna = imprimeTag ( $r, $retorna ); + } + foreach ( $layers1 as $layer1 ) { + $layers2 = $xpath->query ( 'Layer', $layer1 ); + $r1 = pegaTag ( $layer1 ); + $camada1 = $r1 ["nome"]; + $titulocamada1 = $r1 ["titulo"]; + $retorna = imprimeTag ( $r1, $retorna ); + if ($r1 ["estilos"]) { + $retorna = imprimeEstilos ( $r1 ["estilos"], $suporta, $retorna, $camada1, $titulocamada1 ); + } else { + if ($layers2->length == 0){ + $retorna [] = imprimeEstilos2 ($camada1, $titulocamada1, $suporta); + //$retorna [] = " default" . $titulocamada1 . "
"; + } + } + foreach ( $layers2 as $layer2 ) { + $layers3 = $xpath->query ( 'Layer', $layer2 ); + $r2 = pegaTag ( $layer2 ); + $camada2 = $r2 ["nome"]; + $titulocamada2 = $r2 ["titulo"]; + $retorna = imprimeTag ( $r2, $retorna ); + if ($r2 ["estilos"]) { + $retorna = imprimeEstilos ( $r2 ["estilos"], $suporta, $retorna, $camada2, $titulocamada2 ); + } else { + if ($layers3->length == 0) + $retorna [] = imprimeEstilos2 ($camada2, $titulocamada2, $suporta); + //$retorna [] = " default " . $titulocamada2 . "
"; + } + foreach ( $layers3 as $layer3 ) { + $r3 = pegaTag ( $layer3 ); + $camada3 = $r3 ["nome"]; + $titulocamada3 = $r3 ["titulo"]; + $retorna = imprimeTag ( $r3, $retorna ); + if ($r3 ["estilos"]) { + $retorna = imprimeEstilos ( $r3 ["estilos"], $suporta, $retorna, $camada3, $titulocamada3 ); + } else { + $retorna [] = imprimeEstilos2 ($camada3, $titulocamada3, $suporta); + //$retorna [] = " default " . $titulocamada3 . "
"; + } + } + } + if (count ( $layers2 ) == 1) { + $retorna [] = "
"; + } + } + } + + $retorna [] = ""; + $retorna [] = ""; + $retorna [] = ""; + $retorna [] = ""; + $retorna [] = ""; + + //$retorna [] = "Projeção:
"; + //$retorna [] = "Formatos imagem:
"; + //$retorna [] = "Formatos de informação:
"; + //$retorna [] = "Versão:
"; + //$retorna [] = "Suporta SLD:
"; + return (implode ( $retorna )); +} +/* + * Function: listaLayersWMS + * + * Lista os temas de um web service WMS e retorna o resultado como um array. + * + * Globais: + * + * $servico {string} - Endereço do web service. + * + * $nivel - nível do layer na hierarquia existente no getcapabilities + * + * $nomelayer - nome do layer que contém os pr�ximos layers + * + * Retorno: + * + * {array} + */ +function listaLayersWMS() { + global $servico, $nivel, $id_ws, $nomelayer, $tipo_ws; + + if (! isset ( $nomelayer )) { + $nomelayer = "undefined"; + } + // para o caso do sistema de metadados estatisticos + $wms_service_request = gravaCacheWMS ( $servico ); + include_once (dirname ( __FILE__ ) . "/../admin/php/admin.php"); + include_once (dirname ( __FILE__ ) . "/../admin/php/webservices.php"); + + if ($tipo_ws != "WMSMETAESTAT" && $nivel < 2) { + if ($wms_service_request == "erro") { + // registra a tentativa de acesso + if (isset ( $id_ws )) { + adicionaAcesso ( $id_ws, false ); + } + $cp->set_data ( "Erro de acesso" ); + return; + } elseif (isset ( $id_ws )) { + adicionaAcesso ( $id_ws, true ); + } + } + + $handle = fopen ( $wms_service_request, "r" ); + $wms_capabilities = fread ( $handle, filesize ( $wms_service_request ) ); + fclose ( $handle ); + + $dom = new DomDocument (); + $dom->loadXML ( $wms_capabilities ); + $xpath = new DOMXPath ( $dom ); + $q = '//WMT_MS_Capabilities/Capability'; + $res = array (); + if ($nomelayer != "undefined") { + for($i = 0; $i < $nivel - 1; ++ $i) { + $q .= "/Layer"; + } + $layersanteriores = $xpath->query ( $q ); + foreach ( $layersanteriores as $layeranterior ) { + $r1 = pegaTag ( $layeranterior ); + // echo "";var_dump($layeranterior); + if ($r1 ["nome"] == $nomelayer || $r1 ["titulo"] == $nomelayer) { + $layers = $xpath->query ( 'Layer', $layeranterior ); + foreach ( $layers as $layer ) { + $r = pegaTag ( $layer ); + if (! $r ["nome"]) { + $r ["nome"] = $r ["titulo"]; + } + $res [] = array ( + "nome" => $r ["nome"], + "titulo" => $r ["titulo"], + "estilos" => $r ["estilos"], + "srs" => wms_srs ( $dom ), + "formats" => wms_formats ( $dom ), + "version" => wms_version ( $dom ), + "formatsinfo" => wms_formatsinfo ( $dom ) + ); + } + if ($layers->length == 0) { + $res [] = array ( + "nome" => $r1 ["nome"], + "titulo" => $r1 ["titulo"], + "estilos" => (array ( + array ( + "nome" => "default", + "titulo" => "default" + ) + )), + "srs" => wms_srs ( $dom ), + "formats" => wms_formats ( $dom ), + "version" => wms_version ( $dom ), + "formatsinfo" => wms_formatsinfo ( $dom ) + ); + } + } + } + } else { + // + // pega os layers no primeiro nível + // + $q .= "/Layer"; + $layers = $xpath->query ( $q ); + $res = array (); + foreach ( $layers as $layer ) { + $r = pegaTag ( $layer ); + // var_dump($r); + if (! $r ["nome"]) { + $r ["nome"] = $r ["titulo"]; + } + if (array_search ( "Style", $r ["tags"] ) || array_search ( "Layer", $r ["tags"] )) { + $res [] = array ( + "nome" => $r ["nome"], + "titulo" => $r ["titulo"], + "estilos" => $r ["estilos"], + "srs" => wms_srs ( $dom ), + "formats" => wms_formats ( $dom ), + "version" => wms_version ( $dom ), + "formatsinfo" => wms_formatsinfo ( $dom ) + ) + ; + } + } + } + // exit; + return ($res); +} +function imprimeEstilos($es, $suporta, $retorna, $tval, $tituloalternativo) { + foreach ( $es as $e ) { + $nomeestilo = $e ["nome"]; + $nomecamada = $e ["titulo"]; + $tituloestilo = $e ["titulo"]; + $onclick = "seltema(\"estilo\",\"" . $tval . "\",\"\",\"" . $nomeestilo . "\",\"" . $tituloalternativo . " " . $nomecamada . " " . $tituloestilo . "\",\"" . $suporta . "\")"; + + $retorna [] = <<+ + + + + ++ +EOT; + + // $retorna[] = "" . $nomeestilo." ".$tituloestilo."
"; + } + return $retorna; +} +function imprimeEstilos2($camada1, $titulocamada1, $suporta) { + $onclick = "seltema(\"tema\",\"" . $camada1 . "\",\"\",\"default\",\"" . $camada1 . " " . $titulocamada1 . "\",\"" . $suporta . "\")"; + $retorna = <<+ + + + + ++ +EOT; + + return $retorna; +} + +function imprimeTag($r, $retorna) { + if (! $r ["nome"]) { + $retorna [] = "" . $r ["titulo"] . "
"; + } else { + $retorna [] = "
"; + $retorna [] = "" . $r ["nome"] . "
"; + //$retorna [] = "" . $r ["titulo"] . "
"; + $retorna [] = "" . $r ["resumo"] . "
"; + } + return $retorna; +} +function pegaTag($layer) { + // error_reporting(0); + $noslayer = $layer->childNodes; + $resultado = array ( + "estiloas" => array (), + "tags" => array () + ); + for($i = 0; $i < $noslayer->length; ++ $i) { + $tnome = $noslayer->item ( $i )->tagName; + $tvalor = $noslayer->item ( $i )->nodeValue; + if ($tnome) { + // echo "
".$tnome; + if ($tnome == "Title") { + $resultado ["titulo"] = $tvalor; + } + if ($tnome == "Name") { + $resultado ["nome"] = $tvalor; + } + if ($tnome == "Abstract") { + $resultado ["resumo"] = $tvalor; + } + + if ($tnome == "Style") { + $ss = $noslayer->item ( $i )->childNodes; + $ssl = $ss->length; + $n = ""; + $t = ""; + for($s = 0; $s < $ssl; $s ++) { + $snome = $ss->item ( $s )->tagName; + $svalor = $ss->item ( $s )->nodeValue; + if ($snome) { + if ($snome == "Title") { + $t = $svalor; + } + if ($snome == "Name") { + $n = $svalor; + } + } + } + // echo "";echo $n; + if ($n != "") { + array_push ( $resultado ["estilos"], array ( + "nome" => $n, + "titulo" => $t + ) ); + } + } + array_push ( $resultado ["tags"], $tnome ); + // echo "";var_dump($resultado); + } + } + return $resultado; +} + +/* + * temaswfs + * + * Lista os temas de um web service WFS. + * + * parameters: + * $servico - Endereço do web service. + * + * $cp - Objeto CPAINT. + */ +function temaswfs() { + global $servico, $cp; + $teste = explode ( "=", $servico ); + if (count ( $teste ) > 1) { + $servico = $servico . "&"; + } + $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WFS"; + // ------------------------------------------------------------- + // Test that the capabilites file has successfully downloaded. + // + if (! ($wms_capabilities = file ( $wms_service_request ))) { + // Cannot download the capabilities file. + $cp->set_data ( "Erro de acesso" ); + return; + } + $wms_capabilities = implode ( "", $wms_capabilities ); + $dom = new DomDocument (); + $dom->loadXML ( $wms_capabilities ); + $services = $dom->getElementsByTagName ( "Service" ); + foreach ( $services as $service ) { + $vs = $service->getElementsByTagName ( "Name" ); + $serv = ""; + foreach ( $vs as $v ) { + $serv .= $v->nodeValue; + } + } + $layers = $dom->getElementsByTagName ( "FeatureType" ); + foreach ( $layers as $layer ) { + $vs = $layer->getElementsByTagName ( "Title" ); + $temp1 = ""; + foreach ( $vs as $v ) { + $temp1 .= $v->nodeValue; + } + + $vs = $layer->getElementsByTagName ( "Abstract" ); + $temp2 = ""; + foreach ( $vs as $v ) { + $temp2 .= $v->nodeValue; + } + + $vs = $layer->getElementsByTagName ( "SRS" ); + $temp3 = array (); + foreach ( $vs as $v ) { + $temp3 [] = $v->nodeValue; + } + $temp3 = implode ( "#", $temp3 ); + + $vs = $layer->getElementsByTagName ( "Name" ); + $temp = ""; + foreach ( $vs as $v ) { + $temp .= $v->nodeValue; + } + $temp = "" . $temp . "
"; + $retorno .= "
" . $temp . $temp1 . "
" . $temp2 . "
"; + } + $cp->set_data ( $retorno ); +} +/* + * Function: xml2html + * + * Converte caracteres XML em HTML. + * + * Parametro: + * + * $str {string} - Xml que será convertido + * + * Retorno: + * + * {string} + */ +function xml2html($str) { + $str = ereg_replace ( "&", "&", $str ); + $str = ereg_replace ( "<", "<", $str ); + $str = ereg_replace ( ">", ">
", $str ); + return $str; +} +/* + * wms_descricao + * + * Retorna a descrição de um serviço (n�). + */ +function wms_descricao($dom, $xp) { + $xpath = new DOMXPath ( $dom ); + $query = $xp; + $entries = $xpath->query ( $query ); + $n = ""; + foreach ( $entries as $entry ) { + $n = $entry->nodeValue; + } + return $n; +} +/* + * wms_descricaov + * + * Retorna a descrição de um serviço (atributo). + */ +function wms_descricaov($dom, $xp, $attrib) { + $xpath = new DOMXPath ( $dom ); + $query = $xp; + $entries = $xpath->query ( $query ); + $n = ""; + foreach ( $entries as $entry ) { + $n = $entry->getAttribute ( $attrib ); + } + return $n; +} +/* + * wms_descricaon + * + * Retorna a descrição de um serviço (filho de um n�). + */ +function wms_descricaon($dom, $xp, $n) { + $ctx = xpath_new_context ( $dom ); + $xpnode = xpath_eval ( $ctx, $xp ); + $dtnode = $xpnode->nodeset [$n]->first_child (); + return $dtnode->content; +} +/* + * wms_title + * + * Retorna o título de um WMS. + */ +function wms_title($dom) { + // + // Read the WMS service title and return it as text. + // + $xpath = new DOMXPath ( $dom ); + $query = '//WMT_MS_Capabilities/Service/Title'; + $entries = $xpath->query ( $query ); + foreach ( $entries as $entry ) { + $nomeserv = $entry->nodeValue; + } + return $nomeserv; +} +/* + * wms_onlineresource + * + * Retorna o recurso on-line de um WMS. + */ +function wms_onlineresource($dom) { + // + // Read the WMS online resource URL and return it as text. + // + $xp = "/WMT_MS_Capabilities/Service/OnlineResource"; + $ctx = xpath_new_context ( $dom ); + $xpnode = xpath_eval ( $ctx, $xp ); + return $xpnode->nodeset [0]->get_attribute ( "href" ); +} +/* + * wms_formats + * + * Retorna os formatos de imagem de um WMS. + */ +function wms_formats($dom) { + $xpath = new DOMXPath ( $dom ); + $query = '//WMT_MS_Capabilities/Capability/Request/GetMap/Format'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $teste = $xpath->registerNamespace ( "tag", "http://www.opengis.net/wms" ); + $q = '/tag:WMS_Capabilities/tag:Capability/tag:Request/tag:GetMap/tag:Format'; + $entries = $xpath->query ( $q ); + } + $arr = array (); + foreach ( $entries as $entry ) { + $arr [] = $entry->nodeValue; + } + return $arr; +} +/* + * wms_formatsinfo + * + * Retorna os formatos existentes de retorno da opção getfeatureinfo. + */ +function wms_formatsinfo($dom) { + $xpath = new DOMXPath ( $dom ); + $query = '//WMT_MS_Capabilities/Capability/Request/GetFeatureInfo/Format'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $teste = $xpath->registerNamespace ( "tag", "http://www.opengis.net/wms" ); + $q = '/tag:WMS_Capabilities/tag:Capability/tag:Request/tag:GetCapabilities/tag:Format'; + $entries = $xpath->query ( $q ); + } + $arr = array (); + foreach ( $entries as $entry ) { + $arr [] = $entry->nodeValue; + } + return $arr; +} +/* + * wms_estilos + * + * Retorna os estilos de um WMS. + */ +function wms_estilos($dom) { + // + // Read the WMS image formats and return them as an array. + // + // $xp = "/Style"; + // $ctx = xpath_new_context($dom); + // $xpnode = xpath_eval($ctx,$xp); + // return $xpnode->nodeset; + $return = $dom->getElementsByTagName ( "Style" ); +} +/* + * wms_exceptions + * + * Retorna as exceptions de um WMS. + */ +function wms_exceptions($dom) { + // + // Read the WMS exception formats and return them as an array. + // + $xp = "/WMT_MS_Capabilities/Capability/Exception/Format"; + $ctx = xpath_new_context ( $dom ); + $xpnode = xpath_eval ( $ctx, $xp ); + $arr = array (); + for($i = 0; $i < sizeof ( $xpnode->nodeset ); ++ $i) { + $dtnode = $xpnode->nodeset [0]->first_child (); + array_push ( $arr, $dtnode->content ); + } + return $arr; +} +/* + * wms_version + * + * Retorna a versao. + */ +function wms_version($dom) { + $n = $dom->getElementsByTagName ( 'WMT_MS_Capabilities' ); + $params = $dom->getElementsByTagName ( '*' ); + + foreach ( $params as $param ) { + $v = $param->getAttribute ( 'version' ); + break; + } + return $v; +} +/* + * wms_layers + * + * Retorna os layers de um WMS. + */ +function wms_layers($dom) { + // + // Read the WMS first level layers and return an + // array of nodes. + // + $xpath = new DOMXPath ( $dom ); + $query = '//WMT_MS_Capabilities/Capability/Layer/Layer/Layer'; + $entries = $xpath->query ( $query ); + if ($entries->length == 0) { + $query = '//WMT_MS_Capabilities/Capability/Layer'; + $entries = $xpath->query ( $query ); + } else { + $query = '//WMT_MS_Capabilities/Capability/Layer/Layer'; + $entries = $xpath->query ( $query ); + } + return $entries; +} +/* + * wms_xpnode2content + * + * Read the content child node of an element tag node WMS. + */ +function wms_xpnode2content($xp_node) { + // + // Read the content child node of an element tag + // node. + // + $content = ""; + if ($xp_node->nodeset [0]) { + $node = $xp_node->nodeset [0]->first_child (); + $content = $node->content; + } + return $content; +} +/* + * wms_srs + * + * Retorna os SRSs WMS. + */ +function wms_srs($dom) { + $xpath = new DOMXPath ( $dom ); + $query = '//WMT_MS_Capabilities/Capability/Layer/SRS'; + $entries = $xpath->query ( $query ); + if ($entries == FALSE || $entries->length == 0) { + $teste = $xpath->registerNamespace ( "tag", "http://www.opengis.net/wms" ); + $q = '/tag:WMS_Capabilities/tag:Capability/tag:Layer/tag:CRS'; + $entries = $xpath->query ( $q ); + } + + $srs = ""; + // utiliza apenas os epsg do Brasil + $single = array (); + foreach ( $entries as $entry ) { + $arr [] = $entry->nodeValue; + if ($entry->nodeValue == "CRS:84") { + $single [] = "CRS:84"; + } + if ($entry->nodeValue == "EPSG:4326") { + $single [] = "EPSG:4326"; + } + if ($entry->nodeValue == "EPSG:4618") { + $single [] = "EPSG:4618"; + } + } + if (count ( $single ) > 0) { + $arr = $single; + } + return $arr; +} +/* + * wms_bbox + * + * Retorna o BBOX de um WMS. + */ +function wms_bbox($dom) { + $xpath = new DOMXPath ( $dom ); + $query = '//WMT_MS_Capabilities/Capability/Layer/LatLonBoundingBox'; + $entries = $xpath->query ( $query ); + foreach ( $entries as $entry ) { + $bbox = $entry->nodeValue; + } + if ($bbox == '-1,-1,-1,-1') { + return '-180,-90,180,90'; + } else { + return wms_bbox2txt ( $bbox ); + } +} +/* + * wms_bbox2txt + * + * Convert a BoundingBox node into a text string de um wms. + */ +function wms_bbox2txt($node) { + // + // Convert a BoundingBox node into a text string. + // + if ($node) { + $txt .= 1 * $node->get_attribute ( "minx" ); + $txt .= ","; + $txt .= 1 * $node->get_attribute ( "miny" ); + $txt .= ","; + $txt .= 1 * $node->get_attribute ( "maxx" ); + $txt .= ","; + $txt .= 1 * $node->get_attribute ( "maxy" ); + } else { + $txt = "-180,-90,180,90"; + } + return $txt; +} +/* + * wms_layer2html + * + * Convert a Layer node into an HTML representation wms. + */ +function wms_layer2html($node, $tipo, $layer) { + // + // Convert a Layer node into an HTML representation. + // + $ctx = xpath_new_context ( $node ); + $xp_title = xpath_eval ( $ctx, "/Title" ); + $xp_name = xpath_eval ( $ctx, "/Name" ); + if (wms_xpnode2content ( $xp_name ) == "") { + $xp_name = xpath_eval ( $ctx, "/name" ); + } + $xp_srs = xpath_eval ( $ctx, "/SRS" ); + $xp_llbbox = xpath_eval ( $ctx, "/LatLonBoundingBox" ); + $xp_bbox = xpath_eval ( $ctx, "/BoundingBox" ); + $txt_title = wms_xpnode2content ( $xp_title ); + $txt_name = wms_xpnode2content ( $xp_name ); + $txt_srs = strtoupper ( wms_xpnode2content ( $xp_srs ) ); + $node_llbbox = $xp_llbbox->nodeset [0]; + $node_bbox = $xp_bbox->nodeset [0]; + $queryable = 0; + if ($node->get_attribute ( "queryable" )) { + $queryable = 1; + } + $opaque = 0; + if ($node->get_attribute ( "opaque" )) { + $opaque = 1; + } + // legenda + $xp_legenda = xpath_eval ( $ctx, "/LegendURL/OnlineResource" ); + $nodelegenda = $xp_legenda->nodeset [0]; + if ($nodelegenda) { + $legenda = $nodelegenda->get_attribute ( "href" ); + } + + $html = ""; + $html .= " "; + $html .= $txt_title . "\n"; + $html .= wms_hidden ( "bbox_$txt_name", wms_bbox2txt ( $node_bbox ) ); + $html .= wms_hidden ( "llbox_$txt_name", wms_bbox2txt ( $node_llbbox ) ); + $html .= wms_hidden ( "srs_$txt_name", $txt_srs ); + $html .= wms_hidden ( "query_$txt_name", $queryable ); + $html .= wms_hidden ( "opaque_$txt_name", $opaque ); + $html .= "
"; + return $html; +} +/* + * wms_layer3html + * + * Convert a Layer node into an HTML representation sem radio. + */ +function wms_layer3html($node) { + // + // Convert a Layer node into an HTML representation sem radio. + // + $ctx = xpath_new_context ( $node ); + $xp_title = xpath_eval ( $ctx, "/Title" ); + $xp_abs = xpath_eval ( $ctx, "/Abstract" ); + $txt_title = wms_xpnode2content ( $xp_title ); + $txt_abs = wms_xpnode2content ( $xp_abs ); + $html .= "" . $txt_title . "" . "-" . $txt_abs . "\n"; + $html .= "
"; + return $html; +} +/* + * wms_layer4html + * + * Convert a Layer into an HTML WMS. + */ +function wms_layer4html($layer) { + $estilos = wms_estilos ( $layer ); + if (count ( $estilos ) > 0) { + $ctxl = xpath_new_context ( $layer ); + $xp_namel = xpath_eval ( $ctxl, "/Name" ); + if (wms_xpnode2content ( $xp_namel ) == "") { + $xp_namel = xpath_eval ( $ctxl, "/name" ); + } + $txt_namel = wms_xpnode2content ( $xp_namel ); + $html .= wms_layer3html ( $layer ); + foreach ( $estilos as $estilo ) { + $html .= wms_layer2html ( $estilo, "estilo", $txt_namel ); + } + } else { + $html .= wms_layer2html ( $layer, "tema", "" ); + } + return $html; +} - ); - } - } - } - //exit; - return($res); -} - -function imprimeEstilos($es,$suporta,$retorna,$tval,$tituloalternativo) -{ - foreach($es as $e) - { - //$tval = $e["titulo"]; - $nomeestilo = $e["nome"]; - $nomecamada = $e["titulo"]; - //if($nomecamada == "default" || $nomecamada == "") - //{$nomecamada = $tituloalternativo;} - $tituloestilo = $e["titulo"]; - $retorna[] = "" . $nomeestilo." ".$tituloestilo."
"; - } - return $retorna; -} -function imprimeTag($r,$retorna) -{ - if(!$r["nome"]) - {$retorna[] = "
".$r["titulo"]."
";} - else - { - $retorna[] = "
"; - $retorna[] = "
".$r["nome"]."
"; - $retorna[] = "
".$r["titulo"]."
"; - $retorna[] = "
".$r["resumo"]."
"; - } - return $retorna; -} -function pegaTag($layer) -{ - //error_reporting(0); - $noslayer = $layer->childNodes; - $resultado = array( - "estiloas" => array(), - "tags" => array() - ); - for ($i = 0; $i < $noslayer->length; ++$i){ - $tnome = $noslayer->item($i)->tagName; - $tvalor = $noslayer->item($i)->nodeValue; - if($tnome){ - //echo "
".$tnome; - if ($tnome == "Title") - {$resultado["titulo"] = $tvalor;} - if ($tnome == "Name") - {$resultado["nome"] = $tvalor;} - if ($tnome == "Abstract") - {$resultado["resumo"] = $tvalor;} - - if ($tnome == "Style"){ - $ss = $noslayer->item($i)->childNodes; - $ssl = $ss->length; - $n = ""; - $t = ""; - for ($s = 0; $s < $ssl; $s++) - { - $snome = $ss->item($s)->tagName; - $svalor = $ss->item($s)->nodeValue; - if($snome) - { - if ($snome == "Title") - {$t=$svalor;} - if ($snome == "Name") - {$n=$svalor;} - } - } - //echo "";echo $n; - if($n != ""){ - array_push($resultado["estilos"],array("nome"=>$n,"titulo"=>$t)); - } - } - array_push($resultado["tags"],$tnome); - //echo "";var_dump($resultado); - } - } - return $resultado; -} - - -/* -temaswfs - -Lista os temas de um web service WFS. - -parameters: -$servico - Endereço do web service. - -$cp - Objeto CPAINT. -*/ -function temaswfs() -{ - global $servico,$cp; - $teste = explode("=",$servico); - if ( count($teste) > 1 ){$servico = $servico."&";} - $wms_service_request = $servico . "REQUEST=GetCapabilities&SERVICE=WFS"; - # ------------------------------------------------------------- - # Test that the capabilites file has successfully downloaded. - # - if( !($wms_capabilities = file($wms_service_request)) ) { - # Cannot download the capabilities file. - $cp->set_data("Erro de acesso"); - return; - } - $wms_capabilities = implode("",$wms_capabilities); - $dom = new DomDocument(); - $dom->loadXML($wms_capabilities); - $services = $dom->getElementsByTagName("Service"); - foreach ($services as $service) - { - $vs = $service->getElementsByTagName("Name"); - $serv = ""; - foreach ($vs as $v) - {$serv .= $v->nodeValue;} - } - $layers = $dom->getElementsByTagName("FeatureType"); - foreach ($layers as $layer) - { - $vs = $layer->getElementsByTagName("Title"); - $temp1 = ""; - foreach ($vs as $v) - {$temp1 .= $v->nodeValue;} - - $vs = $layer->getElementsByTagName("Abstract"); - $temp2 = ""; - foreach ($vs as $v) - {$temp2 .= $v->nodeValue;} - - $vs = $layer->getElementsByTagName("SRS"); - $temp3 = array(); - foreach ($vs as $v) - {$temp3[] = $v->nodeValue;} - $temp3 = implode("#",$temp3); - - $vs = $layer->getElementsByTagName("Name"); - $temp = ""; - foreach ($vs as $v) - {$temp .= $v->nodeValue;} - $temp = "" . $temp . "
"; - $retorno .= "
".$temp.$temp1."
".$temp2."
"; - } - $cp->set_data($retorno); -} -/* -Function: xml2html - -Converte caracteres XML em HTML. - -Parametro: - -$str {string} - Xml que será convertido - -Retorno: - -{string} -*/ -function xml2html ( $str ) -{ - $str = ereg_replace("&","&",$str); - $str = ereg_replace("<","<",$str); - $str = ereg_replace(">",">
",$str); - return $str; -} -/* -wms_descricao - -Retorna a descrição de um serviço (n�). -*/ -function wms_descricao ( $dom,$xp ) -{ - $xpath = new DOMXPath($dom); - $query = $xp; - $entries = $xpath->query($query); - $n = ""; - foreach ($entries as $entry) - { - $n = $entry->nodeValue; - } - return $n; -} -/* -wms_descricaov - -Retorna a descrição de um serviço (atributo). -*/ -function wms_descricaov ( $dom,$xp,$attrib ) -{ - $xpath = new DOMXPath($dom); - $query = $xp; - $entries = $xpath->query($query); - $n = ""; - foreach ($entries as $entry) - { - $n = $entry->getAttribute($attrib); - } - return $n; -} -/* -wms_descricaon - -Retorna a descrição de um serviço (filho de um n�). -*/ -function wms_descricaon ( $dom,$xp,$n ) { - $ctx = xpath_new_context($dom); - $xpnode = xpath_eval($ctx,$xp); - $dtnode = $xpnode->nodeset[$n]->first_child(); - return $dtnode->content; -} -/* -wms_title - -Retorna o título de um WMS. -*/ -function wms_title ( $dom ) { - # - # Read the WMS service title and return it as text. - # - $xpath = new DOMXPath($dom); - $query = '//WMT_MS_Capabilities/Service/Title'; - $entries = $xpath->query($query); - foreach ($entries as $entry){$nomeserv = $entry->nodeValue;} - return $nomeserv; -} -/* -wms_onlineresource - -Retorna o recurso on-line de um WMS. -*/ -function wms_onlineresource ( $dom ) { - # - # Read the WMS online resource URL and return it as text. - # - $xp = "/WMT_MS_Capabilities/Service/OnlineResource"; - $ctx = xpath_new_context($dom); - $xpnode = xpath_eval($ctx,$xp); - return $xpnode->nodeset[0]->get_attribute("href"); -} -/* -wms_formats - -Retorna os formatos de imagem de um WMS. -*/ -function wms_formats ( $dom ) -{ - $xpath = new DOMXPath($dom); - $query = '//WMT_MS_Capabilities/Capability/Request/GetMap/Format'; - $entries = $xpath->query($query); - if($entries == FALSE || $entries->length == 0){ - $teste = $xpath->registerNamespace("tag", "http://www.opengis.net/wms"); - $q = '/tag:WMS_Capabilities/tag:Capability/tag:Request/tag:GetMap/tag:Format'; - $entries = $xpath->query($q); - } - $arr = array(); - foreach ($entries as $entry) - { - $arr[] = $entry->nodeValue; - } - return $arr; -} -/* -wms_formatsinfo - -Retorna os formatos existentes de retorno da opção getfeatureinfo. -*/ -function wms_formatsinfo ( $dom ) -{ - $xpath = new DOMXPath($dom); - $query = '//WMT_MS_Capabilities/Capability/Request/GetFeatureInfo/Format'; - $entries = $xpath->query($query); - if($entries == FALSE || $entries->length == 0){ - $teste = $xpath->registerNamespace("tag", "http://www.opengis.net/wms"); - $q = '/tag:WMS_Capabilities/tag:Capability/tag:Request/tag:GetCapabilities/tag:Format'; - $entries = $xpath->query($q); - } - $arr = array(); - foreach ($entries as $entry) - { - $arr[] = $entry->nodeValue; - } - return $arr; -} -/* -wms_estilos - -Retorna os estilos de um WMS. -*/ -function wms_estilos ( $dom ) { - # - # Read the WMS image formats and return them as an array. - # - //$xp = "/Style"; - //$ctx = xpath_new_context($dom); - //$xpnode = xpath_eval($ctx,$xp); - //return $xpnode->nodeset; - $return = $dom->getElementsByTagName("Style"); - -} -/* -wms_exceptions - -Retorna as exceptions de um WMS. -*/ -function wms_exceptions ( $dom ) { - # - # Read the WMS exception formats and return them as an array. - # - $xp = "/WMT_MS_Capabilities/Capability/Exception/Format"; - $ctx = xpath_new_context($dom); - $xpnode = xpath_eval($ctx,$xp); - $arr = array(); - for( $i = 0; $i < sizeof($xpnode->nodeset); ++$i ) { - $dtnode = $xpnode->nodeset[0]->first_child(); - array_push($arr,$dtnode->content); - } - return $arr; -} -/* -wms_version - -Retorna a versao. -*/ -function wms_version ( $dom ) -{ - $n = $dom->getElementsByTagName('WMT_MS_Capabilities'); - $params = $dom->getElementsByTagName('*'); - - foreach ($params as $param) { - $v = $param -> getAttribute('version'); - break; - } - return $v; -} -/* -wms_layers - -Retorna os layers de um WMS. -*/ -function wms_layers ( $dom ) { - # - # Read the WMS first level layers and return an - # array of nodes. - # - $xpath = new DOMXPath($dom); - $query = '//WMT_MS_Capabilities/Capability/Layer/Layer/Layer'; - $entries = $xpath->query($query); - if ($entries->length == 0) - { - $query = '//WMT_MS_Capabilities/Capability/Layer'; - $entries = $xpath->query($query); - } - else - { - $query = '//WMT_MS_Capabilities/Capability/Layer/Layer'; - $entries = $xpath->query($query); - } - return $entries; -} -/* -wms_xpnode2content - -Read the content child node of an element tag node WMS. -*/ -function wms_xpnode2content( $xp_node ) { - # - # Read the content child node of an element tag - # node. - # - $content = ""; - if( $xp_node->nodeset[0] ) { - $node = $xp_node->nodeset[0]->first_child(); - $content = $node->content; - } - return $content; -} -/* -wms_srs - -Retorna os SRSs WMS. -*/ -function wms_srs( $dom ) -{ - $xpath = new DOMXPath($dom); - $query = '//WMT_MS_Capabilities/Capability/Layer/SRS'; - $entries = $xpath->query($query); - if($entries == FALSE || $entries->length == 0){ - $teste = $xpath->registerNamespace("tag", "http://www.opengis.net/wms"); - $q = '/tag:WMS_Capabilities/tag:Capability/tag:Layer/tag:CRS'; - $entries = $xpath->query($q); - } - - $srs = ""; - //utiliza apenas os epsg do Brasil - $single = array(); - foreach ($entries as $entry) - { - $arr[] = $entry->nodeValue; - if ($entry->nodeValue == "CRS:84") - {$single[] = "CRS:84";} - if ($entry->nodeValue == "EPSG:4326") - {$single[] = "EPSG:4326";} - if ($entry->nodeValue == "EPSG:4618") - {$single[] = "EPSG:4618";} - } - if (count($single) > 0) - {$arr = $single;} - return $arr; -} -/* -wms_bbox - -Retorna o BBOX de um WMS. -*/ -function wms_bbox( $dom ) -{ - $xpath = new DOMXPath($dom); - $query = '//WMT_MS_Capabilities/Capability/Layer/LatLonBoundingBox'; - $entries = $xpath->query($query); - foreach ($entries as $entry){$bbox = $entry->nodeValue;} - if ($bbox == '-1,-1,-1,-1') - {return '-180,-90,180,90';} - else - {return wms_bbox2txt($bbox);} -} -/* -wms_bbox2txt - -Convert a BoundingBox node into a text string de um wms. -*/ -function wms_bbox2txt( $node ) { - # - # Convert a BoundingBox node into a text string. - # - if( $node ) { - $txt .= 1 * $node->get_attribute("minx"); - $txt .= ","; - $txt .= 1 * $node->get_attribute("miny"); - $txt .= ","; - $txt .= 1 * $node->get_attribute("maxx"); - $txt .= ","; - $txt .= 1 * $node->get_attribute("maxy"); - } - else { - $txt = "-180,-90,180,90"; - } - return $txt; -} -/* -wms_layer2html - -Convert a Layer node into an HTML representation wms. -*/ -function wms_layer2html( $node, $tipo , $layer ) { - # - # Convert a Layer node into an HTML representation. - # - $ctx = xpath_new_context($node); - $xp_title = xpath_eval($ctx,"/Title"); - $xp_name = xpath_eval($ctx,"/Name"); - if (wms_xpnode2content($xp_name) == ""){$xp_name = xpath_eval($ctx,"/name");} - $xp_srs = xpath_eval($ctx,"/SRS"); - $xp_llbbox = xpath_eval($ctx,"/LatLonBoundingBox"); - $xp_bbox = xpath_eval($ctx,"/BoundingBox"); - $txt_title = wms_xpnode2content($xp_title); - $txt_name = wms_xpnode2content($xp_name); - $txt_srs = strtoupper(wms_xpnode2content($xp_srs)); - $node_llbbox = $xp_llbbox->nodeset[0]; - $node_bbox = $xp_bbox->nodeset[0]; - $queryable = 0; - if ( $node->get_attribute("queryable") ) { - $queryable = 1; - } - $opaque = 0; - if ( $node->get_attribute("opaque") ) { - $opaque = 1; - } - //legenda - $xp_legenda = xpath_eval($ctx,"/LegendURL/OnlineResource"); - $nodelegenda = $xp_legenda->nodeset[0]; - if($nodelegenda) - { $legenda = $nodelegenda->get_attribute("href");} - - $html = ""; - $html .= " "; - $html .= $txt_title . "\n"; - $html .= wms_hidden("bbox_$txt_name", wms_bbox2txt($node_bbox)); - $html .= wms_hidden("llbox_$txt_name", wms_bbox2txt($node_llbbox)); - $html .= wms_hidden("srs_$txt_name", $txt_srs); - $html .= wms_hidden("query_$txt_name", $queryable ); - $html .= wms_hidden("opaque_$txt_name", $opaque ); - $html .= "
"; - return $html; -} -/* -wms_layer3html - -Convert a Layer node into an HTML representation sem radio. -*/ -function wms_layer3html( $node ) { - # - # Convert a Layer node into an HTML representation sem radio. - # - $ctx = xpath_new_context($node); - $xp_title = xpath_eval($ctx,"/Title"); - $xp_abs = xpath_eval($ctx,"/Abstract"); - $txt_title = wms_xpnode2content($xp_title); - $txt_abs = wms_xpnode2content($xp_abs); - $html .= "".$txt_title . "" . "-" . $txt_abs . "\n"; - $html .= "
"; - return $html; -} -/* -wms_layer4html - -Convert a Layer into an HTML WMS. -*/ -function wms_layer4html( $layer ) { - $estilos = wms_estilos($layer); - if (count($estilos) > 0) - { - $ctxl = xpath_new_context($layer); - $xp_namel = xpath_eval($ctxl,"/Name"); - if (wms_xpnode2content($xp_namel) == ""){$xp_namel = xpath_eval($ctxl,"/name");} - $txt_namel = wms_xpnode2content($xp_namel); - $html .= wms_layer3html($layer); - foreach ($estilos as $estilo) - { - $html .= wms_layer2html($estilo,"estilo",$txt_namel); - } - } - else - { - $html .= wms_layer2html($layer,"tema",""); - } - return $html; -} - ?> diff --git a/css/i3geo7.css.php b/css/i3geo7.css.php old mode 100644 new mode 100755 index bec61fe..bec61fe --- a/css/i3geo7.css.php +++ b/css/i3geo7.css.php diff --git a/ferramentas/conectargeorss/dicionario.js b/ferramentas/conectargeorss/dicionario.js index 87adca6..5e9ee5c 100755 --- a/ferramentas/conectargeorss/dicionario.js +++ b/ferramentas/conectargeorss/dicionario.js @@ -31,7 +31,7 @@ i3GEOF.conectargeorss.dicionario = { es : "" } ], 'sel' : [ { - pt : "Digite o endereço do serviço ou escolha da lista abaixo. Utilize as guias acima para ver o resultado da conexão", + pt : "Digite o endereço do serviço ou escolha da lista abaixo", en : "", es : "" } ] diff --git a/ferramentas/conectargeorss/index.js b/ferramentas/conectargeorss/index.js index 4c4ae3d..dbba8f3 100755 --- a/ferramentas/conectargeorss/index.js +++ b/ferramentas/conectargeorss/index.js @@ -168,8 +168,12 @@ i3GEOF.conectargeorss = { if (retorno.data != undefined){ retorno = retorno.data; for (i=0;i " + - ""; + ins += ""; } $i("resultadoget").innerHTML = ins; } diff --git a/ferramentas/conectarservicos/index.js b/ferramentas/conectarservicos/index.js index adca57c..b6ac7de 100755 --- a/ferramentas/conectarservicos/index.js +++ b/ferramentas/conectarservicos/index.js @@ -75,26 +75,10 @@ i3GEOF.conectarservicos = ); }, wms: function(){ - i3GEO.janela.cria( - "440px", - "400px", - i3GEO.configura.locaplic + "/ferramentas/conectarwms/index.htm", - "", - "", - "" + $trad("a4") + "", - "i3GEO.conectarwms", - false, - "hd", - "", - "", - "", - false, - "", - "", - "nao", - "", - "28" - ); + i3GEO.util.scriptTag(i3GEO.configura.locaplic + + "/ferramentas/conectarwms/dependencias.php", + "i3GEOF.conectarwms.iniciaJanelaFlutuante()", + "i3GEOF.conectarwms_script"); }, kml: function() { i3GEO.util.scriptTag(i3GEO.configura.locaplic diff --git a/ferramentas/conectarwms/dependencias.php b/ferramentas/conectarwms/dependencias.php new file mode 100755 index 0000000..bf71bc2 --- /dev/null +++ b/ferramentas/conectarwms/dependencias.php @@ -0,0 +1,24 @@ + ou com a funcao scripttag do i3Geo + * Alem de carregar os scripts, carrega tambem o template no formato MUSTACHE, definindo a variavel + * javascript i3GEOF.carregakml.MUSTACHE + * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta + */ +if(extension_loaded('zlib')){ + ob_start('ob_gzhandler'); +} +header("Content-type: text/javascript"); +include("index.js"); +include("dicionario.js"); +echo "\n"; + +if(extension_loaded('zlib')){ + ob_end_flush(); +} +?> \ No newline at end of file diff --git a/ferramentas/conectarwms/dicionario.js b/ferramentas/conectarwms/dicionario.js index 0608bfe..a5a26d4 100755 --- a/ferramentas/conectarwms/dicionario.js +++ b/ferramentas/conectarwms/dicionario.js @@ -20,6 +20,16 @@ i3GEOF.conectarwms.dicionario = { en : "", es : "Servicio no definido" } ], + 'listaLayers' : [ { + pt : "Lista as camadas do WMS", + en : "", + es : "" + } ], + 'sel' : [ { + pt : "Digite o endereço do serviço ou escolha da lista abaixo", + en : "", + es : "" + } ], 5 : [ { pt : "Ooops! Problemas ao acessar o serviço.", en : "", diff --git a/ferramentas/conectarwms/exec.php b/ferramentas/conectarwms/exec.php new file mode 100755 index 0000000..9e3180d --- /dev/null +++ b/ferramentas/conectarwms/exec.php @@ -0,0 +1,34 @@ +adicionaTemaGeoRSS> +*/ + case "ADICIONATEMAGEORSS": + include_once(dirname(__FILE__)."/../../classesphp/classe_mapa.php"); + $m = new Mapa($map_file); + $retorno = $m->adicionaTemaGeoRSS($_GET["servico"],$dir_tmp,$locaplic,$_GET["canal"]); + if ($retorno != "erro"){ + $m->salva(); + $_SESSION["contadorsalva"]++; + redesenhaMapa(); + } + else{ + $retorno = "erro.Nenhum dado espacializado foi encontrado."; + } + break; +} +if(isset($map_file) && isset($postgis_mapa) && $map_file != ""){ + restauraCon($map_file,$postgis_mapa); +} +cpjson($retorno); +?> \ No newline at end of file diff --git a/ferramentas/conectarwms/imagens/rss.gif b/ferramentas/conectarwms/imagens/rss.gif deleted file mode 100755 index 977abd1..0000000 Binary files a/ferramentas/conectarwms/imagens/rss.gif and /dev/null differ diff --git a/ferramentas/conectarwms/index.htm b/ferramentas/conectarwms/index.htm deleted file mode 100755 index 9ffee1b..0000000 --- a/ferramentas/conectarwms/index.htm +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - -" + + "" + + "-- --
-- -
-- - Serviços - --- -
-- - Metadados - --- - -
---- Veja como criar web services no ARCIMS -
-- Veja como utilizar web services no ARCGIS -
-Digite o endereço do serviço ou escolha da lista abaixo. Utilize as guias acima para ver o resultado da conexão. Por padrão, utiliza-se a versão - 1.1.0 do GetCapabilities. Você pode adicionar um outro, bastando incluir no endereço do serviço "&version=1.3.0" por exemplo.
- -- -- -- --
- ---- -
- --- -- Após a conexão ser estabelecida e surgir a lista de temas, selecione a camada que será adicionada ao mapa. -
- - -
-Aguarde...- - - - - diff --git a/ferramentas/conectarwms/index.js b/ferramentas/conectarwms/index.js index d1e3e06..b7a8578 100755 --- a/ferramentas/conectarwms/index.js +++ b/ferramentas/conectarwms/index.js @@ -1,319 +1,319 @@ -/* -Title: Conexão com WMS - -Acrescenta ao mapa um novo tema com base em um endereço de WMS - -O usuário pode indicar o endereço ou escolher de uma lista. A lista é pré-definida por meio do sistema de administração -do i3Geo. - -Veja: - -- -Arquivo: - -i3geo/ferramentas/conectarwms/index.js - -Licenca: - -GPL2 - -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet - -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com - -Este programa é software livre; você pode redistribuí-lo -e/ou modificá-lo sob os termos da Licença Pública Geral -GNU conforme publicada pela Free Software Foundation; - -Este programa é distribuído na expectativa de que seja útil, -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. -Consulte a Licença Pública Geral do GNU para mais detalhes. -Você deve ter recebido uma cópia da Licença Pública Geral do -GNU junto com este programa; se não, escreva para a -Free Software Foundation, Inc., no endereço -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. -*/ -//variaveis globais -g_tipo = ""; //tipo de tema -g_tema = ""; //tema selecionado do ws -g_legenda = ""; //legenda do tema -g_nometema = ""; //nome do tema -g_idws = ""; -g_sid = window.parent.i3GEO.configura.sid; -var g_tipows = "";//obtido do mapfile -//ativaGuias(""); -//mostraGuia("guia1"); -i3GEO.guias.mostraGuiaFerramenta("guia1"); -if($i("guia1")){ - $i("guia1").onclick = function(){ - //mostraGuia("guia1"); - i3GEO.guias.mostraGuiaFerramenta("guia1"); - $i("resultadoget").innerHTML = ""; - }; +if(typeof(i3GEOF) === 'undefined'){ + var i3GEOF = {}; } -if($i("guia2")){ - $i("guia2").onclick = function(){clickGuia2();}; -} -if($i("guia3")){ - $i("guia3").onclick = function(){clickGuia3();}; -} -function aguarde(valor){ - if(document.getElementById("aguarde")) - document.getElementById("aguarde").style.display = valor; -} -/* -Function: listaRSS - -Monta a lista de serviços WMS cadastrados no sistema de administração do i3Geo - -Veja: - - -Parametros: - -g_RSS {Array} - array com a lista de RSS que contém a lista de WMS cadastrados. Se for um array com um único elemento vazio, -será utilizado o endereço default do i3GEO (g_RSS = new Array("")) - -onde {Stribg} - id do elemento HTML que receberá a lista de endereços formatada -*/ -function listaRSS(g_RSS,onde) -{ - var mostraRetornoRSS = function(retorno){ - aguarde("none"); - var reg = /Erro/gi; - if (retorno.data.rss.search(reg) != -1) - { - i3GEO.janela.tempoMsg($trad('erro',i3GEOF.conectarwms.dicionario)+"\n"+retorno.data); - return; - } - var canais = retorno.data.canais; - var ncanais = canais.length; - var ins = "
"+retorno.data.rss; - for (var i=0;i\"+caso.title+"\<\/b\> "+caso.description+" ("+caso.author+")"; - if(caso.nacessos > 0) - { - var pc = (parseInt(caso.nacessosok) * 100) / parseInt(caso.nacessos); - ins += " \("+$trad('disponibilidade',i3GEOF.conectarwms.dicionario)+": "+pc+"%, "+$trad('acessos',i3GEOF.conectarwms.dicionario)+": "+caso.nacessos+")\<\/span>\<\/p\>"; +/* +Classe: i3GEOF.conectarwmsi3GEOF.conectarwms + */ +i3GEOF.conectarwms = { + IDWS: "", + TIPO: "", + TIPOWS: "WMS", + TEMA: "", + LEGENDA: "", + NOMETEMA: "", + /* + Variavel: aguarde + + Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. + */ + aguarde: "", + /** + * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php + */ + MUSTACHE : "", + /** + * Susbtitutos para o template + */ + mustacheHash : function() { + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.conectarwms.dicionario); + return dicionario; + }, + /* + Function: inicia + + Inicia a ferramenta. É chamado por criaJanelaFlutuante + + Parametro: + + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta + */ + inicia: function(iddiv){ + if(i3GEOF.conectarwms.MUSTACHE == ""){ + $.get(i3GEO.configura.locaplic + "/ferramentas/conectarwms/template_mst.html", function(template) { + i3GEOF.conectarwms.MUSTACHE = template; + i3GEOF.conectarwms.inicia(iddiv); + }); + return; } - } - document.getElementById(onde).innerHTML = ins+"
"; - }; - if (document.getElementById(onde)) - { - if (g_RSS.length > 0) - { - var p = "../../classesphp/wscliente.php?funcao=listaRSSwsARRAY&rss="+g_RSS.join("|")+"&tipo=GEORSS"; + $i(iddiv).innerHTML = i3GEOF.conectarwms.html(); + var b, monta = function(retorno){ + if (retorno.data.rss.search(/Erro/gi) != -1){ + i3GEO.janela.tempoMsg("OOps! Ocorreu um erro\n"+retorno.data); + return; + } + var canais = retorno.data.canais; + var ncanais = canais.length; + var i, ins = ""; + ins += ""; + document.getElementById("RSSgeo").innerHTML = ins; + }; + + var p = i3GEO.configura.locaplic + "/classesphp/wscliente.php?funcao=listaRSSwsARRAY&rss=&tipo=WMS"; var cp = new cpaint(); - //cp.set_debug(2) cp.set_response_type("JSON"); - cp.call(p,"listaRSSwsARRAY",mostraRetornoRSS); - } - } -} -/* -Function: getcapabilities - -Abre uma nova janela com o resultado da chamada GETCAPABILITIES sobre o WMS escolhido -*/ -function getcapabilities() -{ - if ($i("servico").value == ""){i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario));} - else - {window.open($i("servico").value+"&service=wms&request=getcapabilities&version=1.1.1");} -} -/* -Function: clickGuia2 - -Mostra as principais informações sobre o WMS escolhido tendo como fonte o getcapabilities - -Veja: - --*/ -function clickGuia2() -{ - //mostraGuia("guia2"); - i3GEO.guias.mostraGuiaFerramenta("guia2"); - if ($i("servico").value == ""){i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario));} - else - { - var metadados = function(retorno){ - if (retorno.data != undefined) - { - aguarde("none"); - $i("resultadoget").innerHTML = retorno.data; + cp.call(p,"listaRSSwsARRAY",monta); + }, + /* + Function: html + + Gera o código html para apresentação das opções da ferramenta + + Retorno: + + String com o código html + */ + html:function() { + var ins = Mustache.render(i3GEOF.conectarwms.MUSTACHE, i3GEOF.conectarwms.mustacheHash()); + return ins; + }, + /* + Function: iniciaJanelaFlutuante + + Cria a janela flutuante para controle da ferramenta. + */ + iniciaJanelaFlutuante: function(){ + var minimiza,cabecalho,janela,divid,titulo; + if($i("i3GEOF.conectarwms")){ + return; } - else - { - aguarde("none"); - $i("resultadoget").innerHTML = " "+$trad('erro',i3GEOF.conectarwms.dicionario)+"
"; + //cria a janela flutuante + minimiza = function(){ + i3GEO.janela.minimiza("i3GEOF.conectarwms",200); + }; + titulo = "" + $trad("a4") + ""; + janela = i3GEO.janela.cria( + "600px", + "500px", + "", + "", + "", + titulo, + "i3GEOF.conectarwms", + false, + "hd", + "", + minimiza, + "", + true, + "", + "", + "", + "", + "28" + ); + divid = janela[2].id; + i3GEOF.conectarwms.aguarde = $i("i3GEOF.conectarwms_imagemCabecalho").style; + $i("i3GEOF.conectarwms_corpo").style.backgroundColor = "white"; + i3GEOF.conectarwms.inicia(divid); + }, + adiciona: function(id){ + var url, temp, cp, p; + if(i3GEOF.conectarwms.aguarde.visibility === "visible"){ + return; } - }; - $i("guia2obj").style.display="block"; - aguarde("block"); - var p = "../../classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=getcapabilities2&servico="+$i("servico").value; - var cp = new cpaint(); - //cp.set_debug(2) - cp.set_response_type("JSON"); - cp.call(p,"getcapabilities2",metadados); - } -} -/* -Function: clickGuia3 - -Lista as camadas existentes no WMS escolhido. - -O resultado da chamada em PHP é uma string HTML já formatada. O "radio" aponta para a função "adiciona" - -Veja: - --*/ -function clickGuia3(codLayer) -{ - //mostraGuia("guia3"); - i3GEO.guias.mostraGuiaFerramenta("guia3"); - var listatemas = function(retorno){ - g_idws = ""; - aguarde("none"); - if ((retorno.data != "erro") && (retorno.data != undefined)){ - $i("listatemas").innerHTML = retorno.data; - g_tipo = ""; //tipo de tema - g_tema = ""; //tema selecionado do ws - g_legenda = ""; //legenda do tema - g_nometema = ""; //nome do tema - g_sld = ""; - if ($i("suportasld")){ - if ($i("suportasld").value != "nao") { - if ($i("textoSLD")) - $i("textoSLD").style.display = "block"; + if($i("servicoWms").value !== ""){ + i3GEOF.conectarwms.aguarde.visibility = "visible"; + temp = function(retorno){ + i3GEOF.conectarwms.aguarde.visibility = "hidden"; + i3GEO.atualiza(); + }; + cp = new cpaint(); + cp.set_response_type("JSON"); + p = i3GEO.configura.locaplic+"/ferramentas/conectarwms/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=adicionaTemaGeoRSS&canal="+id+"&servico="+$i("servicoWms").value; + cp.call(p,"foo",temp); + } + }, + listaLayers: function(codLayer){ + if(i3GEOF.conectarwms.aguarde.visibility === "visible"){ + return; + } + var listatemas = function(retorno){ + i3GEOF.conectarwms.aguarde.visibility = "hidden"; + i3GEOF.conectarwms.IDWS = ""; + if ((retorno.data != "erro") && (retorno.data != undefined)){ + $i("resultadoget").innerHTML = retorno.data; + i3GEOF.conectarwms.TIPO = ""; //tipo de tema + i3GEOF.conectarwms.TEMA = ""; //tema selecionado do ws + i3GEOF.conectarwms.LEGENDA = ""; //legenda do tema + i3GEOF.conectarwms.NOMETEMA = ""; //nome do tema + g_sld = ""; + if ($i("suportasld")){ + if ($i("suportasld").value != "nao") { + if ($i("textoSLD")) + $i("textoSLD").style.display = "block"; + } + } + //ativa um layer caso tenha sido enviado como um parametro no inicio da ferramenta + i3GEOF.conectarwms.ativaAutoLayer(codLayer); + } + else{ + $i("resultadoget").innerHTML = " "+$trad('erro',i3GEOF.conectarwms.dicionario)+"
"; } + }; + if ($i("servicoWms").value == ""){ + i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario)); } - //ativa um layer caso tenha sido enviado como um parametro no inicio da ferramenta - ativaAutoLayer(codLayer); - } - else{ - //$i("listatemas").innerHTML = "erro"; - } - }; - if ($i("servico").value == ""){ - i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario)); - } - else - { - $i("listatemas").innerHTML = ""; - aguarde("block"); - var p = "../../classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=temaswms&id_ws="+g_idws+"&servico="+$i("servico").value; - var cp = new cpaint(); - //cp.set_debug(2) - cp.set_response_type("JSON"); - cp.call(p,"temaswms",listatemas); - } -} -function ativaAutoLayer(codLayer){ - if(codLayer && codLayer != ""){ - var container, rs, nrs, i, r, codLayer1; - codLayer1 = codLayer.split(":"); - if(codLayer1.length > 0){ - codLayer1 = codLayer1[1]; - } - else{ - codLayer1 = codLayer1[0]; - } - container = $i("listatemas"); - if(container){ - rs = container.getElementsByTagName("input"); - nrs = rs.length; - - for(i = 0; i < nrs; i++){ - r = rs[i]; - if(r.type === "radio" && (r.value === codLayer || r.value === codLayer1)){ - r.onclick.call(); - r.checked = true; - r.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.scrollIntoView(true); + else{ + $i("resultadoget").innerHTML = ""; + i3GEOF.conectarwms.aguarde.visibility = "visible"; + var p = i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=temaswms&id_ws="+i3GEOF.conectarwms.IDWS+"&servico="+$i("servicoWms").value; + var cp = new cpaint(); + cp.set_response_type("JSON"); + cp.call(p,"temaswms",listatemas); + } + }, + registraws: function(nome,id_ws,tipo){ + $i("servicoWms").value = nome; + if(arguments.length == 2){ + i3GEOF.conectarwms.IDWS = id_ws; + } + else { + i3GEOF.conectarwms.IDWS = ""; + } + i3GEOF.conectarwms.listaLayers(); + + i3GEOF.conectarwms.TIPO = ""; //tipo de tema + i3GEOF.conectarwms.TIPOWS = "WMS"; //tipo de servico + i3GEOF.conectarwms.TEMA = ""; //tema selecionado do ws + i3GEOF.conectarwms.LEGENDA = ""; //legenda do tema + i3GEOF.conectarwms.NOMETEMA = ""; //nome do tema + if(tipo){ + i3GEOF.conectarwms.TIPOWS = tipo; + } + i3GEOF.conectarwms.listaLayers(); + }, + montaCanais: function(retorno){ + var i,ins = ""+ $trad('selecionaItem',i3GEOF.conectarwms.dicionario)+"
"; + i3GEOF.conectarwms.aguarde.visibility = "hidden"; + if (retorno.data != undefined){ + retorno = retorno.data; + for (i=0;i " + + ""; + } + $i("resultadoget").innerHTML = ins; + } + else{ + $i("resultadoget").innerHTML = ""+$trad('erro',i3GEOF.conectarwms.dicionario)+"
"; + } + }, + ativaAutoLayer: function (codLayer){ + if(codLayer && codLayer != ""){ + var container, rs, nrs, i, r, codLayer1; + codLayer1 = codLayer.split(":"); + if(codLayer1.length > 0){ + codLayer1 = codLayer1[1]; + } + else{ + codLayer1 = codLayer1[0]; + } + container = $i("resultadoget"); + if(container){ + rs = container.getElementsByTagName("input"); + nrs = rs.length; + + for(i = 0; i < nrs; i++){ + r = rs[i]; + if(r.type === "radio" && (r.value === codLayer || r.value === codLayer1)){ + r.onclick.call(); + r.checked = true; + r.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.scrollIntoView(true); + } + } + } + } + }, + seltema: function(tipo,tema,legenda,nometema,nomecamada,sldflag){ + i3GEOF.conectarwms.TIPO = tipo; //tipo de tema + i3GEOF.conectarwms.TIPOWS = "WMS"; //tipo de servico + i3GEOF.conectarwms.TEMA = tema; //tema selecionado do ws + i3GEOF.conectarwms.LEGENDA = legenda; //legenda do tema + + if (tema != ""){ + var retorno = function(retorno){ + i3GEOF.conectarwms.aguarde.visibility = "hidden"; + if(retorno.data != "ok"){ + i3GEO.janela.tempoMsg($trad('erro2',i3GEOF.conectarwms.dicionario));aguarde("none"); + } + else{ + i3GEO.atualiza(); + } + }; + i3GEOF.conectarwms.aguarde.visibility = "visible"; + var tiporep = ""; + if($i("tiporep")){ + tiporep = $i("tiporep").value; + } + var url = i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid; + if($i("servicoWms").value.split("?").length === 1){ + $i("servicoWms").value = $i("servicoWms").value+"?"; + } + if($i("proj").value === ""){ + $i("proj").value = "EPSG:4326"; + } + var p = "&funcao=adicionatemawms&servico="+$i("servicoWms").value+"&tema="+i3GEOF.conectarwms.tema+"&nome="+nometema+"&proj="+$i("proj").value+"&formato="+$i("formatos").value+"&tipo="+tipo+"&versao="+$i("versao").value+"&nomecamada="+nomecamada+"&tiporep="+tiporep+"&suportasld="+sldflag+"&formatosinfo="+$i("formatosinfo").value; + if(g_tipows == "WMS-Tile"){ + p += "&tile=1"; + } + else{ + p += "&tile=0"; } + var cp = new cpaint(); + cp.set_transfer_mode("POST"); + cp.set_response_type("JSON"); + cp.call(url,"adicionatemawms",retorno,p); } } - } -} - -/* -Function: registraws - -Armazena em variáveis locais os parametros do WMS escolhido e ativa a guia 3, mostrando a lista de camadas disponíveis - -Parametros: - -nome {string} - nome do WMS - -id_ws {String} - id do WMS -*/ -function registraws(nome,id_ws,tipo) -{ - $i("servico").value = nome; - g_tipo = ""; //tipo de tema - g_tipows = "WMS"; //tipo de servico - g_tema = ""; //tema selecionado do ws - g_legenda = ""; //legenda do tema - g_nometema = ""; //nome do tema - if(arguments.length == 2) - g_idws = id_ws; - else - g_idws = ""; - if(tipo){ - g_tipows = tipo; - } - clickGuia3(); -} -/* -Function: seltema - -Inclui um LAYER, escolhido de um WMS, no mapa atual - -Veja: - -- -*/ -function seltema(tipo,tema,legenda,nometema,nomecamada,sldflag) -{ - g_tipo = tipo; //tipo de tema - g_tema = tema; //tema selecionado do ws - g_legenda = legenda; //legenda do tema - g_nometema = nometema; //nome do tema - g_nomecamada = nomecamada; //nome que vai na legenda - g_sld = sldflag; //suporta ou nao sld - if (g_tema != "") - { - var retorno = function(retorno) - { - aguarde("none"); - if(retorno.data != "ok") - {i3GEO.janela.tempoMsg($trad('erro2',i3GEOF.conectarwms.dicionario));aguarde("none");} - else - {window.parent.i3GEO.atualiza();} +}; +function seltema (tipo,tema,legenda,nometema,nomecamada,sldflag){ + i3GEOF.conectarwms.TIPO = tipo; //tipo de tema + i3GEOF.conectarwms.TEMA = tema; //tema selecionado do ws + i3GEOF.conectarwms.LEGENDA = legenda; //legenda do tema + + if (tema != ""){ + var retorno = function(retorno) { + if(retorno.data != "ok"){ + i3GEO.janela.tempoMsg($trad('erro2',i3GEOF.conectarwms.dicionario)); + } + else{ + i3GEO.atualiza(); + } }; - aguarde("block"); + var tiporep = ""; if($i("tiporep")){ tiporep = $i("tiporep").value; } - var url = "../../classesphp/mapa_controle.php?g_sid="+g_sid; - if($i("servico").value.split("?").length === 1){ - $i("servico").value = $i("servico").value+"?"; + var url = i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid; + if($i("servicoWms").value.split("?").length === 1){ + $i("servicoWms").value = $i("servicoWms").value+"?"; } if($i("proj").value === ""){ $i("proj").value = "EPSG:4326"; } - var p = "&funcao=adicionatemawms&servico="+$i("servico").value+"&tema="+g_tema+"&nome="+g_nometema+"&proj="+$i("proj").value+"&formato="+$i("formatos").value+"&tipo="+g_tipo+"&versao="+$i("versao").value+"&nomecamada="+g_nomecamada+"&tiporep="+tiporep+"&suportasld="+g_sld+"&formatosinfo="+$i("formatosinfo").value; - if(g_tipows == "WMS-Tile"){ + var p = "&funcao=adicionatemawms&servico="+$i("servicoWms").value+"&tema="+tema+"&nome="+nometema + +"&proj="+$i("proj").value+"&formato="+$i("formatos").value + +"&tipo="+tipo+"&versao="+$i("versao").value + +"&nomecamada="+nomecamada+"&tiporep="+tiporep+"&suportasld="+sldflag+"&formatosinfo="+$i("formatosinfo").value; + if(i3GEOF.conectarwms.TIPOWS == "WMS-Tile"){ p += "&tile=1"; } else{ @@ -321,41 +321,7 @@ function seltema(tipo,tema,legenda,nometema,nomecamada,sldflag) } var cp = new cpaint(); cp.set_transfer_mode("POST"); - //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(url,"adicionatemawms",retorno,p); } -} -/* -Function abrejanelaIframe - -Abre uma janela flutuante contendo um iframe - -Parametros: - -w {string} - largura - -h {string} - altura - -s {string} - src do iframe -*/ -function abrejanelaIframe(){ - var s = "../../admin/html/webservices.html?tipo=wms"; - var janelaeditor = i3GEO.janela.cria( - "1000", - "500", - s, - parseInt(Math.random()*100,10), - 10, - s, - "janela"+window.parent.i3GEO.util.randomRGB(), - false, - "hd", - "", - "", - "", - true, - window.parent.i3GEO.configura.locaplic+"/imagens/oxygen/16x16/application-x-smb-workgroup.png" - ); - YAHOO.util.Event.addListener(janelaeditor[0].close, "click", iniciaListaWS,janelaeditor[0].panel,{id:janelaeditor[0].id},true); -} \ No newline at end of file +}; \ No newline at end of file diff --git a/ferramentas/conectarwms/listalayers.php b/ferramentas/conectarwms/listalayers.php deleted file mode 100755 index 01d06f5..0000000 --- a/ferramentas/conectarwms/listalayers.php +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - -- -" /> - - - - - - - diff --git a/ferramentas/conectarwms/template_mst.html b/ferramentas/conectarwms/template_mst.html new file mode 100755 index 0000000..d7050c0 --- /dev/null +++ b/ferramentas/conectarwms/template_mst.html @@ -0,0 +1,11 @@ +- Aguarde... --+\ No newline at end of file diff --git a/ferramentas/conectarwmsxxx/dicionario.js b/ferramentas/conectarwmsxxx/dicionario.js new file mode 100755 index 0000000..0608bfe --- /dev/null +++ b/ferramentas/conectarwmsxxx/dicionario.js @@ -0,0 +1,28 @@ +//+$trad(1,i3GEOF.conectarwms.dicionario)+ +i3GEOF.conectarwms.dicionario = { + 'erro' : [ { + pt : "Oops! Ocorreu um erro", + en : "", + es : "¡Oops! Ocurrió un error" + } ], + 'disponibilidade' : [ { + pt : "disponibilidade", + en : "", + es : "disponibilidad" + } ], + 'acessos' : [ { + pt : "acessos considerados", + en : "", + es : "Accesos considerados" + } ], + 'servico' : [ { + pt : "Serviço não definido", + en : "", + es : "Servicio no definido" + } ], + 5 : [ { + pt : "Ooops! Problemas ao acessar o serviço.", + en : "", + es : "¡Oops! Problemas para acceder al servicio." + } ] +}; \ No newline at end of file diff --git a/ferramentas/conectarwmsxxx/imagens/rss.gif b/ferramentas/conectarwmsxxx/imagens/rss.gif new file mode 100755 index 0000000..977abd1 Binary files /dev/null and b/ferramentas/conectarwmsxxx/imagens/rss.gif differ diff --git a/ferramentas/conectarwmsxxx/index.htm b/ferramentas/conectarwmsxxx/index.htm new file mode 100755 index 0000000..9ffee1b --- /dev/null +++ b/ferramentas/conectarwmsxxx/index.htm @@ -0,0 +1,141 @@ + + + + + + + + + + + ++ + +++ ++ + +++ ++
+- +
++ + Serviços + ++- +
++ + Metadados + ++- + +
++++ Veja como criar web services no ARCIMS +
++ Veja como utilizar web services no ARCGIS +
+Digite o endereço do serviço ou escolha da lista abaixo. Utilize as guias acima para ver o resultado da conexão. Por padrão, utiliza-se a versão + 1.1.0 do GetCapabilities. Você pode adicionar um outro, bastando incluir no endereço do serviço "&version=1.3.0" por exemplo.
+ ++ ++ ++ ++
+ ++++ +
+ +++ ++ Após a conexão ser estabelecida e surgir a lista de temas, selecione a camada que será adicionada ao mapa. +
+ + +
+Aguarde...+ + + + + diff --git a/ferramentas/conectarwmsxxx/index.js b/ferramentas/conectarwmsxxx/index.js new file mode 100755 index 0000000..d1e3e06 --- /dev/null +++ b/ferramentas/conectarwmsxxx/index.js @@ -0,0 +1,361 @@ +/* +Title: Conexão com WMS + +Acrescenta ao mapa um novo tema com base em um endereço de WMS + +O usuário pode indicar o endereço ou escolher de uma lista. A lista é pré-definida por meio do sistema de administração +do i3Geo. + +Veja: + ++ +Arquivo: + +i3geo/ferramentas/conectarwms/index.js + +Licenca: + +GPL2 + +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. +*/ +//variaveis globais +g_tipo = ""; //tipo de tema +g_tema = ""; //tema selecionado do ws +g_legenda = ""; //legenda do tema +g_nometema = ""; //nome do tema +g_idws = ""; +g_sid = window.parent.i3GEO.configura.sid; +var g_tipows = "";//obtido do mapfile +//ativaGuias(""); +//mostraGuia("guia1"); +i3GEO.guias.mostraGuiaFerramenta("guia1"); +if($i("guia1")){ + $i("guia1").onclick = function(){ + //mostraGuia("guia1"); + i3GEO.guias.mostraGuiaFerramenta("guia1"); + $i("resultadoget").innerHTML = ""; + }; +} +if($i("guia2")){ + $i("guia2").onclick = function(){clickGuia2();}; +} +if($i("guia3")){ + $i("guia3").onclick = function(){clickGuia3();}; +} +function aguarde(valor){ + if(document.getElementById("aguarde")) + document.getElementById("aguarde").style.display = valor; +} +/* +Function: listaRSS + +Monta a lista de serviços WMS cadastrados no sistema de administração do i3Geo + +Veja: + + + +Parametros: + +g_RSS {Array} - array com a lista de RSS que contém a lista de WMS cadastrados. Se for um array com um único elemento vazio, +será utilizado o endereço default do i3GEO (g_RSS = new Array("")) + +onde {Stribg} - id do elemento HTML que receberá a lista de endereços formatada +*/ +function listaRSS(g_RSS,onde) +{ + var mostraRetornoRSS = function(retorno){ + aguarde("none"); + var reg = /Erro/gi; + if (retorno.data.rss.search(reg) != -1) + { + i3GEO.janela.tempoMsg($trad('erro',i3GEOF.conectarwms.dicionario)+"\n"+retorno.data); + return; + } + var canais = retorno.data.canais; + var ncanais = canais.length; + var ins = "
"+retorno.data.rss; + for (var i=0;i\"+caso.title+"\<\/b\> "+caso.description+" ("+caso.author+")"; + if(caso.nacessos > 0) + { + var pc = (parseInt(caso.nacessosok) * 100) / parseInt(caso.nacessos); + ins += " \("+$trad('disponibilidade',i3GEOF.conectarwms.dicionario)+": "+pc+"%, "+$trad('acessos',i3GEOF.conectarwms.dicionario)+": "+caso.nacessos+")\<\/span>\<\/p\>"; + } + } + document.getElementById(onde).innerHTML = ins+"
"; + }; + if (document.getElementById(onde)) + { + if (g_RSS.length > 0) + { + var p = "../../classesphp/wscliente.php?funcao=listaRSSwsARRAY&rss="+g_RSS.join("|")+"&tipo=GEORSS"; + var cp = new cpaint(); + //cp.set_debug(2) + cp.set_response_type("JSON"); + cp.call(p,"listaRSSwsARRAY",mostraRetornoRSS); + } + } +} +/* +Function: getcapabilities + +Abre uma nova janela com o resultado da chamada GETCAPABILITIES sobre o WMS escolhido +*/ +function getcapabilities() +{ + if ($i("servico").value == ""){i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario));} + else + {window.open($i("servico").value+"&service=wms&request=getcapabilities&version=1.1.1");} +} +/* +Function: clickGuia2 + +Mostra as principais informações sobre o WMS escolhido tendo como fonte o getcapabilities + +Veja: + ++*/ +function clickGuia2() +{ + //mostraGuia("guia2"); + i3GEO.guias.mostraGuiaFerramenta("guia2"); + if ($i("servico").value == ""){i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario));} + else + { + var metadados = function(retorno){ + if (retorno.data != undefined) + { + aguarde("none"); + $i("resultadoget").innerHTML = retorno.data; + } + else + { + aguarde("none"); + $i("resultadoget").innerHTML = " "+$trad('erro',i3GEOF.conectarwms.dicionario)+"
"; + } + }; + $i("guia2obj").style.display="block"; + aguarde("block"); + var p = "../../classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=getcapabilities2&servico="+$i("servico").value; + var cp = new cpaint(); + //cp.set_debug(2) + cp.set_response_type("JSON"); + cp.call(p,"getcapabilities2",metadados); + } +} +/* +Function: clickGuia3 + +Lista as camadas existentes no WMS escolhido. + +O resultado da chamada em PHP é uma string HTML já formatada. O "radio" aponta para a função "adiciona" + +Veja: + ++*/ +function clickGuia3(codLayer) +{ + //mostraGuia("guia3"); + i3GEO.guias.mostraGuiaFerramenta("guia3"); + var listatemas = function(retorno){ + g_idws = ""; + aguarde("none"); + if ((retorno.data != "erro") && (retorno.data != undefined)){ + $i("listatemas").innerHTML = retorno.data; + g_tipo = ""; //tipo de tema + g_tema = ""; //tema selecionado do ws + g_legenda = ""; //legenda do tema + g_nometema = ""; //nome do tema + g_sld = ""; + if ($i("suportasld")){ + if ($i("suportasld").value != "nao") { + if ($i("textoSLD")) + $i("textoSLD").style.display = "block"; + } + } + //ativa um layer caso tenha sido enviado como um parametro no inicio da ferramenta + ativaAutoLayer(codLayer); + } + else{ + //$i("listatemas").innerHTML = "erro"; + } + }; + if ($i("servico").value == ""){ + i3GEO.janela.tempoMsg($trad('servico',i3GEOF.conectarwms.dicionario)); + } + else + { + $i("listatemas").innerHTML = ""; + aguarde("block"); + var p = "../../classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=temaswms&id_ws="+g_idws+"&servico="+$i("servico").value; + var cp = new cpaint(); + //cp.set_debug(2) + cp.set_response_type("JSON"); + cp.call(p,"temaswms",listatemas); + } +} +function ativaAutoLayer(codLayer){ + if(codLayer && codLayer != ""){ + var container, rs, nrs, i, r, codLayer1; + codLayer1 = codLayer.split(":"); + if(codLayer1.length > 0){ + codLayer1 = codLayer1[1]; + } + else{ + codLayer1 = codLayer1[0]; + } + container = $i("listatemas"); + if(container){ + rs = container.getElementsByTagName("input"); + nrs = rs.length; + + for(i = 0; i < nrs; i++){ + r = rs[i]; + if(r.type === "radio" && (r.value === codLayer || r.value === codLayer1)){ + r.onclick.call(); + r.checked = true; + r.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.scrollIntoView(true); + } + } + } + } +} + +/* +Function: registraws + +Armazena em variáveis locais os parametros do WMS escolhido e ativa a guia 3, mostrando a lista de camadas disponíveis + +Parametros: + +nome {string} - nome do WMS + +id_ws {String} - id do WMS +*/ +function registraws(nome,id_ws,tipo) +{ + $i("servico").value = nome; + g_tipo = ""; //tipo de tema + g_tipows = "WMS"; //tipo de servico + g_tema = ""; //tema selecionado do ws + g_legenda = ""; //legenda do tema + g_nometema = ""; //nome do tema + if(arguments.length == 2) + g_idws = id_ws; + else + g_idws = ""; + if(tipo){ + g_tipows = tipo; + } + clickGuia3(); +} +/* +Function: seltema + +Inclui um LAYER, escolhido de um WMS, no mapa atual + +Veja: + + + +*/ +function seltema(tipo,tema,legenda,nometema,nomecamada,sldflag) +{ + g_tipo = tipo; //tipo de tema + g_tema = tema; //tema selecionado do ws + g_legenda = legenda; //legenda do tema + g_nometema = nometema; //nome do tema + g_nomecamada = nomecamada; //nome que vai na legenda + g_sld = sldflag; //suporta ou nao sld + if (g_tema != "") + { + var retorno = function(retorno) + { + aguarde("none"); + if(retorno.data != "ok") + {i3GEO.janela.tempoMsg($trad('erro2',i3GEOF.conectarwms.dicionario));aguarde("none");} + else + {window.parent.i3GEO.atualiza();} + }; + aguarde("block"); + var tiporep = ""; + if($i("tiporep")){ + tiporep = $i("tiporep").value; + } + var url = "../../classesphp/mapa_controle.php?g_sid="+g_sid; + if($i("servico").value.split("?").length === 1){ + $i("servico").value = $i("servico").value+"?"; + } + if($i("proj").value === ""){ + $i("proj").value = "EPSG:4326"; + } + var p = "&funcao=adicionatemawms&servico="+$i("servico").value+"&tema="+g_tema+"&nome="+g_nometema+"&proj="+$i("proj").value+"&formato="+$i("formatos").value+"&tipo="+g_tipo+"&versao="+$i("versao").value+"&nomecamada="+g_nomecamada+"&tiporep="+tiporep+"&suportasld="+g_sld+"&formatosinfo="+$i("formatosinfo").value; + if(g_tipows == "WMS-Tile"){ + p += "&tile=1"; + } + else{ + p += "&tile=0"; + } + var cp = new cpaint(); + cp.set_transfer_mode("POST"); + //cp.set_debug(2) + cp.set_response_type("JSON"); + cp.call(url,"adicionatemawms",retorno,p); + } +} +/* +Function abrejanelaIframe + +Abre uma janela flutuante contendo um iframe + +Parametros: + +w {string} - largura + +h {string} - altura + +s {string} - src do iframe +*/ +function abrejanelaIframe(){ + var s = "../../admin/html/webservices.html?tipo=wms"; + var janelaeditor = i3GEO.janela.cria( + "1000", + "500", + s, + parseInt(Math.random()*100,10), + 10, + s, + "janela"+window.parent.i3GEO.util.randomRGB(), + false, + "hd", + "", + "", + "", + true, + window.parent.i3GEO.configura.locaplic+"/imagens/oxygen/16x16/application-x-smb-workgroup.png" + ); + YAHOO.util.Event.addListener(janelaeditor[0].close, "click", iniciaListaWS,janelaeditor[0].panel,{id:janelaeditor[0].id},true); +} \ No newline at end of file diff --git a/ferramentas/conectarwmsxxx/listalayers.php b/ferramentas/conectarwmsxxx/listalayers.php new file mode 100755 index 0000000..01d06f5 --- /dev/null +++ b/ferramentas/conectarwmsxxx/listalayers.php @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + ++ +" /> + + + + + + + diff --git a/ferramentas/editorgm/editorgm_compacto.js b/ferramentas/editorgm/editorgm_compacto.js old mode 100644 new mode 100755 index cc66aa6..cc66aa6 --- a/ferramentas/editorgm/editorgm_compacto.js +++ b/ferramentas/editorgm/editorgm_compacto.js diff --git a/ferramentas/editorol/editorol_compacto.js b/ferramentas/editorol/editorol_compacto.js old mode 100644 new mode 100755 index 8df1c51..8df1c51 --- a/ferramentas/editorol/editorol_compacto.js +++ b/ferramentas/editorol/editorol_compacto.js diff --git a/js/compactados/ajuda_compacto.js b/js/compactados/ajuda_compacto.js old mode 100644 new mode 100755 index 8e4086f..8e4086f --- a/js/compactados/ajuda_compacto.js +++ b/js/compactados/ajuda_compacto.js diff --git a/js/compactados/analise_compacto.js b/js/compactados/analise_compacto.js old mode 100644 new mode 100755 index a3ab166..a3ab166 --- a/js/compactados/analise_compacto.js +++ b/js/compactados/analise_compacto.js diff --git a/js/compactados/arvoredecamadas_compacto.js b/js/compactados/arvoredecamadas_compacto.js old mode 100644 new mode 100755 index f0f9fe2..f0f9fe2 --- a/js/compactados/arvoredecamadas_compacto.js +++ b/js/compactados/arvoredecamadas_compacto.js diff --git a/js/compactados/arvoredetemas_compacto.js b/js/compactados/arvoredetemas_compacto.js old mode 100644 new mode 100755 index 192e851..192e851 --- a/js/compactados/arvoredetemas_compacto.js +++ b/js/compactados/arvoredetemas_compacto.js diff --git a/js/compactados/base64_compacto.js b/js/compactados/base64_compacto.js old mode 100644 new mode 100755 index 9ff1f1a..9ff1f1a --- a/js/compactados/base64_compacto.js +++ b/js/compactados/base64_compacto.js diff --git a/js/compactados/busca_compacto.js b/js/compactados/busca_compacto.js old mode 100644 new mode 100755 index 380c4a5..380c4a5 --- a/js/compactados/busca_compacto.js +++ b/js/compactados/busca_compacto.js diff --git a/js/compactados/caixaDeFerramentas_compacto.js b/js/compactados/caixaDeFerramentas_compacto.js old mode 100644 new mode 100755 index 33f12c4..33f12c4 --- a/js/compactados/caixaDeFerramentas_compacto.js +++ b/js/compactados/caixaDeFerramentas_compacto.js diff --git a/js/compactados/calculo_compacto.js b/js/compactados/calculo_compacto.js old mode 100644 new mode 100755 index 32b90de..32b90de --- a/js/compactados/calculo_compacto.js +++ b/js/compactados/calculo_compacto.js diff --git a/js/compactados/catalogoDir_compacto.js b/js/compactados/catalogoDir_compacto.js old mode 100644 new mode 100755 index f414552..f414552 --- a/js/compactados/catalogoDir_compacto.js +++ b/js/compactados/catalogoDir_compacto.js diff --git a/js/compactados/catalogoEstrelas_compacto.js b/js/compactados/catalogoEstrelas_compacto.js old mode 100644 new mode 100755 index 7d8e059..7d8e059 --- a/js/compactados/catalogoEstrelas_compacto.js +++ b/js/compactados/catalogoEstrelas_compacto.js diff --git a/js/compactados/catalogoInde_compacto.js b/js/compactados/catalogoInde_compacto.js old mode 100644 new mode 100755 index 5ee129b..5ee129b --- a/js/compactados/catalogoInde_compacto.js +++ b/js/compactados/catalogoInde_compacto.js diff --git a/js/compactados/catalogoMapas_compacto.js b/js/compactados/catalogoMapas_compacto.js old mode 100644 new mode 100755 index 670e4ce..670e4ce --- a/js/compactados/catalogoMapas_compacto.js +++ b/js/compactados/catalogoMapas_compacto.js diff --git a/js/compactados/catalogoMenus_compacto.js b/js/compactados/catalogoMenus_compacto.js old mode 100644 new mode 100755 index 7014248..7014248 --- a/js/compactados/catalogoMenus_compacto.js +++ b/js/compactados/catalogoMenus_compacto.js diff --git a/js/compactados/catalogoMetaestat_compacto.js b/js/compactados/catalogoMetaestat_compacto.js old mode 100644 new mode 100755 index 2787ab5..2787ab5 --- a/js/compactados/catalogoMetaestat_compacto.js +++ b/js/compactados/catalogoMetaestat_compacto.js diff --git a/js/compactados/catalogoOgc_compacto.js b/js/compactados/catalogoOgc_compacto.js old mode 100644 new mode 100755 index ffce5a9..ffce5a9 --- a/js/compactados/catalogoOgc_compacto.js +++ b/js/compactados/catalogoOgc_compacto.js diff --git a/js/compactados/catalogoRegioes_compacto.js b/js/compactados/catalogoRegioes_compacto.js old mode 100644 new mode 100755 index 404db8e..404db8e --- a/js/compactados/catalogoRegioes_compacto.js +++ b/js/compactados/catalogoRegioes_compacto.js diff --git a/js/compactados/catalogoSistemas_compacto.js b/js/compactados/catalogoSistemas_compacto.js old mode 100644 new mode 100755 index 9245cfc..9245cfc --- a/js/compactados/catalogoSistemas_compacto.js +++ b/js/compactados/catalogoSistemas_compacto.js diff --git a/js/compactados/configura_compacto.js b/js/compactados/configura_compacto.js old mode 100644 new mode 100755 index e3d6fe5..e3d6fe5 --- a/js/compactados/configura_compacto.js +++ b/js/compactados/configura_compacto.js diff --git a/js/compactados/coordenadas_compacto.js b/js/compactados/coordenadas_compacto.js old mode 100644 new mode 100755 index 404bf09..404bf09 --- a/js/compactados/coordenadas_compacto.js +++ b/js/compactados/coordenadas_compacto.js diff --git a/js/compactados/desenho_compacto.js b/js/compactados/desenho_compacto.js old mode 100644 new mode 100755 index 5f8b91a..5f8b91a --- a/js/compactados/desenho_compacto.js +++ b/js/compactados/desenho_compacto.js diff --git a/js/compactados/dicionario_ajuda_compacto.js b/js/compactados/dicionario_ajuda_compacto.js old mode 100644 new mode 100755 index e69de29..e69de29 --- a/js/compactados/dicionario_ajuda_compacto.js +++ b/js/compactados/dicionario_ajuda_compacto.js diff --git a/js/compactados/dicionario_compacto.js b/js/compactados/dicionario_compacto.js old mode 100644 new mode 100755 index a6543b5..a6543b5 --- a/js/compactados/dicionario_compacto.js +++ b/js/compactados/dicionario_compacto.js diff --git a/js/compactados/editor_compacto.js b/js/compactados/editor_compacto.js old mode 100644 new mode 100755 index c77bc37..c77bc37 --- a/js/compactados/editor_compacto.js +++ b/js/compactados/editor_compacto.js diff --git a/js/compactados/eventos_compacto.js b/js/compactados/eventos_compacto.js old mode 100644 new mode 100755 index cda2a72..cda2a72 --- a/js/compactados/eventos_compacto.js +++ b/js/compactados/eventos_compacto.js diff --git a/js/compactados/guias_compacto.js b/js/compactados/guias_compacto.js old mode 100644 new mode 100755 index cd919b6..cd919b6 --- a/js/compactados/guias_compacto.js +++ b/js/compactados/guias_compacto.js diff --git a/js/compactados/idioma_compacto.js b/js/compactados/idioma_compacto.js old mode 100644 new mode 100755 index 50f94a7..50f94a7 --- a/js/compactados/idioma_compacto.js +++ b/js/compactados/idioma_compacto.js diff --git a/js/compactados/ini_i3geo_compacto.js b/js/compactados/ini_i3geo_compacto.js old mode 100644 new mode 100755 index 9bab14a..9bab14a --- a/js/compactados/ini_i3geo_compacto.js +++ b/js/compactados/ini_i3geo_compacto.js diff --git a/js/compactados/interface_compacto.js b/js/compactados/interface_compacto.js old mode 100644 new mode 100755 index 9eb415a..9eb415a --- a/js/compactados/interface_compacto.js +++ b/js/compactados/interface_compacto.js diff --git a/js/compactados/janela_compacto.js b/js/compactados/janela_compacto.js old mode 100644 new mode 100755 index cc79de3..cc79de3 --- a/js/compactados/janela_compacto.js +++ b/js/compactados/janela_compacto.js diff --git a/js/compactados/legenda_compacto.js b/js/compactados/legenda_compacto.js old mode 100644 new mode 100755 index 864b4a9..864b4a9 --- a/js/compactados/legenda_compacto.js +++ b/js/compactados/legenda_compacto.js diff --git a/js/compactados/login_compacto.js b/js/compactados/login_compacto.js old mode 100644 new mode 100755 index 6d4d052..6d4d052 --- a/js/compactados/login_compacto.js +++ b/js/compactados/login_compacto.js diff --git a/js/compactados/mapa_compacto.js b/js/compactados/mapa_compacto.js old mode 100644 new mode 100755 index 589292f..589292f --- a/js/compactados/mapa_compacto.js +++ b/js/compactados/mapa_compacto.js diff --git a/js/compactados/maparef_compacto.js b/js/compactados/maparef_compacto.js old mode 100644 new mode 100755 index e99060c..e99060c --- a/js/compactados/maparef_compacto.js +++ b/js/compactados/maparef_compacto.js diff --git a/js/compactados/marcador_compacto.js b/js/compactados/marcador_compacto.js old mode 100644 new mode 100755 index 64fd288..64fd288 --- a/js/compactados/marcador_compacto.js +++ b/js/compactados/marcador_compacto.js diff --git a/js/compactados/mustache.js b/js/compactados/mustache.js old mode 100644 new mode 100755 index 7473a81..7473a81 --- a/js/compactados/mustache.js +++ b/js/compactados/mustache.js diff --git a/js/compactados/navega_compacto.js b/js/compactados/navega_compacto.js old mode 100644 new mode 100755 index 30c3799..30c3799 --- a/js/compactados/navega_compacto.js +++ b/js/compactados/navega_compacto.js diff --git a/js/compactados/php_compacto.js b/js/compactados/php_compacto.js old mode 100644 new mode 100755 index 5514e62..5514e62 --- a/js/compactados/php_compacto.js +++ b/js/compactados/php_compacto.js diff --git a/js/compactados/plugini3geo_compacto.js b/js/compactados/plugini3geo_compacto.js old mode 100644 new mode 100755 index 9a0f3e7..9a0f3e7 --- a/js/compactados/plugini3geo_compacto.js +++ b/js/compactados/plugini3geo_compacto.js diff --git a/js/compactados/proj4js.js b/js/compactados/proj4js.js old mode 100644 new mode 100755 index 9bdc4ce..9bdc4ce --- a/js/compactados/proj4js.js +++ b/js/compactados/proj4js.js diff --git a/js/compactados/social_compacto.js b/js/compactados/social_compacto.js old mode 100644 new mode 100755 index 8aa672a..8aa672a --- a/js/compactados/social_compacto.js +++ b/js/compactados/social_compacto.js diff --git a/js/compactados/tema_compacto.js b/js/compactados/tema_compacto.js old mode 100644 new mode 100755 index 1c08e5e..1c08e5e --- a/js/compactados/tema_compacto.js +++ b/js/compactados/tema_compacto.js diff --git a/js/compactados/util_compacto.js b/js/compactados/util_compacto.js old mode 100644 new mode 100755 index e75deee..e75deee --- a/js/compactados/util_compacto.js +++ b/js/compactados/util_compacto.js diff --git a/js/compactados/wicket.js b/js/compactados/wicket.js old mode 100644 new mode 100755 index e0e5f3b..e0e5f3b --- a/js/compactados/wicket.js +++ b/js/compactados/wicket.js diff --git a/js/i3geo_tudo_compacto7.js.php b/js/i3geo_tudo_compacto7.js.php old mode 100644 new mode 100755 index 602444a..602444a --- a/js/i3geo_tudo_compacto7.js.php +++ b/js/i3geo_tudo_compacto7.js.php diff --git a/pacotes/cpaint/cpaint2_compacto.inc.js b/pacotes/cpaint/cpaint2_compacto.inc.js old mode 100644 new mode 100755 index 1179423..1179423 --- a/pacotes/cpaint/cpaint2_compacto.inc.js +++ b/pacotes/cpaint/cpaint2_compacto.inc.js diff --git a/pacotes/mobileesp/mdetect_compacto.js b/pacotes/mobileesp/mdetect_compacto.js old mode 100644 new mode 100755 index 9ab0db5..9ab0db5 --- a/pacotes/mobileesp/mdetect_compacto.js +++ b/pacotes/mobileesp/mdetect_compacto.js diff --git a/pacotes/yui290/build/carousel/carousel_compacto.js b/pacotes/yui290/build/carousel/carousel_compacto.js old mode 100644 new mode 100755 index 2111cd6..2111cd6 --- a/pacotes/yui290/build/carousel/carousel_compacto.js +++ b/pacotes/yui290/build/carousel/carousel_compacto.js diff --git a/pacotes/yui290/build/container/container_compacto.js b/pacotes/yui290/build/container/container_compacto.js old mode 100644 new mode 100755 index aa7fb0c..aa7fb0c --- a/pacotes/yui290/build/container/container_compacto.js +++ b/pacotes/yui290/build/container/container_compacto.js diff --git a/pacotes/yui290/build/container/container_core_compacto.js b/pacotes/yui290/build/container/container_core_compacto.js old mode 100644 new mode 100755 index f2c2d3c..f2c2d3c --- a/pacotes/yui290/build/container/container_core_compacto.js +++ b/pacotes/yui290/build/container/container_core_compacto.js diff --git a/pacotes/yui290/build/resize/resize_compacto.js b/pacotes/yui290/build/resize/resize_compacto.js old mode 100644 new mode 100755 index 335f70f..335f70f --- a/pacotes/yui290/build/resize/resize_compacto.js +++ b/pacotes/yui290/build/resize/resize_compacto.js diff --git a/pacotes/yui290/build/treeview/treeview_compacto.js b/pacotes/yui290/build/treeview/treeview_compacto.js old mode 100644 new mode 100755 index 6ff4374..6ff4374 --- a/pacotes/yui290/build/treeview/treeview_compacto.js +++ b/pacotes/yui290/build/treeview/treeview_compacto.js diff --git a/pacotes/yui290/build/utilities/utilities_compacto.js b/pacotes/yui290/build/utilities/utilities_compacto.js old mode 100644 new mode 100755 index 7a1455c..7a1455c --- a/pacotes/yui290/build/utilities/utilities_compacto.js +++ b/pacotes/yui290/build/utilities/utilities_compacto.js -- libgit2 0.21.2+ Aguarde... ++