LTI Tool Provider Library  3.0.2
PHP class library for building LTI Tool Providers
DataConnector Class Reference

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

Inheritance diagram for DataConnector:
DataConnector_mysql DataConnector_pdo DataConnector_pdo_sqlite

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...
 

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 svick.nosp@m.ers@.nosp@m.imsgl.nosp@m.obal.nosp@m..org
Date
2016
Version
3.0.0
Licence:
http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0

Definition at line 25 of file DataConnector.php.

Constructor & Destructor Documentation

__construct (   $db,
  $dbTableNamePrefix = '' 
)

Class constructor.

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

Definition at line 88 of file DataConnector.php.

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

Member Function Documentation

deleteContext (   $context)

Delete context object.

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

Definition at line 264 of file DataConnector.php.

deleteResourceLink (   $resourceLink)

Delete resource link object.

Parameters
ResourceLink$resourceLinkResource_Link object
Returns
boolean True if the resource link object was successfully deleted

Definition at line 318 of file DataConnector.php.

deleteResourceLinkShareKey (   $shareKey)

Delete resource link share key object.

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

Definition at line 430 of file DataConnector.php.

deleteToolConsumer (   $consumer)

Delete tool consumer object.

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

Definition at line 143 of file DataConnector.php.

deleteToolProxy (   $toolProxy)

Delete tool proxy object.

Parameters
ToolProxy$toolProxyToolProxy object
Returns
boolean True if the tool proxy object was successfully deleted

Definition at line 210 of file DataConnector.php.

deleteUser (   $user)

Delete user object.

Parameters
User$userUser object
Returns
boolean True if the user object was successfully deleted

Definition at line 482 of file DataConnector.php.

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

Referenced by DataConnector_mysql\loadToolConsumer(), DataConnector_pdo\loadToolConsumer(), DataConnector_mysql\saveToolConsumer(), and DataConnector_pdo\saveToolConsumer().

static getDataConnector (   $dbTableNamePrefix = '',
  $db = null,
  $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
string$dbTableNamePrefixPrefix for database table names (optional, default is none)
object$dbA database connection object or string (optional, default is no persistence)
string$typeThe type of data connector (optional, default is based on $db parameter)
Returns
DataConnector Data connector object

Definition at line 529 of file DataConnector.php.

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

Referenced by ToolConsumer\__construct().

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 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.

Parameters
ResourceLink$resourceLinkResource_Link object
Returns
array Array of ResourceLinkShare objects

Definition at line 353 of file DataConnector.php.

getToolConsumers ( )

Load tool consumer objects.

Returns
array Array of all defined ToolConsumer 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.

Parameters
ResourceLink$resourceLinkResource link object
boolean$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
array Array of User objects

Definition at line 339 of file DataConnector.php.

loadConsumerNonce (   $nonce)

Load nonce object.

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

Definition at line 371 of file DataConnector.php.

loadContext (   $context)

Load context object.

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

Definition at line 230 of file DataConnector.php.

loadResourceLink (   $resourceLink)

Load resource link object.

Parameters
ResourceLink$resourceLinkResource_Link object
Returns
boolean True if the resource link object was successfully loaded

Definition at line 284 of file DataConnector.php.

loadResourceLinkShareKey (   $shareKey)

Load resource link share key object.

Parameters
ResourceLinkShareKey$shareKeyResource_Link share key object
Returns
boolean True if the resource link share key object was successfully loaded

Definition at line 402 of file DataConnector.php.

loadToolConsumer (   $consumer)

Load tool consumer object.

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

Definition at line 107 of file DataConnector.php.

loadToolProxy (   $toolProxy)

Load tool proxy object.

Parameters
ToolProxy$toolProxyToolProxy object
Returns
boolean True if the tool proxy object was successfully loaded

Definition at line 176 of file DataConnector.php.

loadUser (   $user)

Load user object.

Parameters
User$userUser object
Returns
boolean True if the user object was successfully loaded

Definition at line 448 of file DataConnector.php.

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 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.

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

Definition at line 384 of file DataConnector.php.

saveContext (   $context)

Save context object.

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

Definition at line 248 of file DataConnector.php.

saveResourceLink (   $resourceLink)

Save resource link object.

Parameters
ResourceLink$resourceLinkResource_Link object
Returns
boolean True if the resource link object was successfully saved

Definition at line 302 of file DataConnector.php.

saveResourceLinkShareKey (   $shareKey)

Save resource link share key object.

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

Definition at line 416 of file DataConnector.php.

saveToolConsumer (   $consumer)

Save tool consumer object.

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

Definition at line 127 of file DataConnector.php.

saveToolProxy (   $toolProxy)

Save tool proxy object.

Parameters
ToolProxy$toolProxyToolProxy object
Returns
boolean True if the tool proxy object was successfully saved

Definition at line 194 of file DataConnector.php.

saveUser (   $user)

Save user object.

Parameters
User$userUser object
Returns
boolean True if the user object was successfully saved

Definition at line 466 of file DataConnector.php.

Field Documentation

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

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

Definition at line 74 of file DataConnector.php.

object $db = null
protected
string $dbTableNamePrefix = ''
protected

Prefix for database table names.

Definition at line 68 of file DataConnector.php.

Referenced by DataConnector_pdo\__construct(), DataConnector\__construct(), and DataConnector\getDataConnector().

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

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

Definition at line 80 of file DataConnector.php.

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.


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