Backend\Modules\ContentBlocks\Command\CopyContentBlocksToOtherLocaleHandler::handle PHP Method

handle() public method

public handle ( CopyContentBlocksToOtherLocale $copyContentBlocksToOtherLocale ) : ContentBlock
$copyContentBlocksToOtherLocale CopyContentBlocksToOtherLocale
return Backend\Modules\ContentBlocks\Entity\ContentBlock
    public function handle(CopyContentBlocksToOtherLocale $copyContentBlocksToOtherLocale)
    {
        $fromLocaleContentBlocks = (array) $this->contentBlockRepository->findBy(['locale' => $copyContentBlocksToOtherLocale->fromLocale, 'status' => ContentBlockStatus::active()]);
        $id = $this->contentBlockRepository->getNextIdForLanguage($copyContentBlocksToOtherLocale->toLocale);
        array_map(function (ContentBlock $contentBlock) use($copyContentBlocksToOtherLocale, &$id) {
            $copyContentBlocksToOtherLocale->extraIdMap[$contentBlock->getExtraId()] = $this->getNewExtraId();
            $otherLocaleContentBlock = ContentBlock::create($id++, $contentBlock->getUserId(), $copyContentBlocksToOtherLocale->extraIdMap[$contentBlock->getExtraId()], $copyContentBlocksToOtherLocale->toLocale, $contentBlock->getTitle(), $contentBlock->getText(), $contentBlock->isHidden(), $contentBlock->getTemplate());
            $this->contentBlockRepository->add($otherLocaleContentBlock);
        }, $fromLocaleContentBlocks);
    }
CopyContentBlocksToOtherLocaleHandler