/** * Setup basic session information * * Fetch the contents from a specified element of * {@link http://www.php.net/manual/en/reserved.variables.php#reserved.variables.session $_SESSION} * @uses Trax::$session_name * @uses Trax::$session_lifetime * @uses Trax::$session_maxlifetime_minutes */ function init() { Trax::$session_name = Trax::$session_name ? Trax::$session_name : self::TRAX_SESSION_NAME; Trax::$session_lifetime = Trax::$session_lifetime ? Trax::$session_lifetime : self::TRAX_SESSION_LIFETIME; Trax::$session_maxlifetime_minutes = Trax::$session_maxlifetime_minutes ? Trax::$session_maxlifetime_minutes : self::TRAX_SESSION_MAXLIFETIME_MINUTES; # set the session default for this app ini_set('session.name', Trax::$session_name); ini_set('session.use_cookies', 1); if (Trax::$session_cookie_domain) { ini_set('session.cookie_domain', Trax::$session_cookie_domain); } ini_set('session.cookie_lifetime', Trax::$session_lifetime); ini_set('session.gc_probability', 1); ini_set('session.gc_maxlifetime', Trax::$session_maxlifetime_minutes * 60); ini_set('session.use_trans_sid', 0); ini_set('session.auto_start', 0); if (Trax::$session_store == 'active_record_store') { ini_set('session.save_handler', 'user'); include_once "session/active_record_store.php"; $session_class_name = Trax::$session_class_name ? Trax::$session_class_name : 'ActiveRecordStore'; $ar_session = new $session_class_name(); session_set_save_handler(array(&$ar_session, 'open'), array(&$ar_session, 'close'), array(&$ar_session, 'read'), array(&$ar_session, 'write'), array(&$ar_session, 'destroy'), array(&$ar_session, 'gc')); } else { # file store ini_set('session.save_handler', 'files'); if (Trax::$session_save_path) { ini_set('session.save_path', Trax::$session_save_path); } } }