Class to provide a connection to a persistent store for LTI objects. More...
Public Member Functions | |
| bool | loadPlatform (Platform $platform) |
| Load platform object. | |
| bool | savePlatform (Platform $platform) |
| Save platform object. | |
| bool | deletePlatform (Platform $platform) |
| Delete platform object. | |
| Platform[] | getPlatforms () |
| Load platform objects. | |
| bool | loadContext (Context $context) |
| Load context object. | |
| bool | saveContext (Context $context) |
| Save context object. | |
| bool | deleteContext (Context $context) |
| Delete context object. | |
| bool | loadResourceLink (ResourceLink $resourceLink) |
| Load resource link object. | |
| bool | saveResourceLink (ResourceLink $resourceLink) |
| Save resource link object. | |
| bool | deleteResourceLink (ResourceLink $resourceLink) |
| Delete resource link object. | |
| UserResult[] | getUserResultSourcedIDsResourceLink (ResourceLink $resourceLink, bool $localOnly, ?IdScope $idScope) |
| Get array of user objects. | |
| ResourceLinkShare[] | getSharesResourceLink (ResourceLink $resourceLink) |
| Get array of shares defined for this resource link. | |
| bool | loadPlatformNonce (PlatformNonce $nonce) |
| Load nonce object. | |
| bool | savePlatformNonce (PlatformNonce $nonce) |
| Save nonce object. | |
| bool | deletePlatformNonce (PlatformNonce $nonce) |
| Delete nonce object. | |
| bool | loadAccessToken (AccessToken $accessToken) |
| Load access token object. | |
| bool | saveAccessToken (AccessToken $accessToken) |
| Save access token object. | |
| bool | loadResourceLinkShareKey (ResourceLinkShareKey $shareKey) |
| Load resource link share key object. | |
| bool | saveResourceLinkShareKey (ResourceLinkShareKey $shareKey) |
| Save resource link share key object. | |
| bool | deleteResourceLinkShareKey (ResourceLinkShareKey $shareKey) |
| Delete resource link share key object. | |
| bool | loadUserResult (UserResult $userResult) |
| Load user object. | |
| bool | saveUserResult (UserResult $userResult) |
| Save user object. | |
| bool | deleteUserResult (UserResult $userResult) |
| Delete user object. | |
| bool | loadTool (Tool $tool) |
| Load tool object. | |
| bool | saveTool (Tool $tool) |
| Save tool object. | |
| bool | deleteTool (Tool $tool) |
| Delete tool object. | |
| Tool[] | getTools () |
| Load tool objects. | |
Static Public Member Functions | |
| static bool | useMemcache (?string $host=null, int $port=-1) |
| Set/check whether memcached should be used when available. | |
| static DataConnector | getDataConnector (mixed $db=null, string $dbTableNamePrefix="", string $type="") |
| Create data connector object. | |
Static Public Attributes | |
| static int | $maximumSecretLength = 1024 |
| Maximum length for a platform/tool shared secret field (default = 1024). | |
Protected Member Functions | |
| __construct (mixed $db, string $dbTableNamePrefix="") | |
| Class constructor. | |
| void | fixPlatformSettings (Platform $platform, bool $isSave) |
| Adjust the settings for any platform properties being stored as a setting value. | |
| void | fixToolSettings (Tool $tool, bool $isSave) |
| Adjust the settings for any tool properties being stored as a setting value. | |
| string | dbTableName (string $table) |
| Add the prefix to the name for a database table. | |
Class to provide a connection to a persistent store for LTI objects.
This class assumes no data persistence - it should be extended for specific database connections.
|
protected |
Class constructor.
| object | resource | $db | Database connection object |
| string | $dbTableNamePrefix | Prefix for database table names (optional, default is none) |
Reimplemented in DataConnector_oci8.
|
protected |
Add the prefix to the name for a database table.
| string | $table | Name of table without prefix |
Referenced by DataConnector_oci8\__construct(), DataConnector_mysqli\deleteContext(), DataConnector_pdo\deleteContext(), DataConnector_pgsql\deleteContext(), DataConnector_sql\deleteContext(), DataConnector_mysqli\deletePlatform(), DataConnector_oci8\deletePlatform(), DataConnector_pdo\deletePlatform(), DataConnector_pgsql\deletePlatform(), DataConnector_sql\deletePlatform(), DataConnector_oci8\deleteResourceLinkShareKey(), DataConnector_pdo\deleteResourceLinkShareKey(), DataConnector_mysqli\deleteUserResult(), DataConnector_oci8\deleteUserResult(), DataConnector_pgsql\deleteUserResult(), DataConnector_sql\deleteUserResult(), DataConnector_mysqli\getSharesResourceLink(), DataConnector_oci8\getSharesResourceLink(), DataConnector_pdo\getSharesResourceLink(), DataConnector_pgsql\getSharesResourceLink(), DataConnector_sql\getSharesResourceLink(), DataConnector_mysqli\getUserResultSourcedIDsResourceLink(), DataConnector_oci8\getUserResultSourcedIDsResourceLink(), DataConnector_pdo\getUserResultSourcedIDsResourceLink(), DataConnector_pdo_pgsql\getUserResultSourcedIDsResourceLink(), DataConnector_pgsql\getUserResultSourcedIDsResourceLink(), DataConnector_sql\getUserResultSourcedIDsResourceLink(), DataConnector_pgsql\loadPlatform(), DataConnector_sql\loadPlatform(), DataConnector_oci8\loadPlatformNonce(), DataConnector_pdo\loadPlatformNonce(), DataConnector_pgsql\loadPlatformNonce(), DataConnector_sql\loadPlatformNonce(), DataConnector_pgsql\loadResourceLinkShareKey(), DataConnector_sql\loadResourceLinkShareKey(), DataConnector_mysqli\loadUserResult(), DataConnector_oci8\loadUserResult(), DataConnector_pdo\loadUserResult(), DataConnector_pgsql\loadUserResult(), DataConnector_sql\loadUserResult(), DataConnector_mysqli\saveAccessToken(), DataConnector_oci8\saveAccessToken(), DataConnector_pdo\saveAccessToken(), DataConnector_pgsql\saveAccessToken(), DataConnector_sql\saveAccessToken(), DataConnector_mysqli\saveContext(), DataConnector_mysqli\savePlatformNonce(), DataConnector_pgsql\savePlatformNonce(), DataConnector_sql\savePlatformNonce(), DataConnector_mysqli\saveResourceLink(), DataConnector_pdo\saveResourceLink(), DataConnector_sql\saveResourceLink(), DataConnector_mysqli\saveResourceLinkShareKey(), DataConnector_pdo\saveResourceLinkShareKey(), DataConnector_pgsql\saveResourceLinkShareKey(), DataConnector_sql\saveResourceLinkShareKey(), DataConnector_sql\saveTool(), DataConnector_mysqli\saveUserResult(), DataConnector_oci8\saveUserResult(), DataConnector_pdo\saveUserResult(), DataConnector_pgsql\saveUserResult(), and DataConnector_sql\saveUserResult().
| bool deleteContext | ( | Context | $context | ) |
Delete context object.
| Context | $context | Context object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References deleteResourceLink(), and ResourceLink\initialize().
Referenced by getPlatforms().
| bool deletePlatform | ( | Platform | $platform | ) |
Delete platform object.
| Platform | $platform | Platform object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
| bool deletePlatformNonce | ( | PlatformNonce | $nonce | ) |
Delete nonce object.
| PlatformNonce | $nonce | Nonce object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
| bool deleteResourceLink | ( | ResourceLink | $resourceLink | ) |
Delete resource link object.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References PlatformNonce\getPlatform(), System\getRecordId(), PlatformNonce\getValue(), and loadPlatformNonce().
Referenced by deleteContext().
| bool deleteResourceLinkShareKey | ( | ResourceLinkShareKey | $shareKey | ) |
Delete resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource link share key object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References deleteUserResult(), and UserResult\initialize().
| bool deleteTool | ( | Tool | $tool | ) |
Delete tool object.
| Tool | $tool | Tool object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References $db.
Referenced by deleteUserResult().
| bool deleteUserResult | ( | UserResult | $userResult | ) |
Delete user object.
| UserResult | $userResult | UserResult object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References deleteTool(), and Tool\initialize().
Referenced by deleteResourceLinkShareKey().
|
protected |
Adjust the settings for any platform properties being stored as a setting value.
| Platform | $platform | Platform object |
| bool | $isSave | True if the settings are being saved |
References Util\$logLevel.
|
protected |
Adjust the settings for any tool properties being stored as a setting value.
| Tool | $tool | Tool object |
| bool | $isSave | True if the settings are being saved |
|
static |
Create data connector object.
A data connector provides access to persistent storage for the different objects.
Names of tables may be given a prefix to allow multiple versions to share the same schema. A separate sub-class is defined for each different database connection - the class to use is determined by inspecting the database object passed, but this can be overridden (for example, to use a bespoke connector) by specifying a type. If no database is passed then this class is used which acts as a dummy connector with no persistence.
| object | resource | $db | A database connection object or string (optional, default is no persistence) |
| string | $dbTableNamePrefix | Prefix for database table names (optional, default is none) |
| string | $type | The type of data connector (optional, default is based on $db parameter) |
References Util\$logLevel.
Referenced by saveTool().
| Platform[] getPlatforms | ( | ) |
Load platform objects.
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References deleteContext(), and Context\initialize().
| ResourceLinkShare[] getSharesResourceLink | ( | ResourceLink | $resourceLink | ) |
Get array of shares defined for this resource link.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
| Tool[] getTools | ( | ) |
Load tool objects.
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References $db, and $dbTableNamePrefix.
| UserResult[] getUserResultSourcedIDsResourceLink | ( | ResourceLink | $resourceLink, |
| bool | $localOnly, | ||
| ?IdScope | $idScope ) |
Get array of user objects.
Obtain an array of UserResult objects for users with a result sourcedId. The array may include users from other resource links which are sharing this resource link. It may also be optionally indexed by the user ID of a specified scope.
| ResourceLink | $resourceLink | Resource link object |
| bool | $localOnly | True if only users within the resource link are to be returned (excluding users sharing this resource link) |
| IdScope | null | $idScope | Scope value to use for user IDs |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pdo_pgsql, DataConnector_pgsql, and DataConnector_sql.
References PlatformNonce\getPlatform(), System\getRecordId(), PlatformNonce\getValue(), and savePlatformNonce().
Referenced by loadResourceLink().
| bool loadAccessToken | ( | AccessToken | $accessToken | ) |
Load access token object.
| AccessToken | $accessToken | Access token object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
Referenced by savePlatformNonce().
| bool loadContext | ( | Context | $context | ) |
Load context object.
| Context | $context | Context object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References loadResourceLink().
| bool loadPlatform | ( | Platform | $platform | ) |
Load platform object.
| Platform | $platform | Platform object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
Referenced by useMemcache().
| bool loadPlatformNonce | ( | PlatformNonce | $nonce | ) |
Load nonce object.
| PlatformNonce | $nonce | Nonce object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
Referenced by deleteResourceLink().
| bool loadResourceLink | ( | ResourceLink | $resourceLink | ) |
Load resource link object.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References getUserResultSourcedIDsResourceLink().
Referenced by loadContext().
| bool loadResourceLinkShareKey | ( | ResourceLinkShareKey | $shareKey | ) |
Load resource link share key object.
| ResourceLinkShareKey | $shareKey | ResourceLink share key object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
| bool loadTool | ( | Tool | $tool | ) |
Load tool object.
| Tool | $tool | Tool object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
Referenced by loadUserResult().
| bool loadUserResult | ( | UserResult | $userResult | ) |
Load user object.
| UserResult | $userResult | UserResult object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References loadTool().
| bool saveAccessToken | ( | AccessToken | $accessToken | ) |
Save access token object.
| AccessToken | $accessToken | Access token object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References saveResourceLinkShareKey().
| bool saveContext | ( | Context | $context | ) |
Save context object.
| Context | $context | Context object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References saveResourceLink().
| bool savePlatform | ( | Platform | $platform | ) |
Save platform object.
| Platform | $platform | Platform object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
| bool savePlatformNonce | ( | PlatformNonce | $nonce | ) |
Save nonce object.
| PlatformNonce | $nonce | Nonce object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References AccessToken\get(), AccessToken\getPlatform(), System\getRecordId(), and loadAccessToken().
Referenced by getUserResultSourcedIDsResourceLink().
| bool saveResourceLink | ( | ResourceLink | $resourceLink | ) |
Save resource link object.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
Referenced by saveContext().
| bool saveResourceLinkShareKey | ( | ResourceLinkShareKey | $shareKey | ) |
Save resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource link share key object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pdo_pgsql, DataConnector_pgsql, and DataConnector_sql.
Referenced by saveAccessToken().
| bool saveTool | ( | Tool | $tool | ) |
Save tool object.
| Tool | $tool | Tool object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References $db, $dbTableNamePrefix, and getDataConnector().
Referenced by saveUserResult().
| bool saveUserResult | ( | UserResult | $userResult | ) |
Save user object.
| UserResult | $userResult | UserResult object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
References saveTool().
|
static |
Set/check whether memcached should be used when available.
| string | $host | Name or IP address of host running memcache server (use an empty string to disable) |
| int | $port | Port number used by memcache server (use -1 for default) |
References loadPlatform().