/**
  * Formata SQL legenda.
  * 
  * @param int|string $indicador
  * @param int|string $espacialidade
  * @return string
  */
 public function carrega($indicador, $espacialidade)
 {
     $ind = Bd::escape($indicador);
     $esp = VerificadorEspacialidade::getEspacialidade($espacialidade);
     $maior_melhor = null;
     $sql = "SELECT\n                cg.id AS cg_id, \n                c.id AS c_id, \n                c.nome AS nome,                \n                v.maiormelhor AS maior_melhor,\n                CAST(c.maximo AS varchar) AS max,\n                CAST(c.minimo AS varchar) AS min,\n                c.cor_preenchimento AS cor_preenchimento\n            FROM\n                classe_grupo AS cg, classe AS c, variavel AS v\n            WHERE\n                c.fk_classe_grupo=cg.id AND\n                v.id=cg.fk_variavel AND\n                cg.fk_variavel={$ind} AND\n                cg.espacialidade={$esp}\n            ORDER BY\n                c_id DESC";
     $this->bd->execSql($sql);
     $legenda = new LegendaPadrao();
     while ($row = $this->bd->proximo()) {
         $faixa = new FaixaLegenda();
         $faixa->setId($row->c_id);
         $faixa->setNome($row->nome);
         $faixa->setCor($row->cor_preenchimento);
         $faixa->setMax($row->max);
         $faixa->setMin($row->min);
         $legenda->addFaixa($faixa);
         // seta ordem das ASC ou DESC da legenda
         if ($maior_melhor == null) {
             $maior_melhor = $row->maior_melhor;
             $legenda->setOrdem($maior_melhor);
         }
     }
     //        die($sql);
     return $legenda;
 }
 /**
  * Retorna array de indicadores.
  * 
  * @return array
  */
 private function _getIndicadoresArray()
 {
     $sql = sprintf("SELECT var.id AS id, var.sigla AS sigla, lg.nomecurto AS nomecurto, lg.nomelongo AS nomelongo " . "FROM variavel var INNER JOIN lang_var lg on var.id = lg.fk_variavel " . "WHERE lg.lang = '%s' " . "ORDER BY var.ordem ASC", Bd::escape($this->user_lang));
     $this->bd->execSql($sql);
     $result = array();
     while ($row = $this->bd->proximo()) {
         $obj = new Variavel($row->id, $row->sigla, $row->nomecurto, $row->nomelongo);
         $result[] = $obj;
     }
     return $result;
 }
 /**
  * Escape ID ou um array de IDs.
  * 
  * @param integer|array $id
  * @return integer|array
  */
 protected function escapeId($id)
 {
     // id pode ser um array ou ser valor único
     if (!is_array($id)) {
         $id = Bd::escape($id);
     } else {
         foreach ($id as $k => $v) {
             $id[$k] = Bd::escape($v);
         }
     }
     return $id;
 }