You are here

public function File::prepareRow in Drupal 10

Same name in this branch
  1. 10 core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
  2. 10 core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()
Same name and namespace in other branches
  1. 8 core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()
  2. 9 core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()

Adds additional data to the row.

Parameters

\Drupal\migrate\Row $row: The row object.

Return value

bool FALSE if this row needs to be skipped.

Overrides SourcePluginBase::prepareRow

File

core/modules/file/src/Plugin/migrate/source/d7/File.php, line 75

Class

File
Drupal 7 file source from database.

Namespace

Drupal\file\Plugin\migrate\source\d7

Code

public function prepareRow(Row $row) {

  // Compute the filepath property, which is a physical representation of
  // the URI relative to the Drupal root.
  $path = str_replace([
    'public:/',
    'private:/',
  ], [
    $this->publicPath,
    $this->privatePath,
  ], $row
    ->getSourceProperty('uri'));

  // At this point, $path could be an absolute path or a relative path,
  // depending on how the scheme's variable was set. So we need to shear out
  // the source_base_path in order to make them all relative.
  $path = preg_replace('#' . preg_quote($this->configuration['constants']['source_base_path']) . '#', '', $path, 1);
  $row
    ->setSourceProperty('filepath', $path);
  return parent::prepareRow($row);
}