Open Journal Systems  3.3.0
SessionManager Class Reference

Public Member Functions

 __construct ($sessionDao, $request)
 
 close ()
 
 destroy ($sessionId)
 
 gc ($maxlifetime)
 
 getUserSession ()
 
 open ()
 
 read ($sessionId)
 
 regenerateSessionId ()
 
 updateSessionCookie ($sessionId=false, $expireTime=0)
 
 updateSessionLifetime ($expireTime=0)
 
 write ($sessionId, $data)
 

Static Public Member Functions

static getManager ()
 

Data Fields

 $sessionDao
 
 $userSession
 

Detailed Description

Implements PHP methods for a custom session storage handler (see http://php.net/session).

Definition at line 16 of file SessionManager.inc.php.

Constructor & Destructor Documentation

◆ __construct()

SessionManager::__construct (   $sessionDao,
  $request 
)

Constructor. Initialize session configuration and set PHP session handlers. Attempts to rejoin a user's session if it exists, or create a new session otherwise.

Parameters
$sessionDaoSessionDAO
$requestPKPRequest

Definition at line 37 of file SessionManager.inc.php.

References $sessionDao, Config\getVar(), and updateSessionLifetime().

Member Function Documentation

◆ close()

SessionManager::close ( )

Close a session. Does nothing; only here to satisfy PHP session handler requirements.

Returns
boolean

Definition at line 163 of file SessionManager.inc.php.

◆ destroy()

SessionManager::destroy (   $sessionId)

Destroy (delete) a session.

Parameters
$sessionIdstring
Returns
boolean

Definition at line 203 of file SessionManager.inc.php.

◆ gc()

SessionManager::gc (   $maxlifetime)

Garbage collect unused session data. TODO: Use $maxlifetime instead of assuming 24 hours?

Parameters
$maxlifetimeint the number of seconds after which data will be seen as "garbage" and cleaned up
Returns
boolean

Definition at line 213 of file SessionManager.inc.php.

References Config\getVar().

◆ getManager()

◆ getUserSession()

SessionManager::getUserSession ( )

Get the session associated with the current request.

Returns
Session

Definition at line 145 of file SessionManager.inc.php.

References $userSession.

◆ open()

SessionManager::open ( )

Open a session. Does nothing; only here to satisfy PHP session handler requirements.

Returns
boolean

Definition at line 154 of file SessionManager.inc.php.

◆ read()

SessionManager::read (   $sessionId)

Read session data from database.

Parameters
$sessionIdstring
Returns
boolean

Definition at line 172 of file SessionManager.inc.php.

◆ regenerateSessionId()

SessionManager::regenerateSessionId ( )

Regenerate the session ID for the current user session. This is useful to guard against the "session fixation" form of hijacking by changing the user's session ID after they have logged in (in case the original session ID had been pre-populated).

Returns
boolean

Definition at line 249 of file SessionManager.inc.php.

References updateSessionCookie().

◆ updateSessionCookie()

SessionManager::updateSessionCookie (   $sessionId = false,
  $expireTime = 0 
)

Resubmit the session cookie.

Parameters
$sessionIdstring new session ID (or false to keep current ID)
$expireTimeint new expiration time in seconds (0 = current session)
Returns
boolean

Definition at line 223 of file SessionManager.inc.php.

Referenced by regenerateSessionId(), and updateSessionLifetime().

◆ updateSessionLifetime()

SessionManager::updateSessionLifetime (   $expireTime = 0)

Change the lifetime of the current session cookie.

Parameters
$expireTimeint new expiration time in seconds (0 = current session)
Returns
boolean

Definition at line 270 of file SessionManager.inc.php.

References updateSessionCookie().

Referenced by __construct().

◆ write()

SessionManager::write (   $sessionId,
  $data 
)

Save session data to database.

Parameters
$sessionIdstring
$dataarray
Returns
boolean

Definition at line 188 of file SessionManager.inc.php.

Field Documentation

◆ $sessionDao

object SessionManager::$sessionDao

The DAO for accessing Session objects

Definition at line 22 of file SessionManager.inc.php.

Referenced by __construct().

◆ $userSession

object SessionManager::$userSession

The Session associated with the current request

Definition at line 28 of file SessionManager.inc.php.

Referenced by getUserSession().


The documentation for this class was generated from the following file: