LTI Integration Library 5.2.0
PHP class library for building LTI integrations
 
Loading...
Searching...
No Matches
ceLTIc\LTI\Context Class Reference

Class to represent a platform context. More...

+ Inheritance diagram for ceLTIc\LTI\Context:

Public Member Functions

 __construct ()
 Class constructor.
 
void initialize ()
 Initialise the context.
 
void initialise ()
 Initialise the context.
 
bool save ()
 Save the context to the database.
 
bool delete ()
 Delete the context from the database.
 
Platform getPlatform ()
 Get platform.
 
void setPlatformId (?int $platformId)
 Set platform ID.
 
string getKey ()
 Get consumer key.
 
string null getId ()
 Get context ID.
 
int string null getRecordId ()
 Get the context record ID.
 
void setRecordId (int|string|null $id)
 Sets the context record ID.
 
DataConnector string getDataConnector ()
 Get the data connector.
 
string getSetting (string $name, string $default='')
 Get a setting value.
 
void setSetting (string $name, string|array|null $value=null)
 Set a setting value.
 
array getSettings ()
 Get an array of all setting values.
 
void setSettings (array $settings)
 Set an array of all setting values.
 
bool saveSettings ()
 Save setting values.
 
bool hasToolSettingsService ()
 Check if the Tool Settings service is available.
 
array bool getToolSettings (?ToolSettingsMode $mode=null, bool $simple=true)
 Get Tool Settings.
 
bool setToolSettings (array $settings=[])
 Set Tool Settings.
 
bool hasGroupService ()
 Check if a Course Group service is available.
 
bool getGroups ()
 Get course group sets and groups.
 
bool hasMembershipsService ()
 Check if a Membership service is available.
 
array bool getMemberships (bool $withGroups=false)
 Get Memberships.
 
bool hasLineItemService ()
 Check if the Line-item service is available.
 
bool hasScoreService ()
 Check if the Score service is available.
 
bool hasResultService ()
 Check if the Result service is available.
 
LineItem[] bool getLineItems (?string $resourceId=null, ?string $tag=null, ?int $limit=null)
 Get line-items.
 
bool createLineItem (LineItem $lineItem)
 Create a new line-item.
 

Static Public Member Functions

static Context fromRecordId (int $id, DataConnector $dataConnector)
 Load the context from the database.
 
static Context fromPlatform (Platform $platform, string $ltiContextId)
 Class constructor from platform.
 
- Static Public Member Functions inherited from ceLTIc\LTI\ApiHook\ApiHook
static void registerApiHook (string $hookName, string $familyCode, string $className)
 Register the availability of an API hook.
 

Public Attributes

string $ltiContextId = null
 Context ID as supplied in the last connection request.
 
string $title = null
 Context title.
 
string $type = null
 Context type.
 
array $groupSets = null
 User group sets (null if the platform does not support the groups enhancement)
 
array $groups = null
 User groups (null if the platform does not support the groups enhancement)
 
HttpMessage $lastServiceRequest = null
 HttpMessage object for last service request.
 
int $created = null
 Timestamp for when the object was created.
 
int $updated = null
 Timestamp for when the object was last updated.
 

Additional Inherited Members

- Static Public Attributes inherited from ceLTIc\LTI\ApiHook\ApiHook
static string $USER_ID_HOOK = "UserId"
 User Id hook name.
 
static string $CONTEXT_ID_HOOK = "ContextId"
 Context Id hook name.
 
static string $GROUPS_SERVICE_HOOK = "Groups"
 Course Groups service hook name.
 
static string $MEMBERSHIPS_SERVICE_HOOK = "Memberships"
 Memberships service hook name.
 
static string $OUTCOMES_SERVICE_HOOK = "Outcomes"
 Outcomes service hook name.
 
static string $TOOL_SETTINGS_SERVICE_HOOK = "ToolSettings"
 Tool Settings service hook name.
 
static string $ACCESS_TOKEN_SERVICE_HOOK = "AccessToken"
 Access Token service hook name.
 

Detailed Description

Class to represent a platform context.

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()

ceLTIc\LTI\Context::__construct ( )

Class constructor.

Member Function Documentation

◆ createLineItem()

bool ceLTIc\LTI\Context::createLineItem ( LineItem $lineItem)

Create a new line-item.

Parameters
LineItem$lineItemLine-item object
Returns
bool True if successful

References $ltiContextId.

◆ delete()

bool ceLTIc\LTI\Context::delete ( )

Delete the context from the database.

Returns
bool True if the context was successfully deleted.

◆ fromPlatform()

static Context ceLTIc\LTI\Context::fromPlatform ( Platform $platform,
string $ltiContextId )
static

Class constructor from platform.

Parameters
Platform$platformPlatform instance
string$ltiContextIdLTI Context ID value
Returns
Context

References getPlatform().

◆ fromRecordId()

static Context ceLTIc\LTI\Context::fromRecordId ( int $id,
DataConnector $dataConnector )
static

Load the context from the database.

Parameters
int$idRecord ID of context
DataConnector$dataConnectorDatabase connection object
Returns
Context Context object

References getDataConnector(), and initialize().

Referenced by ceLTIc\LTI\ResourceLink\getPlatform().

◆ getDataConnector()

DataConnector string ceLTIc\LTI\Context::getDataConnector ( )

Get the data connector.

Returns
DataConnector|string Data connector object or string

Referenced by fromRecordId(), and initialize().

◆ getGroups()

bool ceLTIc\LTI\Context::getGroups ( )

Get course group sets and groups.

Returns
bool True if the request was successful

References getPlatform(), getSetting(), ceLTIc\LTI\Service\Membership\MEDIA_TYPE_MEMBERSHIPS_NRPS, and ceLTIc\LTI\Service\Membership\MEDIA_TYPE_MEMBERSHIPS_V1.

◆ getId()

string null ceLTIc\LTI\Context::getId ( )

Get context ID.

Returns
string|null ID for this context.

◆ getKey()

string ceLTIc\LTI\Context::getKey ( )

Get consumer key.

Returns
string Consumer key value for this context.

◆ getLineItems()

LineItem[] bool ceLTIc\LTI\Context::getLineItems ( ?string $resourceId = null,
?string $tag = null,
?int $limit = null )

Get line-items.

Parameters
string | null$resourceIdTool resource ID
string | null$tagTag
int | null$limitLimit of line-items to be returned in each request, null for service default
Returns
LineItem[]|bool Array of LineItem objects or false on error

◆ getMemberships()

array bool ceLTIc\LTI\Context::getMemberships ( bool $withGroups = false)

Get Memberships.

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

References getSetting().

◆ getPlatform()

Platform ceLTIc\LTI\Context::getPlatform ( )

Get platform.

Returns
Platform Platform object for this context.

Referenced by fromPlatform(), getGroups(), getSettings(), hasToolSettingsService(), and ceLTIc\LTI\ResourceLink\initialise().

◆ getRecordId()

int string null ceLTIc\LTI\Context::getRecordId ( )

Get the context record ID.

Returns
int|string|null Context record ID value

Referenced by ceLTIc\LTI\DataConnector\DataConnector_mysqli\saveContext().

◆ getSetting()

string ceLTIc\LTI\Context::getSetting ( string $name,
string $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

Referenced by getGroups(), getMemberships(), getSettings(), hasLineItemService(), hasToolSettingsService(), setRecordId(), and setSettings().

◆ getSettings()

array ceLTIc\LTI\Context::getSettings ( )

Get an array of all setting values.

Returns
array Associative array of setting values

References getPlatform(), and getSetting().

◆ getToolSettings()

array bool ceLTIc\LTI\Context::getToolSettings ( ?ToolSettingsMode $mode = null,
bool $simple = true )

Get Tool Settings.

Parameters
ToolSettingsMode | null$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
array|bool The array of settings if successful, otherwise false

◆ hasGroupService()

bool ceLTIc\LTI\Context::hasGroupService ( )

Check if a Course Group service is available.

Returns
bool True if this context supports a Course Group service

◆ hasLineItemService()

bool ceLTIc\LTI\Context::hasLineItemService ( )

Check if the Line-item service is available.

Returns
bool True if this context supports the Line-item service

References ceLTIc\LTI\Service\Result\$SCOPE, and getSetting().

◆ hasMembershipsService()

bool ceLTIc\LTI\Context::hasMembershipsService ( )

Check if a Membership service is available.

Returns
bool True if this context supports a Memberships service

◆ hasResultService()

bool ceLTIc\LTI\Context::hasResultService ( )

Check if the Result service is available.

Returns
bool True if this context supports the Result service

◆ hasScoreService()

bool ceLTIc\LTI\Context::hasScoreService ( )

Check if the Score service is available.

Returns
bool True if this context supports the Score service

◆ hasToolSettingsService()

bool ceLTIc\LTI\Context::hasToolSettingsService ( )

Check if the Tool Settings service is available.

Returns
bool True if this context supports the Tool Settings service

References getPlatform(), and getSetting().

◆ initialise()

void ceLTIc\LTI\Context::initialise ( )

Initialise the context.

Synonym for initialize().

◆ initialize()

void ceLTIc\LTI\Context::initialize ( )

Initialise the context.

References getDataConnector().

Referenced by fromRecordId(), and ceLTIc\LTI\DataConnector\DataConnector\getPlatforms().

◆ save()

bool ceLTIc\LTI\Context::save ( )

Save the context to the database.

Returns
bool True if the context was successfully saved.

Referenced by setSetting().

◆ saveSettings()

bool ceLTIc\LTI\Context::saveSettings ( )

Save setting values.

Returns
bool True if the settings were successfully saved

◆ setPlatformId()

void ceLTIc\LTI\Context::setPlatformId ( ?int $platformId)

Set platform ID.

Parameters
int | null$platformIdPlatform ID for this context.

◆ setRecordId()

void ceLTIc\LTI\Context::setRecordId ( int|string|null $id)

Sets the context record ID.

Parameters
int | string | null$idContext record ID value

References getSetting().

◆ setSetting()

void ceLTIc\LTI\Context::setSetting ( string $name,
string|array|null $value = null )

Set a setting value.

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

References save().

◆ setSettings()

void ceLTIc\LTI\Context::setSettings ( array $settings)

Set an array of all setting values.

Parameters
array$settingsAssociative array of setting values

References getSetting().

◆ setToolSettings()

bool ceLTIc\LTI\Context::setToolSettings ( array $settings = [])

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

◆ $created

int ceLTIc\LTI\Context::$created = null

Timestamp for when the object was created.

◆ $groups

array ceLTIc\LTI\Context::$groups = null

User groups (null if the platform does not support the groups enhancement)

A group is represented by an associative array with the following elements:

  • title
  • tag
  • hidden
  • set (ID of group set, array of IDs if the group belongs to more than one set, omitted if the group is not part of a set) The array key value is the group ID.

◆ $groupSets

array ceLTIc\LTI\Context::$groupSets = null

User group sets (null if the platform does not support the groups enhancement)

A group set is represented by an associative array with the following elements:

  • title
  • tag
  • hidden
  • groups (array of group IDs)
  • num_members
  • num_staff
  • num_learners The array key value is the group set ID.

◆ $lastServiceRequest

HttpMessage ceLTIc\LTI\Context::$lastServiceRequest = null

HttpMessage object for last service request.

◆ $ltiContextId

string ceLTIc\LTI\Context::$ltiContextId = null

Context ID as supplied in the last connection request.

Referenced by createLineItem().

◆ $title

string ceLTIc\LTI\Context::$title = null

Context title.

◆ $type

string ceLTIc\LTI\Context::$type = null

Context type.

◆ $updated

int ceLTIc\LTI\Context::$updated = null

Timestamp for when the object was last updated.