<?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; } }