$retorno)); exit; break; case "pegaMetadados": retornaJSON(pegaMetadados()); exit; break; case "alterarMetadados": if(verificaEditores($editores) == "nao") {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} alterarMetadados(); retornaJSON(pegaMetadados()); exit; break; case "pegaGeral": retornaJSON(pegaGeral()); exit; break; case "alterarGeral": if(verificaEditores($editores) == "nao") {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} $retorno = alterarGeral(); if($testar == "false") { $codigoLayer = $name; retornaJSON(pegaGeral()); } else retornaJSON(array("url"=>$retorno)); exit; break; case "pegaClasseGeral": retornaJSON(pegaClasseGeral()); exit; break; case "alterarClasseGeral": if(verificaEditores($editores) == "nao") {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} alterarClasseGeral(); retornaJSON(pegaClasseGeral()); exit; break; case "pegaClasseLabel": retornaJSON(pegaClasseLabel()); exit; break; case "alterarClasseLabel": if(verificaEditores($editores) == "nao") {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} alterarClasseLabel(); retornaJSON(pegaClasseLabel()); exit; break; case "movimentaNo": if(verificaEditores($editores) == "nao") {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;} $res = sobeDesce(); retornaJSON($res); exit; break; } function sobeDesce() { global $movimento,$tipo,$codigoMap,$codigoLayer,$indiceClasse,$indiceEstilo,$locaplic; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); if($movimento == "sobe") { if($tipo == "layer") { $indice = $layer->index; $mapa->moveLayerUp($indice); } if($tipo == "classe") { $layer->moveclassup($indiceClasse); } if($tipo == "estilo") { $classe = $layer->getclass($indiceClasse); $classe->movestyleup($indiceEstilo); } } if($movimento == "desce") { if($tipo == "layer") { $indice = $layer->index; $mapa->moveLayerDown($indice); } if($tipo == "classe") { $layer->moveclassdown($indiceClasse); } if($tipo == "estilo") { $classe = $layer->getclass($indiceClasse); $classe->movestyledown($indiceEstilo); } } $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function criarNovoMap() { global $nome,$codigo,$locaplic,$it,$en,$es; $arq = $locaplic."/temas/".$codigo.".map"; if(!file_exists($arq)) { $dados[] = "MAP"; $dados[] = "SYMBOLSET ../symbols/simbolos.sym"; $dados[] = 'FONTSET "../symbols/fontes.txt"'; $dados[] = "LAYER"; $dados[] = " NAME $codigo"; $dados[] = " TYPE line"; $dados[] = ' DATA ""'; $dados[] = ' METADATA'; $dados[] = ' TEMA "'.$nome.'"'; $dados[] = ' CLASSE "SIM"'; $dados[] = ' END'; $dados[] = ' CLASS'; $dados[] = ' NAME ""'; $dados[] = ' STYLE'; $dados[] = ' COLOR 0 0 0'; $dados[] = ' END'; $dados[] = ' END'; $dados[] = "END"; $dados[] = "END"; $fp = fopen($arq,"w"); foreach ($dados as $dado) { fwrite($fp,$dado."\n"); } require_once("conexao.php"); $dbhw->query("INSERT INTO i3geoadmin_temas (link_tema,kml_tema,kmz_tema,ogc_tema,download_tema,desc_tema,tipoa_tema,tags_tema,nome_tema,codigo_tema,it,es,en) VALUES ('','','', '','','','','','$nome','$codigo','$it','$es','$en')"); $dbh = null; $dbhw = null; return "ok"; } return "erro"; } function criarNovoLayer() { global $locaplic,$codigoMap; include_once("../../classesphp/funcoes_gerais.php"); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $nl = ms_newLayerObj($mapa); $nl->set("name",nomeRandomico()); $nl->set("type",MS_LAYER_LINE); $mapa->save($mapfile); removeCabecalho($mapfile); return array("layers"=>(array($nl->name))); } function autoClassesLayer() { global $codigoMap,$codigoLayer,$itemExpressao,$itemNome,$locaplic,$dir_tmp; $mapfile = $locaplic."/temas/".$codigoMap.".map"; include_once("../../classesphp/classe_alteraclasse.php"); error_reporting(0); $nometemp = $dir_tmp."/".nomerandomico().".map"; if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {$geral = $locaplic."/aplicmap/geral1windows.map";} else {$geral = $locaplic."/aplicmap/geral1.map";} $mapageral = ms_newMapObj($geral); $nomestemp = $mapageral->getalllayernames(); foreach($nomestemp as $l) { $layertemp = $mapageral->getlayerbyname($l); $layertemp->set("status",MS_DELETE); } $mapatemp = ms_newMapObj($mapfile); $nomestemp = $mapatemp->getalllayernames(); foreach($nomestemp as $l) { $layertemp = $mapatemp->getlayerbyname($l); ms_newLayerObj($mapageral, $layertemp); } $mapageral->save($nometemp); $m = new Alteraclasse($nometemp,$codigoLayer); $m->valorunico($itemExpressao,"",$itemNome); $m->salva(); $mapatemp = ms_newMapObj($nometemp); $mapatemp->save($mapfile); removeCabecalho($mapfile); } function criarNovaClasse() { global $codigoMap,$codigoLayer,$locaplic; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $nl = $mapa->getlayerbyname($codigoLayer); $nclasses = $nl->numclasses; $classe = ms_newClassObj($nl); $mapa->save($mapfile); removeCabecalho($mapfile); $dados[] = array("indice"=>($nclasses),"nome"=>("")); return $dados; } function criarNovoEstilo() { global $codigoMap,$codigoLayer,$indiceClasse,$locaplic; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $nl = $mapa->getlayerbyname($codigoLayer); $classObj = $nl->getclass($indiceClasse); $numestilos = $classObj->numstyles; $nestilo = ms_newStyleObj($classObj); $mapa->save($mapfile); removeCabecalho($mapfile); $dados[] = array("estilo"=>$numestilos); return $dados; } function pegaItensLayer() { global $codigoMap,$locaplic,$codigoLayer; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $layer->open(); $itens = $layer->getitems(); $layer->close(); $dados["itens"] = $itens; return $dados; } function pegaLayers() { global $codigoMap,$locaplic; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layers = $mapa->getalllayernames(); $dados["layers"] = $layers; return $dados; } function listaClasses() { 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); $dados[] = array("indice"=>$i,"nome"=>($classe->name)); } return $dados; } function listaEstilos() { global $codigoMap,$codigoLayer,$indiceClasse,$locaplic; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $classe = $layer->getclass($indiceClasse); $numestilos = $classe->numstyles; for($i=0;$i<$numestilos;++$i) { $dados[] = array("estilo"=>$i); } return $dados; } function excluirLayer() { global $codigoMap,$codigoLayer,$locaplic; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $nl = $mapa->getlayerbyname($codigoLayer); $nl->set("status",MS_DELETE); $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function excluirClasse() { global $codigoMap,$codigoLayer,$indiceClasse,$locaplic; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $nl = $mapa->getlayerbyname($codigoLayer); $classObj = $nl->getclass($indiceClasse); $classObj->set("status",MS_DELETE); $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function excluirEstilo() { global $codigoMap,$codigoLayer,$indiceClasse,$indiceEstilo,$locaplic; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $nl = $mapa->getlayerbyname($codigoLayer); $classObj = $nl->getclass($indiceClasse); $classObj->deletestyle($indiceEstilo); $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function pegaConexao() { global $codigoMap,$codigoLayer,$locaplic,$postgis_mapa; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $dados["connection"] = $layer->connection; $dados["connectiontype"] = $layer->connectiontype; $dados["data"] = $layer->data; $dados["tileindex"] = $layer->tileindex; $dados["tileitem"] = $layer->tileitem; if($dados["tileindex"] == ""){$dados["tileitem"] = "";} if(is_array($postgis_mapa)) $dados["postgis_mapa"] = array_keys($postgis_mapa); else $dados["postgis_mapa"] = $postgis_mapa; $dados["codigoMap"] = $codigoMap; $dados["codigoLayer"] = $codigoLayer; return $dados; } function alterarConexao() { global $dir_tmp,$testar,$codigoMap,$codigoLayer,$locaplic,$connection,$connectiontype,$data,$tileitem,$tileindex; $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $layer->set("connection",$connection); $layer->set("connectiontype",$connectiontype); $layer->set("data",$data); $layer->set("tileitem",$tileitem); $layer->set("tileindex",$tileindex); if($testar == "true") { $nome = $dir_tmp."/".$codigoMap.".map"; $mapa->save($nome); removeCabecalho($nome,false); return $nome; } else { $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } } function pegaMetadados() { global $codigoMap,$codigoLayer,$locaplic,$postgis_mapa; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $dados["itens"] = $layer->getmetadata("itens"); $dados["itensdesc"] = $layer->getmetadata("itensdesc"); $dados["itenslink"] = $layer->getmetadata("itenslink"); $dados["tip"] = $layer->getmetadata("tip"); $dados["tema"] = $layer->getmetadata("tema"); $dados["classe"] = $layer->getmetadata("classe"); $dados["escala"] = $layer->getmetadata("escala"); $dados["download"] = $layer->getmetadata("download"); $dados["escondido"] = $layer->getmetadata("escondido"); $dados["extensao"] = $layer->getmetadata("extensao"); $dados["identifica"] = $layer->getmetadata("identifica"); $dados["mensagem"] = $layer->getmetadata("mensagem"); $dados["classesitem"] = $layer->getmetadata("classesitem"); $dados["classesnome"] = $layer->getmetadata("classesnome"); $dados["classescor"] = $layer->getmetadata("classescor"); $dados["classessimbolo"] = $layer->getmetadata("classessimbolo"); $dados["classestamanho"] = $layer->getmetadata("classestamanho"); $dados["aplicaextensao"] = $layer->getmetadata("aplicaextensao"); $dados["arquivodownload"] = $layer->getmetadata("arquivodownload"); $dados["palletefile"] = $layer->getmetadata("palletefile"); $dados["palletestep"] = $layer->getmetadata("palletestep"); $dados["description_template"] = $layer->getmetadata("description_template"); $dados["codigoMap"] = $codigoMap; $dados["codigoLayer"] = $codigoLayer; $dados["colunas"] = implode(" ,",pegaItens($layer)); return $dados; } function alterarMetadados() { global $description_template,$palletestep,$palletefile,$arquivodownload,$codigoMap,$codigoLayer,$locaplic,$aplicaextensao,$classestamanho,$classessimbolo,$classescor,$classesnome,$classesitem,$mensagem,$identifica,$extensao,$escondido,$download,$escala,$tema,$classe,$tip,$itenslink,$itens,$itensdesc; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $layer->setmetadata("itens",$itens); $layer->setmetadata("itensdesc",$itensdesc); $layer->setmetadata("itenslink",$itenslink); $layer->setmetadata("tip",$tip); $layer->setmetadata("tema",$tema); $layer->setmetadata("classe",$classe); $layer->setmetadata("escala",$escala); $layer->setmetadata("download",$download); $layer->setmetadata("escondido",$escondido); $layer->setmetadata("extensao",$extensao); $layer->setmetadata("identifica",$identifica); $layer->setmetadata("mensagem",$mensagem); $layer->setmetadata("classesitem",$classesitem); $layer->setmetadata("classesnome",$classesnome); $layer->setmetadata("classescor",$classescor); $layer->setmetadata("classessimbolo",$classessimbolo); $layer->setmetadata("classestamanho",$classestamanho); $layer->setmetadata("aplicaextensao",$aplicaextensao); $layer->setmetadata("arquivodownload",$arquivodownload); $layer->setmetadata("palletefile",$palletefile); $layer->setmetadata("palletestep",$palletestep); $layer->setmetadata("description_template",$description_template); $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function pegaGeral() { global $codigoMap,$codigoLayer,$locaplic; $v = versao(); $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $dados["type"] = $layer->type; $dados["filter"] = $layer->getfilterstring(); if($dados["filter"]== ""){$dados["filter"] = "";} $dados["filteritem"] = $layer->filteritem; $dados["group"] = $layer->group; //$dados["labelangleitem"] = $layer->labelangleitem; $dados["labelitem"] = $layer->labelitem; $dados["labelmaxscale"] = $layer->labelmaxscaledenom; $dados["labelmaxscale"] = $layer->labelmaxscaledenom; $dados["labelminscale"] = $layer->labelminscaledenom; //$dados["labelsizeitem"] = $layer->labelsizeitem; $dados["maxscale"] = $layer->maxscaledenom; $dados["minscale"] = $layer->minscaledenom; $dados["offsite"] = $layer->offsite->red.",".$layer->offsite->green.",".$layer->offsite->blue; $v["principal"] == "4" ? $dados["opacity"] = $layer->transparency : $dados["opacity"] = $layer->opacity; $dados["symbolscale"] = $layer->symbolscaledenom; $dados["tolerance"] = $layer->tolerance; $dados["toleranceunits"] = $layer->toleranceunits; $dados["status"] = $layer->status; $dados["sizeunits"] = $layer->sizeunits; $dados["projection"] = $layer->getProjection(); $dados["name"] = $layer->name; if($dados["projection"] == "null") {$dados["projection"] = "";} $dados["projection"] = str_replace("+i","i",$dados["projection"]); $dados["codigoMap"] = $codigoMap; $dados["codigoLayer"] = $codigoLayer; $dados["colunas"] = implode(" ,",pegaItens($layer)); return $dados; } function alterarGeral() { global $dir_tmp,$testar,$codigoMap,$codigoLayer,$locaplic,$name,$projection,$sizeunits,$status,$toleranceunits,$tolerance,$symbolscale,$opacity,$offsite,$minscale,$maxscale,$labelsizeitem,$labelminscale,$labelmaxscale,$labelitem,$group,$filteritem,$type,$filter; error_reporting(0); $v = versao(); $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); if($offsite == -1 || $offsite == "null") {$offsite = "-1,-1,-1";} $layer->set("name",$name); $layer->set("type",$type); $layer->setfilter($filter); $layer->set("filteritem",$filteritem); $layer->set("group",$group); //$layer->set("labelangleitem",$labelangleitem); $layer->set("labelitem",$labelitem); $layer->set("labelmaxscaledenom",$labelmaxscale); $layer->set("labelminscaledenom",$labelminscale); //$layer->set("labelsizeitem",$labelsizeitem); $layer->set("maxscaledenom",$maxscale); $layer->set("minscaledenom",$minscale); $cor = $layer->offsite; $c = explode(",",$offsite); if(count($c) < 3) $c = explode(" ",$offsite); $cor->setrgb($c[0],$c[1],$c[2]); $layer->offsite->red.",".$layer->offsite->green.",".$layer->offsite->blue; $v["principal"] == "4" ? $layer->set("transparency",$opacity) : $layer->set("opacity",$opacity); $layer->set("symbolscaledenom",$symbolscale); $layer->set("tolerance",$tolerance); $layer->set("toleranceunits",$toleranceunits); $layer->set("status",$status); $layer->set("sizeunits",$sizeunits); if($layer->getprojection() == MS_TRUE) $layer->setprojection($projection); if($layer->getprojection() == MS_FALSE && $projection != "") $layer->setprojection($projection); if($testar == "true") { $nome = $dir_tmp."/".$codigoMap.".map"; $mapa->save($nome); removeCabecalho($nome,false); return $nome; } else { $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } } function pegaClasseGeral() { global $codigoMap,$codigoLayer,$indiceClasse,$locaplic; error_reporting(E_ALL); $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $classe = $layer->getclass($indiceClasse); $dados["name"] = $classe->name; $dados["title"] = $classe->title; $temp = $classe->getExpressionString(); $temp = str_replace("[","_C",$temp); $temp = str_replace("]","C_",$temp); $temp = str_replace("'","_A_",$temp); //substitui caracteres que dão problemas $dados["expression"] = $temp; $dados["keyimage"] = $classe->keyimage; $dados["maxscale"] = $classe->maxscaledenom; $dados["minscale"] = $classe->minscaledenom; $dados["status"] = $classe->status; //$dados["text"] = $classe->getTextString(); $dados["codigoMap"] = $codigoMap; $dados["codigoLayer"] = $codigoLayer; $dados["indiceClasse"] = $indiceClasse; $dados["colunas"] = implode(" ,",pegaItens($layer)); return $dados; } function alterarClasseGeral() { global $codigoMap,$codigoLayer,$indiceClasse,$locaplic,$status,$minscale,$maxscale,$name,$expression,$keyimage,$title; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $classe = $layer->getclass($indiceClasse); $classe->set("name",$name); $classe->set("title",$title); $temp = str_replace("_C","[",$expression); $temp = str_replace("C_","]",$temp); $temp = str_replace("_A_","'",$temp); $classe->setexpression($temp); $classe->set("keyimage",$keyimage); $classe->set("maxscaledenom",$maxscale); $classe->set("minscaledenom",$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; $dados["colunas"] = implode(" ,",pegaItens($layer)); $arq = $locaplic."/symbols/fontes.txt"; $h = fopen ($arq,"r"); while ($i = fscanf ($h, "%s\t%s\t")) { list ($f,$g) = $i; $nome[] = $f; } $dados["fontes"] = $nome; return $dados; } function alterarClasseLabel() { global $codigoMap,$codigoLayer,$indiceClasse,$locaplic,$autoangle,$encoding,$force,$partials,$mindistance,$minfeaturesize,$wrap,$antialias,$buffer,$angle,$offsety,$offsetx,$position,$maxsize,$minsize,$size,$backgroundshadowsizey,$backgroundshadowsizex,$shadowsizey,$shadowsizex,$shadowcolor,$outlinecolor,$color,$backgroundshadowcolor,$backgroundcolor,$type,$font; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $classe = $layer->getclass($indiceClasse); $label = $classe->label; if ($label != "") { $label->set("font",$font); $label->set("type",$type); corE($label,$backgroundcolor,"backgroundcolor"); corE($label,$backgroundshadowcolor,"backgroundshadowcolor"); corE($label,$color,"color"); corE($label,$outlinecolor,"outlinecolor"); corE($label,$shadowcolor,"shadowcolor"); $label->set("shadowsizex",$shadowsizex); $label->set("shadowsizey",$shadowsizey); $label->set("backgroundshadowsizex",$backgroundshadowsizex); $label->set("backgroundshadowsizey",$backgroundshadowsizey); $label->set("size",$size); $label->set("minsize",$minsize); $label->set("maxsize",$maxsize); $label->set("position",$position); $label->set("offsetx",$offsetx); $label->set("offsety",$offsety); $label->set("angle",$angle); $label->set("autoangle",$autoangle); $label->set("buffer",$buffer); $label->set("antialias",$antialias); $label->set("wrap",$wrap); $label->set("minfeaturesize",$minfeaturesize); //$label->set("autominfeaturesize",$autominfeaturesize); $label->set("mindistance",$mindistance); $label->set("partials",$partials); $label->set("force",$force); $label->set("encoding",$encoding); $label->set("autoangle",$autoangle); } $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function pegaEstilo() { global $codigoMap,$codigoLayer,$indiceClasse,$indiceEstilo,$locaplic; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $nclasses = $layer->numclasses; $classe = $layer->getclass($indiceClasse); $estilo = $classe->getstyle($indiceEstilo); $dados["symbolname"] = $estilo->symbolname; $dados["color"] = $estilo->color->red.",".$estilo->color->green.",".$estilo->color->blue; $dados["size"] = $estilo->size; $dados["minsize"] = $estilo->minsize; $dados["maxsize"] = $estilo->maxsize; $dados["offsetx"] = $estilo->offsetx; $dados["offsety"] = $estilo->offsety; $dados["antialias"] = $estilo->antialias; $dados["backgroundcolor"] = $estilo->backgroundcolor->red.",".$estilo->backgroundcolor->green.",".$estilo->backgroundcolor->blue; $dados["outlinecolor"] = $estilo->outlinecolor->red.",".$estilo->outlinecolor->green.",".$estilo->outlinecolor->blue; $dados["width"] = $estilo->width; $dados["minwidth"] = $estilo->minwidth; $dados["maxwidth"] = $estilo->maxwidth; $dados["angle"] = $estilo->angle; $dados["codigoMap"] = $codigoMap; $dados["codigoLayer"] = $codigoLayer; $dados["indiceClasse"] = $indiceClasse; $dados["indiceEstilo"] = $indiceEstilo; //$dados["opacity"] = $estilo->opacity; return $dados; } function alterarEstilo() { global $codigoMap,$codigoLayer,$indiceClasse,$indiceEstilo,$locaplic,$angle,$maxwidth,$minwidth,$width,$outlinecolor,$backgroundcolor,$antialias,$offsety,$offsetx,$maxsize,$minsize,$size,$color,$symbolname; $dados = array(); $mapfile = $locaplic."/temas/".$codigoMap.".map"; $mapa = ms_newMapObj($mapfile); $layer = $mapa->getlayerbyname($codigoLayer); $nclasses = $layer->numclasses; $classe = $layer->getclass($indiceClasse); $estilo = $classe->getstyle($indiceEstilo); $estilo->set("symbolname",$symbolname); corE($estilo,$color,"color"); $estilo->set("size",$size); $estilo->set("minsize",$minsize); $estilo->set("maxsize",$maxsize); $estilo->set("offsetx",$offsetx); $estilo->set("offsety",$offsety); $estilo->set("antialias",$antialias); corE($estilo,$backgroundcolor,"backgroundcolor"); corE($estilo,$outlinecolor,"outlinecolor"); $estilo->set("width",$width); $estilo->set("minwidth",$minwidth); $estilo->set("maxwidth",$maxwidth); $estilo->set("angle",$angle); //$estilo->set("opacity",$opacity); $mapa->save($mapfile); removeCabecalho($mapfile); return "ok"; } function removeCabecalho($arq,$symbolset=true) { $handle = fopen($arq, "r"); if ($handle) { $cabeca = array(); if($symbolset) { $cabeca[] = "MAP\n"; //$final[] = "SYMBOLSET ../symbols/simbolos.sym\n"; //$final[] = "FONTSET ".'"'."../symbols/fontes.txt".'"'."\n"; } $grava = false; while (!feof($handle)) { $linha = fgets($handle); if($symbolset) { if(strpos(strtoupper($linha),"SYMBOLSET") !== false) {$cabeca[] = $linha;} if(strpos(strtoupper($linha),"FONTSET") !== false) {$cabeca[] = $linha;} } if(strtoupper(trim($linha)) == "LAYER") {$grava = true;} if($grava) {$final[] = rtrim($linha, "\r\n") . PHP_EOL;} } fclose($handle); } $final = array_merge($cabeca,$final); $handle = fopen($arq, "w+"); foreach ($final as $f) { // //remove resultados em branco //e grava a linha // $teste = strtoupper($f); $teste = trim($teste); $teste = str_replace(" ","",$teste); $teste = str_replace("'","",$teste); $teste = str_replace('"',"",$teste); $teste = preg_replace('/[\n\r\t ]*/', '', $teste); $testar = array("KEYIMAGE","TILEINDEX","TILEITEM","SYMBOL","LABELITEM","FILTERITEM","GROUP","ENCODING","TIP","CLASSE","ITENSDESC","CLASSESNOME","ITENSLINK","ESCALA","CLASSESSIMBOLO","MENSAGEM","EXTENSAO","CLASSESITEM","ESCONDIDO","CLASSESCOR","DOWNLOAD","CLASSESTAMANHO","ITENS","TEMA","APLICAEXTENSAO","IDENTIFICA"); $passou = true; foreach ($testar as $t) {if($teste == $t){$passou = false;}} if($passou) fwrite($handle,$f); } fclose($handle); chmod($arq, 0666); } ?>