function translation_entity_add_page

Page callback for the translation addition page.

Parameters

EntityInterface $entity: The entity being translated.

Language $source: (optional) The language of the values being translated. Defaults to the entity language.

Language $target: (optional) The language of the translated values. Defaults to the current content language.

Return value

array A processed form array ready to be rendered.

1 string reference to 'translation_entity_add_page'
translation_entity_menu in drupal/core/modules/translation_entity/translation_entity.module
Implements hook_menu().

File

drupal/core/modules/translation_entity/translation_entity.pages.inc, line 193
The entity translation user interface.

Code

function translation_entity_add_page(EntityInterface $entity, Language $source = NULL, Language $target = NULL) {
  $source = !empty($source) ? $source : $entity
    ->language();
  $target = !empty($target) ? $target : language(Language::TYPE_CONTENT);

  // @todo Exploit the upcoming hook_entity_prepare() when available.
  translation_entity_prepare_translation($entity, $source, $target);
  $info = $entity
    ->entityInfo();
  $operation = isset($info['default_operation']) ? $info['default_operation'] : 'default';
  $form_state['langcode'] = $target->langcode;
  $form_state['translation_entity']['source'] = $source;
  $form_state['translation_entity']['target'] = $target;
  $controller = translation_entity_controller($entity
    ->entityType());
  $form_state['translation_entity']['translation_form'] = !$controller
    ->getAccess($entity, 'update');
  return entity_get_form($entity, $operation, $form_state);
}