/** * Build and/or hydrate Category object with provided classcontent. * * @param AbstractClassContent $content */ private function buildCategoryFromClassContent(AbstractClassContent $content) { foreach ((array) $content->getProperty('category') as $category) { $visible = true; if ('!' === $category[0]) { $visible = false; $category = substr($category, 1); } $id = $this->buildCategoryId($category); if (false === array_key_exists($id, $this->categories)) { $this->categories[$id] = new Category($category, $this->options); ksort($this->categories); } $this->categories[$id]->addBlock($content->getProperty('name'), $content->getProperty('description'), $content->getContentType(), $visible); } }
/** * Runs revert post action on content and its draft. * * @param AbstractClassContent $content * @param Revision $draft * * @return ClassContentManager */ private function revertPostProcess(AbstractClassContent $content, Revision $draft) { $data = $draft->jsonSerialize(); if (0 === count($data['parameters']) && (0 === count($data['elements']) || $content instanceof ContentSet && $data['elements']['current'] === $data['elements']['draft'])) { $this->entityManager->remove($draft); if (AbstractClassContent::STATE_NEW === $content->getState()) { $classname = AbstractClassContent::getClassnameByContentType($content->getContentType()); $this->entityManager->getRepository($classname)->deleteContent($content); } } return $this; }