protected function SessionManager::getSessionDataMask

protected SessionManager::getSessionDataMask()

Returns a map specifying which session key is containing user data.

Return value

array An array where keys correspond to the session keys and the values are booleans specifying whether the corresponding session key contains any user data.

File

core/lib/Drupal/Core/Session/SessionManager.php, line 305

Class

SessionManager
Manages user sessions.

Namespace

Drupal\Core\Session

Code

protected function getSessionDataMask() {
  if (empty($_SESSION)) {
    return array();
  }

  // Start out with a completely filled mask.
  $mask = array_fill_keys(array_keys($_SESSION), TRUE);

  // Ignore the metadata bag, it does not contain any user data.
  $mask[$this->metadataBag->getStorageKey()] = FALSE;

  // Ignore attribute bags when they do not contain any data.
  foreach ($this->bags as $bag) {
    $key = $bag->getStorageKey();
    $mask[$key] = !empty($_SESSION[$key]);
  }

  return array_intersect_key($mask, $_SESSION);
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Session!SessionManager.php/function/SessionManager::getSessionDataMask/8.1.x