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.