2015-08-17 17:00:26 -07:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy ;
/**
* @ author Drak < drak @ zikula . org >
*/
2018-11-23 12:29:20 +00:00
class SessionHandlerProxy extends AbstractProxy implements \SessionHandlerInterface , \SessionUpdateTimestampHandlerInterface
2015-08-17 17:00:26 -07:00
{
protected $handler ;
public function __construct ( \SessionHandlerInterface $handler )
{
$this -> handler = $handler ;
$this -> wrapper = ( $handler instanceof \SessionHandler );
$this -> saveHandlerName = $this -> wrapper ? ini_get ( 'session.save_handler' ) : 'user' ;
}
2018-11-23 12:29:20 +00:00
/**
* @ return \SessionHandlerInterface
*/
public function getHandler ()
{
return $this -> handler ;
}
2015-08-17 17:00:26 -07:00
// \SessionHandlerInterface
/**
* { @ inheritdoc }
*/
public function open ( $savePath , $sessionName )
{
2018-11-23 12:29:20 +00:00
return ( bool ) $this -> handler -> open ( $savePath , $sessionName );
2015-08-17 17:00:26 -07:00
}
/**
* { @ inheritdoc }
*/
public function close ()
{
return ( bool ) $this -> handler -> close ();
}
/**
* { @ inheritdoc }
*/
public function read ( $sessionId )
{
return ( string ) $this -> handler -> read ( $sessionId );
}
/**
* { @ inheritdoc }
*/
public function write ( $sessionId , $data )
{
return ( bool ) $this -> handler -> write ( $sessionId , $data );
}
/**
* { @ inheritdoc }
*/
public function destroy ( $sessionId )
{
return ( bool ) $this -> handler -> destroy ( $sessionId );
}
/**
* { @ inheritdoc }
*/
public function gc ( $maxlifetime )
{
return ( bool ) $this -> handler -> gc ( $maxlifetime );
}
2018-11-23 12:29:20 +00:00
/**
* { @ inheritdoc }
*/
public function validateId ( $sessionId )
{
return ! $this -> handler instanceof \SessionUpdateTimestampHandlerInterface || $this -> handler -> validateId ( $sessionId );
}
/**
* { @ inheritdoc }
*/
public function updateTimestamp ( $sessionId , $data )
{
return $this -> handler instanceof \SessionUpdateTimestampHandlerInterface ? $this -> handler -> updateTimestamp ( $sessionId , $data ) : $this -> write ( $sessionId , $data );
}
2015-08-17 17:00:26 -07:00
}