"; //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;
}
?>