You are here

public function PartyB2BContactProfile2Migration::__construct in Party 8.2

Same name and namespace in other branches
  1. 7 starterkits/party_starterkit_b2b/party_starterkit_b2b_migrate/party_starterkit_b2b_migrate_contacts.inc \PartyB2BContactProfile2Migration::__construct()

File

starterkits/party_starterkit_b2b/party_starterkit_b2b_migrate/party_starterkit_b2b_migrate_contacts.inc, line 11
Migrate Contacts into Party

Class

PartyB2BContactProfile2Migration
Migrate contacts from a CSV file into 'Contact' Profile2s

Code

public function __construct() {
  parent::__construct();
  $this->description = t('Migration of P1 contacts from CSV to profile2 entities');
  $this->map = new MigrateSQLMap($this->machineName, array(
    'contact_id' => array(
      'type' => 'int',
      'unsigned' => TRUE,
      'not null' => TRUE,
    ),
  ), MigrateDestinationProfile2::getKeySchema());
  $this->source = new MigrateSourceCSV(__DIR__ . '/contact.csv', $this
    ->csvcolumns(), array(
    'header_rows' => 1,
  ));

  // MigrateDestination
  $this->destination = new MigrateDestinationProfile2('party_contact');

  // Field Mappings
  $this
    ->addFieldMapping('uid')
    ->defaultValue(0);
  $this
    ->addFieldMapping('party_contact_name', 'contact_first_name')
    ->arguments(array(
    'family' => array(
      'source_field' => 'contact_last_name',
    ),
  ));
  $this
    ->addFieldMapping('party_contact_email', 'contact_email');
  $this
    ->addFieldMapping('party_contact_phone', 'contact_phone');

  // Address
  $address_arguments = array(
    'thoroughfare' => array(
      'source_field' => 'contact_address1',
    ),
    'premise' => array(
      'source_field' => 'contact_address2',
    ),
    'locality' => array(
      'source_field' => 'contact_city',
    ),
    'administrative_area' => array(
      'source_field' => 'contact_state',
    ),
    'postal_code' => array(
      'source_field' => 'contact_zip',
    ),
  );
  $this
    ->addFieldMapping('party_contact_address', 'contact_country')
    ->arguments($address_arguments);
  $this
    ->addUnmigratedDestinations(array(
    'revision_uid',
    'language',
    'path',
  ));
}