class Link extends Entity

This is a class to provide access to the resource link level data.

This data comes from the LTI launch from the LMS. A resource_link may or may not be in a context. If there is a link without a context, it is a "system-wide" link like "view profile" or "show all courses"

Traits

This is a class holding convienence methods to access settings from core objects.
This is a trait convienence methods to access the session from the launch object
This is a class holding convienence methods to access the json column for the core objects.

Properties

$launch A reference to our containing launch from Entity
$settingsDebugArray from SettingsTrait
protected $TABLE_NAME
protected $PRIMARY_KEY
protected $ENTITY_NAME
$id The integer primary key for this link in the 'lti_link' table.
$title The link title
$grade The current grade for the user
$result_id The result_id for the link (if set)
$activity The count of the overall activity on this link at the moment of launch
$user_activity The count of the user's activity on this link at the moment of launch

Methods

session_get($key, $default = null)

Get a key from the session

session_put($key, $value)

Set a key in the session

session_forget($key)

Forget a key in the session

session_flush()

Flush the session

ltiRawPostArray()

Return the original $_POST array

ltiParameter($varname, $default = false)

Pull a keyed variable from the original LTI post data in the current session with default

ltiParameterUpdate($varname, $value)

Update a keyed variable from the original LTI post data in the current session with default

ltiRawParameter($varname, $default = false)

Pull a keyed variable from the original LTI post data in the current session with default

ltiCustomGet($varname, $default = false)

Pull out a custom variable from the LTIX session. Do not include the "custom_" prefix - this is automatic.

string
getJson()

Load the json field for this entity

from JsonTrait
getJsonKey($key, $default = false)

Get a JSON key for this entity

from JsonTrait
setJson($json)

Set the JSON entry for this entity

from JsonTrait
setJsonKey($key, $value)

Set/update a JSON key for this entity

from JsonTrait
setJsonKeys($values)

Set/update an array of JSON keys for this entity

from JsonTrait
settingsGetAll()

Retrieve an array of all of the settings

settingsGet($key, $default = false)

Retrieve a particular key from the settings.

settingsSet($key, $value)

Update a single key in settings

settingsUpdate($keyvals)

Set or update a number of keys to new values in link settings.

settingsSetAll($new_settings)

Replace all the settings (Dangerous)

settingsDebug()

Retrieve the debug array for the last operation.

static 
loadLinkInfo($link_id)

Load link information for a different link than current

getPlacementSecret()

Get the placement secret for this Link

settingsDefaultsFromCustom($keys)

Load defaults from custom parameters once

Details

in SessionTrait at line 17
session_get($key, $default = null)

Get a key from the session

Parameters

$key
$default

in SessionTrait at line 24
session_put($key, $value)

Set a key in the session

Parameters

$key
$value

in SessionTrait at line 31
session_forget($key)

Forget a key in the session

Parameters

$key

in SessionTrait at line 38
session_flush()

Flush the session

in SessionTrait at line 45
ltiRawPostArray()

Return the original $_POST array

in SessionTrait at line 53
ltiParameter($varname, $default = false)

Pull a keyed variable from the original LTI post data in the current session with default

Parameters

$varname
$default

in SessionTrait at line 60
ltiParameterUpdate($varname, $value)

Update a keyed variable from the original LTI post data in the current session with default

Parameters

$varname
$value

in SessionTrait at line 68
ltiRawParameter($varname, $default = false)

Pull a keyed variable from the original LTI post data in the current session with default

Parameters

$varname
$default

in SessionTrait at line 76
ltiCustomGet($varname, $default = false)

Pull out a custom variable from the LTIX session. Do not include the "custom_" prefix - this is automatic.

Parameters

$varname
$default

in JsonTrait at line 21
string getJson()

Load the json field for this entity

Return Value

string This returns the json string - it is not parsed - if there is nothing to return - this returns "false"

in JsonTrait at line 41
getJsonKey($key, $default = false)

Get a JSON key for this entity

Parameters

$key
$default

in JsonTrait at line 58
setJson($json)

Set the JSON entry for this entity

Parameters

$json

in JsonTrait at line 75
setJsonKey($key, $value)

Set/update a JSON key for this entity

Parameters

$key
$value

in JsonTrait at line 93
setJsonKeys($values)

Set/update an array of JSON keys for this entity

Parameters

$values

in SettingsTrait at line 23
settingsGetAll()

Retrieve an array of all of the settings

If there are no settings, return an empty array.

in SettingsTrait at line 69
settingsGet($key, $default = false)

Retrieve a particular key from the settings.

Returns the value found in settings or false if the key was not found.

Parameters

$key
  • The key to get from the settings.
$default
  • What to return if the key is not present

in SettingsTrait at line 82
settingsSet($key, $value)

Update a single key in settings

Parameters

$key
$value

in SettingsTrait at line 95
settingsUpdate($keyvals)

Set or update a number of keys to new values in link settings.

Parameters

$keyvals

in SettingsTrait at line 118
protected settingsSetAll($new_settings)

Replace all the settings (Dangerous)

Parameters

$new_settings

in SettingsTrait at line 154
settingsDebug()

Retrieve the debug array for the last operation.

at line 72
static loadLinkInfo($link_id)

Load link information for a different link than current

Make sure not to cross Context silos.

Returns a row or false.

Parameters

$link_id

at line 92
getPlacementSecret()

Get the placement secret for this Link

at line 126
settingsDefaultsFromCustom($keys)

Load defaults from custom parameters once

Example:

$LAUNCH->link->settingsDefaultsFromCustom(array('tries', 'delay'));

Parameters

$keys