Class to provide a connection to a persistent store for LTI objects. More...
Public Member Functions | |
| __construct ($db, $dbTableNamePrefix= '') | |
| Class constructor. More... | |
| loadToolConsumer ($consumer) | |
| Load tool consumer object. More... | |
| saveToolConsumer ($consumer) | |
| Save tool consumer object. More... | |
| deleteToolConsumer ($consumer) | |
| Delete tool consumer object. More... | |
| getToolConsumers () | |
| Load tool consumer objects. More... | |
| loadToolProxy ($toolProxy) | |
| Load tool proxy object. More... | |
| saveToolProxy ($toolProxy) | |
| Save tool proxy object. More... | |
| deleteToolProxy ($toolProxy) | |
| Delete tool proxy object. More... | |
| loadContext ($context) | |
| Load context object. More... | |
| saveContext ($context) | |
| Save context object. More... | |
| deleteContext ($context) | |
| Delete context object. More... | |
| loadResourceLink ($resourceLink) | |
| Load resource link object. More... | |
| saveResourceLink ($resourceLink) | |
| Save resource link object. More... | |
| deleteResourceLink ($resourceLink) | |
| Delete resource link object. More... | |
| getUserResultSourcedIDsResourceLink ($resourceLink, $localOnly, $idScope) | |
| Get array of user objects. More... | |
| getSharesResourceLink ($resourceLink) | |
| Get array of shares defined for this resource link. More... | |
| loadConsumerNonce ($nonce) | |
| Load nonce object. More... | |
| saveConsumerNonce ($nonce) | |
| Save nonce object. More... | |
| loadResourceLinkShareKey ($shareKey) | |
| Load resource link share key object. More... | |
| saveResourceLinkShareKey ($shareKey) | |
| Save resource link share key object. More... | |
| deleteResourceLinkShareKey ($shareKey) | |
| Delete resource link share key object. More... | |
| loadUser ($user) | |
| Load user object. More... | |
| saveUser ($user) | |
| Save user object. More... | |
| deleteUser ($user) | |
| Delete user object. More... | |
Static Public Member Functions | |
| static | getDataConnector ($dbTableNamePrefix= '', $db=null, $type= '') |
| Create data connector object. More... | |
| static | getRandomString ($length=8) |
| Generate a random string. More... | |
| static | quoted ($value, $addQuotes=true) |
| Quote a string for use in a database query. More... | |
Data Fields | |
| const | CONSUMER_TABLE_NAME = 'lti2_consumer' |
| Default name for database table used to store tool consumers. More... | |
| const | TOOL_PROXY_TABLE_NAME = 'lti2_tool_proxy' |
| Default name for database table used to store pending tool proxies. More... | |
| const | CONTEXT_TABLE_NAME = 'lti2_context' |
| Default name for database table used to store contexts. More... | |
| const | RESOURCE_LINK_TABLE_NAME = 'lti2_resource_link' |
| Default name for database table used to store resource links. More... | |
| const | USER_RESULT_TABLE_NAME = 'lti2_user_result' |
| Default name for database table used to store users. More... | |
| const | RESOURCE_LINK_SHARE_KEY_TABLE_NAME = 'lti2_share_key' |
| Default name for database table used to store resource link share keys. More... | |
| const | NONCE_TABLE_NAME = 'lti2_nonce' |
| Default name for database table used to store nonce values. More... | |
Static Protected Member Functions | |
| static | getConsumerKey ($key) |
| Return a hash of a consumer key for values longer than 255 characters. More... | |
Protected Attributes | |
| $db = null | |
| Database object. More... | |
| $dbTableNamePrefix = '' | |
| Prefix for database table names. More... | |
| $dateFormat = 'Y-m-d' | |
| SQL date format (default = 'Y-m-d') More... | |
| $timeFormat = 'H:i:s' | |
| SQL time format (default = 'H:i:s') More... | |
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.
| __construct | ( | $db, | |
$dbTableNamePrefix = '' |
|||
| ) |
Class constructor.
| object | $db | Database connection object |
| string | $dbTableNamePrefix | Prefix for database table names (optional, default is none) |
Definition at line 88 of file DataConnector.php.
References DataConnector\$db, and DataConnector\$dbTableNamePrefix.
| deleteContext | ( | $context | ) |
Delete context object.
Definition at line 264 of file DataConnector.php.
| deleteResourceLink | ( | $resourceLink | ) |
Delete resource link object.
| ResourceLink | $resourceLink | Resource_Link object |
Definition at line 318 of file DataConnector.php.
| deleteResourceLinkShareKey | ( | $shareKey | ) |
Delete resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource link share key object |
Definition at line 430 of file DataConnector.php.
| deleteToolConsumer | ( | $consumer | ) |
Delete tool consumer object.
| ToolConsumer | $consumer | Consumer object |
Definition at line 143 of file DataConnector.php.
| deleteToolProxy | ( | $toolProxy | ) |
Delete tool proxy object.
Definition at line 210 of file DataConnector.php.
| deleteUser | ( | $user | ) |
Delete user object.
Definition at line 482 of file DataConnector.php.
|
staticprotected |
Return a hash of a consumer key for values longer than 255 characters.
| string | $key |
Definition at line 501 of file DataConnector.php.
Referenced by DataConnector_mysql\loadToolConsumer(), DataConnector_pdo\loadToolConsumer(), DataConnector_mysql\saveToolConsumer(), and DataConnector_pdo\saveToolConsumer().
|
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.
| string | $dbTableNamePrefix | Prefix for database table names (optional, default is none) |
| object | $db | A database connection object or string (optional, default is no persistence) |
| string | $type | The type of data connector (optional, default is based on $db parameter) |
Definition at line 529 of file DataConnector.php.
References DataConnector\$db, and DataConnector\$dbTableNamePrefix.
Referenced by ToolConsumer\__construct().
|
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 565 of file DataConnector.php.
Referenced by ToolProxy\__construct(), ToolConsumer\__construct(), ToolProvider\doToolProxyService(), and ResourceLinkShareKey\save().
| getSharesResourceLink | ( | $resourceLink | ) |
Get array of shares defined for this resource link.
| ResourceLink | $resourceLink | Resource_Link object |
Definition at line 353 of file DataConnector.php.
| getToolConsumers | ( | ) |
Load tool consumer objects.
Definition at line 157 of file DataConnector.php.
| getUserResultSourcedIDsResourceLink | ( | $resourceLink, | |
| $localOnly, | |||
| $idScope | |||
| ) |
Get array of user objects.
Obtain an array of User 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 |
| boolean | $localOnly | True if only users within the resource link are to be returned (excluding users sharing this resource link) |
| int | $idScope | Scope value to use for user IDs |
Definition at line 339 of file DataConnector.php.
| loadConsumerNonce | ( | $nonce | ) |
Load nonce object.
| ConsumerNonce | $nonce | Nonce object |
Definition at line 371 of file DataConnector.php.
| loadContext | ( | $context | ) |
Load context object.
Definition at line 230 of file DataConnector.php.
| loadResourceLink | ( | $resourceLink | ) |
Load resource link object.
| ResourceLink | $resourceLink | Resource_Link object |
Definition at line 284 of file DataConnector.php.
| loadResourceLinkShareKey | ( | $shareKey | ) |
Load resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource_Link share key object |
Definition at line 402 of file DataConnector.php.
| loadToolConsumer | ( | $consumer | ) |
Load tool consumer object.
| ToolConsumer | $consumer | ToolConsumer object |
Definition at line 107 of file DataConnector.php.
| loadToolProxy | ( | $toolProxy | ) |
Load tool proxy object.
Definition at line 176 of file DataConnector.php.
| loadUser | ( | $user | ) |
Load user object.
Definition at line 448 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 591 of file DataConnector.php.
Referenced by DataConnector_mysql\loadConsumerNonce(), DataConnector_mysql\loadContext(), DataConnector_mysql\loadResourceLink(), DataConnector_mysql\loadToolConsumer(), DataConnector_mysql\loadUser(), DataConnector_mysql\saveConsumerNonce(), DataConnector_mysql\saveContext(), DataConnector_mysql\saveResourceLink(), DataConnector_mysql\saveResourceLinkShareKey(), DataConnector_mysql\saveToolConsumer(), and DataConnector_mysql\saveUser().
| saveConsumerNonce | ( | $nonce | ) |
Save nonce object.
| ConsumerNonce | $nonce | Nonce object |
Definition at line 384 of file DataConnector.php.
| saveContext | ( | $context | ) |
Save context object.
Definition at line 248 of file DataConnector.php.
| saveResourceLink | ( | $resourceLink | ) |
Save resource link object.
| ResourceLink | $resourceLink | Resource_Link object |
Definition at line 302 of file DataConnector.php.
| saveResourceLinkShareKey | ( | $shareKey | ) |
Save resource link share key object.
| ResourceLinkShareKey | $shareKey | Resource link share key object |
Definition at line 416 of file DataConnector.php.
| saveToolConsumer | ( | $consumer | ) |
Save tool consumer object.
| ToolConsumer | $consumer | Consumer object |
Definition at line 127 of file DataConnector.php.
| saveToolProxy | ( | $toolProxy | ) |
Save tool proxy object.
Definition at line 194 of file DataConnector.php.
| saveUser | ( | $user | ) |
Save user object.
Definition at line 466 of file DataConnector.php.
|
protected |
SQL date format (default = 'Y-m-d')
Definition at line 74 of file DataConnector.php.
|
protected |
Database object.
Definition at line 62 of file DataConnector.php.
Referenced by DataConnector_pdo\__construct(), DataConnector\__construct(), and DataConnector\getDataConnector().
|
protected |
Prefix for database table names.
Definition at line 68 of file DataConnector.php.
Referenced by DataConnector_pdo\__construct(), DataConnector\__construct(), and DataConnector\getDataConnector().
|
protected |
SQL time format (default = 'H:i:s')
Definition at line 80 of file DataConnector.php.
| const CONSUMER_TABLE_NAME = 'lti2_consumer' |
Default name for database table used to store tool consumers.
Definition at line 31 of file DataConnector.php.
Referenced by DataConnector_pdo_sqlite\deleteToolConsumer(), DataConnector_mysql\deleteToolConsumer(), DataConnector_pdo\deleteToolConsumer(), DataConnector_mysql\getToolConsumers(), DataConnector_pdo\getToolConsumers(), DataConnector_mysql\loadToolConsumer(), DataConnector_pdo\loadToolConsumer(), DataConnector_mysql\saveToolConsumer(), and DataConnector_pdo\saveToolConsumer().
| const CONTEXT_TABLE_NAME = 'lti2_context' |
Default name for database table used to store contexts.
Definition at line 39 of file DataConnector.php.
Referenced by DataConnector_pdo_sqlite\deleteContext(), DataConnector_mysql\deleteContext(), DataConnector_pdo\deleteContext(), DataConnector_pdo_sqlite\deleteToolConsumer(), DataConnector_mysql\deleteToolConsumer(), DataConnector_pdo\deleteToolConsumer(), DataConnector_mysql\loadContext(), DataConnector_pdo\loadContext(), DataConnector_mysql\loadResourceLink(), DataConnector_pdo\loadResourceLink(), DataConnector_mysql\saveContext(), and DataConnector_pdo\saveContext().
| const NONCE_TABLE_NAME = 'lti2_nonce' |
Default name for database table used to store nonce values.
Definition at line 55 of file DataConnector.php.
Referenced by DataConnector_pdo_sqlite\deleteToolConsumer(), DataConnector_mysql\deleteToolConsumer(), DataConnector_pdo\deleteToolConsumer(), DataConnector_mysql\loadConsumerNonce(), DataConnector_pdo\loadConsumerNonce(), DataConnector_mysql\saveConsumerNonce(), and DataConnector_pdo\saveConsumerNonce().
| 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 51 of file DataConnector.php.
Referenced by DataConnector_pdo_sqlite\deleteContext(), DataConnector_mysql\deleteContext(), DataConnector_pdo\deleteContext(), DataConnector_mysql\deleteResourceLink(), DataConnector_pdo\deleteResourceLink(), DataConnector_mysql\deleteResourceLinkShareKey(), DataConnector_pdo\deleteResourceLinkShareKey(), DataConnector_pdo_sqlite\deleteToolConsumer(), DataConnector_mysql\deleteToolConsumer(), DataConnector_pdo\deleteToolConsumer(), DataConnector_mysql\loadResourceLinkShareKey(), DataConnector_pdo\loadResourceLinkShareKey(), DataConnector_mysql\saveResourceLinkShareKey(), and DataConnector_pdo\saveResourceLinkShareKey().
| const RESOURCE_LINK_TABLE_NAME = 'lti2_resource_link' |
Default name for database table used to store resource links.
Definition at line 43 of file DataConnector.php.
Referenced by DataConnector_pdo_sqlite\deleteContext(), DataConnector_mysql\deleteContext(), DataConnector_pdo\deleteContext(), DataConnector_mysql\deleteResourceLink(), DataConnector_pdo\deleteResourceLink(), DataConnector_pdo_sqlite\deleteToolConsumer(), DataConnector_mysql\deleteToolConsumer(), DataConnector_pdo\deleteToolConsumer(), DataConnector_mysql\getSharesResourceLink(), DataConnector_pdo\getSharesResourceLink(), DataConnector_mysql\getUserResultSourcedIDsResourceLink(), DataConnector_pdo\getUserResultSourcedIDsResourceLink(), DataConnector_mysql\loadResourceLink(), DataConnector_pdo\loadResourceLink(), DataConnector_mysql\saveResourceLink(), and DataConnector_pdo\saveResourceLink().
| const TOOL_PROXY_TABLE_NAME = 'lti2_tool_proxy' |
Default name for database table used to store pending tool proxies.
Definition at line 35 of file DataConnector.php.
| const USER_RESULT_TABLE_NAME = 'lti2_user_result' |
Default name for database table used to store users.
Definition at line 47 of file DataConnector.php.
Referenced by DataConnector_pdo_sqlite\deleteContext(), DataConnector_mysql\deleteContext(), DataConnector_pdo\deleteContext(), DataConnector_mysql\deleteResourceLink(), DataConnector_pdo\deleteResourceLink(), DataConnector_pdo_sqlite\deleteToolConsumer(), DataConnector_mysql\deleteToolConsumer(), DataConnector_pdo\deleteToolConsumer(), DataConnector_mysql\deleteUser(), DataConnector_pdo\deleteUser(), DataConnector_mysql\getUserResultSourcedIDsResourceLink(), DataConnector_pdo\getUserResultSourcedIDsResourceLink(), DataConnector_mysql\loadUser(), DataConnector_pdo\loadUser(), DataConnector_mysql\saveUser(), and DataConnector_pdo\saveUser().