<?php
if (!defined('ABSPATH')) {
exit;
}
abstract class WC_Session
{
protected $_customer_id;
protected $_data = array();
protected $_dirty = false;
public function init()
{
}
public function cleanup_sessions()
{
}
public function __get($key)
{
return $this->get($key);
}
public function __set($key, $value)
{
$this->set($key, $value);
}
public function __isset($key)
{
return isset($this->_data[sanitize_title($key)]);
}
public function __unset($key)
{
if (isset($this->_data[$key])) {
unset($this->_data[$key]);
$this->_dirty = true;
}
}
public function get($key, $default = null)
{
$key = sanitize_key($key);
return isset($this->_data[$key]) ? maybe_unserialize($this->_data[$key]) : $default;
}
public function set($key, $value)
{
if ($value !== $this->get($key)) {
$this->_data[sanitize_key($key)] = maybe_serialize($value);
$this->_dirty = true;
}
}
public function get_customer_id()
{
return $this->_customer_id;
}
}