You are here

class FieldInstanceSettings in Drupal 8

Same name in this branch
  1. 8 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings
  2. 8 core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceSettings
Same name and namespace in other branches
  1. 9 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings
  2. 10 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings

Plugin annotation


@MigrateProcessPlugin(
  id = "d6_field_field_settings"
)

Hierarchy

Expanded class hierarchy of FieldInstanceSettings

File

core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php, line 14

Namespace

Drupal\field\Plugin\migrate\process\d6
View source
class FieldInstanceSettings extends ProcessPluginBase {

  /**
   * {@inheritdoc}
   *
   * Set the field instance defaults.
   */
  public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
    list($widget_type, $widget_settings, $field_settings) = $value;
    $settings = [];
    switch ($widget_type) {
      case 'number':
        $settings['min'] = $field_settings['min'];
        $settings['max'] = $field_settings['max'];
        $settings['prefix'] = $field_settings['prefix'];
        $settings['suffix'] = $field_settings['suffix'];
        break;
      case 'link':

        // $settings['url'] = $widget_settings['default_value'][0]['url'];
        // D6 has optional, required, value and none. D8 only has disabled (0)
        // optional (1) and required (2).
        $map = [
          'disabled' => 0,
          'optional' => 1,
          'required' => 2,
        ];
        $settings['title'] = $map[$field_settings['title']];
        break;
      case 'filefield_widget':
        $settings['file_extensions'] = $widget_settings['file_extensions'];
        $settings['file_directory'] = $widget_settings['file_path'];
        $settings['description_field'] = $field_settings['description_field'];
        $settings['max_filesize'] = $this
          ->convertSizeUnit($widget_settings['max_filesize_per_file']);
        break;
      case 'imagefield_widget':
        $settings['file_extensions'] = $widget_settings['file_extensions'];
        $settings['file_directory'] = $widget_settings['file_path'];
        $settings['max_filesize'] = $this
          ->convertSizeUnit($widget_settings['max_filesize_per_file']);
        $settings['alt_field'] = $widget_settings['alt'];
        $settings['alt_field_required'] = $widget_settings['custom_alt'];
        $settings['title_field'] = $widget_settings['title'];
        $settings['title_field_required'] = $widget_settings['custom_title'];

        // With nothing entered for min or max resolution in Drupal 6, zero is
        // stored. For Drupal 8 this should be an empty string.
        $settings['max_resolution'] = !empty($widget_settings['max_resolution']) ? $widget_settings['max_resolution'] : '';
        $settings['min_resolution'] = !empty($widget_settings['min_resolution']) ? $widget_settings['min_resolution'] : '';
        break;
    }
    return $settings;
  }

  /**
   * Convert file size strings into their D8 format.
   *
   * D6 stores file size using a "K" for kilobytes and "M" for megabytes where
   * as D8 uses "KB" and "MB" respectively.
   *
   * @param string $size_string
   *   The size string, eg 10M
   *
   * @return string
   *   The D8 version of the size string.
   */
  protected function convertSizeUnit($size_string) {
    $size_unit = substr($size_string, strlen($size_string) - 1);
    if ($size_unit == "M" || $size_unit == "K") {
      return $size_string . "B";
    }
    return $size_string;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
FieldInstanceSettings::convertSizeUnit protected function Convert file size strings into their D8 format.
FieldInstanceSettings::transform public function Set the field instance defaults. Overrides ProcessPluginBase::transform
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
ProcessPluginBase::multiple public function Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface::multiple 3
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.