Ejemplo n.º 1
0
 /**
  * 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);
     }
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }