/**
  * @param \Generated\Shared\Transfer\BlockTransfer $blockTransfer
  * @throws \Propel\Runtime\Exception\PropelException
  *
  * @return void
  */
 public function createOrUpdateLocalizedBlocks(BlockTransfer $blockTransfer)
 {
     $idCmsBlock = $blockTransfer->getIdCmsBlock();
     foreach ($blockTransfer->getLocalizedBlocks() as $localizedBlockTransfer) {
         $cmsLocalizedBlock = $this->queryContainer->queryLocalizedBlockByIdPageAndLocale($blockTransfer->getIdCmsBlock(), $localizedBlockTransfer->getLocale())->findOneOrCreate();
         $encodedValues = $localizedBlockTransfer->getValues();
         $cmsLocalizedBlock->setFkCmsBlock($idCmsBlock);
         $cmsLocalizedBlock->setValues($encodedValues);
         $cmsLocalizedBlock->setFkLocale($localizedBlockTransfer->getLocale()->getIdLocale());
         $cmsLocalizedBlock->save();
     }
     $this->touchBlock($idCmsBlock);
 }
 /**
  * @param \Symfony\Component\Form\FormInterface $blockForm
  * @param int $idCmsBlock
  * @param bool $encode
  *
  * @return void
  */
 public function handleLocalizedCollectionForm(FormInterface $blockForm, $idCmsBlock, $encode = true)
 {
     $blockTransfer = new BlockTransfer();
     $blockTransfer->setIdCmsBlock($idCmsBlock);
     $blockData = $blockForm->getData();
     $localizedBlockData = $blockData[LocalizedBlockCollectionForm::FIELD_LOCALIZED_BLOCKS];
     foreach ($localizedBlockData as $localeName => $localizedBlock) {
         $localizedValues = $localizedBlock[LocalizedBlockForm::FIELD_VALUES];
         if (!$encode) {
             $localizedValues = json_decode($localizedValues, true);
         }
         $localizedValues = json_encode($localizedValues);
         $locale = $this->createLocale($localeName, $localizedBlock);
         $localizedBlockTransfer = new BlockLocalizedTransfer();
         $localizedBlockTransfer->setFkCmsBlock($idCmsBlock);
         $localizedBlockTransfer->setValues($localizedValues);
         $localizedBlockTransfer->setLocale($locale);
         $blockTransfer->addLocalizedBlocks($localizedBlockTransfer);
     }
     $this->cmsBlockFacade->createOrUpdateLocalizedBlocks($blockTransfer);
 }
 /**
  * @param \Symfony\Component\Form\FormInterface $blockForm
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 protected function handleBlockForm(FormInterface $blockForm)
 {
     $formData = $blockForm->getData();
     $blockTransfer = new BlockTransfer();
     $blockTransfer->fromArray($formData);
     $idCmsBlock = $this->getFacade()->createOrUpdateBlock($blockTransfer);
     $this->addSuccessMessage('CMS Block Updated');
     return $this->redirectResponse('/cms-block/block/edit?id-cms-block=' . $idCmsBlock);
 }
 /**
  * @param array $localizedBlocks
  * @param \Generated\Shared\Transfer\BlockTransfer $blockTransfer
  *
  * @return void
  */
 protected function addLocalizedBlockTransfers(array $localizedBlocks, BlockTransfer $blockTransfer)
 {
     $localeCollection = $this->localeFacade->getLocaleCollection();
     foreach ($localizedBlocks as $localizedBlock) {
         $localeName = $localizedBlock[self::LOCALE_NAME];
         if (!isset($localeCollection[$localeName])) {
             continue;
         }
         $locale = $localeCollection[$localeName];
         $localizedBlockTransfer = new BlockLocalizedTransfer();
         $localizedBlockTransfer->setLocale($locale);
         $localizedBlockTransfer->setValues(json_encode($localizedBlock[self::VALUES]));
         $blockTransfer->addLocalizedBlocks($localizedBlockTransfer);
     }
 }
 /**
  * @param \Generated\Shared\Transfer\PageTransfer $pageTransfer
  *
  * @return array
  */
 public function getByPage(PageTransfer $pageTransfer)
 {
     $query = $this->queryContainer->queryCmsBlockByPageId($pageTransfer->getIdCmsPage());
     $blocks = [];
     foreach ($query->find() as $blockEntity) {
         $blockTransfer = new BlockTransfer();
         $blockTransfer->fromArray($blockEntity->toArray());
         $blocks[] = $blockTransfer;
     }
     return $blocks;
 }