You are here

public function ContentTranslationEnabledSetting::transform in Drupal 10

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

File

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

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;
}