function Comment::prepareComment

Same name in other branches
  1. 9 core/modules/comment/src/Plugin/migrate/source/d6/Comment.php \Drupal\comment\Plugin\migrate\source\d6\Comment::prepareComment()
  2. 9 core/modules/comment/tests/modules/d6_comment_test/src/Plugin/migrate/source/d6/Comment.php \Drupal\d6_comment_test\Plugin\migrate\source\d6\Comment::prepareComment()

Provides a BC layer for deprecated sources.

This is a backward compatibility layer for the deprecated migrate source plugins d6_comment_variable and d6_comment_variable_per_comment_type.

@todo Remove usages of this method and deprecate for removal in https://www.drupal.org/project/drupal/issues/3069260 when the Drupal 9 branch opens.

Parameters

\Drupal\migrate\Row $row: The row from the source to process.

Return value

\Drupal\migrate\Row The row object.

Throws

\Exception Passing a Row with a frozen source to this method will trigger an \Exception when attempting to set the source properties.

1 call to Comment::prepareComment()
Comment::prepareRow in core/modules/comment/src/Plugin/migrate/source/d6/Comment.php
Adds additional data to the row.

File

core/modules/comment/src/Plugin/migrate/source/d6/Comment.php, line 63

Class

Comment
Drupal 6 comment source from database.

Namespace

Drupal\comment\Plugin\migrate\source\d6

Code

protected function prepareComment(Row $row) {
    if ($this->variableGet('comment_subject_field_' . $row->getSourceProperty('type'), 1)) {
        // Comment subject visible.
        $row->setSourceProperty('field_name', 'comment');
        $row->setSourceProperty('comment_type', 'comment');
    }
    else {
        $row->setSourceProperty('field_name', 'comment_no_subject');
        $row->setSourceProperty('comment_type', 'comment_no_subject');
    }
    // In D6, status=0 means published, while in D8 means the opposite.
    // See https://www.drupal.org/node/237636.
    $row->setSourceProperty('status', !$row->getSourceProperty('status'));
    // If node did not have a language, use site default language as a fallback.
    if (!$row->getSourceProperty('language')) {
        $language_default = $this->variableGet('language_default', NULL);
        $language = $language_default ? $language_default->language : 'en';
        $row->setSourceProperty('language', $language);
    }
    return $row;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.