Exemplo n.º 1
0
 /**
  * Updates states and revision number of the content.
  *
  * @param AbstractClassContent  $content            The content to be updated.
  * @param integer               $revision           Optional, the revision number (1 by default).
  * @param integer               $state              Optional, The state (STATE_NORMAL by default).
  *
  * @return PageBuilder                              The builder instance.
  * @codeCoverageIgnore
  */
 private function updateContentRevision(AbstractClassContent $content, $revision = 1, $state = AbstractClassContent::STATE_NORMAL)
 {
     $content->setRevision((int) $revision);
     $content->setState((int) $state);
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Executes commit action on content and its draft.
  *
  * @param  AbstractClassContent $content
  * @param  Revision      $draft
  * @return self
  */
 private function executeCommit(AbstractClassContent $content, Revision $draft)
 {
     $content->setDraft(null);
     if ($content instanceof ContentSet) {
         $content->clear();
         while ($subcontent = $draft->next()) {
             if ($subcontent instanceof AbstractClassContent) {
                 $subcontent = $this->em->getRepository(ClassUtils::getRealClass($subcontent))->load($subcontent);
                 if (null !== $subcontent) {
                     $content->push($subcontent);
                 }
             }
         }
     } else {
         foreach ($draft->getData() as $key => $values) {
             $values = is_array($values) ? $values : [$values];
             foreach ($values as &$subcontent) {
                 if ($subcontent instanceof AbstractClassContent) {
                     $subcontent = $this->em->getRepository(ClassUtils::getRealClass($subcontent))->load($subcontent);
                 }
             }
             $content->{$key} = $values;
         }
     }
     $draft->commit();
     $content->setLabel($draft->getLabel());
     foreach ($draft->getAllParams() as $key => $params) {
         $content->setParam($key, $params['value']);
     }
     $content->setRevision($draft->getRevision())->setState(AbstractClassContent::STATE_NORMAL)->addRevision($draft);
     return $this;
 }
 /**
  * Update Status and revision value.
  *
  * @param  \BackBee\ClassContent\AbstractClassContent $element
  *
  * @return AbstractConverterInterface
  */
 protected function _updateRevision(AbstractClassContent $element)
 {
     $element->setRevision(1 + $element->getRevision())->setState(AbstractClassContent::STATE_NORMAL);
     return $this;
 }
Exemplo n.º 4
0
 /**
  * Enables provided content by set its revision to 1 and
  * its state to 1001 (STATE_NORMAL) so it can be displayed in front.
  *
  * @param  AbstractClassContent $content
  * @return self
  */
 protected function enableContent(AbstractClassContent $content)
 {
     $content->setRevision(1)->setState(AbstractClassContent::STATE_NORMAL);
     foreach ($content->getData() as $element) {
         if ($element instanceof AbstractClassContent) {
             $this->enableContent($element);
         }
     }
     return $this;
 }