class db extends base

Database authentication provider for phpBB3 This is for authentication via the integrated user table

Properties

protected factory $captcha_factory
protected config $config
protected driver_interface $db
protected user $user
protected manager $passwords_manager

phpBB passwords manager

Methods

bool|string|void
init()

Checks whether the user is currently identified to the authentication provider.

from  base
array|void
autologin()

Autologin function

from  base
array|void
acp()

This function is used to output any required fields in the authentication admin panel. It also defines any required configuration table fields.

from  base
array|void
get_acp_template(config $new_config)

This function updates the template with variables related to the acp options with whatever configuration values are passed to it as an array.

from  base
array|void
get_login_data()

Returns an array of data necessary to build custom elements on the login form.

from  base
array|void
get_auth_link_data(int $user_id = 0)

Returns an array of data necessary to build the ucp_auth_link page

from  base
logout(array $data, bool $new_session)

Performs additional actions during logout.

from  base
bool|void
validate_session(array $user)

The session validation function checks whether the user is still logged into phpBB.

from  base
string|null
login_link_has_necessary_data(array $login_link_data)

Checks to see if $login_link_data contains all information except for the user_id of an account needed to successfully link an external account to a forum account.

from  base
link_account(array $link_data)

Links an external account to a phpBB account.

from  base
unlink_account(array $link_data)

Unlinks an external account from a phpBB account.

from  base
__construct(factory $captcha_factory, config $config, driver_interface $db, manager $passwords_manager, user $user)

Database Authentication Constructor

array
login(string $username, string $password)

Performs login.

Details

in base at line 24
bool|string|void init()

Checks whether the user is currently identified to the authentication provider.

Called in acp_board while setting authentication plugins. Changing to an authentication provider will not be permitted in acp_board if there is an error.

Return Value

bool|string|void

False if the user is identified, otherwise an error message, or void if not implemented.

in base at line 31
array|void autologin()

Autologin function

Return Value

array|void

containing the user row, empty if no auto login should take place, or void if not implemented.

in base at line 38
array|void acp()

This function is used to output any required fields in the authentication admin panel. It also defines any required configuration table fields.

Return Value

array|void

Returns void if not implemented or an array of the configuration fields of the provider.

in base at line 45
array|void get_acp_template(config $new_config)

This function updates the template with variables related to the acp options with whatever configuration values are passed to it as an array.

It then returns the name of the acp file related to this authentication provider.

Parameters

config $new_config

Contains the new configuration values that have been set in acp_board.

Return Value

array|void

Returns void if not implemented or an array with the template file name and an array of the vars that the template needs that must conform to the following example: array( 'TEMPLATE_FILE' => string, 'TEMPLATE_VARS' => array(...), ) An optional third element may be added to this array: 'BLOCK_VAR_NAME'. If this is present, then its value should be a string that is used to designate the name of the loop used in the ACP template file. When this is present, an additional key named 'BLOCK_VARS' is required. This must be an array containing at least one array of variables that will be assigned during the loop in the template. An example of this is presented below: array( 'BLOCK_VAR_NAME' => string, 'BLOCK_VARS' => array( 'KEY IS UNIMPORTANT' => array(...), ), 'TEMPLATE_FILE' => string, 'TEMPLATE_VARS' => array(...), )

in base at line 52
array|void get_login_data()

Returns an array of data necessary to build custom elements on the login form.

Return Value

array|void

If this function is not implemented on an auth provider then it returns void. If it is implemented it will return an array of up to four elements of which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is present then 'BLOCK_VARS' must also be present in the array. The fourth element 'VARS' is also optional. The array, with all four elements present looks like the following: array( 'TEMPLATE_FILE' => string, 'BLOCK_VAR_NAME' => string, 'BLOCK_VARS' => array(...), 'VARS' => array(...), )

Returns an array of data necessary to build the ucp_auth_link page

Parameters

int $user_id

User ID for whom the data should be retrieved. defaults to 0, which is not a valid ID. The method should fall back to the current user's ID in this case.

Return Value

array|void

If this function is not implemented on an auth provider then it returns void. If it is implemented it will return an array of up to four elements of which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is present then 'BLOCK_VARS' must also be present in the array. The fourth element 'VARS' is also optional. The array, with all four elements present looks like the following: array( 'TEMPLATE_FILE' => string, 'BLOCK_VAR_NAME' => string, 'BLOCK_VARS' => array(...), 'VARS' => array(...), )

in base at line 66
logout(array $data, bool $new_session)

Performs additional actions during logout.

Parameters

array $data

An array corresponding to \phpbb\session::data

bool $new_session

True for a new session, false for no new session.

in base at line 73
bool|void validate_session(array $user)

The session validation function checks whether the user is still logged into phpBB.

Parameters

array $user

Return Value

bool|void

true if the given user is authenticated, false if the session should be closed, or void if not implemented.

Checks to see if $login_link_data contains all information except for the user_id of an account needed to successfully link an external account to a forum account.

Parameters

array $login_link_data

Any data needed to link a phpBB account to an external account.

Return Value

string|null

Returns a string with a language constant if there is data missing or void if there is no error.

Links an external account to a phpBB account.

Parameters

array $link_data

Any data needed to link a phpBB account to an external account.

Unlinks an external account from a phpBB account.

Parameters

array $link_data

Any data needed to unlink a phpBB account from a phpbb account.

at line 57
__construct(factory $captcha_factory, config $config, driver_interface $db, manager $passwords_manager, user $user)

Database Authentication Constructor

Parameters

factory $captcha_factory
config $config
driver_interface $db
manager $passwords_manager
user $user

at line 69
array login(string $username, string $password)

Performs login.

Parameters

string $username

The name of the user being authenticated.

string $password

The password of the user.

Return Value

array

An associative array of the format: array( 'status' => status constant 'error_msg' => string 'user_row' => array ) A fourth key of the array may be present: 'redirect_data' This key is only used when 'status' is equal to LOGIN_SUCCESS_LINK_PROFILE and its value is an associative array that is turned into GET variables on the redirect url.