Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / comment / src / Plugin / migrate / source / d6 / Comment.php
index 93f77a0e3f5ba3f90d1198c333d56864e697e7c8..b2511c59a53e9da92e4a2f9e2b58d87e4e61a5fa 100644 (file)
@@ -10,7 +10,7 @@ use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
  *
  * @MigrateSource(
  *   id = "d6_comment",
- *   source_provider = "comment"
+ *   source_module = "comment"
  * )
  */
 class Comment extends DrupalSqlBase {
@@ -21,8 +21,9 @@ class Comment extends DrupalSqlBase {
   public function query() {
     $query = $this->select('comments', 'c')
       ->fields('c', ['cid', 'pid', 'nid', 'uid', 'subject',
-        'comment', 'hostname', 'timestamp', 'status', 'thread', 'name',
-        'mail', 'homepage', 'format']);
+      'comment', 'hostname', 'timestamp', 'status', 'thread', 'name',
+      'mail', 'homepage', 'format',
+    ]);
     $query->innerJoin('node', 'n', 'c.nid = n.nid');
     $query->fields('n', ['type']);
     $query->orderBy('c.timestamp');
@@ -33,6 +34,20 @@ class Comment extends DrupalSqlBase {
    * {@inheritdoc}
    */
   public function prepareRow(Row $row) {
+    return parent::prepareRow($this->prepareComment($row));
+  }
+
+  /**
+   * This is a backward compatibility layer for the deprecated migrate source
+   * plugins d6_comment_variable and d6_comment_variable_per_comment_type.
+   *
+   * @param \Drupal\migrate\Row $row
+   *   The row from the source to process.
+   * @return \Drupal\migrate\Row
+   *   The row object.
+   * @deprecated in Drupal 8.4.x, to be removed before Drupal 9.0.x.
+   */
+  protected function prepareComment(Row $row) {
     if ($this->variableGet('comment_subject_field_' . $row->getSourceProperty('type'), 1)) {
       // Comment subject visible.
       $row->setSourceProperty('field_name', 'comment');
@@ -42,10 +57,11 @@ class Comment extends DrupalSqlBase {
       $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'));
-    return parent::prepareRow($row);
+    return $row;
   }
 
   /**