You are here

function _drupal_cookie_params in Drupal 7

Process the params for cookies. This emulates support for the SameSite attribute in earlier versions of PHP, and allows the value of that attribute to be overridden.

Parameters

$options: An associative array which may have any of the keys expires, path, domain, secure, httponly, samesite.

Return value

An associative array which may have any of the keys expires, path, domain, secure, httponly, and samesite.

2 calls to _drupal_cookie_params()
drupal_session_start in includes/session.inc
Starts a session forcefully, preserving already set session data.
drupal_setcookie in includes/bootstrap.inc
Drupal's wrapper around PHP's setcookie() function.

File

includes/bootstrap.inc, line 3919
Functions that need to be loaded on every Drupal request.

Code

function _drupal_cookie_params($options) {
  $options['samesite'] = _drupal_samesite_cookie($options);
  if (\PHP_VERSION_ID < 70300) {

    // Emulate SameSite support in older PHP versions.
    if (!empty($options['samesite'])) {

      // Ensure the SameSite attribute is only added once.
      if (!preg_match('/SameSite=/i', $options['path'])) {
        $options['path'] .= '; SameSite=' . $options['samesite'];
      }
    }
  }
  return $options;
}