protected function FeedsExBase::executeSources in Feeds extensible parsers 7
Same name and namespace in other branches
- 7.2 src/FeedsExBase.inc \FeedsExBase::executeSources()
Executes the source expressions.
Parameters
mixed $row: A single item returned from the context expression.
array $expressions: A map of machine name to expression.
array $variable_map: A map of machine name to varible name.
Return value
array The fully-parsed item array.
3 calls to FeedsExBase::executeSources()
- FeedsExBase::parseItems in src/FeedsExBase.inc 
- Performs the actual parsing.
- FeedsExJmesPathLines::parseItems in src/FeedsExJmesPathLines.inc 
- Performs the actual parsing.
- FeedsExJsonPathLines::parseItems in src/FeedsExJsonPathLines.inc 
- Performs the actual parsing.
File
- src/FeedsExBase.inc, line 287 
- Contains FeedsExBase.
Class
- FeedsExBase
- The Feeds extensible parser.
Code
protected function executeSources($row, array $expressions, array $variable_map) {
  $item = array();
  $variables = array();
  foreach ($expressions as $machine_name => $expression) {
    // Variable substitution.
    $expression = strtr($expression, $variables);
    $result = $this
      ->executeSourceExpression($machine_name, $expression, $row);
    if (!empty($this->config['sources'][$machine_name]['debug'])) {
      $this
        ->debug($result, $machine_name);
    }
    if ($result === NULL) {
      $variables[$variable_map[$machine_name]] = '';
      continue;
    }
    $item[$machine_name] = $result;
    $variables[$variable_map[$machine_name]] = is_array($result) ? reset($result) : $result;
  }
  return $item;
}