Mercurial > hg > cmmr2012-drupal-site
diff core/modules/comment/src/CommentTranslationHandler.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/comment/src/CommentTranslationHandler.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,49 @@ +<?php + +namespace Drupal\comment; + +use Drupal\Core\Entity\EntityInterface; +use Drupal\content_translation\ContentTranslationHandler; +use Drupal\Core\Form\FormStateInterface; + +/** + * Defines the translation handler for comments. + */ +class CommentTranslationHandler extends ContentTranslationHandler { + + /** + * {@inheritdoc} + */ + public function entityFormAlter(array &$form, FormStateInterface $form_state, EntityInterface $entity) { + parent::entityFormAlter($form, $form_state, $entity); + + if (isset($form['content_translation'])) { + // We do not need to show these values on comment forms: they inherit the + // basic comment property values. + $form['content_translation']['status']['#access'] = FALSE; + $form['content_translation']['name']['#access'] = FALSE; + $form['content_translation']['created']['#access'] = FALSE; + } + } + + /** + * {@inheritdoc} + */ + protected function entityFormTitle(EntityInterface $entity) { + return t('Edit comment @subject', ['@subject' => $entity->label()]); + } + + /** + * {@inheritdoc} + */ + public function entityFormEntityBuild($entity_type, EntityInterface $entity, array $form, FormStateInterface $form_state) { + if ($form_state->hasValue('content_translation')) { + $translation = &$form_state->getValue('content_translation'); + /** @var \Drupal\comment\CommentInterface $entity */ + $translation['status'] = $entity->isPublished(); + $translation['name'] = $entity->getAuthorName(); + } + parent::entityFormEntityBuild($entity_type, $entity, $form, $form_state); + } + +}