You are here

og_group.inc in Organic groups 7.2

Upgrade nodes that are groups, by settings the correct field value.

File

includes/migrate/7000/og_group.inc
View source
<?php

/**
 * @file
 * Upgrade nodes that are groups, by settings the correct field value.
 */
class OgMigrateGroup extends Migration {

  /**
   * Indicate we are updating existing data.
   */
  protected $systemOfRecord = Migration::DESTINATION;
  public function __construct($arguments = array()) {
    $this->arguments = $arguments;
    parent::__construct($arguments);
    $bundle = $arguments['bundle'];
    $this->description = t('Upgrade nodes that are groups, by settings the correct field value.');
    $this->dependencies = array(
      'OgMigrateAddFields',
    );
    $query = db_select('d6_og', 'og');
    $query
      ->innerJoin('node', 'n', 'og.nid = n.nid');
    $query
      ->fields('og')
      ->condition('n.type', $bundle)
      ->orderBy('n.nid');
    $this->query = $query;
    $source_key = MigrateDestinationNode::getKeySchema();

    // Set the alias, so the query in MigrateSourceSQL::performRewind()
    // will not fail.
    $source_key['nid']['alias'] = 'n';
    $this->map = new MigrateSQLMap($this->machineName, $source_key, MigrateDestinationNode::getKeySchema());
    $this->source = new MigrateSourceSQL($this->query);
    $this->destination = new MigrateDestinationNode($bundle);
    $this
      ->addFieldMapping('nid', 'nid');
    $this
      ->addFieldMapping(OG_GROUP_FIELD, NULL)
      ->defaultValue(TRUE);
    $this
      ->addFieldMapping('og_description', 'og_description');
  }

  /**
   * Construct the machine name from the bundle.
   */
  protected function generateMachineName($class_name = NULL) {
    return drupal_strtolower('OgMigrateGroup' . ucfirst($this->arguments['bundle']));
  }

}

Classes

Namesort descending Description
OgMigrateGroup @file Upgrade nodes that are groups, by settings the correct field value.