/** * @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); }
/** * @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()]); }
/** * 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(); }