setExpire(2147483648); if (isset($_COOKIE['icingaweb2-announcements'])) { $cookie = json_decode($_COOKIE['icingaweb2-announcements'], true); if ($cookie !== null) { if (isset($cookie['acknowledged'])) { $this->setAcknowledged($cookie['acknowledged']); } if (isset($cookie['etag'])) { $this->setEtag($cookie['etag']); } if (isset($cookie['next'])) { $this->setNextActive($cookie['next']); } } } } /** * Get the hashes of the acknowledged announcements * * @return string[] */ public function getAcknowledged() { return $this->acknowledged; } /** * Set the hashes of the acknowledged announcements * * @param string[] $acknowledged * * @return $this */ public function setAcknowledged(array $acknowledged) { $this->acknowledged = $acknowledged; return $this; } /** * Get the ETag * * @return string */ public function getEtag() { return $this->etag; } /** * Set the ETag * * @param string $etag * * @return $this */ public function setEtag($etag) { $this->etag = $etag; return $this; } /** * Get the timestamp of the next active announcement * * @return ?int */ public function getNextActive() { return $this->nextActive; } /** * Set the timestamp of the next active announcement * * @param ?int $nextActive * * @return $this */ public function setNextActive(?int $nextActive) { $this->nextActive = $nextActive; return $this; } /** * {@inheritdoc} */ public function getValue() { return Json::encode(array( 'acknowledged' => $this->getAcknowledged(), 'etag' => $this->getEtag(), 'next' => $this->getNextActive() )); } }