18 ini_set(
'session.cookie_lifetime', 0);
19 ini_set(
'session.use_cookies',
'On');
20 ini_set(
'session.use_only_cookies',
'On');
21 ini_set(
'session.use_strict_mode',
'On');
22 ini_set(
'session.cookie_httponly',
'On');
23 ini_set(
'session.use_trans_sid',
'Off');
24 ini_set(
'session.cache_limiter',
'nocache');
25 ini_set(
'session.hash_function',
'sha256');
34 private static $ERROR_VARNAME =
'Session.errors';
36 private $_anonymousUser = null;
37 private $_authUserVarName = null;
44 $this->_authUserVarName =
'auth_user_'.md5(__FILE__);
46 $sessionName =
'wcmf'.md5(__FILE__);
47 session_name($sessionName);
49 if (!headers_sent()) {
52 if (isset($_SESSION[$this->_authUserVarName])) {
53 session_regenerate_id();
59 session_write_close();
72 public function get($key) {
74 if (isset($_SESSION[$key])) {
75 $value = $_SESSION[$key];
83 public function set($key, $value) {
84 $_SESSION[$key] = $value;
90 public function remove($key) {
91 unset($_SESSION[$key]);
98 $result = isset($_SESSION[$key]);
121 $this->
set($this->_authUserVarName, $authUser);
128 $user = $this->_anonymousUser;
130 if ($this->
exist($this->_authUserVarName)) {
131 $user = $this->
get($this->_authUserVarName);
140 if (isset($_SESSION[self::$ERROR_VARNAME])) {
141 $_SESSION[self::$ERROR_VARNAME] = array();
143 $_SESSION[self::$ERROR_VARNAME][$key] = $error;
151 if (isset($_SESSION[self::$ERROR_VARNAME])) {
152 $error = $_SESSION[self::$ERROR_VARNAME][$key];
161 $errors = $_SESSION[self::$ERROR_VARNAME];
169 unset($_SESSION[self::$ERROR_VARNAME]);
User is the interface for users.
setAuthUser(User $authUser)
Session is the interface for session implementations and defines access to session variables...
__construct()
Constructor.
Default session implementation.