LTI Integration Library  3.1.0
PHP class library for building LTI integrations
ToolProfile.php
Go to the documentation of this file.
1 <?php
2 
3 namespace ceLTIc\LTI\MediaType;
4 
6 
16 {
17 
19 
25  function __construct($toolProvider)
26  {
27  $this->lti_version = 'LTI-2p0';
28 
29  if (!empty($toolProvider->product)) {
30  $this->product_instance = new \stdClass;
31  }
32  if (!empty($toolProvider->product->id)) {
33  $this->product_instance->guid = $toolProvider->product->id;
34  }
35  if (!empty($toolProvider->product->name)) {
36  $this->product_instance->product_info = new \stdClass;
37  $this->product_instance->product_info->product_name = new \stdClass;
38  $this->product_instance->product_info->product_name->default_value = $toolProvider->product->name;
39  $this->product_instance->product_info->product_name->key = 'tool.name';
40  }
41  if (!empty($toolProvider->product->description)) {
42  $this->product_instance->product_info->description = new \stdClass;
43  $this->product_instance->product_info->description->default_value = $toolProvider->product->description;
44  $this->product_instance->product_info->description->key = 'tool.description';
45  }
46  if (!empty($toolProvider->product->url)) {
47  $this->product_instance->guid = $toolProvider->product->url;
48  }
49  if (!empty($toolProvider->product->version)) {
50  $this->product_instance->product_info->product_version = $toolProvider->product->version;
51  }
52  if (!empty($toolProvider->vendor)) {
53  $this->product_instance->product_info->product_family = new \stdClass;
54  $this->product_instance->product_info->product_family->vendor = new \stdClass;
55  if (!empty($toolProvider->product->id)) {
56  $this->product_instance->product_info->product_family->code = $toolProvider->product->id;
57  }
58  }
59  if (!empty($toolProvider->vendor->id)) {
60  $this->product_instance->product_info->product_family->vendor->code = $toolProvider->vendor->id;
61  }
62  if (!empty($toolProvider->vendor->name)) {
63  $this->product_instance->product_info->product_family->vendor->vendor_name = new \stdClass;
64  $this->product_instance->product_info->product_family->vendor->vendor_name->default_value = $toolProvider->vendor->name;
65  $this->product_instance->product_info->product_family->vendor->vendor_name->key = 'tool.vendor.name';
66  }
67  if (!empty($toolProvider->vendor->description)) {
68  $this->product_instance->product_info->product_family->vendor->description = new \stdClass;
69  $this->product_instance->product_info->product_family->vendor->description->default_value = $toolProvider->vendor->description;
70  $this->product_instance->product_info->product_family->vendor->description->key = 'tool.vendor.description';
71  }
72  if (!empty($toolProvider->vendor->url)) {
73  $this->product_instance->product_info->product_family->vendor->website = $toolProvider->vendor->url;
74  }
75  if (!empty($toolProvider->vendor->timestamp)) {
76  $this->product_instance->product_info->product_family->vendor->timestamp = date('Y-m-d\TH:i:sP',
77  $toolProvider->vendor->timestamp);
78  }
79 
80  $this->resource_handler = array();
81  foreach ($toolProvider->resourceHandlers as $resourceHandler) {
82  $this->resource_handler[] = new ResourceHandler($toolProvider, $resourceHandler);
83  }
84  if (!empty($toolProvider->baseUrl)) {
85  $this->base_url_choice = array();
86  $this->base_url_choice[] = new \stdClass;
87  $this->base_url_choice[0]->default_base_url = $toolProvider->baseUrl;
88  }
89  }
90 
91 }
Class to represent an LTI Resource Handler.
Class to represent an LTI Tool Profile.
Definition: ToolProfile.php:15
__construct($toolProvider)
Class constructor.
Definition: ToolProfile.php:25
Class to represent an LTI Tool Provider.