LTI Integration Library 5.0.0-rc2
PHP class library for building LTI integrations
 
Loading...
Searching...
No Matches
Platform Class Reference

Class to represent a platform. More...

Inheritance diagram for Platform:
System ToolConsumer

Public Member Functions

 __construct ($dataConnector=null)
 Class constructor.
 
 initialize ()
 Initialise the platform.
 
 initialise ()
 Initialise the platform.
 
bool save ()
 Save the platform to the database.
 
bool delete ()
 Delete the platform from the database.
 
string getId ()
 Get the platform ID.
 
string getFamilyCode ()
 Get platform family code (as reported by last platform connection).
 
DataConnector null getDataConnector ()
 Get the data connector.
 
AccessToken getAccessToken ()
 Get the authorization access token.
 
 setAccessToken ($accessToken)
 Set the authorization access token.
 
bool getIsAvailable ()
 Is the platform available to accept launch requests?
 
bool hasToolSettingsService ()
 Check if the Tool Settings service is supported.
 
mixed getToolSettings ($simple=true)
 Get Tool Settings.
 
bool setToolSettings ($settings=array())
 Set Tool Settings.
 
array getTools ()
 Get an array of defined tools.
 
bool hasAccessTokenService ()
 Check if the Access Token service is supported.
 
array getMessageParameters ()
 Get the message parameters.
 
 handleRequest ()
 Process an incoming request.
 
- Public Member Functions inherited from System
int null getRecordId ()
 Get the system record ID.
 
 setRecordId ($id)
 Sets the system record ID.
 
string getKey ()
 Get the consumer key.
 
 setKey ($key)
 Set the consumer key.
 
string getSetting ($name, $default='')
 Get a setting value.
 
 setSetting ($name, $value=null)
 Set a setting value.
 
array getSettings ()
 Get an array of all setting values.
 
 setSettings ($settings)
 Set an array of all setting values.
 
bool saveSettings ()
 Save setting values.
 
bool hasJwt ()
 Check whether a JWT exists.
 
ClientInterface getJwt ()
 Get the JWT.
 
array getRawParameters ()
 Get the raw POST parameters.
 
array getMessageClaims ($fullyQualified=false)
 Get the message claims.
 
array string signParameters ($url, $type, $version, $params)
 Add the signature to an LTI message.
 
array string signMessage (&$url, $type, $version, $params, $loginHint=null, $ltiMessageHint=null)
 Add the signature to an LTI message.
 
string sendMessage ($url, $type, $messageParams, $target='', $userId=null, $hint=null)
 Generate a web page containing an auto-submitted form of LTI message parameters.
 
string signServiceRequest ($url, $method, $type, $data=null)
 Generates the headers for an LTI service request.
 
HttpMessage doServiceRequest ($service, $method, $format, $data)
 Perform a service request.
 
bool useOAuth1 ()
 Determine whether this consumer is using the OAuth 1 security model.
 
mixed addSignature ($endpoint, $data, $method='POST', $type=null, $nonce='', $hash=null, $timestamp=null)
 Add the signature to an array of message parameters or to a header string.
 
bool checkMessage ()
 Verify the required properties of an LTI message.
 
bool verifySignature ()
 Verify the signature of a message.
 

Static Public Member Functions

static Platform fromConsumerKey ($key=null, $dataConnector=null, $autoEnable=false)
 Load the platform from the database by its consumer key.
 
static Platform fromPlatformId ($platformId, $clientId, $deploymentId, $dataConnector=null, $autoEnable=false)
 Load the platform from the database by its platform, client and deployment IDs.
 
static Platform fromRecordId ($id, $dataConnector)
 Load the platform from the database by its record ID.
 
static string getStorageJS ()
 Get the JavaScript for handling storage postMessages from a tool.
 
- Static Public Member Functions inherited from System
static array parseRoles ($roles, $ltiVersion=Util::LTI_VERSION1, $addPrincipalRole=false)
 Parse a set of roles to comply with a specified version of LTI.
 

Public Attributes

string null $name = null
 Local name of platform.
 
string $platformId = null
 Platform ID.
 
string $clientId = null
 Client ID.
 
string $deploymentId = null
 Deployment ID.
 
string $authorizationServerId = null
 Authorization server ID.
 
string $authenticationUrl = null
 Login authentication URL.
 
string $accessTokenUrl = null
 Access Token service URL.
 
string null $ltiVersion = null
 LTI version (as reported by last platform connection).
 
string null $consumerName = null
 Name of platform (as reported by last platform connection).
 
string null $consumerVersion = null
 Platform version (as reported by last platform connection).
 
object null $profile = null
 The platform profile data.
 
object null $toolProxy = null
 The tool proxy.
 
string null $consumerGuid = null
 Platform GUID (as reported by first platform connection).
 
string null $cssPath = null
 Optional CSS path (as reported by last platform connection).
 
bool $protected = false
 Whether the platform instance is protected by matching the consumer_guid value in incoming requests.
 
int $idScope = Tool::ID_SCOPE_ID_ONLY
 Default scope to use when generating an Id value for a user.
 
string $defaultEmail = ''
 Default email address (or email domain) to use when no email address is provided for a user.
 
HttpMessage null $lastServiceRequest = null
 HttpMessage object for last service request.
 
- Public Attributes inherited from System
bool $ok = true
 True if the last request was successful.
 
string null $secret = null
 Shared secret.
 
string $signatureMethod = 'HMAC-SHA1'
 Method used for signing messages.
 
string $encryptionMethod = ''
 Algorithm used for encrypting messages.
 
DataConnector null $dataConnector = null
 Data connector object.
 
string null $rsaKey = null
 RSA key in PEM or JSON format.
 
array $requiredScopes = array()
 Scopes to request when obtaining an access token.
 
string null $kid = null
 Key ID.
 
string null $jku = null
 Endpoint for public key.
 
string null $reason = null
 Error message for last request processed.
 
array $details = array()
 Details for error message relating to last request processed.
 
bool $debugMode = false
 Whether debug level messages are to be reported.
 
bool $enabled = false
 Whether the system instance is enabled to accept connection requests.
 
int null $enableFrom = null
 Timestamp from which the the system instance is enabled to accept connection requests.
 
int null $enableUntil = null
 Timestamp until which the system instance is enabled to accept connection requests.
 
int null $lastAccess = null
 Timestamp for date of last connection to this system.
 
int null $created = null
 Timestamp for when the object was created.
 
int null $updated = null
 Timestamp for when the object was last updated.
 

Static Public Attributes

static $MESSAGE_TYPES
 List of supported incoming message types.
 
static string null $browserStorageFrame = null
 Name of browser storage frame.
 

Protected Member Functions

 onInitiateLogin (&$url, &$loginHint, &$ltiMessageHint, $params)
 Save the hint and message parameters when sending an initiate login request.
 
 onAuthenticate ()
 Check the hint and recover the message parameters for an authentication request.
 
 onContentItem ()
 Process a valid content-item message.
 
 onLtiStartAssessment ()
 Process a valid start assessment message.
 
 onError ()
 Process a response to an invalid message.
 

Additional Inherited Members

- Protected Attributes inherited from System
JWS null $jwt = null
 JWT object, if any.
 
array $rawParameters = null
 Raw message parameters.
 
array null $messageParameters = null
 LTI message parameters.
 

Detailed Description

Class to represent a platform.

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

Constructor & Destructor Documentation

◆ __construct()

__construct (   $dataConnector = null)

Class constructor.

Parameters
DataConnector$dataConnectorA data connector object

References System\$dataConnector, Context\getDataConnector(), and Platform\initialize().

Member Function Documentation

◆ delete()

bool delete ( )

Delete the platform from the database.

Returns
bool True if the object was successfully deleted

◆ fromConsumerKey()

static Platform fromConsumerKey (   $key = null,
  $dataConnector = null,
  $autoEnable = false 
)
static

Load the platform from the database by its consumer key.

Parameters
string$keyConsumer key
DataConnector$dataConnectorA data connector object
bool$autoEnabletrue if the platform is to be enabled automatically (optional, default is false)
Returns
Platform The platform object

References Util\logError().

Referenced by ToolConsumer\__construct(), and DataConnector_pdo\getPlatforms().

◆ fromPlatformId()

static Platform fromPlatformId (   $platformId,
  $clientId,
  $deploymentId,
  $dataConnector = null,
  $autoEnable = false 
)
static

Load the platform from the database by its platform, client and deployment IDs.

Parameters
string$platformIdThe platform ID
string$clientIdThe client ID
string$deploymentIdThe deployment ID
DataConnector$dataConnectorA data connector object
bool$autoEnableTrue if the platform is to be enabled automatically (optional, default is false)
Returns
Platform The platform object

References System\$dataConnector, System\$ok, and DataConnector\loadPlatform().

◆ fromRecordId()

static Platform fromRecordId (   $id,
  $dataConnector 
)
static

Load the platform from the database by its record ID.

Parameters
string$idThe platform record ID
DataConnector$dataConnectorA data connector object
Returns
Platform The platform object

◆ getAccessToken()

AccessToken getAccessToken ( )

Get the authorization access token.

Returns
AccessToken Access token

◆ getDataConnector()

DataConnector null getDataConnector ( )

Get the data connector.

Returns
DataConnector|null Data connector object or string

◆ getFamilyCode()

string getFamilyCode ( )

Get platform family code (as reported by last platform connection).

Returns
string Family code

◆ getId()

string getId ( )

Get the platform ID.

The ID will be the consumer key if one exists, otherwise a concatenation of the platform/client/deployment IDs

Returns
string Platform ID value

◆ getIsAvailable()

bool getIsAvailable ( )

Is the platform available to accept launch requests?

Returns
bool True if the platform is enabled and within any date constraints

◆ getMessageParameters()

array getMessageParameters ( )

Get the message parameters.

Returns
array The message parameter array

◆ getStorageJS()

static string getStorageJS ( )
static

Get the JavaScript for handling storage postMessages from a tool.

Returns
string The JavaScript to handle storage postMessages

◆ getTools()

array getTools ( )

Get an array of defined tools.

Returns
array Array of Tool objects

References System\$ok, and System\getSetting().

◆ getToolSettings()

mixed getToolSettings (   $simple = true)

Get Tool Settings.

Parameters
bool$simpleTrue if all the simple media type is to be used (optional, default is true)
Returns
mixed The array of settings if successful, otherwise false

◆ hasAccessTokenService()

bool hasAccessTokenService ( )

Check if the Access Token service is supported.

Returns
bool True if this platform supports the Access Token service

◆ hasToolSettingsService()

bool hasToolSettingsService ( )

Check if the Tool Settings service is supported.

Returns
bool True if this platform supports the Tool Settings service

◆ initialise()

initialise ( )

Initialise the platform.

Synonym for initialize().

◆ onAuthenticate()

onAuthenticate ( )
protected

Check the hint and recover the message parameters for an authentication request.

Override this method if the data has been saved elsewhere.

◆ onInitiateLogin()

onInitiateLogin ( $url,
$loginHint,
$ltiMessageHint,
  $params 
)
protected

Save the hint and message parameters when sending an initiate login request.

Override this method to save the data elsewhere.

Parameters
string$urlThe message URL
string$loginHintThe ID of the user
string$ltiMessageHintThe message hint being sent to the tool
array$paramsAn associative array of message parameters

◆ save()

bool save ( )

Save the platform to the database.

Returns
bool True if the object was successfully saved

◆ setAccessToken()

setAccessToken (   $accessToken)

Set the authorization access token.

Parameters
AccessToken$accessTokenAccess token

◆ setToolSettings()

bool setToolSettings (   $settings = array())

Set Tool Settings.

Parameters
array$settingsAn associative array of settings (optional, default is none)
Returns
bool True if action was successful, otherwise false

Member Data Documentation

◆ $accessTokenUrl

string $accessTokenUrl = null

Access Token service URL.

$accessTokenUrl

◆ $authenticationUrl

string $authenticationUrl = null

Login authentication URL.

$authenticationUrl

◆ $authorizationServerId

string $authorizationServerId = null

Authorization server ID.

$authorizationServerId

◆ $browserStorageFrame

string null $browserStorageFrame = null
static

Name of browser storage frame.

$browserStorageFrame

◆ $clientId

string $clientId = null

Client ID.

$clientId

◆ $consumerGuid

string null $consumerGuid = null

Platform GUID (as reported by first platform connection).

$consumerGuid

◆ $consumerName

string null $consumerName = null

Name of platform (as reported by last platform connection).

$consumerName

◆ $consumerVersion

string null $consumerVersion = null

Platform version (as reported by last platform connection).

$consumerVersion

◆ $cssPath

string null $cssPath = null

Optional CSS path (as reported by last platform connection).

$cssPath

◆ $defaultEmail

string $defaultEmail = ''

Default email address (or email domain) to use when no email address is provided for a user.

$defaultEmail

◆ $deploymentId

string $deploymentId = null

Deployment ID.

$deploymentId

◆ $idScope

int $idScope = Tool::ID_SCOPE_ID_ONLY

Default scope to use when generating an Id value for a user.

$idScope

◆ $lastServiceRequest

HttpMessage null $lastServiceRequest = null

HttpMessage object for last service request.

$lastServiceRequest

◆ $ltiVersion

string null $ltiVersion = null

LTI version (as reported by last platform connection).

$ltiVersion

◆ $MESSAGE_TYPES

$MESSAGE_TYPES
static
Initial value:
= array(
'ContentItemSelection',
'LtiStartAssessment'
)

List of supported incoming message types.

◆ $name

string null $name = null

Local name of platform.

$name

◆ $platformId

string $platformId = null

Platform ID.

$platformId

◆ $profile

object null $profile = null

The platform profile data.

$profile

◆ $protected

bool $protected = false

Whether the platform instance is protected by matching the consumer_guid value in incoming requests.

$protected

◆ $toolProxy

object null $toolProxy = null

The tool proxy.

$toolProxy


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