| | Author: Aleksander Machniak | | Author: Cor Bosman | +-----------------------------------------------------------------------+ */ /** * Class to provide native php session storage * * @package Framework * @subpackage Core */ class rcube_session_php extends rcube_session { /** * Native php sessions don't need a save handler. * We do need to define abstract function implementations but they are not used. */ public function open($save_path, $session_name) {} public function close() {} public function destroy($key) {} public function read($key) {} public function write($key, $vars) {} public function update($key, $newvars, $oldvars) {} /** * Object constructor * * @param rcube_config $config Configuration */ public function __construct($config) { parent::__construct($config); } /** * Wrapper for session_write_close() */ public function write_close() { $_SESSION['__IP'] = $this->ip; $_SESSION['__MTIME'] = time(); parent::write_close(); } /** * Wrapper for session_start() */ public function start() { parent::start(); $this->key = session_id(); $this->ip = $_SESSION['__IP']; $this->changed = $_SESSION['__MTIME']; } }