| | 85 | |
|---|
| | 86 | /** |
|---|
| | 87 | * Setup basic session information |
|---|
| | 88 | * |
|---|
| | 89 | * Fetch the contents from a specified element of |
|---|
| | 90 | * {@link http://www.php.net/manual/en/reserved.variables.php#reserved.variables.session $_SESSION} |
|---|
| | 91 | * @uses Trax::$session_name |
|---|
| | 92 | * @uses Trax::$session_lifetime |
|---|
| | 93 | * @uses Trax::$session_maxlifetime_minutes |
|---|
| | 94 | */ |
|---|
| | 95 | function init() { |
|---|
| | 96 | Trax::$session_name = Trax::$session_name ? Trax::$session_name : self::TRAX_SESSION_NAME; |
|---|
| | 97 | Trax::$session_lifetime = Trax::$session_lifetime ? Trax::$session_lifetime : self::TRAX_SESSION_LIFETIME; |
|---|
| | 98 | Trax::$session_maxlifetime_minutes = Trax::$session_maxlifetime_minutes ? Trax::$session_maxlifetime_minutes : self::TRAX_SESSION_MAXLIFETIME_MINUTES; |
|---|
| | 99 | |
|---|
| | 100 | # set the session default for this app |
|---|
| | 101 | ini_set('session.name', Trax::$session_name); |
|---|
| | 102 | ini_set('session.use_cookies', 1); |
|---|
| | 103 | ini_set('session.cookie_lifetime', Trax::$session_lifetime); |
|---|
| | 104 | ini_set('session.gc_probability', 1); |
|---|
| | 105 | ini_set('session.gc_maxlifetime', Trax::$session_maxlifetime_minutes * 60); |
|---|
| | 106 | ini_set('session.use_trans_sid', 0); |
|---|
| | 107 | ini_set('session.auto_start', 0); |
|---|
| | 108 | |
|---|
| | 109 | if(Trax::$session_store == 'active_record_store') { |
|---|
| | 110 | ini_set('session.save_handler', 'user'); |
|---|
| | 111 | include_once("session/active_record_store.php"); |
|---|
| | 112 | $session_class_name = Trax::$session_class_name ? Trax::$session_class_name : 'ActiveRecordStore'; |
|---|
| | 113 | $ar_session = new $session_class_name; |
|---|
| | 114 | session_set_save_handler( |
|---|
| | 115 | array(&$ar_session, 'open'), |
|---|
| | 116 | array(&$ar_session, 'close'), |
|---|
| | 117 | array(&$ar_session, 'read'), |
|---|
| | 118 | array(&$ar_session, 'write'), |
|---|
| | 119 | array(&$ar_session, 'destroy'), |
|---|
| | 120 | array(&$ar_session, 'gc') |
|---|
| | 121 | ); |
|---|
| | 122 | } else { |
|---|
| | 123 | # file store |
|---|
| | 124 | ini_set('session.save_handler', 'files'); |
|---|
| | 125 | if(Trax::$session_save_path) { |
|---|
| | 126 | ini_set('session.save_path', Trax::$session_save_path); |
|---|
| | 127 | } |
|---|
| | 128 | } |
|---|
| | 129 | } |
|---|
| 197 | | $session_name = defined("TRAX_SESSION_NAME") ? TRAX_SESSION_NAME : self::TRAX_SESSION_NAME; |
|---|
| 198 | | $session_lifetime = defined("TRAX_SESSION_LIFETIME") ? TRAX_SESSION_LIFETIME : self::TRAX_SESSION_LIFETIME; |
|---|
| 199 | | $session_maxlifetime_minutes = defined("TRAX_SESSION_MAXLIFETIME_MINUTES") ? TRAX_SESSION_MAXLIFETIME_MINUTES : self::TRAX_SESSION_MAXLIFETIME_MINUTES; |
|---|
| 200 | | |
|---|
| 201 | | # set the session default for this app |
|---|
| 202 | | ini_set('session.name', $session_name); |
|---|
| 203 | | ini_set('session.cookie_lifetime', $session_lifetime); |
|---|
| 204 | | ini_set('session.gc_probability', 1); |
|---|
| 205 | | ini_set('session.gc_maxlifetime', $session_maxlifetime_minutes * 60); |
|---|
| 206 | | |
|---|
| | 251 | |
|---|
| | 252 | self::init(); |
|---|
| | 253 | |
|---|