From d51757a72947145079c3ebf2b4a7620b3eb00cfe Mon Sep 17 00:00:00 2001 From: John Okely Date: Thu, 4 Aug 2016 14:38:21 +0800 Subject: [PATCH] MDL-55457 mod_lti: Support object icon_info in tool proxy --- .../classes/local/resource/toolproxy.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/mod/lti/service/toolproxy/classes/local/resource/toolproxy.php b/mod/lti/service/toolproxy/classes/local/resource/toolproxy.php index 3eedc17a0ee..71050f4f413 100644 --- a/mod/lti/service/toolproxy/classes/local/resource/toolproxy.php +++ b/mod/lti/service/toolproxy/classes/local/resource/toolproxy.php @@ -152,6 +152,17 @@ class toolproxy extends \mod_lti\local\ltiservice\resource_base { foreach ($resources as $resource) { $found = false; $tool = new \stdClass(); + + $iconinfo = null; + if (is_array($resource->icon_info)) { + $iconinfo = $resource->icon_info[0]; + } else { + $iconinfo = $resource->icon_info; + } + if (isset($iconinfo) && isset($iconinfo->default_location) && isset($iconinfo->default_location->path)) { + $tool->iconpath = $iconinfo->default_location->path; + } + foreach ($resource->message as $message) { if ($message->message_type == 'basic-lti-launch-request') { $found = true; @@ -197,13 +208,13 @@ class toolproxy extends \mod_lti\local\ltiservice\resource_base { $type->enabledcapability = implode("\n", $tool->enabled_capability); $type->parameter = self::lti_extract_parameters($tool->parameter); - if (isset($resource->icon_info[0]->default_location->path)) { - $iconpath = $resource->icon_info[0]->default_location->path; - $type->icon = "{$baseurl}{$iconpath}"; + if (!empty($tool->iconpath)) { + $type->icon = "{$baseurl}{$tool->iconpath}"; if (!empty($securebaseurl)) { - $type->secureicon = "{$securebaseurl}{$iconpath}"; + $type->secureicon = "{$securebaseurl}{$tool->iconpath}"; } } + $ok = $ok && (lti_add_type($type, $config) !== false); } if (isset($toolproxyjson->custom)) {