Commit 0f9e4781 authored by Zoltan Attila Horvath's avatar Zoltan Attila Horvath Committed by Zoltan Attila Horvath
Browse files

Issue #3293362 by huzooka: Exclude files with empty URI

parent 727eabd6
Loading
Loading
Loading
Loading
+1 −0
Changes for src/MediaDealerBase.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -190,6 +190,7 @@ abstract class MediaDealerBase extends PluginBase implements ContainerFactoryPlu
    $discovered_extensions = $row->getSourceProperty('file_extensions') ?? '';
    $merged_file_extensions = implode(' ', array_filter(array_unique(array_merge(explode(' ', $default_extensions), explode(ConfigSourceBase::MULTIPLE_SEPARATOR, $discovered_extensions)))));
    $settings['file_extensions'] = $merged_file_extensions;
    $settings['uri_scheme'] = $this->configuration['scheme'];
    $row->setSourceProperty('settings', $settings);
  }

+1 −0
Changes for src/Plugin/migrate/source/d7/FilePlain.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ class FilePlain extends FieldableEntity implements ContainerFactoryPluginInterfa
   *   The file entity dealer plugin manager.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityTypeManagerInterface $entity_type_manager, FileDealerManagerInterface $file_dealer_manager) {
    $configuration += ['mime' => NULL, 'scheme' => NULL];
    parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_type_manager);

    $this->sourceHasFileEntities = $this->getDatabase()->schema()->fieldExists('file_managed', 'type');
+0 −1
Changes for src/Plugin/migrate/source/d7/FilePlainSourceFieldInstance.php: 0 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ class FilePlainSourceFieldInstance extends FilePlainConfigSourceBase {
      $source_values['source_plugin_id'] = $dealer_plugin->getDestinationMediaSourcePluginId();
      $source_values['source_field_name'] = $dealer_plugin->getDestinationMediaSourceFieldName();
      $source_values['source_field_label'] = $dealer_plugin->getDestinationMediaTypeSourceFieldLabel();
      $rows[$destination_media_type_id] = $source_values;
      unset($source_values['file_extension']);
      unset($source_values['mime']);
      unset($source_values['scheme']);
+3 −1
Changes for src/Plugin/migrate/source/d7/MediaMigrationDatabaseTrait.php: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -28,7 +28,8 @@ trait MediaMigrationDatabaseTrait {
    ];
    $query = $db->select('file_managed', 'fm', $options);
    $query->distinct($distinct);
    $query->condition('fm.status', TRUE);
    $query->condition('fm.status', TRUE)
      ->condition('fm.uri', '', '<>');
    $query->addExpression($this->getSchemeExpression($db), 'scheme');
    $query->addExpression($this->getMainMimeTypeExpression($db), 'mime');
    $query->where("{$this->getSchemeExpression($db)} <> 'temporary'");
@@ -65,6 +66,7 @@ trait MediaMigrationDatabaseTrait {
    $query->fields('fm', ['type'])
      ->condition('fm.status', TRUE)
      ->condition('fm.uri', 'temporary://%', 'NOT LIKE')
      ->condition('fm.uri', '', '<>')
      ->condition('fm.type', 'undefined', '<>');
    $query->addExpression($this->getSchemeExpression($db), 'scheme');

+11 −0
Changes for tests/src/Kernel/Plugin/migrate/source/d7/FileEntityItemTest.php: 11 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -488,6 +488,17 @@ class FileEntityItemTest extends MigMagNativeMigrateSqlTestBase {
        'timestamp' => 1594193701,
        'type' => 'audio',
      ],
      [
        'fid' => 1010,
        'uid' => 1,
        'filename' => 'foo',
        'uri' => '',
        'filemime' => 'application/octet-stream',
        'filesize' => 0,
        'status' => 1,
        'timestamp' => 1645123649,
        'type' => 'undefined',
      ],
      [
        'fid' => 12,
        'uid' => 2,
Loading