You are here

public function FeedsFieldCollectionProcessor::setTargetElement in Field collection feeds 7

File

plugins/FeedsFieldCollectionProcessor.inc, line 169
Class definition of FeedsFieldCollectionProcessor.

Class

FeedsFieldCollectionProcessor
Creates field collection from feed items.

Code

public function setTargetElement(FeedsSource $source, $target_item, $target_element, $value) {
  switch ($target_element) {
    case 'host_entity_guid':
      $query = new EntityFieldQuery();
      $query
        ->entityCondition('entity_type', $this->config['host_entity_type']);
      if (!empty($this->config['is_field'])) {
        $query
          ->fieldCondition($this->config['guid_field_name'], 'value', $value);
      }
      else {
        $query
          ->propertyCondition($this->config['guid_field_name'], $value);
      }
      $result = $query
        ->execute();
      list($hostEntityType, $data) = each($result);
      $target_item->hostEntityId = $data ? key($data) : FALSE;
      break;
    default:
      parent::setTargetElement($source, $target_item, $target_element, $value);
      break;
  }
}