本文整理汇总了PHP中JSessionStorage类的典型用法代码示例。如果您正苦于以下问题:PHP JSessionStorage类的具体用法?PHP JSessionStorage怎么用?PHP JSessionStorage使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了JSessionStorage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Constructor
*
* @param array $options Optional parameters.
*
* @return JSessionStorageMemcache
*
* @since 11.1
*/
public function __construct($options = array())
{
if (!$this->test())
{
return JError::raiseError(404, JText::_('JLIB_SESSION_MEMCACHE_EXTENSION_NOT_AVAILABLE'));
}
parent::__construct($options);
$config = JFactory::getConfig();
$params = $config->get('memcache_settings');
if (!is_array($params))
{
$params = unserialize(stripslashes($params));
}
if (!$params)
{
$params = array();
}
$this->_compress = (isset($params['compression'])) ? $params['compression'] : 0;
$this->_persistent = (isset($params['persistent'])) ? $params['persistent'] : false;
// This will be an array of loveliness
$this->_servers = (isset($params['servers'])) ? $params['servers'] : array();
}
示例2: __construct
/**
* Constructor
*
* @param string $storage
* @param array $options optional parameters
*/
public function __construct($store = 'none', $options = array())
{
// Need to destroy any existing sessions started with session.auto_start
if (session_id()) {
session_unset();
session_destroy();
}
// set default sessios save handler
ini_set('session.save_handler', 'files');
// disable transparent sid support
ini_set('session.use_trans_sid', '0');
// create handler
$this->_store = JSessionStorage::getInstance($store, $options);
// set options
$this->_setOptions($options);
$this->_setCookieParams();
// load the session
$this->_start();
// initialise the session
$this->_setCounter();
$this->_setTimers();
$this->_state = 'active';
// perform security checks
$this->_validate();
}
示例3: setUp
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
// Skip these tests if Memcache isn't available.
if (!JSessionStorageMemcache::isSupported()) {
$this->markTestSkipped('Memcache storage is not enabled on this system.');
}
$this->object = JSessionStorage::getInstance('Memcache');
}
示例4: setUp
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
// Skip these tests if Eaccelerator isn't available.
if (!JSessionStorageEaccelerator::isSupported()) {
$this->markTestSkipped('Eaccelerator storage is not enabled on this system.');
}
$this->object = JSessionStorage::getInstance('Eaccelerator');
}
示例5: setUp
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*
* @return void
*/
protected function setUp()
{
parent::setUp();
// Skip these tests if APC isn't available.
if (!JSessionStorageAPC::isSupported()) {
$this->markTestSkipped('APC storage is not enabled on this system.');
}
$this->object = JSessionStorage::getInstance('APC');
}
示例6: purgeSession
/**
* Purges expired sessions
*/
private function purgeSession()
{
JLoader::import('joomla.session.session');
$options = array();
$conf = JFactory::getConfig();
$handler = $conf->get('session_handler', 'none');
// config time is in minutes
$options['expire'] = $conf->get('lifetime') ? $conf->get('lifetime') * 60 : 900;
$storage = JSessionStorage::getInstance($handler, $options);
$storage->gc($options['expire']);
}
示例7: __construct
/**
* Constructor
*
* @access protected
* @param string $storage
* @param array $options optional parameters
*/
function __construct($store = 'none', $options = array())
{
// Register faked "destructor" in PHP4, this needs to happen before creating the session store
if (version_compare(PHP_VERSION, '5') == -1) {
register_shutdown_function(array(&$this, '__destruct'));
}
//set default sessios save handler
ini_set('session.save_handler', 'files');
//disable transparent sid support
ini_set('session.use_trans_sid', '0');
//create handler
$this->_store =& JSessionStorage::getInstance($store, $options);
//set options
$this->_setOptions($options);
//load the session
$this->_start();
//initialise the session
$this->_setCounter();
$this->_setTimers();
$this->_state = 'active';
// perform security checks
$this->_validate();
}
示例8: setUp
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
$this->object = JSessionStorage::getInstance('Eaccelerator');
}
示例9: emptyCartFromStorageSession
function emptyCartFromStorageSession($session_id, $order_number)
{
$conf = JFactory::getConfig();
$handler = $conf->get('session_handler', 'none');
$config['session_name'] = 'site';
$name = vRequest::getHash($config['session_name']);
$options['name'] = $name;
$sessionStorage = JSessionStorage::getInstance($handler, $options);
// The session store MUST be registered.
$sessionStorage->register();
// reads directly the session from the storage
$sessionStored = $sessionStorage->read($session_id);
if (empty($sessionStored)) {
return;
}
$sessionStorageDecoded = self::session_decode($sessionStored);
$vm_namespace = '__vm';
$cart_name = 'vmcart';
if (isset($sessionStorageDecoded[$vm_namespace])) {
// vm session is there
$vm_sessionStorage = $sessionStorageDecoded[$vm_namespace];
if (isset($vm_sessionStorage[$cart_name])) {
// vm cart session is there
unset($sessionStorageDecoded[$vm_namespace][$cart_name]);
//$sessionStorageDecoded[$vm_namespace][$cart_name] = json_encode ($cart);
$sessionStorageEncoded = self::session_encode($sessionStorageDecoded);
$sessionStorage->write($session_id, $sessionStorageEncoded);
//}
}
}
}
示例10: fork
/**
* Create a new session and copy variables from the old one
*
* @return boolean $result true on success
*
* @since 11.1
*/
public function fork()
{
if ($this->_state !== 'active') {
return false;
}
// Keep the old values
$values = $_SESSION;
$trans = ini_get('session.use_trans_sid');
if ($trans) {
ini_set('session.use_trans_sid', 0);
}
$cookie = session_get_cookie_params();
// Generate a new ID
session_regenerate_id(true);
$id = session_id();
$data = $this->_store->read($this->getId());
// Kill the session
session_destroy();
// Re-register the session store after a session has been destroyed, to avoid PHP bug
$this->_store->register();
// Restore config
ini_set('session.use_trans_sid', $trans);
session_set_cookie_params($cookie['lifetime'], $cookie['path'], $cookie['domain'], $cookie['secure']);
// Restart session with new id
session_id($id);
session_start();
$_SESSION = $values;
// Now put the session data back
$this->_store->write($id, $data);
}
示例11: fork
/**
* Create a new session and copy variables from the old one
*
* @return boolean $result true on success
*
* @since 11.1
*/
public function fork()
{
if ($this->_state !== 'active') {
// @TODO :: generated error here
return false;
}
// Save values
$values = $_SESSION;
// Keep session config
$trans = ini_get('session.use_trans_sid');
if ($trans) {
ini_set('session.use_trans_sid', 0);
}
$cookie = session_get_cookie_params();
// Create new session id
$id = $this->_createId();
// Kill session
session_destroy();
// Re-register the session store after a session has been destroyed, to avoid PHP bug
$this->_store->register();
// Restore config
ini_set('session.use_trans_sid', $trans);
session_set_cookie_params($cookie['lifetime'], $cookie['path'], $cookie['domain'], $cookie['secure']);
// Restart session with new id
session_id($id);
session_start();
return true;
}
示例12: fork
/**
* Create a new session and copy variables from the old one
*
* @return boolean $result true on success
*
* @since 11.1
*/
public function fork()
{
if ($this->_state !== 'active')
{
// @TODO :: generated error here
return false;
}
// Save values
$values = $_SESSION;
// Keep session config
$cookie = session_get_cookie_params();
// Kill session
session_destroy();
// Re-register the session store after a session has been destroyed, to avoid PHP bug
$this->_store->register();
// Restore config
session_set_cookie_params($cookie['lifetime'], $cookie['path'], $cookie['domain'], $cookie['secure'], true);
// Restart session with new id
session_regenerate_id(true);
session_start();
return true;
}
示例13: array
/**
* Constructor
*
* @access protected
* @param array $options optional parameters
*/
function __construct($options = array())
{
if (!$this->test()) {
return JError::raiseError(404, "THE_EACCELERATOR_EXTENSION_IS_NOT_AVAILABLE");
}
parent::__construct($options);
}
示例14: __construct
/**
* Constructor
*
* @param array $options Optional parameters.
*
* @since 11.1
* @throws RuntimeException
*/
public function __construct($options = array())
{
if (!self::isSupported()) {
throw new RuntimeException('Wincache Extension is not available', 404);
}
parent::__construct($options);
}
示例15: __construct
/**
* Constructor
*
* @param array $options Optional parameters.
*
* @since 11.1
*/
public function __construct($options = array())
{
if (!$this->test()) {
return JError::raiseError(404, JText::_('JLIB_SESSION_EACCELERATOR_EXTENSION_NOT_AVAILABLE'));
}
parent::__construct($options);
}