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. 9 core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
  2. 9 core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()
  3. 10 core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
  4. 10 core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()
  5. 11.x core/modules/file/src/Plugin/migrate/source/d6/File.php \Drupal\file\Plugin\migrate\source\d6\File::prepareRow()
  6. 11.x core/modules/file/src/Plugin/migrate/source/d7/File.php \Drupal\file\Plugin\migrate\source\d7\File::prepareRow()

Overrides SourcePluginBase::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.