FileProcessBase.php

Same filename and directory in other branches
  1. 9 core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php
  2. 8.9.x core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php
  3. 10 core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php

Namespace

Drupal\migrate\Plugin\migrate\process

File

core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php

View source
<?php

namespace Drupal\migrate\Plugin\migrate\process;

use Drupal\Core\File\FileExists;
use Drupal\migrate\ProcessPluginBase;

/**
 * Provides functionality for file process plugins.
 *
 * Available configuration keys:
 * - file_exists: (optional) Replace behavior when the destination file already
 *   exists:
 *   - 'replace' - (default) Replace the existing file.
 *   - 'rename' - Append _{incrementing number} until the filename is
 *     unique.
 *   - 'use existing' - Do nothing and return FALSE.
 */
abstract class FileProcessBase extends ProcessPluginBase {
    
    /**
     * Constructs a file process plugin.
     *
     * @param array $configuration
     *   The plugin configuration.
     * @param string $plugin_id
     *   The plugin ID.
     * @param array $plugin_definition
     *   The plugin definition.
     */
    public function __construct(array $configuration, $plugin_id, array $plugin_definition) {
        if (array_key_exists('file_exists', $configuration)) {
            switch ($configuration['file_exists']) {
                case 'use existing':
                    $configuration['file_exists'] = FileExists::Error;
                    break;
                case 'rename':
                    $configuration['file_exists'] = FileExists::Rename;
                    break;
                default:
                    $configuration['file_exists'] = FileExists::Replace;
            }
        }
        $configuration += [
            'file_exists' => FileExists::Replace,
        ];
        parent::__construct($configuration, $plugin_id, $plugin_definition);
    }

}

Classes

Title Deprecated Summary
FileProcessBase Provides functionality for file process plugins.

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