74 'session.use_cookies',
75 'session.use_only_cookies',
76 'session.use_trans_sid',
77 'session.cookie_httponly',
109 \
Magento\Framework\Stdlib\StringUtils $stringHelper,
116 $this->_validatorFactory = $validatorFactory;
117 $this->_scopeConfig = $scopeConfig;
118 $this->_stringHelper = $stringHelper;
120 $this->_scopeType = $scopeType;
127 if (!$savePath && !
ini_get(
'session.save_path')) {
129 $savePath = $sessionDir->getAbsolutePath();
130 $sessionDir->create();
141 $this->
setOption(
'session.save_handler', $saveHandler);
149 $this->
setOption(
'session.cache_limiter', $cacheLimiter);
155 $lifetime = $this->_scopeConfig->getValue($this->lifetimePath, $this->_scopeType);
158 $path = $this->_scopeConfig->getValue(self::XML_PATH_COOKIE_PATH, $this->_scopeType);
162 $domain = $this->_scopeConfig->getValue(self::XML_PATH_COOKIE_DOMAIN, $this->_scopeType);
163 $domain = empty($domain) ? $this->_httpRequest->getHttpHost() : $domain;
164 $this->
setCookieDomain((
string)$domain, $this->_httpRequest->getHttpHost());
167 $this->_scopeConfig->getValue(self::XML_PATH_COOKIE_HTTPONLY, $this->_scopeType)
170 $secureURL = $this->_scopeConfig->getValue(
'web/secure/base_url', $this->_scopeType);
171 $unsecureURL = $this->_scopeConfig->getValue(
'web/unsecure/base_url', $this->_scopeType);
172 $isFullySecuredURL = $secureURL == $unsecureURL;
173 $this->
setCookieSecure($isFullySecuredURL && $this->_httpRequest->isSecure());
188 $setter =
'set' . $this->_stringHelper->upperCaseWords(
$option,
'_',
'');
189 if (method_exists($this, $setter)) {
233 if (array_key_exists(
$option, $this->options)) {
234 return $this->options[
$option];
281 return (
string)$this->
getOption(
'session.name');
292 $this->
setOption(
'session.save_path', $savePath);
303 return (
string)$this->
getOption(
'session.save_path');
315 $validator = $this->_validatorFactory->create(
319 if ($validator->isValid($cookieLifetime)) {
320 $this->
setOption(
'session.cookie_lifetime', (
int)$cookieLifetime);
321 }
elseif (
null !== $default && $validator->isValid($default)) {
322 $this->
setOption(
'session.cookie_lifetime', (
int)$default);
335 return (
int)$this->
getOption(
'session.cookie_lifetime');
347 $cookiePath = (string)$cookiePath;
348 $validator = $this->_validatorFactory->create(
352 if ($validator->isValid($cookiePath)) {
353 $this->
setOption(
'session.cookie_path', $cookiePath);
354 }
elseif (
null !== $default && $validator->isValid($default)) {
355 $this->
setOption(
'session.cookie_path', $default);
368 return (
string)$this->
getOption(
'session.cookie_path');
380 $validator = $this->_validatorFactory->create(
384 if ($validator->isValid($cookieDomain)) {
385 $this->
setOption(
'session.cookie_domain', $cookieDomain);
386 }
elseif (
null !== $default && $validator->isValid($default)) {
387 $this->
setOption(
'session.cookie_domain', $default);
400 return (
string)$this->
getOption(
'session.cookie_domain');
411 $this->
setOption(
'session.cookie_secure', (
bool)$cookieSecure);
423 return (
bool)$this->
getOption(
'session.cookie_secure');
434 $this->
setOption(
'session.cookie_httponly', (
bool)$cookieHttpOnly);
446 return (
bool)$this->
getOption(
'session.cookie_httponly');
457 $this->
setOption(
'session.use_cookies', (
bool)$useCookies);
469 return (
bool)$this->
getOption(
'session.use_cookies');
481 if (in_array(
$option, $this->booleanOptions)) {
499 case 'url_rewriter_tags':
503 if (strpos(
$option,
'session.') !== 0) {
527 $key = strtolower(preg_replace(
'#(?<=[a-z])([A-Z])#',
'_\1',
$option));
530 $value = array_shift($args);
535 throw new \BadMethodCallException(sprintf(
'Method "%s" does not exist in %s',
$method, get_class($this)));
const PARAM_SESSION_CACHE_LIMITER
getFixedOptionName($option)
elseif(isset( $params[ 'redirect_parent']))
setUseCookies($useCookies)
const COOKIE_LIFETIME_DEFAULT
setCookiePath($cookiePath, $default=null)
setName($name, $default=null)
setCookieDomain($cookieDomain, $default=null)
setCookieLifetime($cookieLifetime, $default=null)
const PARAM_SESSION_SAVE_PATH
const XML_PATH_COOKIE_DOMAIN
setCookieSecure($cookieSecure)
const XML_PATH_COOKIE_PATH
__construct(\Magento\Framework\ValidatorFactory $validatorFactory, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\Stdlib\StringUtils $stringHelper, \Magento\Framework\App\RequestInterface $request, Filesystem $filesystem, DeploymentConfig $deploymentConfig, $scopeType, $lifetimePath=self::XML_PATH_COOKIE_LIFETIME)
const XML_PATH_COOKIE_HTTPONLY
getStorageOption($option)
setCookieHttpOnly($cookieHttpOnly)
const XML_PATH_COOKIE_LIFETIME
const PARAM_SESSION_SAVE_METHOD
setOption($option, $value)
setOptions($options, $default=[])
if(!isset($_GET['name'])) $name