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

Class to represent a tool consumer resource link. More...

Inheritance diagram for ResourceLink:
ApiHook

Public Member Functions

 __construct ()
 Class constructor. More...
 
 initialize ()
 Initialise the resource link. More...
 
 initialise ()
 Initialise the resource link. More...
 
 save ()
 Save the resource link to the database. More...
 
 delete ()
 Delete the resource link from the database. More...
 
 getConsumer ()
 Get tool consumer. More...
 
 getConsumerId ()
 Get tool consumer ID. More...
 
 setConsumerId ($consumerId)
 Set tool consumer ID. More...
 
 getContext ()
 Get context. More...
 
 getContextId ()
 Get context record ID. More...
 
 setContextId ($contextId)
 Set context ID. More...
 
 getKey ()
 Get tool consumer key. More...
 
 getId ()
 Get resource link ID. More...
 
 getRecordId ()
 Get resource link record ID. More...
 
 setRecordId ($id)
 Set resource link record ID. More...
 
 getDataConnector ()
 Get the data connector. More...
 
 getSetting ($name, $default='')
 Get a setting value. More...
 
 setSetting ($name, $value=null)
 Set a setting value. More...
 
 getSettings ()
 Get an array of all setting values. More...
 
 setSettings ($settings)
 Set an array of all setting values. More...
 
 saveSettings ()
 Save setting values. More...
 
 hasOutcomesService ()
 Check if an Outcomes service is available. More...
 
 hasMembershipsService ()
 Check if a Memberships service is available. More...
 
 hasSettingService ()
 Check if the Setting extension service is available. More...
 
 doOutcomesService ($action, $ltiOutcome, $userresult)
 Perform an Outcomes service request. More...
 
 doMembershipsService ($withGroups=false)
 Perform a Memberships extension service request. More...
 
 doSettingService ($action, $value=null)
 Perform a Setting service request. More...
 
 hasToolSettingsService ()
 Check if the Tool Settings service is available. More...
 
 getToolSettings ($mode=Service\ToolSettings::MODE_CURRENT_LEVEL, $simple=true)
 Get Tool Settings. More...
 
 setToolSettings ($settings=array())
 Perform a Tool Settings service request. More...
 
 hasMembershipService ()
 Check if the Membership service is supported. More...
 
 getMembership ()
 Get Membership. More...
 
 getMemberships ($withGroups=false)
 Get Memberships. More...
 
 getUserResultSourcedIDs ($localOnly=false, $idScope=null)
 Obtain an array of UserResult objects for users with a result sourcedId. More...
 
 getShares ()
 Get an array of ResourceLinkShare objects for each resource link which is sharing this context. More...
 

Static Public Member Functions

static fromConsumer ($consumer, $ltiResourceLinkId, $tempId=null)
 Class constructor from consumer. More...
 
static fromContext ($context, $ltiResourceLinkId, $tempId=null)
 Class constructor from context. More...
 
static fromRecordId ($id, $dataConnector)
 Load the resource link from the database. More...
 
- Static Public Member Functions inherited from ApiHook
static registerApiHook ($hookName, $familyCode, $className)
 Register the availability of an API hook. More...
 

Data Fields

const EXT_READ = 1
 Read action. More...
 
const EXT_WRITE = 2
 Write (create/update) action. More...
 
const EXT_DELETE = 3
 Delete action. More...
 
const EXT_CREATE = 4
 Create action. More...
 
const EXT_UPDATE = 5
 Update action. More...
 
const EXT_TYPE_DECIMAL = 'decimal'
 Decimal outcome type. More...
 
const EXT_TYPE_PERCENTAGE = 'percentage'
 Percentage outcome type. More...
 
const EXT_TYPE_RATIO = 'ratio'
 Ratio outcome type. More...
 
const EXT_TYPE_LETTER_AF = 'letteraf'
 Letter (A-F) outcome type. More...
 
const EXT_TYPE_LETTER_AF_PLUS = 'letterafplus'
 Letter (A-F) with optional +/- outcome type. More...
 
const EXT_TYPE_PASS_FAIL = 'passfail'
 Pass/fail outcome type. More...
 
const EXT_TYPE_TEXT = 'freetext'
 Free text outcome type. More...
 
 $title = null
 Context title. More...
 
 $ltiResourceLinkId = null
 Resource link ID as supplied in the last connection request. More...
 
 $groupSets = null
 UserResult group sets (null if the consumer does not support the groups enhancement) More...
 
 $groups = null
 UserResult groups (null if the consumer does not support the groups enhancement) More...
 
 $lastServiceRequest = null
 HTTPMessage object for last service request. More...
 
 $extRequest = null
 Request for last service request. More...
 
 $extRequestHeaders = null
 Request headers for last service request. More...
 
 $extResponse = null
 Response from last service request. More...
 
 $extResponseHeaders = null
 Response header from last service request. More...
 
 $primaryResourceLinkId = null
 Consumer key value for resource link being shared (if any). More...
 
 $shareApproved = null
 Whether the sharing request has been approved by the primary resource link. More...
 
 $created = null
 Timestamp for when the object was created. More...
 
 $updated = null
 Timestamp for when the object was last updated. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ApiHook
static $USER_ID_HOOK = "UserId"
 User Id hook name. More...
 
static $CONTEXT_ID_HOOK = "ContextId"
 Context Id hook name. More...
 
static $MEMBERSHIPS_SERVICE_HOOK = "Memberships"
 Memberships service hook name. More...
 
static $OUTCOMES_SERVICE_HOOK = "Outcomes"
 Outcomes service hook name. More...
 
static $TOOL_SETTINGS_SERVICE_HOOK = "ToolSettings"
 Tool Settings service hook name. More...
 

Detailed Description

Class to represent a tool consumer resource link.

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 20 of file ResourceLink.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( )

Class constructor.

Definition at line 247 of file ResourceLink.php.

References ResourceLink\initialize().

Member Function Documentation

◆ delete()

delete ( )

Delete the resource link from the database.

Returns
bool True if the resource link was successfully deleted.

Definition at line 297 of file ResourceLink.php.

References ResourceLink\getDataConnector().

◆ doMembershipsService()

doMembershipsService (   $withGroups = false)

Perform a Memberships extension service request.

The userResult table is updated with any user objects with lis_result_sourcedid values.

Deprecated:
Use getMemberships instead
See also
ResourceLink::getMemberships()
Parameters
bool$withGroupsTrue is group information is to be requested as well
Returns
mixed Array of UserResult objects or False if the request was not successful

Definition at line 692 of file ResourceLink.php.

References ResourceLink\getMemberships().

◆ doOutcomesService()

doOutcomesService (   $action,
  $ltiOutcome,
  $userresult 
)

Perform an Outcomes service request.

Parameters
int$actionThe action type constant
Outcome$ltiOutcomeOutcome object
UserResult$userresultUserResult object
Returns
string|bool Outcome value read or true if the request was successfully processed

Definition at line 555 of file ResourceLink.php.

References ResourceLink\EXT_DELETE, ResourceLink\EXT_READ, ResourceLink\EXT_WRITE, and ResourceLink\getConsumer().

◆ doSettingService()

doSettingService (   $action,
  $value = null 
)

Perform a Setting service request.

Parameters
int$actionThe action type constant
string$valueThe setting value (optional, default is null)
Returns
mixed The setting value for a read action, true if a write or delete action was successful, otherwise false

Definition at line 705 of file ResourceLink.php.

References ResourceLink\EXT_DELETE, ResourceLink\EXT_READ, ResourceLink\EXT_WRITE, ResourceLink\getSetting(), ResourceLink\saveSettings(), and ResourceLink\setSetting().

◆ fromConsumer()

static fromConsumer (   $consumer,
  $ltiResourceLinkId,
  $tempId = null 
)
static

Class constructor from consumer.

Parameters
ToolConsumer$consumerConsumer object
string$ltiResourceLinkIdResource link ID value
string$tempIdTemporary Resource link ID value (optional, default is null)
Returns
ResourceLink

Definition at line 1010 of file ResourceLink.php.

References ResourceLink\$ltiResourceLinkId.

◆ fromContext()

static fromContext (   $context,
  $ltiResourceLinkId,
  $tempId = null 
)
static

Class constructor from context.

Parameters
Context$contextContext object
string$ltiResourceLinkIdResource link ID value
string$tempIdTemporary Resource link ID value (optional, default is null)
Returns
ResourceLink

Definition at line 1037 of file ResourceLink.php.

References ResourceLink\$ltiResourceLinkId.

◆ fromRecordId()

static fromRecordId (   $id,
  $dataConnector 
)
static

Load the resource link from the database.

Parameters
int$idRecord ID of resource link
DataConnector$dataConnectorDatabase connection object
Returns
ResourceLink ResourceLink object

Definition at line 1064 of file ResourceLink.php.

Referenced by UserResult\getResourceLink().

◆ getConsumer()

◆ getConsumerId()

getConsumerId ( )

Get tool consumer ID.

Returns
int|null Tool Consumer ID for this resource link.

Definition at line 325 of file ResourceLink.php.

◆ getContext()

getContext ( )

Get context.

Returns
Context|null LTIContext object for this resource link.

Definition at line 346 of file ResourceLink.php.

References Context\fromRecordId(), and ResourceLink\getDataConnector().

Referenced by ResourceLink\getConsumer(), ResourceLink\getMemberships(), and ResourceLink\hasMembershipsService().

◆ getContextId()

getContextId ( )

Get context record ID.

Returns
int|null Context record ID for this resource link.

Definition at line 360 of file ResourceLink.php.

◆ getDataConnector()

getDataConnector ( )

Get the data connector.

Returns
DataConnector|null Data connector object or string

Definition at line 421 of file ResourceLink.php.

Referenced by ResourceLink\delete(), ResourceLink\getConsumer(), ResourceLink\getContext(), ResourceLink\getShares(), ResourceLink\getUserResultSourcedIDs(), and ResourceLink\save().

◆ getId()

getId ( )

Get resource link ID.

Returns
string ID for this resource link.

Definition at line 391 of file ResourceLink.php.

References ResourceLink\$ltiResourceLinkId.

◆ getKey()

getKey ( )

Get tool consumer key.

Returns
string Consumer key value for this resource link.

Definition at line 381 of file ResourceLink.php.

References ResourceLink\getConsumer().

◆ getMembership()

getMembership ( )

Get Membership.

Deprecated:
Use getMemberships instead
See also
ResourceLink::getMemberships()
Returns
mixed The array of UserResult objects if successful, otherwise false

Definition at line 843 of file ResourceLink.php.

References ResourceLink\getMemberships().

◆ getMemberships()

getMemberships (   $withGroups = false)

Get Memberships.

Parameters
bool$withGroupsTrue is group information is to be requested as well
Returns
mixed The array of UserResult objects if successful, otherwise false

Definition at line 855 of file ResourceLink.php.

References ResourceLink\$groups, UserResult\fromResourceLink(), ResourceLink\getConsumer(), ResourceLink\getContext(), ResourceLink\getSetting(), ResourceLink\getUserResultSourcedIDs(), ToolProvider\ID_SCOPE_RESOURCE, and ToolProvider\parseRoles().

Referenced by ResourceLink\doMembershipsService(), and ResourceLink\getMembership().

◆ getRecordId()

getRecordId ( )

Get resource link record ID.

Returns
int|null Record ID for this resource link.

Definition at line 401 of file ResourceLink.php.

◆ getSetting()

getSetting (   $name,
  $default = '' 
)

Get a setting value.

Parameters
string$nameName of setting
string$defaultValue to return if the setting does not exist (optional, default is an empty string)
Returns
string Setting value

Definition at line 434 of file ResourceLink.php.

Referenced by ResourceLink\doSettingService(), ResourceLink\getMemberships(), ResourceLink\getToolSettings(), ResourceLink\hasMembershipsService(), ResourceLink\hasOutcomesService(), ResourceLink\hasSettingService(), ResourceLink\hasToolSettingsService(), ResourceLink\setSetting(), and ResourceLink\setToolSettings().

◆ getSettings()

getSettings ( )

Get an array of all setting values.

Returns
array Associative array of setting values

Definition at line 469 of file ResourceLink.php.

◆ getShares()

getShares ( )

Get an array of ResourceLinkShare objects for each resource link which is sharing this context.

Returns
ResourceLinkShare[] Array of ResourceLinkShare objects

Definition at line 996 of file ResourceLink.php.

References ResourceLink\getDataConnector().

◆ getToolSettings()

getToolSettings (   $mode = Service\ToolSettings::MODE_CURRENT_LEVEL,
  $simple = true 
)

Get Tool Settings.

Parameters
int$modeMode for request (optional, default is current level only)
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

Definition at line 777 of file ResourceLink.php.

References ResourceLink\getConsumer(), and ResourceLink\getSetting().

◆ getUserResultSourcedIDs()

getUserResultSourcedIDs (   $localOnly = false,
  $idScope = null 
)

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
bool$localOnlyTrue if only users from this resource link are to be returned, not users from shared resource links (optional, default is false)
int$idScopeScope to use for ID values (optional, default is null for consumer default)
Returns
UserResult[] Array of UserResult objects

Definition at line 986 of file ResourceLink.php.

References ResourceLink\getDataConnector().

Referenced by ResourceLink\getMemberships().

◆ hasMembershipService()

hasMembershipService ( )

Check if the Membership service is supported.

Deprecated:
Use hasMembershipsService instead
See also
ResourceLink::hasMembershipsService()
Returns
bool True if this resource link supports the Membership service

Definition at line 830 of file ResourceLink.php.

References ResourceLink\hasMembershipsService().

◆ hasMembershipsService()

hasMembershipsService ( )

Check if a Memberships service is available.

Returns
bool True if this resource link supports a Memberships service

Definition at line 519 of file ResourceLink.php.

References ResourceLink\getConsumer(), ResourceLink\getContext(), and ResourceLink\getSetting().

Referenced by ResourceLink\hasMembershipService().

◆ hasOutcomesService()

hasOutcomesService ( )

Check if an Outcomes service is available.

Returns
bool True if this resource link supports an Outcomes service

Definition at line 505 of file ResourceLink.php.

References ResourceLink\getConsumer(), and ResourceLink\getSetting().

◆ hasSettingService()

hasSettingService ( )

Check if the Setting extension service is available.

Returns
bool True if this resource link supports the Setting extension service

Definition at line 539 of file ResourceLink.php.

References ResourceLink\getSetting().

◆ hasToolSettingsService()

hasToolSettingsService ( )

Check if the Tool Settings service is available.

Returns
bool True if this resource link supports the Tool Settings service

Definition at line 760 of file ResourceLink.php.

References ResourceLink\getConsumer(), and ResourceLink\getSetting().

◆ initialise()

initialise ( )

Initialise the resource link.

Pseudonym for initialize().

Definition at line 272 of file ResourceLink.php.

References ResourceLink\initialize().

◆ initialize()

initialize ( )

Initialise the resource link.

Definition at line 255 of file ResourceLink.php.

Referenced by ResourceLink\__construct(), and ResourceLink\initialise().

◆ save()

save ( )

Save the resource link to the database.

Returns
bool True if the resource link was successfully saved.

Definition at line 282 of file ResourceLink.php.

References ResourceLink\getDataConnector().

Referenced by ResourceLink\saveSettings().

◆ saveSettings()

saveSettings ( )

Save setting values.

Returns
bool True if the settings were successfully saved

Definition at line 489 of file ResourceLink.php.

References ResourceLink\save().

Referenced by ResourceLink\doSettingService().

◆ setConsumerId()

setConsumerId (   $consumerId)

Set tool consumer ID.

Parameters
int$consumerIdTool Consumer ID for this resource link.

Definition at line 335 of file ResourceLink.php.

◆ setContextId()

setContextId (   $contextId)

Set context ID.

Parameters
int$contextIdContext ID for this resource link.

Definition at line 370 of file ResourceLink.php.

◆ setRecordId()

setRecordId (   $id)

Set resource link record ID.

Parameters
int$idRecord ID for this resource link.

Definition at line 411 of file ResourceLink.php.

◆ setSetting()

setSetting (   $name,
  $value = null 
)

Set a setting value.

Parameters
string$nameName of setting
string$valueValue to set, use an empty value to delete a setting (optional, default is null)

Definition at line 451 of file ResourceLink.php.

References ResourceLink\getSetting().

Referenced by ResourceLink\doSettingService().

◆ setSettings()

setSettings (   $settings)

Set an array of all setting values.

Parameters
array$settingsAssociative array of setting values

Definition at line 479 of file ResourceLink.php.

◆ setToolSettings()

setToolSettings (   $settings = array())

Perform a Tool Settings service request.

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

Definition at line 804 of file ResourceLink.php.

References ResourceLink\getConsumer(), and ResourceLink\getSetting().

Field Documentation

◆ $created

int null $created = null

Timestamp for when the object was created.

Definition at line 165 of file ResourceLink.php.

◆ $extRequest

string null $extRequest = null

Request for last service request.

Definition at line 123 of file ResourceLink.php.

◆ $extRequestHeaders

array null $extRequestHeaders = null

Request headers for last service request.

Definition at line 130 of file ResourceLink.php.

◆ $extResponse

string null $extResponse = null

Response from last service request.

Definition at line 137 of file ResourceLink.php.

◆ $extResponseHeaders

array null $extResponseHeaders = null

Response header from last service request.

Definition at line 144 of file ResourceLink.php.

◆ $groups

array null $groups = null

UserResult groups (null if the consumer does not support the groups enhancement)

Definition at line 109 of file ResourceLink.php.

Referenced by ResourceLink\getMemberships().

◆ $groupSets

array null $groupSets = null

UserResult group sets (null if the consumer does not support the groups enhancement)

Definition at line 102 of file ResourceLink.php.

◆ $lastServiceRequest

HTTPMessage null $lastServiceRequest = null

HTTPMessage object for last service request.

Definition at line 116 of file ResourceLink.php.

◆ $ltiResourceLinkId

string null $ltiResourceLinkId = null

Resource link ID as supplied in the last connection request.

Definition at line 95 of file ResourceLink.php.

Referenced by ResourceLink\fromConsumer(), ResourceLink\fromContext(), and ResourceLink\getId().

◆ $primaryResourceLinkId

string null $primaryResourceLinkId = null

Consumer key value for resource link being shared (if any).

Definition at line 151 of file ResourceLink.php.

◆ $shareApproved

bool null $shareApproved = null

Whether the sharing request has been approved by the primary resource link.

Definition at line 158 of file ResourceLink.php.

◆ $title

string null $title = null

Context title.

Definition at line 88 of file ResourceLink.php.

◆ $updated

int null $updated = null

Timestamp for when the object was last updated.

Definition at line 172 of file ResourceLink.php.

◆ EXT_CREATE

const EXT_CREATE = 4

Create action.

Definition at line 41 of file ResourceLink.php.

◆ EXT_DELETE

const EXT_DELETE = 3

Delete action.

Definition at line 36 of file ResourceLink.php.

Referenced by ResourceLink\doOutcomesService(), and ResourceLink\doSettingService().

◆ EXT_READ

const EXT_READ = 1

Read action.

Definition at line 26 of file ResourceLink.php.

Referenced by ResourceLink\doOutcomesService(), and ResourceLink\doSettingService().

◆ EXT_TYPE_DECIMAL

const EXT_TYPE_DECIMAL = 'decimal'

Decimal outcome type.

Definition at line 51 of file ResourceLink.php.

◆ EXT_TYPE_LETTER_AF

const EXT_TYPE_LETTER_AF = 'letteraf'

Letter (A-F) outcome type.

Definition at line 66 of file ResourceLink.php.

◆ EXT_TYPE_LETTER_AF_PLUS

const EXT_TYPE_LETTER_AF_PLUS = 'letterafplus'

Letter (A-F) with optional +/- outcome type.

Definition at line 71 of file ResourceLink.php.

◆ EXT_TYPE_PASS_FAIL

const EXT_TYPE_PASS_FAIL = 'passfail'

Pass/fail outcome type.

Definition at line 76 of file ResourceLink.php.

◆ EXT_TYPE_PERCENTAGE

const EXT_TYPE_PERCENTAGE = 'percentage'

Percentage outcome type.

Definition at line 56 of file ResourceLink.php.

◆ EXT_TYPE_RATIO

const EXT_TYPE_RATIO = 'ratio'

Ratio outcome type.

Definition at line 61 of file ResourceLink.php.

◆ EXT_TYPE_TEXT

const EXT_TYPE_TEXT = 'freetext'

Free text outcome type.

Definition at line 81 of file ResourceLink.php.

◆ EXT_UPDATE

const EXT_UPDATE = 5

Update action.

Definition at line 46 of file ResourceLink.php.

◆ EXT_WRITE

const EXT_WRITE = 2

Write (create/update) action.

Definition at line 31 of file ResourceLink.php.

Referenced by ResourceLink\doOutcomesService(), and ResourceLink\doSettingService().


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