/** * @param string $localeName * @param array $localizedBlock * * @return \Generated\Shared\Transfer\LocaleTransfer */ protected function createLocale($localeName, array $localizedBlock) { $locale = new LocaleTransfer(); $locale->setLocaleName($localeName); $locale->setIdLocale((int) $localizedBlock[LocalizedBlockForm::FIELD_FK_LOCALE]); return $locale; }
/** * @param array $translations * * @return array */ protected function installKeysAndTranslations(array $translations) { Propel::getConnection()->beginTransaction(); $results = []; foreach ($translations as $keyName => $data) { $results[$keyName]['created'] = false; if (!$this->keyManager->hasKey($keyName)) { $this->keyManager->createKey($keyName); $results[$keyName]['created'] = true; } foreach ($data['translations'] as $localeName => $text) { $locale = new LocaleTransfer(); $locale->setLocaleName($localeName); $results[$keyName]['translation'][$localeName]['text'] = $text; $results[$keyName]['translation'][$localeName]['created'] = false; $results[$keyName]['translation'][$localeName]['updated'] = false; if (!$this->translationManager->hasTranslation($keyName, $locale)) { $this->translationManager->createAndTouchTranslation($keyName, $locale, $text, true); $results[$keyName]['translation'][$localeName]['created'] = true; } elseif ($this->translationManager->getTranslationByKeyName($keyName, $locale)->getValue() !== $text) { $this->translationManager->updateAndTouchTranslation($keyName, $locale, $text, true); $results[$keyName]['translation'][$localeName]['updated'] = true; } } } Propel::getConnection()->commit(); return $results; }
/** * @param array $locales * * @return \Generated\Shared\Transfer\LocaleTransfer */ private function buildLocaleTransferObject(array $locales) { $locale = new LocaleTransfer(); $locale->setIdLocale($locales[0]); $locale->setLocaleName($this->locales[$locales[0]]); $locale->setIsActive(true); return $locale; }
/** * @param int $idCmsLocalizedBlock * * @throws \Pav\Zed\CmsBlock\Business\Exception\CmsBlockNotFoundException * @return \Generated\Shared\Transfer\BlockTransfer|null */ public function getLocalizedById($idCmsLocalizedBlock) { $localizedBlockEntity = $this->queryContainer->queryLocalizedBlockById($idCmsLocalizedBlock)->findOne(); if ($localizedBlockEntity === null) { return null; } $localizedBlockTransfer = new BlockLocalizedTransfer(); $localizedBlockTransfer->fromArray($localizedBlockEntity->toArray(), true); $localeTransfer = new LocaleTransfer(); $localeTransfer->setLocaleName($localizedBlockEntity->getSpyLocale()->getLocaleName()); $localeTransfer->setIdLocale($localizedBlockEntity->getSpyLocale()->getIdLocale()); $localizedBlockTransfer->setLocale($localeTransfer); $blockTransfer = $this->getById($localizedBlockEntity->getFkCmsBlock()); $blockTransfer->addLocalizedBlocks($localizedBlockTransfer); return $blockTransfer; }