class Comment
Drupal 6 comment source from database.
For available configuration keys, refer to the parent classes.
Plugin annotation
@MigrateSource(
  id = "d6_comment",
  source_module = "comment"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\DependencyInjection\AutowiredInstanceTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface extends \Drupal\Core\Plugin\PluginBase- class \Drupal\migrate\Plugin\migrate\source\SqlBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface extends \Drupal\migrate\Plugin\migrate\source\SourcePluginBase- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase implements \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait extends \Drupal\migrate\Plugin\migrate\source\SqlBase- class \Drupal\comment\Plugin\migrate\source\d6\Comment extends \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase
 
 
- class \Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase implements \Drupal\Component\Plugin\DependentPluginInterface uses \Drupal\Core\Entity\DependencyTrait extends \Drupal\migrate\Plugin\migrate\source\SqlBase
 
- class \Drupal\migrate\Plugin\migrate\source\SqlBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\migrate\Plugin\RequirementsInterface extends \Drupal\migrate\Plugin\migrate\source\SourcePluginBase
 
- class \Drupal\migrate\Plugin\migrate\source\SourcePluginBase implements \Drupal\migrate\Plugin\MigrateSourceInterface, \Drupal\migrate\Event\RollbackAwareInterface extends \Drupal\Core\Plugin\PluginBase
 
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\DependencyInjection\AutowiredInstanceTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of Comment
See also
\Drupal\migrate\Plugin\migrate\source\SqlBase
\Drupal\migrate\Plugin\migrate\source\SourcePluginBase
2 files declare their use of Comment
- CommentSourceWithHighWaterTest.php in core/modules/ comment/ tests/ src/ Kernel/ Plugin/ migrate/ source/ d6/ CommentSourceWithHighWaterTest.php 
- CommentTest.php in core/modules/ comment/ tests/ src/ Kernel/ Plugin/ migrate/ source/ d6/ CommentTest.php 
342 string references to 'Comment'
- ActionTest::providerSource in core/modules/ system/ tests/ src/ Kernel/ Plugin/ migrate/ source/ ActionTest.php 
- Provides source data for ::testSource.
- AuthorNameFormatter::isApplicable in core/modules/ comment/ src/ Plugin/ Field/ FieldFormatter/ AuthorNameFormatter.php 
- Returns if the formatter can be used for the provided field.
- CategoryAutocompleteTest::providerTestAutocompleteSuggestions in core/modules/ block/ tests/ src/ Unit/ CategoryAutocompleteTest.php 
- Data provider for testAutocompleteSuggestions().
- CategoryAutocompleteTest::setUp in core/modules/ block/ tests/ src/ Unit/ CategoryAutocompleteTest.php 
- comment.info.yml in core/modules/ comment/ comment.info.yml 
- core/modules/comment/comment.info.yml
File
- 
              core/modules/ comment/ src/ Plugin/ migrate/ source/ d6/ Comment.php, line 23 
Namespace
Drupal\comment\Plugin\migrate\source\d6View source
class Comment extends DrupalSqlBase {
  
  /**
   * {@inheritdoc}
   */
  public function query() {
    $query = $this->select('comments', 'c')
      ->fields('c', [
      'cid',
      'pid',
      'nid',
      'uid',
      'subject',
      'comment',
      'hostname',
      'timestamp',
      'status',
      'thread',
      'name',
      'mail',
      'homepage',
      'format',
    ]);
    $query->innerJoin('node', 'n', '[c].[nid] = [n].[nid]');
    $query->fields('n', [
      'type',
      'language',
    ]);
    $query->orderBy('c.timestamp');
    return $query;
  }
  
  /**
   * {@inheritdoc}
   */
  public function prepareRow(Row $row) {
    // In D6, status=0 means published, while in D8 means the opposite.
    $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 parent::prepareRow($row);
  }
  
  /**
   * {@inheritdoc}
   */
  public function fields() {
    return [
      'cid' => $this->t('Comment ID.'),
      'pid' => $this->t('Parent comment ID. If set to 0, this comment is not a reply to an existing comment.'),
      'nid' => $this->t('The {node}.nid to which this comment is a reply.'),
      'uid' => $this->t('The {users}.uid who authored the comment. If set to 0, this comment was created by an anonymous user.'),
      'subject' => $this->t('The comment title.'),
      'comment' => $this->t('The comment body.'),
      'hostname' => $this->t("The author's host name."),
      'timestamp' => $this->t('The time that the comment was created, or last edited by its author, as a Unix timestamp.'),
      'status' => $this->t('The published status of a comment. (0 = Published, 1 = Not Published)'),
      'format' => $this->t('The {filter_formats}.format of the comment body.'),
      'thread' => $this->t("The vancode representation of the comment's place in a thread."),
      'name' => $this->t("The comment author's name. Uses {users}.name if the user is logged in, otherwise uses the value typed into the comment form."),
      'mail' => $this->t("The comment author's email address from the comment form, if user is anonymous, and the 'Anonymous users may/must leave their contact information' setting is turned on."),
      'homepage' => $this->t("The comment author's home page address from the comment form, if user is anonymous, and the 'Anonymous users may/must leave their contact information' setting is turned on."),
      'type' => $this->t("The {node}.type to which this comment is a reply."),
      'language' => $this->t("The {node}.language to which this comment is a reply. Site default language is used as a fallback if node does not have a language."),
    ];
  }
  
  /**
   * {@inheritdoc}
   */
  public function getIds() {
    $ids['cid']['type'] = 'integer';
    return $ids;
  }
}Members
| Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides | 
|---|---|---|---|---|---|---|
| AutowiredInstanceTrait::createInstanceAutowired | public static | function | Instantiates a new instance of the implementing class using autowiring. | |||
| Comment::fields | public | function | Returns available fields on the source. | Overrides MigrateSourceInterface::fields | ||
| Comment::getIds | public | function | Defines the source fields uniquely identifying a source row. | Overrides MigrateSourceInterface::getIds | ||
| Comment::prepareRow | public | function | Adds additional data to the row. | Overrides SourcePluginBase::prepareRow | ||
| Comment::query | public | function | Prepares query object to retrieve data from the source database. | Overrides SqlBase::query | ||
| DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | |||
| DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | |||
| DependencySerializationTrait::__wakeup | public | function | 2 | |||
| DependencyTrait::$dependencies | protected | property | The object's dependencies. | |||
| DependencyTrait::addDependencies | protected | function | Adds multiple dependencies. | |||
| DependencyTrait::addDependency | protected | function | Adds a dependency. | |||
| DrupalSqlBase::$entityTypeManager | protected | property | The entity type manager. | |||
| DrupalSqlBase::$requirements | protected | property | If the source provider is missing. | |||
| DrupalSqlBase::$systemData | protected | property | The contents of the system table. | |||
| DrupalSqlBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | ||
| DrupalSqlBase::checkRequirements | public | function | Checks if requirements for this plugin are OK. | Overrides SqlBase::checkRequirements | 4 | |
| DrupalSqlBase::create | public static | function | Instantiates a new instance of the implementing class using autowiring. | Overrides SqlBase::create | 2 | |
| DrupalSqlBase::getModuleSchemaVersion | protected | function | Retrieves a module schema_version from the source Drupal database. | |||
| DrupalSqlBase::getSourceModule | public | function | Gets the source module providing the source data. | Overrides SourcePluginBase::getSourceModule | ||
| DrupalSqlBase::getSystemData | public | function | Retrieves all system data information from the source Drupal database. | |||
| DrupalSqlBase::moduleExists | protected | function | Checks if a given module is enabled in the source Drupal database. | |||
| DrupalSqlBase::variableGet | protected | function | Reads a variable from a source Drupal database. | |||
| DrupalSqlBase::__construct | public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | Overrides SqlBase::__construct | 6 | |
| MessengerTrait::$messenger | protected | property | The messenger. | 25 | ||
| MessengerTrait::messenger | public | function | Gets the messenger. | 25 | ||
| MessengerTrait::setMessenger | public | function | Sets the messenger. | |||
| MigrateSourceInterface::NOT_COUNTABLE | constant | Indicates that the source is not countable. | ||||
| PluginBase::$configuration | protected | property | Configuration information passed into the plugin. | 1 | ||
| PluginBase::$pluginDefinition | protected | property | The plugin implementation definition. | 1 | ||
| PluginBase::$pluginId | protected | property | The plugin ID. | |||
| PluginBase::DERIVATIVE_SEPARATOR | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||||
| PluginBase::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. | Overrides DerivativeInspectionInterface::getBaseId | ||
| PluginBase::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. | Overrides DerivativeInspectionInterface::getDerivativeId | ||
| PluginBase::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | Overrides PluginInspectionInterface::getPluginDefinition | 2 | |
| PluginBase::getPluginId | public | function | Gets the plugin ID of the plugin instance. | Overrides PluginInspectionInterface::getPluginId | ||
| PluginBase::isConfigurable | Deprecated | public | function | Determines if the plugin is configurable. | ||
| SourcePluginBase::$cache | protected | property | The backend cache. | |||
| SourcePluginBase::$cacheCounts | protected | property | Whether this instance should cache the source count. | 1 | ||
| SourcePluginBase::$cacheKey | protected | property | Key to use for caching counts. | |||
| SourcePluginBase::$currentRow | protected | property | The current row from the query. | |||
| SourcePluginBase::$currentSourceIds | protected | property | The primary key of the current row. | |||
| SourcePluginBase::$highWaterProperty | protected | property | Information on the property used as the high-water mark. | |||
| SourcePluginBase::$highWaterStorage | protected | property | The key-value storage for the high-water value. | |||
| SourcePluginBase::$idMap | protected | property | The migration ID map. | |||
| SourcePluginBase::$iterator | protected | property | The iterator to iterate over the source rows. | |||
| SourcePluginBase::$mapRowAdded | protected | property | Flags whether source plugin will read the map row and add to data row. | |||
| SourcePluginBase::$migration | protected | property | The entity migration object. | |||
| SourcePluginBase::$moduleHandler | protected | property | The module handler service. | 2 | ||
| SourcePluginBase::$originalHighWater | protected | property | The high water mark at the beginning of the import operation. | |||
| SourcePluginBase::$skipCount | protected | property | Whether this instance should not attempt to count the source. | 1 | ||
| SourcePluginBase::$trackChanges | protected | property | Flags whether to track changes to incoming data. | 1 | ||
| SourcePluginBase::aboveHighWater | protected | function | Check if the incoming data is newer than what we've previously imported. | |||
| SourcePluginBase::count | public | function | Gets the source count. | 3 | ||
| SourcePluginBase::current | public | function | ||||
| SourcePluginBase::getCache | protected | function | Gets the cache object. | |||
| SourcePluginBase::getCurrentIds | public | function | Gets the currentSourceIds data member. | |||
| SourcePluginBase::getHighWater | protected | function | The current value of the high water mark. | |||
| SourcePluginBase::getHighWaterField | protected | function | Get the name of the field used as the high watermark. | |||
| SourcePluginBase::getHighWaterProperty | protected | function | Get information on the property used as the high watermark. | |||
| SourcePluginBase::getHighWaterStorage | protected | function | Get the high water storage object. | |||
| SourcePluginBase::getIterator | protected | function | Returns the iterator that will yield the row arrays to be processed. | |||
| SourcePluginBase::getModuleHandler | protected | function | Gets the module handler. | |||
| SourcePluginBase::key | public | function | Gets the iterator key. | |||
| SourcePluginBase::next | public | function | ||||
| SourcePluginBase::postRollback | public | function | Performs post-rollback tasks. | Overrides RollbackAwareInterface::postRollback | ||
| SourcePluginBase::preRollback | public | function | Performs pre-rollback tasks. | Overrides RollbackAwareInterface::preRollback | ||
| SourcePluginBase::rowChanged | protected | function | Checks if the incoming row has changed since our last import. | |||
| SourcePluginBase::saveHighWater | protected | function | Save the new high water mark. | |||
| SourcePluginBase::valid | public | function | Checks whether the iterator is currently valid. | |||
| SqlBase::$batch | protected | property | The count of the number of batches run. | |||
| SqlBase::$batchSize | protected | property | Number of records to fetch from the database during each batch. | |||
| SqlBase::$database | protected | property | The database object. | 1 | ||
| SqlBase::$query | protected | property | The query string. | 81 | ||
| SqlBase::$state | protected | property | State service for retrieving database info. | |||
| SqlBase::doCount | protected | function | Gets the source count using countQuery(). | Overrides SourcePluginBase::doCount | 6 | |
| SqlBase::fetchNextBatch | protected | function | Prepares query for the next set of data from the source database. | |||
| SqlBase::fetchNextRow | protected | function | Position the iterator to the following row. | Overrides SourcePluginBase::fetchNextRow | ||
| SqlBase::getDatabase | public | function | Gets the database connection object. | 2 | ||
| SqlBase::initializeIterator | protected | function | Initializes the iterator with the source data. | Overrides SourcePluginBase::initializeIterator | 18 | |
| SqlBase::mapJoinable | protected | function | Checks if we can join against the map table. | 1 | ||
| SqlBase::prepareQuery | protected | function | Adds tags and metadata to the query. | 1 | ||
| SqlBase::rewind | public | function | Rewinds the iterator. | Overrides SourcePluginBase::rewind | ||
| SqlBase::select | protected | function | Wrapper for database select. | |||
| SqlBase::setUpDatabase | protected | function | Gets a connection to the referenced database. | |||
| SqlBase::__sleep | public | function | Overrides DependencySerializationTrait::__sleep | |||
| SqlBase::__toString | public | function | Prints the query string when the object is used as a string. | Overrides MigrateSourceInterface::__toString | ||
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | ||
| StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | |||
| StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | |||
| StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | |||
| StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | ||
| StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. | 1 | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
