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