function ContentTranslationEnabledSetting::transform

Same name and namespace in other branches
  1. 9 core/modules/language/src/Plugin/migrate/process/ContentTranslationEnabledSetting.php \Drupal\language\Plugin\migrate\process\ContentTranslationEnabledSetting::transform()
  2. 8.9.x core/modules/language/src/Plugin/migrate/process/ContentTranslationEnabledSetting.php \Drupal\language\Plugin\migrate\process\ContentTranslationEnabledSetting::transform()
  3. 11.x core/modules/language/src/Plugin/migrate/process/ContentTranslationEnabledSetting.php \Drupal\language\Plugin\migrate\process\ContentTranslationEnabledSetting::transform()

Overrides ProcessPluginBase::transform

File

core/modules/language/src/Plugin/migrate/process/ContentTranslationEnabledSetting.php, line 25

Class

ContentTranslationEnabledSetting
Determines the content translation setting.

Namespace

Drupal\language\Plugin\migrate\process

Code

public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
  if (!is_array($value)) {
    throw new MigrateException('Input should be an array');
  }
  [
    $language_content_type,
    $entity_translation_entity_types,
    $entity_type,
  ] = $value;
  switch ($language_content_type) {
    // In the case of being 0, it will be skipped. We are not actually setting
    // a null value.
    case 0:
      $setting = NULL;
      break;

    case 1:
      $setting = FALSE;
      break;

    case 2:
      $setting = FALSE;
      break;

    case 4:
      // If entity translation is enabled return the status of comment
      // translations.
      $setting = FALSE;
      if (!empty($entity_translation_entity_types[$entity_type])) {
        $setting = TRUE;
      }
      break;

    default:
      $setting = NULL;
      break;

  }
  return $setting;
}

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