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. | |
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_sql\deleteContext(), DataConnector_oci8\deletePlatform(), DataConnector_pdo\deletePlatform(), DataConnector_pgsql\deletePlatform(), DataConnector_sql\deletePlatform(), DataConnector_oci8\deletePlatformNonce(), DataConnector_pdo\deletePlatformNonce(), DataConnector_pgsql\deleteResourceLink(), DataConnector_sql\deleteResourceLink(), DataConnector_mysqli\deleteResourceLinkShareKey(), DataConnector_mysqli\deleteUserResult(), DataConnector_sql\deleteUserResult(), DataConnector_oci8\getSharesResourceLink(), DataConnector_pdo\getSharesResourceLink(), DataConnector_mysqli\getUserResultSourcedIDsResourceLink(), DataConnector_pgsql\getUserResultSourcedIDsResourceLink(), DataConnector_mysqli\loadPlatform(), DataConnector_oci8\loadPlatform(), DataConnector_pdo\loadPlatform(), DataConnector_sql\loadPlatform(), DataConnector_mysqli\loadUserResult(), DataConnector_oci8\loadUserResult(), DataConnector_pdo\loadUserResult(), DataConnector_pgsql\saveAccessToken(), DataConnector_sql\saveAccessToken(), DataConnector_mysqli\savePlatform(), DataConnector_mysqli\savePlatformNonce(), DataConnector_sql\savePlatformNonce(), DataConnector_mysqli\saveResourceLink(), DataConnector_sql\saveResourceLink(), 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 DataConnector\deleteResourceLink(), and ResourceLink\initialize().
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.
Referenced by DataConnector\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.
bool deleteTool | ( | Tool | $tool | ) |
Delete tool object.
Tool | $tool | Tool object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
bool deleteUserResult | ( | UserResult | $userResult | ) |
Delete user object.
UserResult | $userResult | UserResult object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
|
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.
Platform[] getPlatforms | ( | ) |
Load platform objects.
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
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.
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 DataConnector\savePlatformNonce().
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 DataConnector\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 DataConnector\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 DataConnector\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.
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.
Referenced by DataConnector\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.
References DataConnector\loadUserResult().
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 DataConnector\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 DataConnector\loadTool().
Referenced by DataConnector\loadResourceLinkShareKey().
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 DataConnector\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 DataConnector\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 DataConnector\loadAccessToken().
Referenced by DataConnector\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 DataConnector\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 DataConnector\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.
bool saveUserResult | ( | UserResult | $userResult | ) |
Save user object.
UserResult | $userResult | UserResult object |
Reimplemented in DataConnector_mysqli, DataConnector_oci8, DataConnector_pdo, DataConnector_pgsql, and DataConnector_sql.
|
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 DataConnector\loadPlatform().