/**
  * @param ContentBlock $contentBlock
  * @param Locale $locale
  */
 public function __construct(ContentBlock $contentBlock, Locale $locale)
 {
     parent::__construct('SELECT i.id, i.revision_id, i.title, UNIX_TIMESTAMP(i.edited_on) AS edited_on, i.user_id
          FROM content_blocks AS i
          WHERE i.status = :archived AND i.id = :id AND i.language = :language
          ORDER BY i.edited_on DESC', ['archived' => ContentBlockStatus::archived(), 'language' => $locale, 'id' => $contentBlock->getId()]);
 }
Пример #2
0
 /**
  * @param ContentBlock $contentBlock
  */
 public function __construct(ContentBlock $contentBlock)
 {
     $this->contentBlock = $contentBlock;
     $this->isVisible = !$contentBlock->isHidden();
     $this->title = $contentBlock->getTitle();
     $this->text = $contentBlock->getText();
     $this->template = $contentBlock->getTemplate();
 }
Пример #3
0
 /**
  * Parse the content block and the revisions
  */
 protected function parse()
 {
     parent::parse();
     $this->tpl->assign('id', $this->contentBlock->getId());
     $this->tpl->assign('title', $this->contentBlock->getTitle());
     $this->tpl->assign('revision_id', $this->contentBlock->getRevisionId());
     $this->parseRevisionsDataGrid();
 }
 /**
  * @param CopyContentBlocksToOtherLocale $copyContentBlocksToOtherLocale
  *
  * @return 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);
 }
Пример #5
0
 /**
  * @param ContentBlock $contentBlock
  *
  * We don't flush here, see http://disq.us/p/okjc6b
  */
 public function add(ContentBlock $contentBlock)
 {
     // make sure the other revisions are archived
     if ($contentBlock->getStatus()->isActive() && $contentBlock->getId() !== null) {
         array_map(function (ContentBlock $contentBlock) {
             $contentBlock->archive();
         }, (array) $this->findBy(['id' => $contentBlock->getId(), 'locale' => $contentBlock->getLocale()]));
     }
     $this->getEntityManager()->persist($contentBlock);
 }
Пример #6
0
 /**
  * @param CreateContentBlock $createContentBlock
  *
  * @return ContentBlock
  */
 public function handle(CreateContentBlock $createContentBlock)
 {
     $createContentBlock->contentBlock = ContentBlock::create($this->contentBlockRepository->getNextIdForLanguage($createContentBlock->language), $createContentBlock->userId, $this->getNewExtraId(), $createContentBlock->language, $createContentBlock->title, $createContentBlock->text, !$createContentBlock->isVisible, $createContentBlock->template);
     $this->contentBlockRepository->add($createContentBlock->contentBlock);
 }