select('node_revisions', 'nr'); $query->innerJoin('node', 'n', static::JOIN); $this->handleTranslations($query); $query->fields('n', [ 'nid', 'type', 'language', 'status', 'created', 'changed', 'comment', 'promote', 'moderate', 'sticky', 'tnid', 'translate', ]) ->fields('nr', [ 'title', 'body', 'teaser', 'log', 'timestamp', 'format', 'vid', ]); $query->addField('n', 'uid', 'node_uid'); $query->addField('nr', 'uid', 'revision_uid'); // If the content_translation module is enabled, get the source langcode // to fill the content_translation_source field. if ($this->moduleHandler->moduleExists('content_translation')) { $query->leftJoin('node', 'nt', 'n.tnid = nt.nid'); $query->addField('nt', 'language', 'source_langcode'); } if (isset($this->configuration['node_type'])) { $query->condition('n.type', $this->configuration['node_type']); } return $query; } /** * {@inheritdoc} */ public function fields() { $fields = [ 'nid' => $this->t('Node ID'), 'type' => $this->t('Type'), 'title' => $this->t('Title'), 'body' => $this->t('Body'), 'format' => $this->t('Format'), 'teaser' => $this->t('Teaser'), 'node_uid' => $this->t('Node authored by (uid)'), 'revision_uid' => $this->t('Revision authored by (uid)'), 'created' => $this->t('Created timestamp'), 'changed' => $this->t('Modified timestamp'), 'status' => $this->t('Published'), 'promote' => $this->t('Promoted to front page'), 'sticky' => $this->t('Sticky at top of lists'), 'revision' => $this->t('Create new revision'), 'language' => $this->t('Language (fr, en, ...)'), 'tnid' => $this->t('The translation set id for this node'), 'timestamp' => $this->t('The timestamp the latest revision of this node was created.'), ]; return $fields; } /** * {@inheritdoc} */ public function prepareRow(Row $row) { drush_print(' '); drush_print('- - - - - - - - - - - - - - - - - - - - - - - -'); drush_print($row->getSourceProperty('title')); // format = 0 can happen when the body field is hidden. Set the format to 1 // to avoid migration map issues (since the body field isn't used anyway). if ($row->getSourceProperty('format') === '0') { $row->setSourceProperty('format', $this->filterDefaultFormat); } if ($this->moduleExists('content') && $this->getModuleSchemaVersion('content') >= 6001) { foreach ($this->getFieldValues($row) as $field => $values) { $row->setSourceProperty($field, $values); } } $row_nid = $row->getSourceProperty('nid'); // Make sure we always have a translation set. if ($row->getSourceProperty('tnid') == 0) { $row->setSourceProperty('tnid', $row_nid); } // date $date_field = $row->getSourceProperty('field_date'); $date_value = $date_field[0]['value']; drush_print($date_value); $row->setSourceProperty('date', $date_value); // get the workflow status $query = $this->select('workflow_node', 'wn'); $query->fields('wn', ['sid']); $query->condition('wn.nid', $row_nid); $results = $query->execute()->fetchField(); // drush_print('workflow query results : ', 0, null, false); // drush_print_r($results); $row->setSourceProperty('workflow', $results); // TODO: fichiers attachés ?? $row = parent::prepareRow($row); return $row; } }