Esempio n. 1
0
 /**
  * Send Vary cookie
  *
  * @return void
  */
 public function sendVary()
 {
     $varyString = $this->context->getVaryString();
     if ($varyString) {
         $sensitiveCookMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata()->setPath('/');
         $this->cookieManager->setSensitiveCookie(self::COOKIE_VARY_STRING, $varyString, $sensitiveCookMetadata);
     } elseif ($this->request->get(self::COOKIE_VARY_STRING)) {
         $cookieMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata()->setPath('/');
         $this->cookieManager->deleteCookie(self::COOKIE_VARY_STRING, $cookieMetadata);
     }
 }
Esempio n. 2
0
 /**
  * Send Vary cookie
  *
  * @return void
  */
 public function sendVary()
 {
     $data = $this->context->getData();
     if (!empty($data)) {
         ksort($data);
         $cookieValue = sha1(serialize($data));
         $sensitiveCookMetadata = $this->cookieMetadataFactory->createSensitiveCookieMetadata()->setPath('/');
         $this->cookieManager->setSensitiveCookie(self::COOKIE_VARY_STRING, $cookieValue, $sensitiveCookMetadata);
     } else {
         $cookieMetadata = $this->cookieMetadataFactory->createCookieMetadata()->setPath('/');
         $this->cookieManager->deleteCookie(self::COOKIE_VARY_STRING, $cookieMetadata);
     }
 }
Esempio n. 3
0
 /**
  * Return count of sent in last period by cookie
  *
  * @param bool $increment - flag, increase count before return value
  * @return int
  */
 protected function _sentCountByCookies($increment = false)
 {
     $cookieName = $this->_sendfriendData->getCookieName();
     $time = time();
     $newTimes = [];
     if (isset($this->_lastCookieValue[$cookieName])) {
         $oldTimes = $this->_lastCookieValue[$cookieName];
     } else {
         $oldTimes = $this->cookieManager->getCookie($cookieName);
     }
     if ($oldTimes) {
         $oldTimes = explode(',', $oldTimes);
         foreach ($oldTimes as $oldTime) {
             $periodTime = $time - $this->_sendfriendData->getPeriod();
             if (is_numeric($oldTime) and $oldTime >= $periodTime) {
                 $newTimes[] = $oldTime;
             }
         }
     }
     if ($increment) {
         $newTimes[] = $time;
         $newValue = implode(',', $newTimes);
         $this->cookieManager->setSensitiveCookie($cookieName, $newValue);
         $this->_lastCookieValue[$cookieName] = $newValue;
     }
     return count($newTimes);
 }