public function DrupalCommentMigration::__construct in Drupal-to-Drupal data migration 7.2
Parameters
array $arguments:
Overrides DrupalMigration::__construct
3 calls to DrupalCommentMigration::__construct()
3 methods override DrupalCommentMigration::__construct()
File
- ./
comment.inc, line 35 - Base class for migrating comments into Drupal.
Class
- DrupalCommentMigration
- Base class for all comment migrations - handles commonalities across all supported source Drupal versions.
Code
public function __construct(array $arguments) {
$this->sourceType = $arguments['source_type'];
$this->destinationType = $arguments['destination_type'];
if (!empty($arguments['node_migration'])) {
$this->nodeMigration = $arguments['node_migration'];
$this->dependencies[] = $this->nodeMigration;
}
if (!empty($arguments['user_migration'])) {
$user_migration = $arguments['user_migration'];
$this->dependencies[] = $user_migration;
}
parent::__construct($arguments);
$this->sourceFields += $this->version
->getSourceFields('comment', 'comment_node_' . $this->sourceType);
// Create our three main objects - source, destination, and map
$this->source = new MigrateSourceSQL($this
->query($this->sourceType), $this->sourceFields, NULL, $this->sourceOptions);
$this->destination = new MigrateDestinationComment('comment_node_' . $this->destinationType);
$this->map = new MigrateSQLMap($this->machineName, array(
'cid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'description' => 'Source comment ID',
'alias' => 'c',
),
), MigrateDestinationComment::getKeySchema(), $this->mapConnection);
/**
* Setup common mappings.
*/
$this
->addSimpleMappings(array(
'subject',
'hostname',
'thread',
'name',
'mail',
'homepage',
));
if (isset($arguments['machine_name'])) {
$this
->addFieldMapping('pid', 'pid')
->sourceMigration($arguments['machine_name']);
}
else {
$this
->addFieldMapping('pid', 'pid');
}
if (!empty($this->nodeMigration)) {
$this
->addFieldMapping('nid', 'nid')
->sourceMigration($this->nodeMigration);
}
else {
$this
->addFieldMapping('nid', 'nid');
}
if (isset($arguments['default_uid'])) {
$default_uid = $arguments['default_uid'];
}
else {
$default_uid = 0;
}
if (isset($user_migration)) {
$this
->addFieldMapping('uid', 'uid')
->sourceMigration($user_migration)
->defaultValue($default_uid);
}
else {
$this
->addFieldMapping('uid')
->defaultValue($default_uid);
}
}