dolibarr 25.0.0-alpha
phpsessionindb.lib.php File Reference

Set function handlers for PHP session management in DB. More...

Go to the source code of this file.

Functions

 dolSessionOpen ($save_path, $session_name)
 The session open handler called by PHP whenever a session is initialized.
 
 dolSessionRead ($sess_id)
 This function is called whenever a session_start() call is made and reads the session variables.
 
 dolSessionWrite ($sess_id, $val)
 This function is called when a session is initialized with a session_start( ) call, when variables are registered or unregistered, and when session variables are modified.
 
 dolSessionClose ()
 This function is executed on shutdown of the session.
 
 dolSessionDestroy ($sess_id)
 This is called whenever the session_destroy() function call is made.
 
 dolSessionGC ($max_lifetime)
 This function is called on a session's start up with the probability specified in session.gc_probability.
 
 dolSessionsLimitForUser ($fk_user, $keepcount, $currentsessionid)
 Enforce a maximum number of concurrent database sessions for a given user.
 
 dolListSessions ()
 List sessions in db.
 

Detailed Description

Set function handlers for PHP session management in DB.

Definition in file phpsessionindb.lib.php.

Function Documentation

◆ dolListSessions()

dolListSessions ( )

List sessions in db.

Returns
array<mixed,array{login:string,age:int,creation:int|false,modification:int,raw:string,remote_ip:string,user_agent:string}>

Definition at line 355 of file phpsessionindb.lib.php.

References dol_now().

Referenced by listOfSessions().

◆ dolSessionClose()

dolSessionClose ( )

This function is executed on shutdown of the session.

Returns
boolean Always returns true.

Definition at line 224 of file phpsessionindb.lib.php.

◆ dolSessionDestroy()

dolSessionDestroy ( $sess_id)

This is called whenever the session_destroy() function call is made.

Returns true if the session has successfully been deleted.

Parameters
string$sess_idSession iDecodeStream
Returns
boolean Always true

Definition at line 241 of file phpsessionindb.lib.php.

◆ dolSessionGC()

dolSessionGC ( $max_lifetime)

This function is called on a session's start up with the probability specified in session.gc_probability.

Performs garbage collection by removing all sessions that haven't been updated in the last $max_lifetime seconds as set in session.gc_maxlifetime.

Parameters
int$max_lifetimeMax lifetime
Returns
boolean true if the DELETE query succeeded.

Definition at line 261 of file phpsessionindb.lib.php.

References dol_now(), and dol_syslog().

Referenced by dolSessionWrite().

◆ dolSessionOpen()

dolSessionOpen ( $save_path,
$session_name )

The session open handler called by PHP whenever a session is initialized.

Parameters
string$save_pathValue of session.save_path into php.ini
string$session_nameSession name (Example: 'DOLSESSID_xxxxxx')
Returns
boolean Always true

Definition at line 42 of file phpsessionindb.lib.php.

References getDoliDBInstance().

◆ dolSessionRead()

dolSessionRead ( $sess_id)

This function is called whenever a session_start() call is made and reads the session variables.

Parameters
string$sess_idSession ID
Returns
string Returns "" when a session is not found or (serialized)string if session exists

Definition at line 82 of file phpsessionindb.lib.php.

References dol_now().

◆ dolSessionsLimitForUser()

dolSessionsLimitForUser ( $fk_user,
$keepcount,
$currentsessionid )

Enforce a maximum number of concurrent database sessions for a given user.

Called when a new authenticated session is being established. The existing rows of that user in llx_session are kept only for the ($keepcount - 1) most recently accessed ones, so that adding the session being established brings the total back to $keepcount. The other (older) sessions are deleted, which logs those browsers out on their next request (dolSessionRead() then finds no row).

Parameters
int$fk_userId of the user that just logged in
int$keepcountMax number of concurrent sessions for this user (<= 0 disables the feature)
string$currentsessionidId of the session being established (never deleted)
Returns
int Number of sessions that were evicted

Definition at line 293 of file phpsessionindb.lib.php.

References dol_syslog().

◆ dolSessionWrite()

dolSessionWrite ( $sess_id,
$val )

This function is called when a session is initialized with a session_start( ) call, when variables are registered or unregistered, and when session variables are modified.

Returns true on success.

Parameters
string$sess_idSession iDecodeStream
string$valContent of session
Returns
boolean Always true

Definition at line 135 of file phpsessionindb.lib.php.

References dol_now(), dolSessionGC(), getDolGlobalInt(), and getUserRemoteIP().