3namespace ceLTIc\LTI\MediaType;
52 $this->lti_version =
'LTI-2p0';
54 if (!empty($tool->product)) {
55 $this->product_instance = new \stdClass;
57 if (!empty($tool->product->id)) {
58 $this->product_instance->guid = $tool->product->id;
60 if (!empty($tool->product->name)) {
61 $this->product_instance->product_info = new \stdClass;
62 $this->product_instance->product_info->product_name = new \stdClass;
63 $this->product_instance->product_info->product_name->default_value = $tool->product->name;
64 $this->product_instance->product_info->product_name->key =
'tool.name';
66 if (!empty($tool->product->description)) {
67 $this->product_instance->product_info->description = new \stdClass;
68 $this->product_instance->product_info->description->default_value = $tool->product->description;
69 $this->product_instance->product_info->description->key =
'tool.description';
71 if (!empty($tool->product->url)) {
72 $this->product_instance->guid = $tool->product->url;
74 if (!empty($tool->product->version)) {
75 $this->product_instance->product_info->product_version = $tool->product->version;
77 if (!empty($tool->vendor)) {
78 $this->product_instance->product_info->product_family = new \stdClass;
79 $this->product_instance->product_info->product_family->vendor = new \stdClass;
80 if (!empty($tool->product->id)) {
81 $this->product_instance->product_info->product_family->code = $tool->product->id;
84 if (!empty($tool->vendor->id)) {
85 $this->product_instance->product_info->product_family->vendor->code = $tool->vendor->id;
87 if (!empty($tool->vendor->name)) {
88 $this->product_instance->product_info->product_family->vendor->vendor_name = new \stdClass;
89 $this->product_instance->product_info->product_family->vendor->vendor_name->default_value = $tool->vendor->name;
90 $this->product_instance->product_info->product_family->vendor->vendor_name->key =
'tool.vendor.name';
92 if (!empty($tool->vendor->description)) {
93 $this->product_instance->product_info->product_family->vendor->description = new \stdClass;
94 $this->product_instance->product_info->product_family->vendor->description->default_value = $tool->vendor->description;
95 $this->product_instance->product_info->product_family->vendor->description->key =
'tool.vendor.description';
97 if (!empty($tool->vendor->url)) {
98 $this->product_instance->product_info->product_family->vendor->website = $tool->vendor->url;
100 if (!empty($tool->vendor->timestamp)) {
101 $this->product_instance->product_info->product_family->vendor->timestamp = date(
'Y-m-d\TH:i:sP',
102 $tool->vendor->timestamp);
105 $this->resource_handler = array();
106 foreach ($tool->resourceHandlers as $resourceHandler) {
107 $this->resource_handler[] =
new ResourceHandler($tool, $resourceHandler);
109 if (!empty($tool->baseUrl)) {
110 $this->base_url_choice = array();
111 $this->base_url_choice[] = new \stdClass;
112 $this->base_url_choice[0]->default_base_url = $tool->baseUrl;