Commit 5179238e38cb7f2c79628cd2b6fc3e3d2b0ae756

Authored by Edmar Moretti
1 parent 4a92d8f9

--no commit message

Showing 1 changed file with 35 additions and 4 deletions   Show diff stats
classesphp/classe_legenda.php
... ... @@ -92,7 +92,13 @@ class Legenda
92 92  
93 93 Localização da aplicação
94 94 */
95   - protected $localaplicacao;
  95 + protected $localaplicacao;
  96 + /*
  97 + Variavel: $v
  98 +
  99 + Versão atual do Mapserver (primeiro dígito)
  100 + */
  101 + public $v;
96 102 /*
97 103 Function: __construct
98 104  
... ... @@ -116,6 +122,8 @@ $template - nome do template para processar a legenda
116 122 include_once($locaplic."/funcoes_gerais.php");
117 123 else
118 124 include_once("funcoes_gerais.php");
  125 + $this->v = versao();
  126 + $this->v = $this->v["principal"];
119 127 $this->localaplicacao = $locaplic;
120 128 if($map_file == "")
121 129 {return;}
... ... @@ -438,6 +446,7 @@ Exclui um estilo de uma classe.
438 446 $classe = $this->layer->getclass($classe);
439 447 $classe->deletestyle($estilo);
440 448 $this->layer->removeMetaData("cache");
  449 + return "ok";
441 450 }
442 451 /*
443 452 function: adicionaEstilo
... ... @@ -610,6 +619,15 @@ string com o tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbo
610 619 $linha[] = $estilo->symbolname;
611 620 $linha[] = $estilo->size;
612 621 $linha[] = $estilo->opacity;
  622 + if($this->v == 6){
  623 + $linha[] = $estilo->width;
  624 + $s = $estilo->symbol;
  625 + $linha[] = implode(" ",$s->getPatternArray);
  626 + }
  627 + else{
  628 + $linha[] = "";
  629 + $linha[] = "";
  630 + }
613 631 $linhas[] = $tipoLayer."#".implode("#",$linha);
614 632 }
615 633 //retorna tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbolname,size
... ... @@ -638,11 +656,20 @@ $size - Tamanho que será aplicado ao símbolo.
638 656  
639 657 $opacidade - Opacidade
640 658 */
641   - function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade)
  659 + function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade,$width,$pattern)
642 660 {
643 661 if(!$this->layer){return "erro";}
  662 + if(!empty($pattern))
  663 + {$pattern = str_replace(","," ",$pattern);}
644 664 $classe = $this->layer->getclass($classe);
645   - $estilo = $classe->getstyle($estilo);
  665 + //isso é necessário pq o mapserver não consegue apagar o nome de um estilo
  666 + if(isset($symbolname) && ($symbolname == "" || $symbolname == "0")){
  667 + $classe->deletestyle($estilo);
  668 + $estilo = ms_newStyleObj($classe);
  669 + }
  670 + else{
  671 + $estilo = $classe->getstyle($estilo);
  672 + }
646 673 if (isset($outlinecolor))
647 674 {
648 675 $cor = $estilo->outlinecolor;
... ... @@ -661,7 +688,7 @@ $opacidade - Opacidade
661 688 $nc = explode(",",$color);
662 689 $cor->setRGB($nc[0],$nc[1],$nc[2]);
663 690 }
664   - if ((isset($symbolname)) && ($symbolname != ""))
  691 + if((isset($symbolname)) && ($symbolname != ""))
665 692 {
666 693 if(is_numeric($symbolname))
667 694 {$estilo->set("symbol",$symbolname);}
... ... @@ -670,6 +697,10 @@ $opacidade - Opacidade
670 697 }
671 698 if ((isset ($size)) && ($size != "-1"))
672 699 {$estilo->set("size",$size);}
  700 + if ((isset ($width)) && ($width != "-1") && ($this->v == 6))
  701 + {$estilo->set("width",$width);}
  702 + if ((isset ($pattern)) && ($pattern != "-1") && ($this->v == 6))
  703 + {$estilo->updatefromstring("STYLE PATTERN ".$pattern." END");}
673 704 if(isset($opacidade))
674 705 {$estilo->set("opacity",$opacidade);}
675 706 if ($this->layer->getmetadata("sld") != "")
... ...