function File::prepareRow

Same name in this branch
  1. 8.9.x core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
Same name and namespace in other branches
  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()
  3. 11.x core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
  4. 11.x core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()
  5. 9 core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
  6. 9 core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()

File

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

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:/',
    'temporary:/',
  ], [
    $this->publicPath,
    $this->privatePath,
    $this->temporaryPath,
  ], $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 = str_replace($this->configuration['constants']['source_base_path'], NULL, $path);
  $row->setSourceProperty('filepath', $path);
  return parent::prepareRow($row);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.