27 $this->lti_version =
'LTI-2p0';
29 if (!empty($toolProvider->product)) {
30 $this->product_instance = new \stdClass;
32 if (!empty($toolProvider->product->id)) {
33 $this->product_instance->guid = $toolProvider->product->id;
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';
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';
46 if (!empty($toolProvider->product->url)) {
47 $this->product_instance->guid = $toolProvider->product->url;
49 if (!empty($toolProvider->product->version)) {
50 $this->product_instance->product_info->product_version = $toolProvider->product->version;
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;
59 if (!empty($toolProvider->vendor->id)) {
60 $this->product_instance->product_info->product_family->vendor->code = $toolProvider->vendor->id;
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';
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';
72 if (!empty($toolProvider->vendor->url)) {
73 $this->product_instance->product_info->product_family->vendor->website = $toolProvider->vendor->url;
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);
80 $this->resource_handler = array();
81 foreach ($toolProvider->resourceHandlers as $resourceHandler) {
82 $this->resource_handler[] =
new ResourceHandler($toolProvider, $resourceHandler);
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;