- time: documentation ( source)
- get_cfg_var: documentation ( source)
- session_set_save_handler: documentation ( source)
<?php
/** Store Sessions in DB **/
session_set_save_handler(
//open
function($savePath, $sessionName)
{
return true;
},
//close
function()
{
require_once 'api/CManager.php';
$Manager = new \teachme\CManager();
$Manager->DeleteSessions(time());
return true;
},
//read
function($sessionID)
{
require_once 'api/CManager.php';
$Manager = new \teachme\CManager();
$Session = $Manager->GetSession($sessionID);
if($Session->getLifetime() < time())
{
return "";
}
return $Session->getData();
},
//write
function($sessionID, $data)
{
require_once 'api/CManager.php';
$Session = new \teachme\CSession();
$Session->setSessionID($sessionID);
$Session->setLifetime(time() + get_cfg_var("session.gc_maxlifetime"));
$Session->setData($data);
$Manager = new \teachme\CManager();
return $Manager->Save($Session);
},
//destroy
function($sessionID)
{
require_once 'api/CManager.php';
$Manager = new \teachme\CManager();
return $Manager->DeleteSession($sessionID);
},
//gc
function($lifetime)
{
require_once 'api/CManager.php';
$Manager = new \teachme\CManager();
return $Manager->DeleteSessions(time());
});
/** /Store Sessions in DB **/