You are here

public function Subscriber::prepareRow in Simplenews 8

Same name and namespace in other branches
  1. 8.2 src/Plugin/migrate/source/d7/Subscriber.php \Drupal\simplenews\Plugin\migrate\source\d7\Subscriber::prepareRow()
  2. 3.x src/Plugin/migrate/source/d7/Subscriber.php \Drupal\simplenews\Plugin\migrate\source\d7\Subscriber::prepareRow()

Adds additional data to the row.

Parameters

\Drupal\migrate\Row $row: The row object.

Return value

bool FALSE if this row needs to be skipped.

Overrides SourcePluginBase::prepareRow

File

src/Plugin/migrate/source/d7/Subscriber.php, line 52

Class

Subscriber
Migration source for Subscriber entries in D7.

Namespace

Drupal\simplenews\Plugin\migrate\source\d7

Code

public function prepareRow(Row $row) {
  $result = parent::prepareRow($row);
  $version = $this
    ->getModuleSchemaVersion('simplenews');
  $newsletter_id_field = 'newsletter_id';
  if ($version >= 7000 & $version < 7200) {
    $newsletter_id_field = 'tid';
  }

  // Add associated data from the subscriptions table.
  $q = $this
    ->select('simplenews_subscription', 'sub');
  $q
    ->addField('sub', $newsletter_id_field, 'newsletter_id');
  $q
    ->fields('sub', [
    'status',
    'timestamp',
    'source',
  ]);
  $q
    ->condition('sub.snid', $row
    ->getSourceProperty('snid'));
  $subscriptions = $q
    ->execute()
    ->fetchAllAssoc('newsletter_id');
  $row
    ->setSourceProperty('subscriptions', $subscriptions);
  return $result;
}