/**
  * @param PageSnapshotInterface $page
  * @return bool
  */
 public function isSnapshotActive(PageSnapshotInterface $page)
 {
     $jsonObject = json_decode($page->getVersionedData());
     $now = new \DateTime();
     if ($now->getTimestamp() >= $this->getActiveStart($jsonObject)->getTimestamp() && $now->getTimestamp() <= $this->getActiveEnd($jsonObject)->getTimestamp()) {
         return $jsonObject->status == PageInterface::STATUS_PUBLISHED;
     }
     return false;
 }
Example #2
0
 /**
  * Unserialize the PageSnapshot data into a page object
  *
  * @param PageSnapshotInterface $pageSnapshot
  * @param bool $unserializeTranslations
  * @return PageInterface
  */
 public function unserializePageSnapshotData(PageSnapshotInterface $pageSnapshot, $unserializeTranslations = true)
 {
     /** @var \JMS\Serializer\SerializerInterface $serializer */
     $serializer = $this->getService('serializer');
     $context = new PageSnapshotDeserializationContext();
     $context->setDeserializeTranslations($unserializeTranslations);
     return $serializer->deserialize($pageSnapshot->getVersionedData(), $pageSnapshot->getResourceName(), 'json', $context);
 }
Example #3
0
 /**
  * Unserialize the PageSnapshot data into a page object
  *
  * @param PageSnapshotInterface $pageSnapshot
  * @return PageInterface
  */
 public function unserializePageSnapshotData(PageSnapshotInterface $pageSnapshot)
 {
     /** @var \JMS\Serializer\SerializerInterface $serializer */
     $serializer = $this->getService('serializer');
     return $serializer->deserialize($pageSnapshot->getVersionedData(), $pageSnapshot->getResourceName(), 'json');
 }