You are here

public function CivicrmDataSourceHandler::buildItemList in CRM Core 7

Build list of items for settings plugin.

2 calls to CivicrmDataSourceHandler::buildItemList()
CivicrmDataSourceHandler::getEntitiesForReferences in modules/crm_core_data_import/plugins/source/CivicrmDataSourceHandler.inc
Returns related list entities from migration results for references.
CivicrmDataSourceHandler::getEntitiesForRelationships in modules/crm_core_data_import/plugins/source/CivicrmDataSourceHandler.inc
Returns list of entities which has relationships.

File

modules/crm_core_data_import/plugins/source/CivicrmDataSourceHandler.inc, line 328

Class

CivicrmDataSourceHandler

Code

public function buildItemList(&$list, $data, $civicrm_destination_ids, $plugin_data) {
  foreach ($civicrm_destination_ids as $civicrm_destination_id) {

    // Get id of drupal entity which should be target in source plugin.
    $target_entity_id = $this
      ->getDrupalDestinationId($data['table'], $civicrm_destination_id);
    if (!empty($data['drupal_source_id']) && !empty($target_entity_id)) {
      $source_entity = new stdClass();
      $destination_entity = new stdClass();
      $source_entity->id = $data['drupal_source_id'];
      $destination_entity->id = $target_entity_id;

      // Add entity type to easily check entity type in settings.
      $source_entity->entity_type = $data['source']['type'];
      $destination_entity->entity_type = $data['destination']['type'];

      // Add data to list.
      $list[] = array(
        'source_entity' => $source_entity,
        'destination_entity' => $destination_entity,
        'plugin_data' => $plugin_data,
      );
    }
  }
}