getalllayernames();
$xml = "<"."\x3F"."xml version='1.0' encoding='ISO-8859-1' "."\x3F".">";
$xml .= "\n\n";
$xml .= "".implode(",",$objcontype)."\n";
$xml .= "".implode(",",$objlayertypes)."\n";
foreach ($layers as $layer)
{
$xml .= "\n\n";
$layer = $mapa->getlayerbyname($layer);
$xml .= "".$layer->getmetadata('tema')."\n";
$xml .= "\n";
$con = $layer->connection;
$xml .= "".preg_replace('/.*user\s*=\s*([a-zA-Z0-9_.]+).*/i', '\1', $con)."\n";
$xml .= "".preg_replace('/.*password\s*=\s*([a-zA-Z0-9_.]+).*/i', '\1', $con)."\n";
$xml .= "".preg_replace('/.*dbname\s*=\s*([a-zA-Z0-9_.]+).*/i', '\1', $con)."\n";
$xml .= "".preg_replace('/.*host\s*=\s*([a-zA-Z0-9_.]+).*/i', '\1', $con)."\n";
$xml .= "".preg_replace('/.*port\s*=\s*([a-zA-Z0-9_.]+).*/i', '\1', $con)."\n";
$xml .= "\n";
$xml .= "".$objcontype[$layer->connectiontype]."\n";
$d = $layer->data;
$xml .= "$d\n";
$d = explode("(",$d);
$d = explode(")",$d[1]);
$xml .= "\n";
$xml .= "".$objlayertypes[$layer->type]."\n";
$xml .= "".$layer->getfilter()."\n";
$xml .= "$layer->filteritem\n";
$xml .= "$layer->group\n";
$xml .= "$layer->labelangleitem\n";
$xml .= "$layer->labelitem\n";
$xml .= "$layer->labelmaxscale\n";
$xml .= "$layer->labelminscale\n";
$xml .= "$layer->labelsizeitem\n";
$xml .= "$layer->maxscale\n";
$xml .= "$layer->minscale\n";
$xml .= "".$layer->offsite->red.",".$layer->offsite->green.",".$layer->offsite->blue."\n";
$xml .= "$layer->opacity\n";
$xml .= "$layer->symbolscale\n";
$xml .= "$layer->tileindex\n";
$xml .= "$layer->tileitem\n";
$xml .= "$layer->tolerance\n";
$xml .= "$layer->toleranceunits\n";
$xml .= "$layer->sizeunits\n";
$xml .= "$layer->getProjection\n";
$xml .= "$layer->name\n";
$xml .= "\n";
$xml .= pegaClasses(&$xml);
$xml .= "\n";
$xml .= "";
}
$xml .= "\n";
echo $xml;
function pegaClasses($xml)
{
global $layer;
$dados = array();
$nclasses = $layer->numclasses;
for($i=0;$i<$nclasses;++$i)
{
$xml .= "\n";
$classe = $layer->getclass($i);
$xml .= "".mb_convert_encoding(($classe->name),"UTF-8","ISO-8859-1")."\n";
$xml .= "".$classe->getExpression()."\n";
$xml .= "$classe->keyimage\n";
$xml .= "$classe->size\n";
$xml .= "$classe->symbolname\n";
$xml .= "$classe->type\n";
$xml .= "\n";
pegaEstilos($xml,$classe);
$xml .= "\n";
$xml .= "\n";
}
}
function pegaEstilos(&$xml,$classe)
{
$numestilos = $classe->numstyles;
$estilos = array();
for($j=0;$j<$numestilos;++$j)
{
$xml .= "\n";
$estilo = $classe->getstyle($j);
$xml .= "$estilo->symbolname\n";
$xml .= "".$estilo->color->red.",".$estilo->color->green.",".$estilo->color->blue."\n";
$xml .= "$estilo->size\n";
$xml .= "".$estilo->backgroundcolor->red.",".$estilo->backgroundcolor->green.",".$estilo->backgroundcolor->blue."\n";
$xml .= "".$estilo->outlinecolor->red.",".$estilo->outlinecolor->green.",".$estilo->outlinecolor->blue."\n";
$xml .= "\n";
}
}
?>