vendor/ezsystems/repository-forms/lib/EventListener/AddNewTranslationFieldDefinition.php line 24

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) eZ Systems AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. declare(strict_types=1);
  7. namespace EzSystems\RepositoryForms\EventListener;
  8. use EzSystems\RepositoryForms\Event\FieldDefinitionMappingEvent;
  9. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  10. class AddNewTranslationFieldDefinition implements EventSubscriberInterface
  11. {
  12.     public static function getSubscribedEvents()
  13.     {
  14.         return [FieldDefinitionMappingEvent::NAME => ['addNewTranslation'40]];
  15.     }
  16.     /**
  17.      * @param \EzSystems\RepositoryForms\Event\FieldDefinitionMappingEvent $event
  18.      */
  19.     public function addNewTranslation(FieldDefinitionMappingEvent $event): void
  20.     {
  21.         $baseLanguage $event->getBaseLanguage();
  22.         $targetLanguage $event->getTargetLanguage();
  23.         if (null === $baseLanguage || null === $targetLanguage) {
  24.             return;
  25.         }
  26.         $fieldDefinitionData $event->getFieldDefinitionData();
  27.         $fieldDefinition $event->getFieldDefinition();
  28.         $fieldDefinitionData->names[$targetLanguage->languageCode] = $fieldDefinition->getName($baseLanguage->languageCode);
  29.         $fieldDefinitionData->descriptions[$targetLanguage->languageCode] = $fieldDefinition->getDescription($baseLanguage->languageCode);
  30.         $event->setFieldDefinitionData($fieldDefinitionData);
  31.     }
  32. }