LTI Integration Library  3.1.0
PHP class library for building LTI integrations
DataConnector Class Reference

Class to provide a connection to a persistent store for LTI objects. More...

Inheritance diagram for DataConnector:
DataConnector_mysql DataConnector_mysqli DataConnector_oci DataConnector_pdo DataConnector_pg DataConnector_sqlsrv DataConnector_pdo_oci DataConnector_pdo_pgsql

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...
 
 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...
 
 loadUserResult ($userresult)
 Load user object. More...
 
 saveUserResult ($userresult)
 Save user object. More...
 
 deleteUserResult ($userresult)
 Delete user object. More...
 
 escape ($value, $addQuotes=true)
 Escape a string for use in a database query. More...
 

Static Public Member Functions

static getDataConnector ($db=null, $dbTableNamePrefix='', $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 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 connection. 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...
 

Detailed Description

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.

Author
Stephen P Vickers steph.nosp@m.en@s.nosp@m.pvsof.nosp@m.twar.nosp@m.eprod.nosp@m.ucts.nosp@m..com
Version
3.1.0
Licence: http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3

Definition at line 24 of file DataConnector.php.

Constructor & Destructor Documentation

◆ __construct()

__construct (   $db,
  $dbTableNamePrefix = '' 
)

Class constructor.

Parameters
object | resource$dbDatabase connection object
string$dbTableNamePrefixPrefix for database table names (optional, default is none)

Definition at line 91 of file DataConnector.php.

References DataConnector\$db, and DataConnector\$dbTableNamePrefix.

Member Function Documentation

◆ deleteContext()

deleteContext (   $context)

Delete context object.

Parameters
Context$contextContext object
Returns
bool True if the Context object was successfully deleted

Definition at line 198 of file DataConnector.php.

◆ deleteResourceLink()

deleteResourceLink (   $resourceLink)

Delete resource link object.

Parameters
ResourceLink$resourceLinkResourceLink object
Returns
bool True if the resource link object was successfully deleted

Definition at line 246 of file DataConnector.php.

◆ deleteResourceLinkShareKey()

deleteResourceLinkShareKey (   $shareKey)

Delete resource link share key object.

Parameters
ResourceLinkShareKey$shareKeyResource link share key object
Returns
bool True if the resource link share key object was successfully deleted

Definition at line 345 of file DataConnector.php.

◆ deleteToolConsumer()

deleteToolConsumer (   $consumer)

Delete tool consumer object.

Parameters
ToolConsumer$consumerConsumer object
Returns
bool True if the tool consumer object was successfully deleted

Definition at line 140 of file DataConnector.php.

◆ deleteUserResult()

deleteUserResult (   $userresult)

Delete user object.

Parameters
UserResult$userresultUserResult object
Returns
bool True if the user object was successfully deleted

Definition at line 391 of file DataConnector.php.

◆ escape()

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.

Parameters
string$valueValue to be escaped
bool$addQuotesIf true the returned string will be enclosed in single quotes (optional, default is true)
Returns
string The escaped string.

Definition at line 483 of file DataConnector.php.

◆ getConsumerKey()

static getConsumerKey (   $key)
staticprotected

Return a hash of a consumer key for values longer than 255 characters.

Parameters
string$key
Returns
string

Definition at line 519 of file DataConnector.php.

Referenced by DataConnector_pdo\saveToolConsumer(), and DataConnector_oci\saveToolConsumer().

◆ getDataConnector()

static getDataConnector (   $db = null,
  $dbTableNamePrefix = '',
  $type = '' 
)
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.

Parameters
object | resource$dbA database connection object or string (optional, default is no persistence)
string$dbTableNamePrefixPrefix for database table names (optional, default is none)
string$typeThe type of data connector (optional, default is based on $db parameter)
Returns
DataConnector Data connector object

Definition at line 418 of file DataConnector.php.

References DataConnector\$db, and DataConnector\$dbTableNamePrefix.

Referenced by ToolConsumer\__construct().

◆ getRandomString()

static getRandomString (   $length = 8)
static

Generate a random string.

The generated string will only comprise letters (upper- and lower-case) and digits.

Parameters
int$lengthLength of string to be generated (optional, default is 8 characters)
Returns
string Random string

Definition at line 458 of file DataConnector.php.

Referenced by ToolConsumer\__construct(), ToolProvider\doToolProxyService(), and ResourceLinkShareKey\save().

◆ getSharesResourceLink()

getSharesResourceLink (   $resourceLink)

Get array of shares defined for this resource link.

Parameters
ResourceLink$resourceLinkResourceLink object
Returns
ResourceLinkShare[] Array of ResourceLinkShare objects

Definition at line 277 of file DataConnector.php.

◆ getToolConsumers()

getToolConsumers ( )

Load tool consumer objects.

Returns
ToolConsumer[] Array of all defined ToolConsumer objects

Definition at line 152 of file DataConnector.php.

◆ getUserResultSourcedIDsResourceLink()

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.

Parameters
ResourceLink$resourceLinkResource link object
bool$localOnlyTrue if only users within the resource link are to be returned (excluding users sharing this resource link)
int$idScopeScope value to use for user IDs
Returns
UserResult[] Array of UserResult objects

Definition at line 265 of file DataConnector.php.

◆ loadConsumerNonce()

loadConsumerNonce (   $nonce)

Load nonce object.

Parameters
ConsumerNonce$nonceNonce object
Returns
bool True if the nonce object was successfully loaded

Definition at line 293 of file DataConnector.php.

◆ loadContext()

loadContext (   $context)

Load context object.

Parameters
Context$contextContext object
Returns
bool True if the context object was successfully loaded

Definition at line 168 of file DataConnector.php.

◆ loadResourceLink()

loadResourceLink (   $resourceLink)

Load resource link object.

Parameters
ResourceLink$resourceLinkResourceLink object
Returns
bool True if the resource link object was successfully loaded

Definition at line 216 of file DataConnector.php.

◆ loadResourceLinkShareKey()

loadResourceLinkShareKey (   $shareKey)

Load resource link share key object.

Parameters
ResourceLinkShareKey$shareKeyResourceLink share key object
Returns
bool True if the resource link share key object was successfully loaded

Definition at line 321 of file DataConnector.php.

◆ loadToolConsumer()

loadToolConsumer (   $consumer)

Load tool consumer object.

Parameters
ToolConsumer$consumerToolConsumer object
Returns
bool True if the tool consumer object was successfully loaded

Definition at line 108 of file DataConnector.php.

◆ loadUserResult()

loadUserResult (   $userresult)

Load user object.

Parameters
UserResult$userresultUserResult object
Returns
bool True if the user object was successfully loaded

Definition at line 361 of file DataConnector.php.

◆ quoted()

static quoted (   $value,
  $addQuotes = true 
)
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.

Parameters
string$valueValue to be quoted
bool$addQuotesIf true the returned string will be enclosed in single quotes (optional, default is true)
Returns
string The quoted string.

Definition at line 499 of file DataConnector.php.

◆ saveConsumerNonce()

saveConsumerNonce (   $nonce)

Save nonce object.

Parameters
ConsumerNonce$nonceNonce object
Returns
bool True if the nonce object was successfully saved

Definition at line 305 of file DataConnector.php.

◆ saveContext()

saveContext (   $context)

Save context object.

Parameters
Context$contextContext object
Returns
bool True if the context object was successfully saved

Definition at line 184 of file DataConnector.php.

◆ saveResourceLink()

saveResourceLink (   $resourceLink)

Save resource link object.

Parameters
ResourceLink$resourceLinkResourceLink object
Returns
bool True if the resource link object was successfully saved

Definition at line 232 of file DataConnector.php.

◆ saveResourceLinkShareKey()

saveResourceLinkShareKey (   $shareKey)

Save resource link share key object.

Parameters
ResourceLinkShareKey$shareKeyResource link share key object
Returns
bool True if the resource link share key object was successfully saved

Definition at line 333 of file DataConnector.php.

◆ saveToolConsumer()

saveToolConsumer (   $consumer)

Save tool consumer object.

Parameters
ToolConsumer$consumerConsumer object
Returns
bool True if the tool consumer object was successfully saved

Definition at line 126 of file DataConnector.php.

◆ saveUserResult()

saveUserResult (   $userresult)

Save user object.

Parameters
UserResult$userresultUserResult object
Returns
bool True if the user object was successfully saved

Definition at line 377 of file DataConnector.php.

Field Documentation

◆ $dateFormat

string $dateFormat = 'Y-m-d'
protected

SQL date format (default = 'Y-m-d')

Definition at line 76 of file DataConnector.php.

◆ $db

object resource $db = null
protected

◆ $dbTableNamePrefix

string $dbTableNamePrefix = ''
protected

◆ $timeFormat

string $timeFormat = 'H:i:s'
protected

SQL time format (default = 'H:i:s')

Definition at line 83 of file DataConnector.php.

◆ CONSUMER_TABLE_NAME

const CONSUMER_TABLE_NAME = 'lti2_consumer'

Default name for database table used to store tool consumers.

Definition at line 30 of file DataConnector.php.

◆ CONTEXT_TABLE_NAME

const CONTEXT_TABLE_NAME = 'lti2_context'

Default name for database table used to store contexts.

Definition at line 35 of file DataConnector.php.

◆ NONCE_TABLE_NAME

const NONCE_TABLE_NAME = 'lti2_nonce'

Default name for database table used to store nonce values.

Definition at line 55 of file DataConnector.php.

◆ RESOURCE_LINK_SHARE_KEY_TABLE_NAME

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 50 of file DataConnector.php.

◆ RESOURCE_LINK_TABLE_NAME

const RESOURCE_LINK_TABLE_NAME = 'lti2_resource_link'

Default name for database table used to store resource links.

Definition at line 40 of file DataConnector.php.

◆ USER_RESULT_TABLE_NAME

const USER_RESULT_TABLE_NAME = 'lti2_user_result'

Default name for database table used to store users.

Definition at line 45 of file DataConnector.php.


The documentation for this class was generated from the following file: