* @package Vhs * @subpackage ViewHelpers\Once */ class CookieViewHelper extends AbstractOnceViewHelper { /** * @return void */ protected function storeIdentifier() { $identifier = $this->getIdentifier(); $domain = TRUE === isset($this->arguments['lockToDomain']) && TRUE === $this->arguments['lockToDomain'] ? $_SERVER['HTTP_HOST'] : NULL; setcookie($identifier, '1', time() + $this->arguments['ttl'], NULL, $domain); } /** * @return boolean */ protected function assertShouldSkip() { $identifier = $this->getIdentifier(); return (TRUE === isset($_COOKIE[$identifier])); } /** * @return void */ protected function removeIfExpired() { $identifier = $this->getIdentifier(); $existsInCookie = (boolean) (TRUE === isset($_COOKIE[$identifier])); if (TRUE === $existsInCookie) { $this->removeCookie(); } } /** * @return void */ protected function removeCookie() { $identifier = $this->getIdentifier(); unset($_SESSION[$identifier], $_COOKIE[$identifier]); setcookie($identifier, NULL, time() - 1); } }