Exemplo n.º 1
0
 private function valuesToBag(FieldConfigInterface $fieldConfig, array $values, ValuesBag $valuesBag, $groupIdx, $level = 0)
 {
     $factory = new FieldValuesFactory($fieldConfig, $valuesBag, $this->config->getMaxValues(), $groupIdx, $level);
     foreach ($values['single-values'] as $index => $value) {
         $factory->addSimpleValue($value);
     }
     foreach ($values['excluded-values'] as $index => $value) {
         $factory->addExcludedSimpleValue($value);
     }
     foreach ($values['ranges'] as $index => $range) {
         $this->assertArrayKeysExists($range, ['lower', 'upper'], $index, $groupIdx, $level);
         $this->processRange($range, $factory);
     }
     foreach ($values['excluded-ranges'] as $index => $range) {
         $this->assertArrayKeysExists($range, ['lower', 'upper'], $index, $groupIdx, $level);
         $this->processRange($range, $factory, true);
     }
     foreach ($values['comparisons'] as $index => $comparison) {
         $this->assertArrayKeysExists($comparison, ['value', 'operator'], $index, $groupIdx, $level);
         $factory->addComparisonValue($comparison['operator'], $comparison['value']);
     }
     foreach ($values['pattern-matchers'] as $index => $matcher) {
         $this->assertArrayKeysExists($matcher, ['value', 'type'], $index, $groupIdx, $level);
         $factory->addPatterMatch($matcher['type'], $matcher['value'], isset($matcher['case-insensitive']) && true === (bool) $matcher['case-insensitive']);
     }
     return $valuesBag;
 }
Exemplo n.º 2
0
 private function valuesToBag(FieldConfigInterface $fieldConfig, \SimpleXMLElement $values, ValuesBag $valuesBag, $groupIdx, $level = 0)
 {
     $factory = new FieldValuesFactory($fieldConfig, $valuesBag, $this->config->getMaxValues(), $groupIdx, $level);
     if (isset($values->{'single-values'})) {
         foreach ($values->{'single-values'}->children() as $value) {
             $factory->addSimpleValue((string) $value);
         }
     }
     if (isset($values->{'excluded-values'})) {
         foreach ($values->{'excluded-values'}->children() as $value) {
             $factory->addExcludedSimpleValue((string) $value);
         }
     }
     if (isset($values->comparisons)) {
         foreach ($values->comparisons->children() as $comparison) {
             $factory->addComparisonValue((string) $comparison['operator'], (string) $comparison);
         }
     }
     if (isset($values->ranges)) {
         foreach ($values->ranges->children() as $range) {
             $this->processRange($range, $factory);
         }
     }
     if (isset($values->{'excluded-ranges'})) {
         foreach ($values->{'excluded-ranges'}->children() as $range) {
             $this->processRange($range, $factory, true);
         }
     }
     if (isset($values->{'pattern-matchers'})) {
         foreach ($values->{'pattern-matchers'}->children() as $patternMatch) {
             $factory->addPatterMatch((string) $patternMatch['type'], (string) $patternMatch, 'true' === strtolower($patternMatch['case-insensitive']));
         }
     }
     return $valuesBag;
 }