ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilLTIPlatform Class Reference

LTI provider for LTI launch. More...

+ Inheritance diagram for ilLTIPlatform:
+ Collaboration diagram for ilLTIPlatform:

Public Member Functions

 __construct (?ilLTIDataConnector $dataConnector=null)
 Class constructor. More...
 
 initialize ()
 Initialise the platform. More...
 
 setExtConsumerId (int $a_id)
 
 getExtConsumerId ()
 
 setRefId (int $a_ref_id)
 
 getRefId ()
 
 setTitle (string $title)
 
 getTitle ()
 
 setDescription (string $description)
 
 getDescription ()
 
 setPrefix (string $prefix)
 
 getPrefix ()
 
 setSecret (string $secret)
 
 getSecret ()
 
 createSecret ()
 Create a secret. More...
 
 setLanguage (string $lang)
 
 getLanguage ()
 
 setActive (bool $value)
 
 getActive ()
 
 setRole (int $role_id)
 
 getRole ()
 
 setEnabled (bool $a_status)
 
 getEnabled ()
 
 saveGlobalToolConsumerSettings (ilLTIDataConnector $dataConnector)
 Save global consumer settings. More...
 
 deleteGlobalToolConsumerSettings (ilLTIDataConnector $dataConnector)
 Delete global tool consumer settings. More...
 
 saveLTI (ilLTIDataConnector $dataConnector)
 Save the tool consumer to the database with ILIAS extension. More...
 

Static Public Member Functions

static fromPlatformId (string $platformId, ?string $clientId, ?string $deploymentId, ?DataConnector $dataConnector=null, bool $autoEnable=false)
 Load the platform from the database by its platform, client and deployment IDs. More...
 
static fromConsumerKey (?string $key=null, $dataConnector=null, bool $autoEnable=false)
 Load the platform from the database by its consumer key. More...
 
static fromRecordId (int|string $id, DataConnector $dataConnector)
 Load the platform from the database by its record ID. More...
 
static fromExternalConsumerId (int $id, ilLTIDataConnector $dataConnector)
 
static fromGlobalSettingsAndRefId (int $a_ext_consumer_id, int $a_ref_id, ilLTIDataConnector $a_data_connector)
 Load consumer from global settings and ref_id. More...
 

Protected Attributes

int $ref_id = 0
 
int $ext_consumer_id = 0
 
string $title = ''
 
string $description = ''
 
string $prefix = ''
 
string $user_language = ''
 
int $role = 0
 
bool $active = false
 

Private Attributes

array $settings = null
 Setting values (LTI parameters, custom parameters and local parameters). More...
 
int $id = null
 System ID value. More...
 
string $key = null
 Consumer key/client ID value. More...
 

Detailed Description

LTI provider for LTI launch.

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e

Definition at line 32 of file class.ilLTIPlatform.php.

Constructor & Destructor Documentation

◆ __construct()

ilLTIPlatform::__construct ( ?ilLTIDataConnector  $dataConnector = null)

Class constructor.

Parameters
ilLTIDataConnector | null$dataConnectorA data connector object

Definition at line 99 of file class.ilLTIPlatform.php.

100 {
101 $this->initialize();
102 if (empty($dataConnector)) {
103 $dataConnector = ilLTIDataConnector::getDataConnector();
104 }
105 $this->dataConnector = $dataConnector;
106 }
static getDataConnector(mixed $db=null, string $dbTableNamePrefix='', string $type='')
initialize()
Initialise the platform.

References ilLTIDataConnector\getDataConnector(), and initialize().

+ Here is the call graph for this function:

Member Function Documentation

◆ createSecret()

ilLTIPlatform::createSecret ( )

Create a secret.

Definition at line 219 of file class.ilLTIPlatform.php.

219 : void
220 {
221 $this->setSecret(Util::getRandomString(12));
222 }
setSecret(string $secret)

References setSecret().

+ Here is the call graph for this function:

◆ deleteGlobalToolConsumerSettings()

ilLTIPlatform::deleteGlobalToolConsumerSettings ( ilLTIDataConnector  $dataConnector)

Delete global tool consumer settings.

Parameters
ilLTIDataConnector$dataConnector

Definition at line 380 of file class.ilLTIPlatform.php.

380 : void
381 {
382 $dataConnector->deleteGlobalToolConsumerSettings($this);
383 }
deleteGlobalToolConsumerSettings(ilLTIPlatform $platform)
Delete global tool consumer settings.

References ilLTIDataConnector\deleteGlobalToolConsumerSettings().

+ Here is the call graph for this function:

◆ fromConsumerKey()

static ilLTIPlatform::fromConsumerKey ( ?string  $key = null,
  $dataConnector = null,
bool  $autoEnable = false 
)
static

Load the platform from the database by its consumer key.

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

Definition at line 298 of file class.ilLTIPlatform.php.

299 {
300 $platform = new ilLTIPlatform($dataConnector);
301 $platform->initialize();
302 $platform->setKey($key);
303 ilLoggerFactory::getLogger('ltis')->debug('Loading with key: ' . $platform->getKey());
304 $dataConnector->loadPlatform($platform);
305 $dataConnector->loadGlobalToolConsumerSettings($platform);
306 return $platform;
307 }
LTI provider for LTI launch.
string $key
Consumer key/client ID value.
static getLogger(string $a_component_id)
Get component logger.

References $key, and ilLoggerFactory\getLogger().

+ Here is the call graph for this function:

◆ fromExternalConsumerId()

static ilLTIPlatform::fromExternalConsumerId ( int  $id,
ilLTIDataConnector  $dataConnector 
)
static
Parameters
int$id
ilLTIDataConnector$dataConnector
Returns
ilLTIPlatform

Definition at line 332 of file class.ilLTIPlatform.php.

333 {
334 $platform = new ilLTIPlatform($dataConnector);
335 //$platform->setRecordId((int) $id);
336 //$dataConnector->loadPlatform($platform);
337 $platform->initialize();
338 $platform->setExtConsumerId($id);
339 if (!$dataConnector->loadGlobalToolConsumerSettings($platform)) {
340 $platform->initialize();
341 }
342 return $platform;
343 }
loadGlobalToolConsumerSettings(ilLTIPlatform $platform)
Load global tool consumer settings in consumer.
int $id
System ID value.

References $id, and ilLTIDataConnector\loadGlobalToolConsumerSettings().

Referenced by ilObjLTIAdministrationGUI\changeStatusLTIConsumer(), ilObjLTIAdministrationGUI\deleteLTIConsumer(), ilObjLTIAdministrationGUI\editConsumer(), and ilObjLTIAdministrationGUI\updateLTIConsumer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fromGlobalSettingsAndRefId()

static ilLTIPlatform::fromGlobalSettingsAndRefId ( int  $a_ext_consumer_id,
int  $a_ref_id,
ilLTIDataConnector  $a_data_connector 
)
static

Load consumer from global settings and ref_id.

Parameters
int$a_ext_consumer_id
int$a_ref_id
ilLTIDataConnector$a_data_connector
Returns
ilLTIPlatform

Definition at line 352 of file class.ilLTIPlatform.php.

353 {
354 $toolConsumer = new ilLTIPlatform(null, $a_data_connector);
355 $toolConsumer->initialize();
356 $toolConsumer->setExtConsumerId($a_ext_consumer_id);
357 $toolConsumer->setRefId($a_ref_id);
358
359 $consumer_pk = $a_data_connector->lookupRecordIdByGlobalSettingsAndRefId($toolConsumer);
360 if ($consumer_pk != null) {
361 $toolConsumer = self::fromRecordId($consumer_pk, $a_data_connector);
362 }
363 return $toolConsumer;
364 }
lookupRecordIdByGlobalSettingsAndRefId(ilLTIPlatform $platform)
Lookup record id for global settings and ref_id.
static fromRecordId(int|string $id, DataConnector $dataConnector)
Load the platform from the database by its record ID.

References fromRecordId(), and ilLTIDataConnector\lookupRecordIdByGlobalSettingsAndRefId().

Referenced by ilLTIProviderObjectSettingGUI\initObjectSettingsForm(), and ilLTIProviderObjectSettingGUI\updateSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fromPlatformId()

static ilLTIPlatform::fromPlatformId ( string  $platformId,
?string  $clientId,
?string  $deploymentId,
?DataConnector  $dataConnector = null,
bool  $autoEnable = false 
)
static

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

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

Definition at line 279 of file class.ilLTIPlatform.php.

280 {
281 $platform = new ilLTIPlatform($dataConnector);
282 $platform->initialize();
283 $platform->platformId = $platformId;
284 $platform->clientId = $clientId;
285 $platform->deploymentId = $deploymentId;
286 $dataConnector->loadPlatform($platform);
287 $dataConnector->loadGlobalToolConsumerSettings($platform);
288 return $platform;
289 }
$clientId
Definition: ltiregend.php:26

References $clientId.

◆ fromRecordId()

static ilLTIPlatform::fromRecordId ( int|string  $id,
DataConnector  $dataConnector 
)
static

Load the platform from the database by its record ID.

Parameters
int | string$idThe platform record ID
ilLTIDataConnector$dataConnectorDatabase connection object
Returns
ilLTIPlatform Platform The platform object

Definition at line 315 of file class.ilLTIPlatform.php.

316 {
317 // $platform = new static($dataConnector);
318 $platform = new ilLTIPlatform($dataConnector);
319 $platform->initialize();
320 $platform->setRecordId((int) $id);
321 ilLoggerFactory::getLogger('ltis')->info('Loading with record id: ' . $platform->getRecordId());
322 $dataConnector->loadPlatform($platform);
323 $dataConnector->loadGlobalToolConsumerSettings($platform);
324 return $platform;
325 }

References $id, and ilLoggerFactory\getLogger().

Referenced by fromGlobalSettingsAndRefId(), and ilAuthProviderLTI\lookupConsumer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getActive()

ilLTIPlatform::getActive ( )

Definition at line 242 of file class.ilLTIPlatform.php.

242 : bool
243 {
244 return $this->active;
245 }

References $active.

Referenced by ilLTIDataConnector\saveGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ getDescription()

ilLTIPlatform::getDescription ( )

Definition at line 191 of file class.ilLTIPlatform.php.

191 : string
192 {
193 return $this->description;
194 }

References $description.

Referenced by ilLTIDataConnector\saveGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ getEnabled()

ilLTIPlatform::getEnabled ( )

Definition at line 263 of file class.ilLTIPlatform.php.

263 : bool
264 {
265 return $this->enabled;
266 }

◆ getExtConsumerId()

◆ getLanguage()

ilLTIPlatform::getLanguage ( )

Definition at line 232 of file class.ilLTIPlatform.php.

232 : string
233 {
235 }

References $user_language.

Referenced by ilAuthProviderLTI\createUser(), and ilLTIDataConnector\saveGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ getPrefix()

ilLTIPlatform::getPrefix ( )

Definition at line 201 of file class.ilLTIPlatform.php.

201 : string
202 {
203 return $this->prefix;
204 }

References $prefix.

Referenced by ilAuthProviderLTI\createUser(), and ilLTIDataConnector\saveGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ getRefId()

ilLTIPlatform::getRefId ( )

Definition at line 165 of file class.ilLTIPlatform.php.

165 : int
166 {
167 return $this->ref_id;
168 }

References $ref_id.

Referenced by ilLTIDataConnector\lookupRecordIdByGlobalSettingsAndRefId(), and ilLTIDataConnector\saveToolConsumerILIAS().

+ Here is the caller graph for this function:

◆ getRole()

ilLTIPlatform::getRole ( )

Definition at line 252 of file class.ilLTIPlatform.php.

252 : int
253 {
254 return $this->role;
255 }

References $role.

Referenced by ilAuthProviderLTI\createUser(), ilLTIDataConnector\saveGlobalToolConsumerSettings(), and ilAuthProviderLTI\updateUser().

+ Here is the caller graph for this function:

◆ getSecret()

ilLTIPlatform::getSecret ( )

Definition at line 211 of file class.ilLTIPlatform.php.

211 : ?string
212 {
213 return $this->secret;
214 }

◆ getTitle()

ilLTIPlatform::getTitle ( )

Definition at line 181 of file class.ilLTIPlatform.php.

181 : string
182 {
183 return $this->title;
184 }

References $title.

Referenced by ilLTIDataConnector\saveGlobalToolConsumerSettings(), and ilLTIDataConnector\saveToolConsumerILIAS().

+ Here is the caller graph for this function:

◆ initialize()

ilLTIPlatform::initialize ( )

Initialise the platform.

Definition at line 111 of file class.ilLTIPlatform.php.

111 : void
112 {
113 $this->id = null;
114 $this->key = null;
115 $this->name = null;
116 $this->secret = null;
117 $this->signatureMethod = 'HMAC-SHA1';
118 $this->encryptionMethod = '';
119 $this->rsaKey = null;
120 $this->kid = null;
121 $this->jku = '';
122 $this->platformId = null;
123 $this->clientId = null;
124 $this->deploymentId = null;
125 $this->ltiVersion = null;
126 $this->consumerName = null;
127 $this->consumerVersion = null;
128 $this->consumerGuid = null;
129 $this->profile = null;
130 $this->toolProxy = null;
131 $this->settings = array();
132 $this->setSettings(array());
133 $this->protected = false;
134 $this->enabled = false;
135 $this->enableFrom = null;
136 $this->enableUntil = null;
137 $this->lastAccess = null;
138 $this->idScope = IdScope::IdOnly;
139 $this->defaultEmail = '';
140 $this->created = null;
141 $this->updated = null;
142 //added
143 $this->authorizationServerId = '';
144 $this->authenticationUrl = '';
145 $this->accessTokenUrl = '';
146 $this->debugMode = false;
147 }

References ILIAS\Repository\profile(), and ILIAS\Repository\settings().

Referenced by __construct(), and ilLTIDataConnector\deleteGlobalToolConsumerSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveGlobalToolConsumerSettings()

ilLTIPlatform::saveGlobalToolConsumerSettings ( ilLTIDataConnector  $dataConnector)

Save global consumer settings.

Parameters
ilLTIDataConnector$dataConnector

Definition at line 371 of file class.ilLTIPlatform.php.

371 : void
372 {
373 $dataConnector->saveGlobalToolConsumerSettings($this);
374 }
saveGlobalToolConsumerSettings(ilLTIPlatform $platform)
Save lti_ext_consumer.

References ilLTIDataConnector\saveGlobalToolConsumerSettings().

+ Here is the call graph for this function:

◆ saveLTI()

ilLTIPlatform::saveLTI ( ilLTIDataConnector  $dataConnector)

Save the tool consumer to the database with ILIAS extension.

Parameters
ilLTIDataConnector$dataConnector
Returns
boolean True if the object was successfully saved

Definition at line 390 of file class.ilLTIPlatform.php.

390 : bool
391 {
392 $ok = $dataConnector->saveToolConsumerILIAS($this);
393 return $ok;
394 }
saveToolConsumerILIAS(ilLTIPlatform $platform)
Save extended tool consumer object with ILIAS extensions.

References ilLTIDataConnector\saveToolConsumerILIAS().

+ Here is the call graph for this function:

◆ setActive()

ilLTIPlatform::setActive ( bool  $value)

Definition at line 237 of file class.ilLTIPlatform.php.

237 : void
238 {
239 $this->active = $value;
240 }

Referenced by ilLTIDataConnector\loadGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ setDescription()

ilLTIPlatform::setDescription ( string  $description)

Definition at line 186 of file class.ilLTIPlatform.php.

186 : void
187 {
188 $this->description = $description;
189 }

References $description.

Referenced by ilLTIDataConnector\loadGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ setEnabled()

ilLTIPlatform::setEnabled ( bool  $a_status)

Definition at line 258 of file class.ilLTIPlatform.php.

258 : void
259 {
260 $this->enabled = $a_status;
261 }

◆ setExtConsumerId()

ilLTIPlatform::setExtConsumerId ( int  $a_id)

Definition at line 150 of file class.ilLTIPlatform.php.

150 : void
151 {
152 $this->ext_consumer_id = $a_id;
153 }

Referenced by ilLTIDataConnector\loadPlatform(), and ilLTIDataConnector\saveGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ setLanguage()

ilLTIPlatform::setLanguage ( string  $lang)
Parameters
string$lang

Definition at line 227 of file class.ilLTIPlatform.php.

227 : void
228 {
229 $this->user_language = $lang;
230 }
$lang
Definition: xapiexit.php:25

References $lang.

Referenced by ilLTIDataConnector\loadGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ setPrefix()

ilLTIPlatform::setPrefix ( string  $prefix)

Definition at line 196 of file class.ilLTIPlatform.php.

196 : void
197 {
198 $this->prefix = $prefix;
199 }

References $prefix.

Referenced by ilLTIDataConnector\loadGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ setRefId()

ilLTIPlatform::setRefId ( int  $a_ref_id)

Definition at line 160 of file class.ilLTIPlatform.php.

160 : void
161 {
162 $this->ref_id = $a_ref_id;
163 }

Referenced by ilLTIDataConnector\loadPlatform().

+ Here is the caller graph for this function:

◆ setRole()

ilLTIPlatform::setRole ( int  $role_id)

Definition at line 247 of file class.ilLTIPlatform.php.

247 : void
248 {
249 $this->role = $role_id;
250 }

Referenced by ilLTIDataConnector\loadGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

◆ setSecret()

ilLTIPlatform::setSecret ( string  $secret)

Definition at line 206 of file class.ilLTIPlatform.php.

206 : void
207 {
208 $this->secret = $secret;
209 }

Referenced by createSecret().

+ Here is the caller graph for this function:

◆ setTitle()

ilLTIPlatform::setTitle ( string  $title)

Definition at line 175 of file class.ilLTIPlatform.php.

175 : void
176 {
177 $this->title = $title;
178 // $this->consumerName = $title;
179 }

References $title.

Referenced by ilLTIDataConnector\loadGlobalToolConsumerSettings().

+ Here is the caller graph for this function:

Field Documentation

◆ $active

bool ilLTIPlatform::$active = false
protected

Definition at line 72 of file class.ilLTIPlatform.php.

Referenced by getActive().

◆ $description

string ilLTIPlatform::$description = ''
protected

Definition at line 52 of file class.ilLTIPlatform.php.

Referenced by getDescription(), and setDescription().

◆ $ext_consumer_id

int ilLTIPlatform::$ext_consumer_id = 0
protected

Definition at line 42 of file class.ilLTIPlatform.php.

Referenced by getExtConsumerId().

◆ $id

int null ilLTIPlatform::$id = null
private

System ID value.

Definition at line 86 of file class.ilLTIPlatform.php.

Referenced by fromExternalConsumerId(), and fromRecordId().

◆ $key

string null ilLTIPlatform::$key = null
private

Consumer key/client ID value.

Definition at line 93 of file class.ilLTIPlatform.php.

Referenced by fromConsumerKey().

◆ $prefix

string ilLTIPlatform::$prefix = ''
protected

Definition at line 57 of file class.ilLTIPlatform.php.

Referenced by getPrefix(), and setPrefix().

◆ $ref_id

int ilLTIPlatform::$ref_id = 0
protected

Definition at line 37 of file class.ilLTIPlatform.php.

Referenced by getRefId().

◆ $role

int ilLTIPlatform::$role = 0
protected

Definition at line 67 of file class.ilLTIPlatform.php.

Referenced by getRole().

◆ $settings

array ilLTIPlatform::$settings = null
private

Setting values (LTI parameters, custom parameters and local parameters).

Definition at line 79 of file class.ilLTIPlatform.php.

◆ $title

string ilLTIPlatform::$title = ''
protected

Definition at line 47 of file class.ilLTIPlatform.php.

Referenced by getTitle(), and setTitle().

◆ $user_language

string ilLTIPlatform::$user_language = ''
protected

Definition at line 62 of file class.ilLTIPlatform.php.

Referenced by getLanguage().


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