protected function encode($fieldsDef, $modelSection) { $encoded = ''; foreach ($fieldsDef as $field => $definition) { if (isset($modelSection->{$field})) { $format = $definition['picture']; $encoded .= Picture::encode($modelSection->{$field}, $format, array('field_desc' => $field)); } } return $encoded; }
public function obterValorCampo(array $definicao) { if (1 !== preg_match(Picture::REGEX_VALID_FORMAT, $definicao['picture'], $tipo)) { throw new LinhaException('Erro ao obter valor de campo. Definição de campo inválida (picture).'); } $inicio = $definicao['pos'][0] - 1; $tamanho1 = !empty($tipo['tamanho1']) ? (int) $tipo['tamanho1'] : 0; $tamanho2 = !empty($tipo['tamanho2']) ? (int) $tipo['tamanho2'] : 0; $tamanho = $tamanho1 + $tamanho2; $formato = $definicao['picture']; $opcoes = array(); return Picture::decode(substr($this->linhaStr, $inicio, $tamanho), $formato, $opcoes); }