SESSIONS-IN-DATABASE SUPPORT

Support for a new configuration variable called $CFG->dbsessions
which enables sessions via database.  Based on code from Jason Cole's
team - thanks!
This commit is contained in:
moodler
2004-09-30 06:02:39 +00:00
parent 855c11a67b
commit 42b90599be
7 changed files with 77 additions and 19 deletions
+21 -8
View File
@@ -169,16 +169,29 @@ global $THEME;
}
$smarty->compile_dir = $CFG->dataroot .'/cache';
/// Set session timeouts
if (!empty($CFG->sessiontimeout)) {
ini_set('session.gc_maxlifetime', $CFG->sessiontimeout);
}
/// Set up session handling
if (empty($CFG->dbsessions)) { /// File-based sessions
if (!empty($CFG->sessiontimeout)) {
ini_set('session.gc_maxlifetime', $CFG->sessiontimeout);
}
if (!file_exists($CFG->dataroot .'/sessions')) {
make_upload_directory('sessions');
}
ini_set('session.save_path', $CFG->dataroot .'/sessions');
/// Set custom session path
if (!file_exists($CFG->dataroot .'/sessions')) {
make_upload_directory('sessions');
} else { /// Database sessions
ini_set('session.save_handler', 'user');
$ADODB_SESSION_DRIVER = $CFG->dbtype;
$ADODB_SESSION_CONNECT = $CFG->dbhost;
$ADODB_SESSION_USER = $CFG->dbuser;
$ADODB_SESSION_PWD = $CFG->dbpass;
$ADODB_SESSION_DB = $CFG->dbname;
$ADODB_SESSION_TBL = $CFG->prefix.'sessions';
require_once($CFG->libdir. '/adodb/session/adodb-session.php');
}
ini_set('session.save_path', $CFG->dataroot .'/sessions');
/// Set sessioncookie variable if it isn't already
if (!isset($CFG->sessioncookie)) {