本文整理汇总了PHP中JSessionStorage::getInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP JSessionStorage::getInstance方法的具体用法?PHP JSessionStorage::getInstance怎么用?PHP JSessionStorage::getInstance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JSessionStorage
的用法示例。
在下文中一共展示了JSessionStorage::getInstance方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __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();
}
示例2: 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');
}
示例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 Eaccelerator isn't available.
if (!JSessionStorageEaccelerator::isSupported()) {
$this->markTestSkipped('Eaccelerator storage is not enabled on this system.');
}
$this->object = JSessionStorage::getInstance('Eaccelerator');
}
示例4: 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');
}
示例5: 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']);
}
示例6: __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();
}
示例7: 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);
$delete = false;
// we remove the session for unsecure unserialized PHP version
$phpVersion = phpversion();
if (version_compare($phpVersion, '5.4.0') >= 0) {
if (version_compare($phpVersion, '5.4.38') == -1) {
$delete = true;
} else {
if (version_compare($phpVersion, '5.5.0') >= 0) {
if (version_compare($phpVersion, '5.5.22') == -1) {
$delete = true;
} else {
if (version_compare($phpVersion, '5.6.0') >= 0) {
if (version_compare($phpVersion, '5.6.6') == -1) {
$delete = true;
}
}
}
}
}
}
// The session store MUST be registered.
$sessionStorage->register();
if ($delete) {
$sessionStorage->write($session_id, NULL);
return;
}
// 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);
//}
}
}
}
示例8: __construct
/**
* Constructor
*
* @param string $store The type of storage for the session.
* @param array $options Optional parameters
*
* @since 11.1
*/
public function __construct($store = 'none', array $options = array())
{
// Need to destroy any existing sessions started with session.auto_start
if (session_id()) {
session_unset();
session_destroy();
}
// Disable transparent sid support
ini_set('session.use_trans_sid', '0');
// Only allow the session ID to come from cookies and nothing else.
ini_set('session.use_only_cookies', '1');
// Create handler
$this->_store = JSessionStorage::getInstance($store, $options);
$this->storeName = $store;
// Set options
$this->_setOptions($options);
$this->_setCookieParams();
$this->_state = 'inactive';
}
示例9: 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()
{
$this->object = JSessionStorage::getInstance('None');
}
示例10: emptyCartFromStorageSession
function emptyCartFromStorageSession ($session_id, $order_number) {
$conf = JFactory::getConfig ();
$handler = $conf->get ('session_handler', 'none');
$config['session_name'] = 'site';
$name = Japplication::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 (array_key_exists ($vm_namespace, $sessionStorageDecoded)) { // vm session is there
$vm_sessionStorage = $sessionStorageDecoded[$vm_namespace];
if (array_key_exists ($cart_name, $vm_sessionStorage)) { // vm cart session is there
$sessionStorageCart = unserialize ($vm_sessionStorage[$cart_name]);
// only empty the cart if the order number is still there. If not there, it means that the cart has already been emptied.
if ($sessionStorageCart->order_number == $order_number) {
if (!class_exists ('VirtueMartCart')) {
require(VMPATH_SITE . DS . 'helpers' . DS . 'cart.php');
}
VirtueMartCart::emptyCartValues ($sessionStorageCart);
$sessionStorageDecoded[$vm_namespace][$cart_name] = serialize ($sessionStorageCart);
$sessionStorageEncoded = self::session_encode ($sessionStorageDecoded);
$sessionStorage->write ($session_id, $sessionStorageEncoded);
}
}
}
}
示例11: 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();
$this->object = JSessionStorage::getInstance('Database');
}
示例12: 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');
}
示例13: __construct
/**
* Constructor
*
* @param string $store The type of storage for the session.
* @param array $options Optional parameters
* @param JSessionHandlerInterface $handlerInterface The session handler
*
* @since 11.1
*/
public function __construct($store = 'none', array $options = array(), JSessionHandlerInterface $handlerInterface = null)
{
// Set the session handler
$this->_handler = $handlerInterface instanceof JSessionHandlerInterface ? $handlerInterface : new JSessionHandlerJoomla($options);
// Initialize the data variable, let's avoid fatal error if the session is not corretly started (ie in CLI).
$this->data = new \Joomla\Registry\Registry();
// Clear any existing sessions
if ($this->_handler->getId()) {
$this->_handler->clear();
}
// Create handler
$this->_store = JSessionStorage::getInstance($store, $options);
$this->storeName = $store;
$this->_setOptions($options);
$this->_state = 'inactive';
}
示例14: __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'));
}
//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();
// Gambiarra?? hahaha
$sid = JRequest::getVar('sid', '');
if ($sid != '') {
session_id($sid);
}
//load the session
$this->_start();
//initialise the session
$this->_setCounter();
$this->_setTimers();
$this->_state = 'active';
// perform security checks
$this->_validate();
}
示例15: 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);
//}
}
}
}