Class for management of the user settings.
When you introduce a new user setting. You have to create a column for it in the corresponding table add it to the initialization and specify the data type.
The user settings are loaded only once by the start of the session and are kept until the session is valid. Saving of the user settings updates both the session and the database. When a settings are requested, it is taken from the session, not from the database.
| Properties | |
|---|---|
|
protected
|
Internal variable for storing the current context. |
|
protected
|
Internal variable for storing the dbworker. |
|
protected
|
Internal array for storing the auxiliary tables for storing the multichoce values. |
|
protected
|
Internal variable for storing the state whether the translation should be started or commited or no transaction should be used because the saving process is a part of other saving process. |
|
protected
|
Internal variable for storing the array of the settings values. |
|
protected
|
Internal array for storing the settings tables. |
|
protected
|
Internal variable for storing the user id. |
|
protected
|
Internal variable for storing the validator. |
| Methods | |
|---|---|
|
public
|
Returns the current settings context. |
|
public
|
Returns the value of a settings parameter. |
|
public
|
Gets the user id to be used for loading settings. |
|
public
|
Returns the validator for the settings. |
|
public
|
Initializes the settings manager parameters. |
|
public
|
Loads the settings from the target user table. |
|
protected
|
This is internal auxiliary function for loading the settings from the target user table defined by the initialization. |
|
public
|
Saves the settings from to the target user table. |
|
protected
|
This is internal auxiliary function for storing the settings to the target user table defined by the initialization. |
|
public
|
Sets the settings context. |
|
public
|
Sets the dbworker to use for loading and storing settings. |
|
public
|
Sets a settings parameter. |
|
public
|
Sets settings parameters from an array. |
|
public
|
Sets the user id to be used for loading settings. |
|
public
|
Sets the validator for the settings. |
|
protected
|
This is internal auxiliary function for checking that the settings manager is intialized correctly. |
|
public
|
Validates the current settings values. |
Internal variable for storing the current context.
Internal variable for storing the dbworker.
Internal array for storing the auxiliary tables for storing the multichoce values.
Internal variable for storing the state whether the translation should be started or commited or no transaction should be used because the saving process is a part of other saving process.
Internal variable for storing the array of the settings values.
Internal array for storing the settings tables.
Internal variable for storing the user id.
Internal variable for storing the validator.
Returns the current settings context.
Settings might be edited not in one dialog, There can be several masks for different type of settings, or the settings can be configured in a wizard. In this case, only a subset of settings has to be saved and validated. To be able to write a flexible validator for the subsets, the $context is used. It can be - step1, step1, server_settings, db_connection_settings etc.
Returns the current settings context.
Returns the value of a settings parameter.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $name | by value | string |
The name of the settings parameter. |
|
| $default | by value | mixed|null | null |
The default value of the settings parameter if it is not set yet. The parameter is a conformable way to pre-set a parameter to a default value if its value is not set yet. |
Returns the value of the settings parameter.
It might throw an exception in the case of any errors:
Gets the user id to be used for loading settings.
Returns the user id or null if not set.
Returns the validator for the settings.
Returns the validator for the settings or null if none is defined.
Initializes the settings manager parameters.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $parameters | by value | array |
Settings for saving and loading as an associative array in the form key => value:
Example:
|
It might throw an exception in the case of any errors:
It might throw an exception in the case of any errors.
Loads the settings from the target user table.
The user ID must be set before loading settings, see \SmartFactory\UserSettingsManager::setUserID().
It might throw an exception in the case of any errors:
This is internal auxiliary function for loading the settings from the target user table defined by the initialization.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $data | by reference | array |
The target array with the settings values to be loaded. |
It might throw an exception in the case of any errors:
Saves the settings from to the target user table.
It might throw an exception in the case of any errors:
This is internal auxiliary function for storing the settings to the target user table defined by the initialization.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $data | by value | array |
The array with the settings values to be saved. |
It might throw an exception in the case of any errors:
Sets the settings context.
Settings might be edited not in one dialog, There can be several masks for different type of settings, or the settings can be configured in a wizard. In this case, only a subset of settings has to be saved and validated. To be able to write a flexible validator for the subsets, the $context is used. It can be - step1, step1, server_settings, db_connection_settings etc.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $context | by value | string | "default" |
The settings context. |
Sets the dbworker to use for loading and storing settings.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $dbworker | by value | \SmartFactory\DatabaseWorkers\DBWorker |
The dbworker to be used for loading and storing settings. |
|
| $no_own_transcation | by value | bool | false |
The state whether the translation should be started or commited or no transaction should be used because the saving process is a part of other saving process. |
It might throw an exception in the case of any errors.
Sets a settings parameter.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $name | by value | string |
The name of the settings parameter. |
|
| $value | by value | mixed |
The value of the settings parameter. |
It might throw an exception in the case of any errors:
Sets settings parameters from an array.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $parameters | by value | array |
Array of parameters in the form key => value. |
|
| $force_creation | by value | bool | false |
Flag which defines whether the parameter should be created if not exists. If false, only existing parameters are updated. In the UserSettingsManager, this flag is ignored, because the parameters are mapped to the database fields and cannot be created on the fly. |
It might throw an exception in the case of any errors:
Sets the user id to be used for loading settings.
The user ID must be set before loading settings, see \SmartFactory\UserSettingsManager::loadSettings().
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $user_id | by value | string |
The user ID. |
Sets the validator for the settings.
| Name | Pass type | Value type | Default value | Description |
|---|---|---|---|---|
| $validator | by value | \SmartFactory\Interfaces\ISettingsValidator |
The settings validator. |
This is internal auxiliary function for checking that the settings manager is intialized correctly.
It might throw an exception in the case of any errors:
Validates the current settings values.
It should be called after settings the new values of the parameters and before their saving.
It might throw exceptions in the case of any errors.