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

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