CMS  Version 3.9
SessionManager Class Reference

Static Public Member Functions

static createDefaultSettings ()
 
static onInitialize ()
 
static open ($save_path, $session_name)
 
static close ()
 
static read ($id)
 
static write ($id, $data)
 
static destroy ($id)
 
static gc ()
 
static upgradeComponent ($version)
 

Static Public Attributes

static $lifeTime
 
static $hash
 

Detailed Description

Definition at line 41 of file session_manager.inc.

Member Function Documentation

◆ close()

static SessionManager::close ( )
static

Definition at line 75 of file session_manager.inc.

76  {
77  return true;
78  }

◆ createDefaultSettings()

static SessionManager::createDefaultSettings ( )
static

Definition at line 46 of file session_manager.inc.

47  {
48  Settings::setDefaultValue("session_persistance", "enable_database_persistance", "", "Boolean");
49  }
static setDefaultValue($component, $name, $value, $field_type="String", $annotation="", $category="", $options="", $weight=0)
Sets the default value of the given component setting.
Definition: settings.inc:174

◆ destroy()

static SessionManager::destroy (   $id)
static

Definition at line 127 of file session_manager.inc.

128  {
129  trace("Session Destroy $id", 3);
130 
131  try
132  {
133  $session = PHPSession::read($id);
134  if ($session) $session->delete();
135  }
136  catch(Exception $e)
137  {
138  }
139  }
static read($id)
Definition: php_session.inc:49

◆ gc()

static SessionManager::gc ( )
static

Definition at line 141 of file session_manager.inc.

142  {
143  $session = new PHPSession();
144  $session->delete("WHERE expires < ".time());
145  }

◆ onInitialize()

static SessionManager::onInitialize ( )
static

Definition at line 51 of file session_manager.inc.

52  {
53  if (!Settings::getValue("session_persistance", "enable_database_persistance")) return;
54 
55  SessionManager::$lifeTime = get_cfg_var("session.gc_maxlifetime");
57 
58  session_set_save_handler(
59  array(SessionManager, "open"),
60  array(SessionManager, "close"),
61  array(SessionManager, "read"),
62  array(SessionManager, "write"),
63  array(SessionManager, "destroy"),
64  array(SessionManager, "gc")
65  );
66 
67  register_shutdown_function(session_write_close);
68  }
static getValue($component, $name)
Retrieve the value of the specified Setting.
Definition: settings.inc:104

◆ open()

static SessionManager::open (   $save_path,
  $session_name 
)
static

Definition at line 70 of file session_manager.inc.

71  {
72  return true;
73  }

◆ read()

static SessionManager::read (   $id)
static

Definition at line 80 of file session_manager.inc.

81  {
82  trace("Session Read $id", 3);
83 
84  try
85  {
86  $session = PHPSession::read($id);
87  if ($session->expires < time()) return null;
88  return $session->data;
89  }
90  catch(Exception $e)
91  {
92  return null;
93  }
94  }

◆ upgradeComponent()

static SessionManager::upgradeComponent (   $version)
static

Definition at line 147 of file session_manager.inc.

◆ write()

static SessionManager::write (   $id,
  $data 
)
static

Definition at line 96 of file session_manager.inc.

97  {
98  trace("Session Write $id", 3);
99 
100  try
101  {
102  $session = PHPSession::read($id);
103  if (!$session) $session = new PHPSession();
104 
105  $expiry = time() + SessionManager::$lifeTime;
106 
107  if ($session->session_id && ($data == $session->data))
108  {
109  $session->filter = new ExclusionFilter("data", "id");
110  }
111  else
112  {
113  $session->filter = null;
114  }
115 
116  $session->id = $id;
117  $session->data = $data;
118  $session->expires = $expiry;
119  $session->save();
120  }
121  catch(Exception $e)
122  {
123  }
124 
125  }

Member Data Documentation

◆ $hash

SessionManager::$hash
static

Definition at line 44 of file session_manager.inc.

◆ $lifeTime

SessionManager::$lifeTime
static

Definition at line 43 of file session_manager.inc.


The documentation for this class was generated from the following file: