drupalorg_migrate-1.0.x-dev/src/Plugin/migrate/source/ChangeNoticeFile.php

src/Plugin/migrate/source/ChangeNoticeFile.php
<?php

namespace Drupal\drupalorg_migrate\Plugin\migrate\source;

use Drupal\file\Plugin\migrate\source\d7\File;

/**
 * Drupal 7 Change Notice images source from database.
 *
 * @MigrateSource(
 *   id = "d7_file_changenotice_files",
 *   source_module = "file"
 * )
 */
class ChangeNoticeFile extends File {

  /**
   * {@inheritdoc}
   */
  public function query() {
    $query = parent::query();
    $query->addJoin('INNER', 'field_data_upload', 'fdu', 'f.fid = %alias.upload_fid');
    $query->condition('fdu.entity_type', 'node');
    $query->condition('fdu.bundle', 'changenotice');

    if (isset($this->configuration['file_type'])) {
      if ($this->configuration['file_type'] == 'image') {
        $query->condition('f.filemime', 'image/%', 'LIKE');
      }
      if ($this->configuration['file_type'] == 'document') {
        $query->condition('f.filemime', 'application/%', 'LIKE');
      }
    }

    return $query;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc