Author: Johannes M. Schmitt (schmittjoh@gmail.com)
 public function testRemove()
 {
     $this->cookieJar->set('testCookie', 'testValue');
     $this->cookie = $this->cookieJar->remove('testCookie');
     $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Cookie', $this->cookie);
     $this->assertTrue($this->cookie->isCleared());
 }
Example #2
0
 /**
  * Set the given cookie in the headers.
  *
  * @param  \Symfony\Component\HttpFoundation\Cookie  $cookie
  * @return void
  */
 protected function setCookie($cookie)
 {
     if (headers_sent()) {
         return;
     }
     setcookie($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly());
 }
 /**
  * If there is a logged in user with a preferred language, set it as a cookie.
  *
  * @param FilterResponseEvent $event
  */
 public function onKernelResponse(FilterResponseEvent $event)
 {
     $locale = $this->localeProvider->determinePreferredLocale();
     // Unable to determine preferred locale? No need to hand out a cookie then.
     if (empty($locale)) {
         return;
     }
     // Did the request already contain the proper cookie value? No need to hand out a cookie then.
     $requestCookie = $this->cookieHelper->read($event->getRequest());
     if ($requestCookie && $requestCookie->getValue() === $locale) {
         $this->logger->debug(sprintf('Locale cookie already set to "%s", nothing to do here', $locale));
         return;
     }
     $this->cookieHelper->write($event->getResponse(), $locale);
     $this->logger->notice(sprintf("Set locale cookie to %s", $locale));
 }
Example #4
0
 public function __construct($name, $value, $expire, $path, $domain, $secure, $httpOnly, $raw)
 {
     self::$crypt = env("COOKIE_CRYPT", null);
     if (!is_null(self::$crypt)) {
         $_crypt = strpos(self::$crypt, ".");
         self::$cryptType = strtoupper(substr(self::$crypt, 0, $_crypt));
         self::$cryptLength = intval(substr(self::$crypt, $_crypt + 1));
     }
     $value = self::cryptValue($value);
     parent::__construct($name, $value, $expire, $path, $domain, $secure, $httpOnly, $raw);
 }
 /**
  * Duplicate a cookie with a new value.
  *
  * @param  \Symfony\Component\HttpFoundation\Cookie  $c
  * @param  mixed  $value
  * @return \Symfony\Component\HttpFoundation\Cookie
  */
 protected function duplicate(Cookie $c, $value)
 {
     return new Cookie($c->getName(), $value, $c->getExpiresTime(), $c->getPath(), $c->getDomain(), $c->isSecure(), $c->isHttpOnly());
 }
Example #6
0
 /**
  * @covers Symfony\Component\HttpFoundation\Cookie::getValue
  */
 public function testGetValue()
 {
     $value = 'MyValue';
     $cookie = new Cookie('MyCookie', $value);
     $this->assertSame($value, $cookie->getValue(), '->getValue() returns the proper value');
 }
Example #7
0
    echo 'Current state of <code>$test</code>: ';
    if ($container['session']->has('test')) {
        echo 'Set<br> Value: ' . $container['session']->get('test');
    } else {
        echo 'Not set';
    }
    echo '<hr><a href="/set">Set session variable</a>';
});
// Set
$app->get('/set', function () use($container) {
    $var = randomVar();
    if ($container['session']->has('test')) {
        echo '<p><code>$test</code> is set. Overriding it to now be <code>' . $var . '</code></p>';
    } else {
        echo '<p><code>$test</code> is not set. Setting to be <code>' . $var . '</code></p>';
    }
    $container['session']->put('test', $var);
    // Save the session
    $container['session']->save();
    // The session is saved; now, we'll store the session ID in a cookie to allow for
    // the session to remain on future requests
    $cookie = new Cookie($container['session']->getName(), $container['session']->getId(), time() + $container['config']['session.lifetime'] * 60, '/', null, false);
    setcookie($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain());
    echo '<hr><a href="/">View current value of session variable</a>';
});
function randomVar()
{
    $names = ["Afghanistan", "Åland Islands", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia (Plurinational State of)", "Bonaire, Sint Eustatius and Saba", "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cabo Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo (Democratic Republic of the)", "Cook Islands", "Costa Rica", "Côte d'Ivoire", "Croatia", "Cuba", "Curaçao", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard Island and McDonald Islands", "Holy See", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran (Islamic Republic of)", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea (Democratic People's Republic of)", "Korea (Republic of)", "Kuwait", "Kyrgyzstan", "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia (the former Yugoslav Republic of)", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia (Federated States of)", "Moldova (Republic of)", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestine, State of", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Réunion", "Romania", "Russian Federation", "Rwanda", "Saint Barthélemy", "Saint Helena, Ascension and Tristan da Cunha", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin (French part)", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Sint Maarten (Dutch part)", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Sudan", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan, Province of China", "Tajikistan", "Tanzania, United Republic of", "Thailand", "Timor-Leste", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom of Great Britain and Northern Ireland", "United States of America", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela (Bolivarian Republic of)", "Viet Nam", "Virgin Islands (British)", "Virgin Islands (U.S.)", "Wallis and Futuna", "Western Sahara", "Yemen", "Zambia"];
    return $names[array_rand($names)];
}
$app->run();
Example #8
0
 /**
  * Create a new cookie from the current (template) cookie with a new value.
  *
  * @param $value
  * @return Cookie
  */
 private function createCookieWithValue($value)
 {
     return new Cookie($this->cookieSettings->getName(), $value, $this->cookieSettings->getExpiresTime(), $this->cookieSettings->getPath(), $this->cookieSettings->getDomain(), $this->cookieSettings->isSecure(), $this->cookieSettings->isHttpOnly());
 }
 /**
  * @param mixed  $cookieValue
  * @param Cookie $oldCookie
  */
 private function setCookieAndAssertFail($cookieValue, $oldCookie)
 {
     // Set cookie.
     $newCookie = new \Symfony\Component\BrowserKit\Cookie('ongr_settings_user_auth', json_encode($cookieValue), $oldCookie->getExpiresTime(), $oldCookie->getPath(), $oldCookie->getDomain());
     $this->client->getCookieJar()->set($newCookie);
     // Visit login page.
     $crawler = $this->client->request('GET', '/settings/login');
     // Assert there is a form.
     $buttonNode = $crawler->selectButton('login_submit');
     $this->assertSame(1, $buttonNode->count(), 'There should be a form');
 }
Example #10
0
 /**
  * Add Cookies
  * 
  * @param Symfony\Component\HttpFoundation\Cookie $cookie
  * 
  * @return self
  */
 public function setCookie(Cookie $cookie)
 {
     $cookies = array_merge($this->headers()->get('set-cookie', []), [$cookie->__toString()]);
     $this->headers()->put('set-cookie', $cookies);
     return $this;
 }
Example #11
0
 public function __construct(Context $context, $name, $value = null, $expire = 0, $path = '/', $domain = null, $secure = false, $httpOnly = false)
 {
     $config = $context->getService('config');
     parent::__construct($config->get('foolz/foolframe', 'config', 'config.cookie_prefix') . $name, $value, time() + $expire, $path, $domain, $secure, $httpOnly);
 }
Example #12
0
 public function testRawCookie()
 {
     $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com', false, true);
     $this->assertFalse($cookie->isRaw());
     $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com', false, true, true);
     $this->assertTrue($cookie->isRaw());
 }
Example #13
0
 /**
  * Override parent construct httpOnly to false
  * @param string $name
  * @param null $value
  * @param null $expire
  * @param string $path
  * @param null $domain
  * @param bool $secure
  * @param bool $httpOnly
  *
  */
 public function __construct($name, $value = null, $expire = null, $path = '/', $domain = null, $secure = false, $httpOnly = false)
 {
     parent::__construct($name, $value, $expire, $path, $domain, $secure, $httpOnly);
 }
 /**
  * Duplicate a cookie with a new name.
  *
  * @param  \Symfony\Component\HttpFoundation\Cookie  $cookie
  * @param  mixed  $name
  * @return \Symfony\Component\HttpFoundation\Cookie
  */
 private function rename(Cookie $c, $name)
 {
     return new Cookie($name, $c->getValue(), $c->getExpiresTime(), $c->getPath(), $c->getDomain(), $c->isSecure(), $c->isHttpOnly());
 }
Example #15
0
    public function testCookieIsCleared()
    {
        $cookie = new Cookie('foo', 'bar', time()-20);

        $this->assertTrue($cookie->isCleared(), '->isCleared() returns true if the cookie has expired');
    }
Example #16
0
 public function testToString()
 {
     $cookie = new Cookie('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true);
     $this->assertEquals('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure; httponly', $cookie->__toString(), '->__toString() returns string representation of the cookie');
     $cookie = new Cookie('foo', null, 1, '/admin/', '.myfoodomain.com');
     $this->assertEquals('foo=deleted; expires=' . gmdate('D, d-M-Y H:i:s T', time() - 31536001) . '; path=/admin/; domain=.myfoodomain.com; httponly', $cookie->__toString(), '->__toString() returns string representation of a cleared cookie if value is NULL');
     $cookie = new Cookie('foo', 'bar', 0, '/', '');
     $this->assertEquals('foo=bar; path=/; httponly', $cookie->__toString());
 }
Example #17
0
    public function testFromString()
    {
        $cookie = Cookie::fromString('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure; httponly');
        $this->assertEquals(new Cookie('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true, true, true), $cookie);

        $cookie = Cookie::fromString('foo=bar', true);
        $this->assertEquals(new Cookie('foo', 'bar'), $cookie);
    }