Elgg
Version 4.3
|
Elgg Session Management. More...
Public Member Functions | |
__construct (SessionInterface $storage) | |
Constructor. More... | |
boot () | |
Initializes the session and checks for the remember me cookie. More... | |
start () | |
Start the session. More... | |
migrate ($destroy=false) | |
Migrates the session to a new session id while maintaining session attributes. More... | |
invalidate () | |
Invalidates the session. More... | |
save () | |
Save the session data and closes the session. More... | |
isStarted () | |
Has the session been started. More... | |
getID () | |
Get the session ID. More... | |
setId ($id) | |
Set the session ID. More... | |
getName () | |
Get the session name. More... | |
setName ($name) | |
Set the session name. More... | |
get ($name, $default=null) | |
Get an attribute of the session. More... | |
set ($name, $value) | |
Set an attribute. More... | |
remove ($name) | |
Remove an attribute. More... | |
has ($name) | |
Has the attribute been defined. More... | |
login (\ElggUser $user, bool $persistent=false) | |
Log in a user. More... | |
logout () | |
Log the current user out. More... | |
setLoggedInUser (\ElggUser $user) | |
Sets the logged in user. More... | |
getLoggedInUser () | |
Gets the logged in user. More... | |
getLoggedInUserGuid () | |
Return the current logged in user by guid. More... | |
isAdminLoggedIn () | |
Returns whether or not the viewer is currently logged in and an admin user. More... | |
isLoggedIn () | |
Returns whether or not the user is currently logged in. More... | |
removeLoggedInUser () | |
Remove the logged in user. More... | |
setUserToken (\ElggUser $user=null) | |
Set a user specific token in the session for the currently logged in user. More... | |
validateUserToken (\ElggUser $user) | |
Validate the user token stored in the session. More... | |
getIgnoreAccess () | |
Get current ignore access setting. More... | |
setIgnoreAccess ($ignore=true) | |
Set ignore access. More... | |
getDisabledEntityVisibility () | |
Are disabled entities shown? More... | |
setDisabledEntityVisibility ($show=true) | |
Include disabled entities in queries. More... | |
Static Public Member Functions | |
static | getMock () |
Get an isolated ElggSession that does not persist between requests. More... | |
static | fromDatabase (Config $config, Database $db) |
Create a session stored in the DB. More... | |
static | fromFiles (Config $config) |
Create a session stored in files. More... | |
Protected Member Functions | |
generateUserToken (\ElggUser $user) | |
Generate a token for a specific user. More... | |
generateSessionToken () | |
Adds a token to the session. More... | |
Protected Attributes | |
$storage | |
$logged_in_user | |
$ignore_access = false | |
$show_disabled_entities = false | |
Elgg Session Management.
Reserved keys: last_forward_from, msg, sticky_forms, user, guid, id, code, name, username
Definition at line 22 of file ElggSession.php.
ElggSession::__construct | ( | SessionInterface | $storage | ) |
Constructor.
SessionInterface | $storage | The underlying Session implementation |
Definition at line 51 of file ElggSession.php.
ElggSession::boot | ( | ) |
Initializes the session and checks for the remember me cookie.
Definition at line 62 of file ElggSession.php.
Create a session stored in the DB.
Config | $config | Config |
Database | $db | Database |
Definition at line 545 of file ElggSession.php.
|
static |
Create a session stored in files.
Config | $config | Config |
Definition at line 575 of file ElggSession.php.
|
protected |
Adds a token to the session.
This is used in creation of CSRF token, and is passed to the client to allow validating tokens later, even if the PHP session was destroyed.
Definition at line 515 of file ElggSession.php.
|
protected |
Generate a token for a specific user.
\ElggUser | $user | the user to generate the token for |
Definition at line 452 of file ElggSession.php.
ElggSession::get | ( | $name, | |
$default = null |
|||
) |
Get an attribute of the session.
string | $name | Name of the attribute to get |
mixed | $default | Value to return if attribute is not set (default is null) |
Definition at line 214 of file ElggSession.php.
ElggSession::getDisabledEntityVisibility | ( | ) |
ElggSession::getID | ( | ) |
ElggSession::getIgnoreAccess | ( | ) |
ElggSession::getLoggedInUser | ( | ) |
ElggSession::getLoggedInUserGuid | ( | ) |
Return the current logged in user by guid.
Definition at line 368 of file ElggSession.php.
|
static |
Get an isolated ElggSession that does not persist between requests.
Definition at line 529 of file ElggSession.php.
ElggSession::getName | ( | ) |
ElggSession::has | ( | $name | ) |
Has the attribute been defined.
string | $name | Name of the attribute |
Definition at line 247 of file ElggSession.php.
ElggSession::invalidate | ( | ) |
Invalidates the session.
Deletes session data and session persistence. Starts a new session.
Definition at line 136 of file ElggSession.php.
ElggSession::isAdminLoggedIn | ( | ) |
Returns whether or not the viewer is currently logged in and an admin user.
Definition at line 378 of file ElggSession.php.
ElggSession::isLoggedIn | ( | ) |
Returns whether or not the user is currently logged in.
Definition at line 389 of file ElggSession.php.
ElggSession::isStarted | ( | ) |
Has the session been started.
Definition at line 161 of file ElggSession.php.
ElggSession::login | ( | \ElggUser | $user, |
bool | $persistent = false |
||
) |
Log in a user.
\ElggUser | $user | A valid Elgg user object |
boolean | $persistent | Should this be a persistent login? |
LoginException |
Definition at line 261 of file ElggSession.php.
ElggSession::logout | ( | ) |
ElggSession::migrate | ( | $destroy = false | ) |
Migrates the session to a new session id while maintaining session attributes.
boolean | $destroy | Whether to delete the session or let gc handle clean up |
Definition at line 124 of file ElggSession.php.
ElggSession::remove | ( | $name | ) |
Remove an attribute.
string | $name | The name of the attribute to remove |
Definition at line 236 of file ElggSession.php.
ElggSession::removeLoggedInUser | ( | ) |
ElggSession::save | ( | ) |
Save the session data and closes the session.
Definition at line 151 of file ElggSession.php.
ElggSession::set | ( | $name, | |
$value | |||
) |
Set an attribute.
string | $name | Name of the attribute to set |
mixed | $value | Value to be set |
Definition at line 225 of file ElggSession.php.
ElggSession::setDisabledEntityVisibility | ( | $show = true | ) |
Include disabled entities in queries.
bool | $show | Visibility status |
Definition at line 500 of file ElggSession.php.
ElggSession::setId | ( | $id | ) |
Set the session ID.
string | $id | Session ID |
Definition at line 182 of file ElggSession.php.
ElggSession::setIgnoreAccess | ( | $ignore = true | ) |
Set ignore access.
bool | $ignore | Ignore access |
Definition at line 477 of file ElggSession.php.
ElggSession::setLoggedInUser | ( | \ElggUser | $user | ) |
Sets the logged in user.
\ElggUser | $user | The user who is logged in |
Definition at line 341 of file ElggSession.php.
ElggSession::setName | ( | $name | ) |
Set the session name.
string | $name | Session name |
Definition at line 203 of file ElggSession.php.
ElggSession::setUserToken | ( | \ElggUser | $user = null | ) |
Set a user specific token in the session for the currently logged in user.
This will invalidate the session on a password change of the logged in user
\ElggUser | $user | the user to set the token for (default: logged in user) |
Definition at line 415 of file ElggSession.php.
ElggSession::start | ( | ) |
Start the session.
RuntimeException | If session fails to start. |
Definition at line 106 of file ElggSession.php.
ElggSession::validateUserToken | ( | \ElggUser | $user | ) |
Validate the user token stored in the session.
\ElggUser | $user | the user to check for |
Definition at line 435 of file ElggSession.php.
|
protected |
Definition at line 39 of file ElggSession.php.
|
protected |
Definition at line 34 of file ElggSession.php.
|
protected |
Definition at line 44 of file ElggSession.php.
|
protected |
Definition at line 29 of file ElggSession.php.