Version 1
[yaffs-website] / web / core / modules / aggregator / src / Plugin / migrate / source / AggregatorFeed.php
diff --git a/web/core/modules/aggregator/src/Plugin/migrate/source/AggregatorFeed.php b/web/core/modules/aggregator/src/Plugin/migrate/source/AggregatorFeed.php
new file mode 100644 (file)
index 0000000..59244d4
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+
+namespace Drupal\aggregator\Plugin\migrate\source;
+
+use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
+
+/**
+ * Drupal feed source from database.
+ *
+ * @MigrateSource(
+ *   id = "aggregator_feed",
+ *   source_provider = "aggregator"
+ * )
+ */
+class AggregatorFeed extends DrupalSqlBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    return $this->select('aggregator_feed', 'af')
+      ->fields('af');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'fid' => $this->t('The feed ID.'),
+      'title' => $this->t('Title of the feed.'),
+      'url' => $this->t('URL to the feed.'),
+      'refresh' => $this->t('Refresh frequency in seconds.'),
+      'checked' => $this->t('Last-checked unix timestamp.'),
+      'link' => $this->t('Parent website of the feed.'),
+      'description' => $this->t("Parent website's description of the feed."),
+      'image' => $this->t('An image representing the feed.'),
+      'etag' => $this->t('Entity tag HTTP response header.'),
+      'modified' => $this->t('When the feed was last modified.'),
+      'block' => $this->t("Number of items to display in the feed's block."),
+    ];
+    if ($this->getModuleSchemaVersion('system') >= 7000) {
+      $fields['queued'] = $this->t('Time when this feed was queued for refresh, 0 if not queued.');
+    }
+    return $fields;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['fid']['type'] = 'integer';
+    return $ids;
+  }
+
+}