Class to provide a connection to a persistent store for LTI objects. More...
Public Member Functions | |
| loadToolConsumer ($consumer) | |
| Load tool consumer object. | |
| saveToolConsumer ($consumer) | |
| Save tool consumer object. | |
| deleteToolConsumer ($consumer) | |
| Delete tool consumer object. | |
| getToolConsumers () | |
| Load tool consumer objects. | |
| loadPlatform ($platform) | |
| Load platform object. | |
| savePlatform ($platform) | |
| Save platform object. | |
| deletePlatform ($platform) | |
| Delete platform object. | |
| getPlatforms () | |
| Load platform objects. | |
| loadContext ($context) | |
| Load context object. | |
| saveContext ($context) | |
| Save context object. | |
| deleteContext ($context) | |
| Delete context object. | |
| loadResourceLink ($resourceLink) | |
| Load resource link object. | |
| saveResourceLink ($resourceLink) | |
| Save resource link object. | |
| deleteResourceLink ($resourceLink) | |
| Delete resource link object. | |
| getUserResultSourcedIDsResourceLink ($resourceLink, $localOnly, $idScope) | |
| Get array of user objects. | |
| getSharesResourceLink ($resourceLink) | |
| Get array of shares defined for this resource link. | |
| loadConsumerNonce ($nonce) | |
| Load nonce object. | |
| saveConsumerNonce ($nonce) | |
| Save nonce object. | |
| deleteConsumerNonce ($nonce) | |
| Delete nonce object. | |
| loadPlatformNonce ($nonce) | |
| Load nonce object. | |
| savePlatformNonce ($nonce) | |
| Save nonce object. | |
| deletePlatformNonce ($nonce) | |
| Delete nonce object. | |
| loadAccessToken ($accessToken) | |
| Load access token object. | |
| saveAccessToken ($accessToken) | |
| Save access token object. | |
| loadResourceLinkShareKey ($shareKey) | |
| Load resource link share key object. | |
| saveResourceLinkShareKey ($shareKey) | |
| Save resource link share key object. | |
| deleteResourceLinkShareKey ($shareKey) | |
| Delete resource link share key object. | |
| loadUserResult ($userresult) | |
| Load user object. | |
| saveUserResult ($userresult) | |
| Save user object. | |
| deleteUserResult ($userresult) | |
| Delete user object. | |
| loadTool ($tool) | |
| Load tool object. | |
| saveTool ($tool) | |
| Save tool object. | |
| deleteTool ($tool) | |
| Delete tool object. | |
| getTools () | |
| Load tool objects. | |
| escape ($value, $addQuotes=true) | |
| Escape a string for use in a database query. | |
Static Public Member Functions | |
| static | useMemcache ($host=null, $port=-1) |
| Set/check whether memcached should be used when available. | |
| static | getDataConnector ($db=null, $dbTableNamePrefix='', $type='') |
| Create data connector object. | |
| static | getRandomString ($length=8) |
| Generate a random string. | |
| static | quoted ($value, $addQuotes=true) |
| Quote a string for use in a database query. | |
Data Fields | |
| const | PLATFORM_TABLE_NAME = 'lti2_consumer' |
| Default name for database table used to store platforms. | |
| const | CONSUMER_TABLE_NAME = self::PLATFORM_TABLE_NAME |
| Default name for database table used to store platforms. | |
| const | CONTEXT_TABLE_NAME = 'lti2_context' |
| Default name for database table used to store contexts. | |
| const | RESOURCE_LINK_TABLE_NAME = 'lti2_resource_link' |
| Default name for database table used to store resource links. | |
| const | USER_RESULT_TABLE_NAME = 'lti2_user_result' |
| Default name for database table used to store users. | |
| const | RESOURCE_LINK_SHARE_KEY_TABLE_NAME = 'lti2_share_key' |
| Default name for database table used to store resource link share keys. | |
| const | NONCE_TABLE_NAME = 'lti2_nonce' |
| Default name for database table used to store nonce values. | |
| const | ACCESS_TOKEN_TABLE_NAME = 'lti2_access_token' |
| Default name for database table used to store access token values. | |
| const | TOOL_TABLE_NAME = 'lti2_tool' |
| Default name for database table used to store tools. | |
Protected Member Functions | |
| __construct ($db, $dbTableNamePrefix='') | |
| Class constructor. | |
| fixPlatformSettings ($platform, $isSave) | |
| Adjust the settings for any platform properties being stored as a setting value. | |
| fixToolSettings ($tool, $isSave) | |
| Adjust the settings for any tool properties being stored as a setting value. | |
Protected Attributes | |
| $db = null | |
| Database connection. | |
| $dbTableNamePrefix = '' | |
| Prefix for database table names. | |
| $dateFormat = 'Y-m-d' | |
| SQL date format (default = 'Y-m-d') | |
| $timeFormat = 'H:i:s' | |
| SQL time format (default = 'H:i:s') | |
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.
Definition at line 25 of file DataConnector.php.
|
protected |
Class constructor.
| object | resource | $db | Database connection object |
| string | $dbTableNamePrefix | Prefix for database table names (optional, default is none) |
Reimplemented in DataConnector_mysql, DataConnector_oci, and DataConnector_pdo_oci.
Definition at line 117 of file DataConnector.php.
References DataConnector\$db, and DataConnector\$dbTableNamePrefix.
| deleteConsumerNonce | ( | $nonce | ) |
Delete nonce object.
| ConsumerNonce | $nonce | Nonce object |
Definition at line 464 of file DataConnector.php.
References DataConnector\deletePlatformNonce(), and Util\logDebug().
| deleteContext | ( | $context | ) |
Delete context object.
| Context | $context | Context object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 332 of file DataConnector.php.
| deletePlatform | ( | $platform | ) |
Delete platform object.
| Platform | $platform | Platform object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 274 of file DataConnector.php.
Referenced by DataConnector\deleteToolConsumer().
| deletePlatformNonce | ( | $nonce | ) |
Delete nonce object.
| PlatformNonce | $nonce | Nonce object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 523 of file DataConnector.php.
Referenced by DataConnector\deleteConsumerNonce().
| deleteResourceLink | ( | $resourceLink | ) |
Delete resource link object.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 380 of file DataConnector.php.
| deleteResourceLinkShareKey | ( | $shareKey | ) |
Delete resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource link share key object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 638 of file DataConnector.php.
| deleteTool | ( | $tool | ) |
Delete tool object.
| Tool | $tool | Tool object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 734 of file DataConnector.php.
| deleteToolConsumer | ( | $consumer | ) |
Delete tool consumer object.
| ToolConsumer | $consumer | Tool consumer object |
Definition at line 213 of file DataConnector.php.
References DataConnector\deletePlatform(), and Util\logDebug().
| deleteUserResult | ( | $userresult | ) |
Delete user object.
| UserResult | $userresult | UserResult object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 684 of file DataConnector.php.
| escape | ( | $value, | |
$addQuotes = true |
|||
| ) |
Escape a string for use in a database query.
Any single quotes in the value passed will be replaced with two single quotes. If a null value is passed, a string of 'null' is returned (which will never be enclosed in quotes irrespective of the value of the $addQuotes parameter.
| string | $value | Value to be escaped |
| bool | $addQuotes | If true the returned string will be enclosed in single quotes (optional, default is true) |
Reimplemented in DataConnector_mysql, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 832 of file DataConnector.php.
|
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 |
Definition at line 868 of file DataConnector.php.
References Util\$logLevel, and Util\LOGLEVEL_DEBUG.
Referenced by DataConnector_mysql\getPlatforms(), DataConnector_mysqli\getPlatforms(), DataConnector_oci\getPlatforms(), DataConnector_pdo\getPlatforms(), DataConnector_pg\getPlatforms(), DataConnector_sqlsrv\getPlatforms(), DataConnector_mysql\loadPlatform(), DataConnector_mysqli\loadPlatform(), DataConnector_oci\loadPlatform(), DataConnector_pdo\loadPlatform(), DataConnector_pg\loadPlatform(), DataConnector_sqlsrv\loadPlatform(), DataConnector_mysql\savePlatform(), DataConnector_mysqli\savePlatform(), DataConnector_oci\savePlatform(), DataConnector_pdo\savePlatform(), DataConnector_pg\savePlatform(), and DataConnector_sqlsrv\savePlatform().
|
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 |
Definition at line 904 of file DataConnector.php.
References Util\$logLevel, and Util\LOGLEVEL_DEBUG.
Referenced by DataConnector_mysql\getTools(), DataConnector_mysqli\getTools(), DataConnector_oci\getTools(), DataConnector_pdo\getTools(), DataConnector_pg\getTools(), DataConnector_sqlsrv\getTools(), DataConnector_mysql\loadTool(), DataConnector_mysqli\loadTool(), DataConnector_oci\loadTool(), DataConnector_pdo\loadTool(), DataConnector_pg\loadTool(), DataConnector_sqlsrv\loadTool(), DataConnector_mysql\saveTool(), DataConnector_mysqli\saveTool(), DataConnector_oci\saveTool(), DataConnector_pdo\saveTool(), DataConnector_pg\saveTool(), and DataConnector_sqlsrv\saveTool().
|
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) |
Definition at line 771 of file DataConnector.php.
References DataConnector\$db, and DataConnector\$dbTableNamePrefix.
| getPlatforms | ( | ) |
Load platform objects.
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 286 of file DataConnector.php.
Referenced by DataConnector\getToolConsumers().
|
static |
Generate a random string.
The generated string will only comprise letters (upper- and lower-case) and digits.
| int | $length | Length of string to be generated (optional, default is 8 characters) |
Definition at line 814 of file DataConnector.php.
References Util\getRandomString(), and Util\logDebug().
| getSharesResourceLink | ( | $resourceLink | ) |
Get array of shares defined for this resource link.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 411 of file DataConnector.php.
| getToolConsumers | ( | ) |
Load tool consumer objects.
Definition at line 228 of file DataConnector.php.
References DataConnector\getPlatforms(), and Util\logDebug().
| getTools | ( | ) |
Load tool objects.
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 746 of file DataConnector.php.
| getUserResultSourcedIDsResourceLink | ( | $resourceLink, | |
| $localOnly, | |||
| $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) |
| int | null | $idScope | Scope value to use for user IDs |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pdo_pgsql, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 399 of file DataConnector.php.
| loadAccessToken | ( | $accessToken | ) |
Load access token object.
| AccessToken | $accessToken | Access token object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 550 of file DataConnector.php.
| loadConsumerNonce | ( | $nonce | ) |
Load nonce object.
| ConsumerNonce | $nonce | Nonce object |
Definition at line 430 of file DataConnector.php.
References DataConnector\loadPlatformNonce(), and Util\logDebug().
| loadContext | ( | $context | ) |
Load context object.
| Context | $context | Context object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 302 of file DataConnector.php.
| loadPlatform | ( | $platform | ) |
Load platform object.
| Platform | $platform | Platform object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 242 of file DataConnector.php.
Referenced by DataConnector\loadToolConsumer().
| loadPlatformNonce | ( | $nonce | ) |
Load nonce object.
| PlatformNonce | $nonce | Nonce object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 478 of file DataConnector.php.
Referenced by DataConnector\loadConsumerNonce().
| loadResourceLink | ( | $resourceLink | ) |
Load resource link object.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 350 of file DataConnector.php.
| loadResourceLinkShareKey | ( | $shareKey | ) |
Load resource link share key object.
| ResourceLinkShareKey | $shareKey | ResourceLink share key object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 614 of file DataConnector.php.
| loadTool | ( | $tool | ) |
Load tool object.
| Tool | $tool | Tool object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 702 of file DataConnector.php.
| loadToolConsumer | ( | $consumer | ) |
Load tool consumer object.
| ToolConsumer | $consumer | Tool consumer object |
Definition at line 179 of file DataConnector.php.
References DataConnector\loadPlatform(), and Util\logDebug().
| loadUserResult | ( | $userresult | ) |
Load user object.
| UserResult | $userresult | UserResult object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 654 of file DataConnector.php.
|
static |
Quote a string for use in a database query.
Any single quotes in the value passed will be replaced with two single quotes. If a null value is passed, a string of 'null' is returned (which will never be enclosed in quotes irrespective of the value of the $addQuotes parameter.
| string | $value | Value to be quoted |
| bool | $addQuotes | If true the returned string will be enclosed in single quotes (optional, default is true) |
Definition at line 848 of file DataConnector.php.
| saveAccessToken | ( | $accessToken | ) |
Save access token object.
| AccessToken | $accessToken | Access token object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 578 of file DataConnector.php.
| saveConsumerNonce | ( | $nonce | ) |
Save nonce object.
| ConsumerNonce | $nonce | Nonce object |
Definition at line 447 of file DataConnector.php.
References Util\logDebug(), and DataConnector\savePlatformNonce().
| saveContext | ( | $context | ) |
Save context object.
| Context | $context | Context object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 318 of file DataConnector.php.
| savePlatform | ( | $platform | ) |
Save platform object.
| Platform | $platform | Platform object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 260 of file DataConnector.php.
Referenced by DataConnector\saveToolConsumer().
| savePlatformNonce | ( | $nonce | ) |
Save nonce object.
| PlatformNonce | $nonce | Nonce object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 498 of file DataConnector.php.
Referenced by DataConnector\saveConsumerNonce().
| saveResourceLink | ( | $resourceLink | ) |
Save resource link object.
| ResourceLink | $resourceLink | ResourceLink object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 366 of file DataConnector.php.
| saveResourceLinkShareKey | ( | $shareKey | ) |
Save resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource link share key object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pdo_pgsql, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 626 of file DataConnector.php.
| saveTool | ( | $tool | ) |
Save tool object.
| Tool | $tool | Tool object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 720 of file DataConnector.php.
| saveToolConsumer | ( | $consumer | ) |
Save tool consumer object.
| ToolConsumer | $consumer | Tool consumer object |
Definition at line 196 of file DataConnector.php.
References Util\logDebug(), and DataConnector\savePlatform().
| saveUserResult | ( | $userresult | ) |
Save user object.
| UserResult | $userresult | UserResult object |
Reimplemented in DataConnector_mysql, DataConnector_mysqli, DataConnector_oci, DataConnector_pdo, DataConnector_pg, and DataConnector_sqlsrv.
Definition at line 670 of file DataConnector.php.
|
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) |
Definition at line 131 of file DataConnector.php.
References Util\logError().
|
protected |
SQL date format (default = 'Y-m-d')
Definition at line 95 of file DataConnector.php.
|
protected |
Database connection.
Definition at line 81 of file DataConnector.php.
Referenced by DataConnector\__construct(), DataConnector_mysql\__construct(), DataConnector_oci\__construct(), DataConnector_pdo_oci\__construct(), and DataConnector\getDataConnector().
|
protected |
Prefix for database table names.
Definition at line 88 of file DataConnector.php.
Referenced by DataConnector\__construct(), DataConnector_mysql\__construct(), DataConnector_oci\__construct(), DataConnector_pdo_oci\__construct(), and DataConnector\getDataConnector().
|
protected |
SQL time format (default = 'H:i:s')
Definition at line 102 of file DataConnector.php.
| const ACCESS_TOKEN_TABLE_NAME = 'lti2_access_token' |
Default name for database table used to store access token values.
Definition at line 69 of file DataConnector.php.
| const CONSUMER_TABLE_NAME = self::PLATFORM_TABLE_NAME |
Default name for database table used to store platforms.
Definition at line 39 of file DataConnector.php.
| const CONTEXT_TABLE_NAME = 'lti2_context' |
Default name for database table used to store contexts.
Definition at line 44 of file DataConnector.php.
| const NONCE_TABLE_NAME = 'lti2_nonce' |
Default name for database table used to store nonce values.
Definition at line 64 of file DataConnector.php.
| const PLATFORM_TABLE_NAME = 'lti2_consumer' |
Default name for database table used to store platforms.
Definition at line 31 of file DataConnector.php.
| const RESOURCE_LINK_SHARE_KEY_TABLE_NAME = 'lti2_share_key' |
Default name for database table used to store resource link share keys.
Definition at line 59 of file DataConnector.php.
| const RESOURCE_LINK_TABLE_NAME = 'lti2_resource_link' |
Default name for database table used to store resource links.
Definition at line 49 of file DataConnector.php.
| const TOOL_TABLE_NAME = 'lti2_tool' |
Default name for database table used to store tools.
Definition at line 74 of file DataConnector.php.
| const USER_RESULT_TABLE_NAME = 'lti2_user_result' |
Default name for database table used to store users.
Definition at line 54 of file DataConnector.php.