"; //var_dump($matches);exit; $nomeLayer = $matches[2][0];////converte($matches[2][0]); $layer[] = $nomeLayer; $parametros = array(); $urlwms = $matches[3][0]; if(count(explode("?",$urlwms)) == 1){ $urlwms .= "?"; } else{ $urlwms = trim($urlwms,"&"); $urlwms .= "&"; } $parametros["url"] = $urlwms; foreach($busca as $b){ $pt = "/($b[0]:\s\')(.*)(\'\, $b[1])/"; preg_match_all($pt, $linha, $matches); $linhas = ($matches[2][0]); $parametros[$b[0]] = $linhas; if($b[0] == "groupOfKeeper"){ if($gruposUnicos[$linhas] == ""){ $gruposUnicos[$linhas] = "a"; $linhas = $linhas." #$i"; $grupos[$linhas] = ""; //echo "
"; //var_dump($matches); if($grupos[$linhas]){ $grupos[$linhas] = array_merge($grupos[$linhas],array("l_".$i)); } else { $grupos[$linhas] = array("l_".$i); } } } } $layer[] = $parametros; $layers[$i] = $layer; //$parametros = "{".implode($novalinha,",")."}"; //$linha = str_replace('new OpenLayers.Layer.WMS(','',$linha); //$linha = str_replace('})','}',$linha); //$linha = str_replace("'",'"',$linha); //$novalinha[] = "[".trim($linha,",")."]"; } } //separa os grupos //echo ""; //var_dump($grupos);exit; $chaves = array_keys($grupos); sort($chaves); //echo count($chaves);exit; $arvore = array(); foreach($chaves as $chave){ //echo $chave."\n"; $hs = explode("/",$chave); //echo count($hs); $d = $hs; array_shift($d); if($arvore[$hs[0]]){ $arvore[$hs[0]] = array_merge($arvore[$hs[0]],noi($d,$arvore[$hs[0]])); } else{ $arvore[$hs[0]] = noi($d,array()); } } //var_dump($arvore); //exit; $final = array( "layers"=>$layers, "arvore"=>$arvore ); error_reporting(0); ob_end_clean(); if(extension_loaded('zlib')) {ob_start('ob_gzhandler');} header("Content-type: text/html"); echo json_encode($final,true); if(extension_loaded('zlib')) {ob_end_flush();} //echo json_encode($novalinha,true); //echo "{".implode($novalinha,",")."}"; //echo "[".$novalinha[0]."]"; function noi($n,$l){ global $layers; //var_dump($n); $d = $n; array_shift($d); //echo count($n); if(count($n) > 1){ if($l[$n[0]]){ $l[$n[0]] = array_merge($l[$n[0]],$n[1]); } else{ $l[$n[0]] = $n[1]; } $l[$n[0]] = noi($d,$l); return $l; } //$n[1] = $layers[$n[0]]; return $n; } function converte($texto) { //if (!mb_detect_encoding($texto,"UTF-8",false)) //{ $texto = mb_convert_encoding($texto,"ISO-8859-1","AUTO"); //} return $texto; } ?>