File.php in Zircon Profile 8
Same filename in this branch
- 8 vendor/symfony/validator/Constraints/File.php
- 8 vendor/symfony/http-foundation/File/File.php
- 8 core/modules/file/src/Entity/File.php
- 8 core/lib/Drupal/Core/Render/Element/File.php
- 8 vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php
- 8 vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
- 8 core/modules/file/src/Plugin/views/wizard/File.php
- 8 core/modules/file/src/Plugin/views/field/File.php
- 8 vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php
- 8 core/modules/file/src/Plugin/migrate/source/d6/File.php
- 8 core/modules/file/src/Plugin/migrate/source/d7/File.php
Same filename and directory in other branches
Namespace
Drupal\file\Plugin\migrate\source\d7File
core/modules/file/src/Plugin/migrate/source/d7/File.phpView source
<?php
/**
* @file
* Contains \Drupal\file\Plugin\migrate\source\d7\File.
*/
namespace Drupal\file\Plugin\migrate\source\d7;
use Drupal\Core\Database\Query\Condition;
use Drupal\migrate\Row;
use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
/**
* Drupal 7 file source from database.
*
* @MigrateSource(
* id = "d7_file"
* )
*/
class File extends DrupalSqlBase {
/**
* The public file directory path.
*
* @var string
*/
protected $publicPath;
/**
* The private file directory path, if any.
*
* @var string
*/
protected $privatePath;
/**
* The temporary file directory path.
*
* @var string
*/
protected $temporaryPath;
/**
* {@inheritdoc}
*/
public function query() {
$query = $this
->select('file_managed', 'f')
->fields('f')
->orderBy('timestamp');
// Filter by scheme(s), if configured.
if (isset($this->configuration['scheme'])) {
$schemes = array();
// Accept either a single scheme, or a list.
foreach ((array) $this->configuration['scheme'] as $scheme) {
$schemes[] = rtrim($scheme) . '://';
}
$schemes = array_map([
$this
->getDatabase(),
'escapeLike',
], $schemes);
// uri LIKE 'public://%' OR uri LIKE 'private://%'
$conditions = new Condition('OR');
foreach ($schemes as $scheme) {
$conditions
->condition('uri', $scheme . '%', 'LIKE');
}
$query
->condition($conditions);
}
return $query;
}
/**
* {@inheritdoc}
*/
protected function initializeIterator() {
$this->publicPath = $this
->variableGet('file_public_path', 'sites/default/files');
$this->privatePath = $this
->variableGet('file_private_path', NULL);
$this->temporaryPath = $this
->variableGet('file_temporary_path', '/tmp');
return parent::initializeIterator();
}
/**
* {@inheritdoc}
*/
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.
// @todo Don't depend on destination configuration.
// @see https://www.drupal.org/node/2577871
$path = str_replace($this->migration
->get('destination')['source_base_path'], NULL, $path);
$row
->setSourceProperty('filepath', $path);
return parent::prepareRow($row);
}
/**
* {@inheritdoc}
*/
public function fields() {
return array(
'fid' => $this
->t('File ID'),
'uid' => $this
->t('The {users}.uid who added the file. If set to 0, this file was added by an anonymous user.'),
'filename' => $this
->t('File name'),
'filepath' => $this
->t('File path'),
'filemime' => $this
->t('File Mime Type'),
'status' => $this
->t('The published status of a file.'),
'timestamp' => $this
->t('The time that the file was added.'),
);
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['fid']['type'] = 'integer';
return $ids;
}
}