fix session related bugs.
This commit is contained in:
@@ -22,11 +22,11 @@ class Cookie extends Driver {
|
||||
/**
|
||||
* Create a new Cookie session driver instance.
|
||||
*
|
||||
* @param Crypter $crypter
|
||||
* @param Cookie $cookie
|
||||
* @param Crypter $crypter
|
||||
* @param Laravel\Cookie $cookie
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Crypter $crypter, Cookie $cookie)
|
||||
public function __construct(Crypter $crypter, \Laravel\Cookie $cookie)
|
||||
{
|
||||
$this->cookie = $cookie;
|
||||
$this->crypter = $crypter;
|
||||
|
||||
@@ -188,15 +188,16 @@ abstract class Driver {
|
||||
* The session will be stored in persistant storage and the session cookie will be
|
||||
* session cookie will be sent to the browser.
|
||||
*
|
||||
* @param Laravel\Cookie $cookie
|
||||
* @return void
|
||||
*/
|
||||
public function close()
|
||||
public function close(\Laravel\Cookie $cookie)
|
||||
{
|
||||
$this->age_flash();
|
||||
|
||||
$this->save();
|
||||
|
||||
$this->write_cookie();
|
||||
$this->write_cookie($cookie);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -225,15 +226,20 @@ abstract class Driver {
|
||||
/**
|
||||
* Write the session cookie.
|
||||
*
|
||||
* @param Laravel\Cookie $cookie
|
||||
* @return void
|
||||
*/
|
||||
protected function write_cookie()
|
||||
protected function write_cookie(\Laravel\Cookie $cookie)
|
||||
{
|
||||
if ( ! headers_sent())
|
||||
{
|
||||
$minutes = (Config::get('session.expire_on_close')) ? 0 : Config::get('session.lifetime');
|
||||
$config = Config::get('session');
|
||||
|
||||
Cookie::put('laravel_session', static::$session['id'], $minutes, Config::get('session.path'), Config::get('session.domain'), Config::get('session.https'), Config::get('http_only'));
|
||||
extract($config);
|
||||
|
||||
$minutes = ($expire_on_close) ? 0 : $lifetime;
|
||||
|
||||
$cookie->put('laravel_session', $this->session['id'], $minutes, $path, $domain, $https, $http_only);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php namespace Laravel\Session;
|
||||
|
||||
use Laravel\IoC;
|
||||
use Laravel\Config;
|
||||
|
||||
class Manager {
|
||||
@@ -26,7 +27,7 @@ class Manager {
|
||||
{
|
||||
$driver = Config::get('session.driver');
|
||||
|
||||
if (in_array($driver, array('cookie', 'file', 'database', 'memcached')))
|
||||
if (in_array($driver, array('cookie', 'file', 'database', 'apc', 'memcached')))
|
||||
{
|
||||
return static::$driver = IoC::container()->resolve('laravel.session.'.$driver);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user