<?php

/**
 *  Expose domain access settings as destination fields.
 *
 *  Usage:
 *  `$row->domain_site = True` to publish all domains.
 *  `$row->domains = array(0 => TRUE, 1 => TRUE)` to publish domain 0 and 1.
 *
 *  Example:
 *  class MyMigration extends Migration {
 *    function prepareRow($row) {
 *      $row->domain_site = True;
 *      $row->domains = array(0 => TRUE, 1 => TRUE);
 *    }
 *
 *    public function __construct() {
 *           :
 *      $this->addSimpleMappings(array('domain_site', 'domains'));
 *           :
 *    }
 *  }
 */
class MigrateDomainAccessHandler extends MigrateDestinationHandler {
  public function __construct() {
    $this->registerTypes(array('node'));
  }

  public function fields() {
    $fields = array();

    if (module_exists('domain')) {
      $fields['domains'] = t('Domains to be published');
      $fields['domain_site'] = t('Publish to all domains');
    }
    return $fields;
  }
}
