From 8eeb0f4ce14cdf354805080969959b04da1b93c9 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 21 Oct 2008 18:05:07 +0000 Subject: [PATCH] --- admin/js/core.js | 6 +++++- admin/js/editormapfile.js | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- admin/js/temasold.js | 219 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- admin/php/admin.php | 22 +++++++++++++++++----- admin/php/editormapfile.php | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------- 5 files changed, 241 insertions(+), 339 deletions(-) diff --git a/admin/js/core.js b/admin/js/core.js index 551b668..4e3e7b0 100644 --- a/admin/js/core.js +++ b/admin/js/core.js @@ -794,7 +794,11 @@ function core_geraLinhas(dados) if(p.texto) resultado += ""+p.texto+"" if(p.id != "") - resultado += "

" + { + if(!p.value) + p.value = "" + resultado += "

" + } if(p.div) {resultado += p.div;} } diff --git a/admin/js/editormapfile.js b/admin/js/editormapfile.js index 9397308..873ec40 100644 --- a/admin/js/editormapfile.js +++ b/admin/js/editormapfile.js @@ -299,7 +299,7 @@ function montaParametrosTemas(no,dados,redesenha) if(!tree.getNodeByProperty("etiquetaClasses",no.data.id)) { var conteudo = " " - conteudo += "" + //conteudo += "" var d = {tipo:"etiquetaClasses",etiquetaClasses:no.data.id,html:conteudo+" Classes:"} var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); tempNode.isLeaf = true; @@ -308,8 +308,8 @@ function montaParametrosTemas(no,dados,redesenha) { var conteudo = " " conteudo += " " - conteudo += "  " - conteudo += " "+dados[i].indice+" "+dados[i].nome+"" + conteudo += "  "+dados[i].indice+" "+dados[i].nome+"" + //conteudo += " "+dados[i].indice+" "+dados[i].nome+"" var d = {classes:codigoMap+"_"+codigoLayer,html:conteudo,id:codigoMap+"_"+codigoLayer+"_"+dados[i].indice,codigoMap:codigoMap,codigoLayer:codigoLayer,indiceClasse:dados[i].indice} var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); tempNode.setDynamicLoad(loadClasseData, iconMode); @@ -322,6 +322,21 @@ function montaParametrosClasses(no,dados,redesenha) var codigoMap = no.data.codigoMap; var codigoLayer = no.data.codigoLayer var indiceClasse = no.data.indiceClasse + if(!tree.getNodeByProperty("etiquetaClasseGeral",no.data.id)) + { + var conteudo = "" + var d = {tipo:"etiquetaClasseGeral",etiquetaClasseGeral:codigoMap+"_"+codigoLayer+"_"+indiceClasse,html:conteudo+" Editar características gerais"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + if(!tree.getNodeByProperty("etiquetaClasseLabel",no.data.id)) + { + var conteudo = "" + var d = {tipo:"etiquetaClasseLabel",etiquetaClasseGeral:codigoMap+"_"+codigoLayer+"_"+indiceClasse,html:conteudo+" Editar etiquetas"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + if(!tree.getNodeByProperty("etiquetaEstilo",no.data.id)) { var conteudo = " " @@ -618,6 +633,18 @@ function editorGeral(codigoMap,codigoLayer) var sUrl = "../php/editormapfile.php?funcao=pegaGeral&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer; core_pegaDados("Obtendo dados...",sUrl,"montaEditorGeral") } +function editorClasseGeral(codigoMap,codigoLayer,indiceClasse) +{ + core_montaEditor("","600px","500px") + var sUrl = "../php/editormapfile.php?funcao=pegaClasseGeral&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse; + core_pegaDados("Obtendo dados...",sUrl,"montaEditorClasseGeral") +} +function editorClasseLabel(codigoMap,codigoLayer,indiceClasse) +{ + core_montaEditor("","600px","500px") + var sUrl = "../php/editormapfile.php?funcao=pegaClasseLabel&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse; + core_pegaDados("Obtendo dados...",sUrl,"montaEditorClasseLabel") +} function montaEditorConexao(dados) { var param = { @@ -801,6 +828,70 @@ function montaEditorGeral(dados) {salvarDadosEditor('geral',dados.codigoMap,dados.codigoLayer)} new YAHOO.widget.Button("salvarEditor",{ onclick: { fn: temp }}); } +function montaEditorClasseGeral(dados) +{ + var param = { + "linhas":[ + {ajuda:"Nome da classe para ser mostrada na legenda", + titulo:"Name",id:"name",value:dados.name,tipo:"text"}, + {ajuda:"Sets the current display status of the class. Default turns the class on", + titulo:"Status",id:"",value:dados.status,tipo:"text",div:"
"}, + {ajuda:"Four types of expressions are now supported to define class membership. String comparisons, regular expressions, simple logical expressions, and string functions. If no expression is given, then all features are said to belong to this class.
String comparisons are case sensitive and are the fastest to evaluate. No special delimiters are necessary although string must be quoted if they contain special characters. (As a matter of good habit, it is recommended you quote all strings).
Regular expressions function just like previous versions of MapServer. However, you must now delimit a regular expression using /regex/. No quotes should be used.

Logical expressions allow you to build fairly complex tests based on one or more attributes and therefore are only available with shapefiles. Logical expressions are delimited by parentheses '(expression)'. Attribute names are delimited by square brackets '[ATTRIBUTE]'. These names are case sensitive and must match the items in the shapefile. For example: EXPRESSION ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH') ... The following logical operators are supported: =,>,<,<=,>=,=,or,and,lt,gt,ge,le,eq,ne. As you might expect this level of complexity is slower to process.
One string function exists: length(). This obviously computes the length of a string. An example follows:
EXPRESSION (length('[NAME_E]') < 8)
String comparisons and regular expressions work from the classitem defined at the layer level. You may mix expression types within the different classes of a layer", + titulo:"Expression",id:"expression",value:dados.expression,tipo:"text"}, + {ajuda:"Full filename of the legend image for the CLASS. This image is used when building a legend (or requesting a legend icon via MapScript or the CGI application).", + titulo:"Keyimage",id:"keyimage",value:dados.keyimage,tipo:"text"}, + {ajuda:"Maximum scale at which this CLASS is drawn. Scale is given as the denominator of the actual scale fraction, for example for a map at a scale of 1:24,000 use 24000.", + titulo:"Maxscale",id:"maxscale",value:dados.maxscale,tipo:"text"}, + {ajuda:"Minimum scale at which this CLASS is drawn. Scale is given as the denominator of the actual scale fraction, for example for a map at a scale of 1:24,000 use 24000.", + titulo:"Minscale",id:"minscale",value:dados.minscale,tipo:"text"} + ] + } + var ins = "" + if(dados.colunas != "") + { + ins += "

O layer possuí as seguintes colunas na tabela de atributos: "; + ins += dados.colunas+"

" + } + ins += core_geraLinhas(param) + ins += "


" + $i("editor_bd").innerHTML = ins + + temp = "

" + $i("cStatus").innerHTML = temp + + var temp = function() + {salvarDadosEditor('classeGeral',dados.codigoMap,dados.codigoLayer,dados.indiceClasse)} + new YAHOO.widget.Button("salvarEditor",{ onclick: { fn: temp }}); +} +function montaEditorClasseLabel(dados) +{ + var param = { + "linhas":[ + {ajuda:"Nome da classe para ser mostrada na legenda", + titulo:"Name",id:"name",value:dados.name,tipo:"text"}, + ] + } + var ins = "" + if(dados.colunas != "") + { + ins += "

O layer possuí as seguintes colunas na tabela de atributos: "; + ins += dados.colunas+"

" + } + ins += core_geraLinhas(param) + ins += "


" + $i("editor_bd").innerHTML = ins +/* + temp = "

" + $i("cStatus").innerHTML = temp +*/ + var temp = function() + {salvarDadosEditor('classeLabel',dados.codigoMap,dados.codigoLayer,dados.indiceClasse)} + new YAHOO.widget.Button("salvarEditor",{ onclick: { fn: temp }}); +} function salvarDadosEditor(tipo,codigoMap,codigoLayer,indiceClasse,indiceEstilo) { @@ -822,7 +913,12 @@ function salvarDadosEditor(tipo,codigoMap,codigoLayer,indiceClasse,indiceEstilo) var par = "&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer var prog = "../php/editormapfile.php?funcao=alterarGeral" } - + if(tipo == "classeGeral") + { + var campos = new Array("status","minscale","maxscale","name","expression","keyimage") + var par = "&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse + var prog = "../php/editormapfile.php?funcao=alterarClasseGeral" + } for (i=0;i

" - ins += "
" - ins += "
" - ins += "
" - ins += "
" - ins += "
" - ins += "
" - - ins += "
" - } - $i("forms").innerHTML = ins - var ins = "" - for(c=0;c
" - ins += "

" - ins += "
+- status
" - ins += "

Sets the current display status of the class. Default turns the class on.

" - ins += "

" - ins += "" - ins += "

" - - ins += "
+- expression
" - ins += "

Four types of expressions are now supported to define class membership. String comparisons, regular expressions, simple logical expressions, and string functions. If no expression is given, then all features are said to belong to this class.
String comparisons are case sensitive and are the fastest to evaluate. No special delimiters are necessary although string must be quoted if they contain special characters. (As a matter of good habit, it is recommended you quote all strings).
Regular expressions function just like previous versions of MapServer. However, you must now delimit a regular expression using /regex/. No quotes should be used.

Logical expressions allow you to build fairly complex tests based on one or more attributes and therefore are only available with shapefiles. Logical expressions are delimited by parentheses '(expression)'. Attribute names are delimited by square brackets '[ATTRIBUTE]'. These names are case sensitive and must match the items in the shapefile. For example: EXPRESSION ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH') ... The following logical operators are supported: =,>,<,<=,>=,=,or,and,lt,gt,ge,le,eq,ne. As you might expect this level of complexity is slower to process.
One string function exists: length(). This obviously computes the length of a string. An example follows:
EXPRESSION (length('[NAME_E]') < 8)
String comparisons and regular expressions work from the classitem defined at the layer level. You may mix expression types within the different classes of a layer.

" - ins += "

" - ins += "" - ins += "

" - ins += (geraLinhas2(d.dados,param,"salvarClasse")); var param = { "linhas":[ - {texto:"Full filename of the legend image for the CLASS. This image is used when building a legend (or requesting a legend icon via MapScript or the CGI application).", - titulo:"keyimage",prefixoid:"keyimage_",id:codigoLayer+"_"+d.id,valor:"keyimage"}, - {texto:"Maximum scale at which this CLASS is drawn. Scale is given as the denominator of the actual scale fraction, for example for a map at a scale of 1:24,000 use 24000.", - titulo:"maxscale",prefixoid:"maxscale_",id:codigoLayer+"_"+d.id,valor:"maxscale"}, - {texto:"Minimum scale at which this CLASS is drawn. Scale is given as the denominator of the actual scale fraction, for example for a map at a scale of 1:24,000 use 24000.", - titulo:"minscale",prefixoid:"minscale_",id:codigoLayer+"_"+d.id,valor:"minscale"}, - {texto:"Maximum size in pixels to draw a symbol. Default is 50.", - titulo:"maxsize",prefixoid:"maxsize_",id:codigoLayer+"_"+d.id,valor:"maxsize"}, - {texto:"Minimum size in pixels to draw a symbol. Default is 0.", - titulo:"minsize",prefixoid:"minsize_",id:codigoLayer+"_"+d.id,valor:"minsize"}, - {texto:"Height, in pixels, of the symbol/pattern to be used. Only useful with scalable symbols. For vector (and ellipse) symbol types the default size is based on the range of Y values in the POINTS defining the symbol. For pixmaps, the default is the vertical size of the image. Default size is 1 for TTF symbols.", - titulo:"size",prefixoid:"size_",id:codigoLayer+"_"+d.id,valor:"size"}, - {texto:"Static text to label features in this class with. This overrides values obtained from the LABELTIEM. The string may be given as an expression delimited using the ()'s. This allows you to concatenate multiple attributes into a single label. For example: ([FIRSTNAME],[LASTNAME]).", - titulo:"text",prefixoid:"text_",id:codigoLayer+"_"+d.id,valor:"text"} ] } diff --git a/admin/php/admin.php b/admin/php/admin.php index bebfbe4..31185a4 100644 --- a/admin/php/admin.php +++ b/admin/php/admin.php @@ -51,13 +51,12 @@ error_reporting(E_ALL); //carrega o phpmapscript // include_once ($locaplic."/classesphp/carrega_ext.php"); -set_time_limit(120); // //verifica se o cliente pode editar //se funcao for verificaEditores vai para case específico // if($funcao != "verificaEditores") -{if(verificaEditores($editores) == "nao"){exit;}} +{if(verificaEditores($editores) == "nao"){echo "vc nao e um editor cadastrado";exit;}} if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) { $mapfile = "geral1windows"; @@ -80,9 +79,22 @@ if($funcao == "limpar") } function retornaJSON($obj) { - if(extension_loaded('zlib')){ob_start('ob_gzhandler');} - echo json_encode($obj); - if(extension_loaded('zlib')){ob_end_flush();} + global $locaplic; + // + //para os casos em que json não está habilitado + // + if (!function_exists("json_encode")) + { + include_once($locaplic."/pacotes/cpaint/JSON/json2.php"); + $j = new Services_JSON(); + echo $j->encode($obj); + } + else + { + if(extension_loaded('zlib')){ob_start('ob_gzhandler');} + echo json_encode($obj); + if(extension_loaded('zlib')){ob_end_flush();} + } exit; } function verificaDuplicados($sql,$dbh) diff --git a/admin/php/editormapfile.php b/admin/php/editormapfile.php index 846804a..b4121c9 100644 --- a/admin/php/editormapfile.php +++ b/admin/php/editormapfile.php @@ -35,33 +35,6 @@ error_reporting(0); //faz a busca da função que deve ser executada switch ($funcao) { - case "pegaTextoMapfile": - $arquivo = $locaplic."/temas/".$codigoMap.".map"; - $handle = fopen($arquivo, "r"); - $final = ""; - while (!feof($handle)) - { - $linha = fgets($handle); - $final .= rtrim($linha, "\r\n") . PHP_EOL; - } - fclose($handle); - retornaJSON($final); - exit; - break; - case "salvaTextoMapfile": - $texto = str_replace('\"\"','" "',$texto); - $texto = str_replace('\"','"',$texto); - $texto = str_replace('xxxxxxxx',PHP_EOL,$texto); - /* - $arquivo = $locaplic."/temas/".$codigoMap.".map"; - $fp = fopen($arquivo, 'w'); - fwrite($fp, $texto); - fclose($fp); - retornaJSON(file_get_contents($arquivo)); - */ - retornaJSON($texto); - exit; - break; case "pegaMapfiles": retornaJSON(pegaLayers()); exit; @@ -152,6 +125,19 @@ switch ($funcao) retornaJSON(pegaGeral()); exit; break; + case "pegaClasseGeral": + retornaJSON(pegaClasseGeral()); + exit; + break; + case "alterarClasseGeral": + alterarClasseGeral(); + retornaJSON(pegaClasseGeral()); + exit; + break; + case "pegaClasseLabel": + retornaJSON(pegaClasseLabel()); + exit; + break; } function criarNovoMap() { @@ -443,7 +429,6 @@ function pegaGeral() } if($dados["projection"] == "null") $dados["projection"] = ""; - $dados["colunas"] = $colunas; $dados["codigoMap"] = $codigoMap; $dados["codigoLayer"] = $codigoLayer; @@ -493,8 +478,109 @@ function alterarGeral() removeCabecalho($mapfile); return "ok"; } - - +function pegaClasseGeral() +{ + global $codigoMap,$codigoLayer,$indiceClasse,$locaplic; + $dados = array(); + $mapfile = $locaplic."/temas/".$codigoMap.".map"; + $mapa = ms_newMapObj($mapfile); + $layer = $mapa->getlayerbyname($codigoLayer); + $classe = $layer->getclass($indiceClasse); + $dados["name"] = $classe->name; + $dados["expression"] = $classe->getExpression(); + $dados["keyimage"] = $classe->keyimage; + $dados["maxscale"] = $classe->maxscale; + $dados["minscale"] = $classe->minscale; + $dados["status"] = $classe->status; + $dados["text"] = $classe->getTextString(); + $dados["codigoMap"] = $codigoMap; + $dados["codigoLayer"] = $codigoLayer; + $dados["indiceClasse"] = $indiceClasse; + $colunas = ""; + if($layer->type < 3) + { + if(@$layer->open()) + { + $layer->open(); + $colunas = implode(", ",$layer->getitems()); + $layer->close(); + } + } + return $dados; +} +function alterarClasseGeral() +{ + global $codigoMap,$codigoLayer,$indiceClasse,$locaplic,$status,$minscale,$maxscale,$name,$expression,$keyimage; + $dados = array(); + $mapfile = $locaplic."/temas/".$codigoMap.".map"; + $mapa = ms_newMapObj($mapfile); + $layer = $mapa->getlayerbyname($codigoLayer); + $classe = $layer->getclass($indiceClasse); + $classe->set("name",$name); + $classe->setexpression($expression); + $classe->set("keyimage",$keyimage); + $classe->set("maxscale",$maxscale); + $classe->set("minscale",$minscale); + $classe->set("status",$status); + $mapa->save($mapfile); + removeCabecalho($mapfile); + return "ok"; +} +function pegaClasseLabel() +{ + global $codigoMap,$codigoLayer,$indiceClasse,$locaplic; + $dados = array(); + $mapfile = $locaplic."/temas/".$codigoMap.".map"; + $mapa = ms_newMapObj($mapfile); + $layer = $mapa->getlayerbyname($codigoLayer); + $classe = $layer->getclass($indiceClasse); + $label = $classe->label; + if ($label != "") + { + $dados["font"] = $label->font; + $dados["type"] = $label->type; + $dados["backgroundcolor"] = $label->backgroundcolor->red.",".$label->backgroundcolor->green.",".$label->backgroundcolor->blue; + $dados["backgroundshadowcolor"] = $label->backgroundshadowcolor->red.",".$label->backgroundshadowcolor->green.",".$label->backgroundshadowcolor->blue; + $dados["color"] = $label->color->red.",".$label->color->green.",".$label->color->blue; + $dados["outlinecolor"] = $label->outlinecolor->red.",".$label->outlinecolor->green.",".$label->outlinecolor->blue; + $dados["shadowcolor"] = $label->shadowcolor->red.",".$label->shadowcolor->green.",".$label->shadowcolor->blue; + $dados["shadowsizex"] = $label->shadowsizex; + $dados["shadowsizey"] = $label->shadowsizey; + $dados["backgroundshadowsizex"] = $label->backgroundshadowsizex; + $dados["backgroundshadowsizey"] = $label->backgroundshadowsizey; + $dados["size"] = $label->size; + $dados["minsize"] = $label->minsize; + $dados["maxsize"] = $label->maxsize; + $dados["position"] = $label->position; + $dados["offsetx"] = $label->offsetx; + $dados["offsety"] = $label->offsety; + $dados["angle"] = $label->angle; + $dados["autoangle"] = $label->autoangle; + $dados["buffer"] = $label->buffer; + $dados["antialias"] = $label->antialias; + $dados["wrap"] = $label->wrap; + $dados["minfeaturesize"] = $label->minfeaturesize; + $dados["autominfeaturesize"] = $label->autominfeaturesize; + $dados["mindistance"] = $label->mindistance; + $dados["partials"] = $label->partials; + $dados["force"] = $label->force; + $dados["encoding"] = $label->encoding; + } + $dados["codigoMap"] = $codigoMap; + $dados["codigoLayer"] = $codigoLayer; + $dados["indiceClasse"] = $indiceClasse; + $colunas = ""; + if($layer->type < 3) + { + if(@$layer->open()) + { + $layer->open(); + $colunas = implode(", ",$layer->getitems()); + $layer->close(); + } + } + return $dados; +} @@ -562,24 +648,7 @@ function alteraEstilo() removeCabecalho($mapfile); return "ok"; } -function alteraClasse() -{ - global $codigoMap,$codigoLayer,$classe,$parametro,$valor; - $mapfile = "../../temas/".$codigoMap.".map"; - $mapa = ms_newMapObj($mapfile); - $layer = $mapa->getlayerbyname($codigoLayer); - $classe = $layer->getclass($classe); - if($parametro == "text") - {$classe->settext($valor);} - elseif - ($parametro == "expression") - {$classe->setexpression($valor);} - else - $classe->set($parametro,$valor); - $mapa->save($mapfile); - removeCabecalho($mapfile); - return "ok"; -} + function alteraClasseLabel() { global $codigoMap,$codigoLayer,$classe,$parametro,$valor; @@ -672,68 +741,6 @@ function removeCabecalho($arq) fclose($handle); } -function pegaDadosClasse() -{ - global $codigoMap,$codigoLayer,$locaplic; - $dados = array(); - $mapfile = $locaplic."/temas/".$codigoMap.".map"; - $mapa = ms_newMapObj($mapfile); - $layer = $mapa->getlayerbyname($codigoLayer); - $nclasses = $layer->numclasses; - for($i=0;$i<$nclasses;++$i) - { - $classe = $layer->getclass($i); - $temp["name"] = $classe->name; - $temp["expression"] = $classe->getExpression(); - $temp["keyimage"] = $classe->keyimage; - $temp["maxscale"] = $classe->maxscale; - $temp["minscale"] = $classe->minscale; - $temp["maxsize"] = $classe->maxsize; - $temp["minsize"] = $classe->minsize; - $temp["size"] = $classe->size; - $temp["status"] = $classe->status; - $temp["symbolname"] = $classe->symbolname; - $temp["text"] = $classe->getTextString(); - $temp["type"] = $classe->type; - $label = $classe->label; - if ($label != "") - { - $t["font"] = $label->font; - $t["type"] = $label->type; - $t["backgroundcolor"] = $label->backgroundcolor->red.",".$label->backgroundcolor->green.",".$label->backgroundcolor->blue; - $t["backgroundshadowcolor"] = $label->backgroundshadowcolor->red.",".$label->backgroundshadowcolor->green.",".$label->backgroundshadowcolor->blue; - $t["color"] = $label->color->red.",".$label->color->green.",".$label->color->blue; - $t["outlinecolor"] = $label->outlinecolor->red.",".$label->outlinecolor->green.",".$label->outlinecolor->blue; - $t["shadowcolor"] = $label->shadowcolor->red.",".$label->shadowcolor->green.",".$label->shadowcolor->blue; - $t["shadowsizex"] = $label->shadowsizex; - $t["shadowsizey"] = $label->shadowsizey; - $t["backgroundshadowsizex"] = $label->backgroundshadowsizex; - $t["backgroundshadowsizey"] = $label->backgroundshadowsizey; - $t["size"] = $label->size; - $t["minsize"] = $label->minsize; - $t["maxsize"] = $label->maxsize; - $t["position"] = $label->position; - $t["offsetx"] = $label->offsetx; - $t["offsety"] = $label->offsety; - $t["angle"] = $label->angle; - $t["autoangle"] = $label->autoangle; - $t["buffer"] = $label->buffer; - $t["antialias"] = $label->antialias; - $t["wrap"] = $label->wrap; - $t["minfeaturesize"] = $label->minfeaturesize; - $t["autominfeaturesize"] = $label->autominfeaturesize; - $t["mindistance"] = $label->mindistance; - $t["partials"] = $label->partials; - $t["force"] = $label->force; - $t["encoding"] = $label->encoding; - $temp["label"] = $t; - } - else - $temp["label"] = array(); - $dados[] = array("id"=>$i,"dados"=>$temp); - } - return $dados; -} function pegaDadosEstilo() { global $codigoMap,$codigoLayer; -- libgit2 0.21.2