1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-13 01:54:12 +02:00

New sessions related improvements/fixes; extra check in Site preferences area for cookie name - session/cookie regeneration, prevent logout; varoious redirection handler improvements plus new e107 method candidates - get/set/clear Cookies based on site preferences.

This commit is contained in:
secretr
2010-10-27 11:31:18 +00:00
parent c11685e482
commit cd49c6c850
6 changed files with 191 additions and 81 deletions

View File

@@ -322,6 +322,15 @@ class e_session
}
return $this;
}
/**
* Get registered namespace key
* @return string
*/
public function getNamespaceKey()
{
return $this->_namespace;
}
/**
* Reset session options
@@ -714,6 +723,11 @@ class e_session
session_destroy();
return $this;
}
public function replaceRegistry()
{
e107::setRegistry('core/e107/session/'.$this->_namespace, $this, true);
}
}
class e_core_session extends e_session
@@ -724,15 +738,17 @@ class e_core_session extends e_session
* able to extend the base e_session class and
* add more or override the implemented functionality, has their own
* namespace, add more session security etc.
* @param array $config session config data
* @param array $data session config data
*/
public function __construct($data = array())
{
// default system configuration
$this->setDefaultSystemConfig();
// TODO $data[config] and $data[options] to override default settings
$namespace = 'e107';
$name = deftrue('e_COOKIE', 'e107').'SID';
$name = (isset($data['name']) && !empty($data['name']) ? $data['name'] : deftrue('e_COOKIE', 'e107')).'SID';
if(isset($data['namespace']) && !empty($data['namespace'])) $namespace = $data['namespace'];
// create $_SESSION['e107'] namespace by default
$this->init($namespace, $name);