Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.
<?php

namespace Packback\Lti1p3;

class LtiDeepLinkResource
{
< private $type = 'ltiResourceLink';
> private $type = LtiConstants::DL_RESOURCE_LINK_TYPE;
private $title; private $text; private $url;
< private $lineitem;
> private $line_item; > private $icon; > private $thumbnail;
private $custom_params = []; private $target = 'iframe';
> private $iframe; > private $window; public static function new() > private $availability_interval; { > private $submission_interval;
< public static function new()
> public static function new(): LtiDeepLinkResource
}
< public function getType()
> public function getType(): string
{ return $this->type; }
< public function setType($value)
> public function setType(string $value): LtiDeepLinkResource
{ $this->type = $value; return $this; }
< public function getTitle()
> public function getTitle(): ?string
{ return $this->title; }
< public function setTitle($value)
> public function setTitle(?string $value): LtiDeepLinkResource
{ $this->title = $value; return $this; }
< public function getText()
> public function getText(): ?string
{ return $this->text; }
< public function setText($value)
> public function setText(?string $value): LtiDeepLinkResource
{ $this->text = $value; return $this; }
< public function getUrl()
> public function getUrl(): ?string
{ return $this->url; }
< public function setUrl($value)
> public function setUrl(?string $value): LtiDeepLinkResource
{ $this->url = $value; return $this; }
< public function getLineitem()
> public function getLineItem(): ?LtiLineitem
{
< return $this->lineitem;
> return $this->line_item;
}
< public function setLineitem(LtiLineitem $value)
> public function setLineItem(?LtiLineitem $value): LtiDeepLinkResource
{
< $this->lineitem = $value;
> $this->line_item = $value;
return $this; }
< public function getCustomParams()
> public function setIcon(?LtiDeepLinkResourceIcon $icon): LtiDeepLinkResource > { > $this->icon = $icon; > > return $this; > } > > public function getIcon(): ?LtiDeepLinkResourceIcon > { > return $this->icon; > } > > public function setThumbnail(?LtiDeepLinkResourceIcon $thumbnail): LtiDeepLinkResource > { > $this->thumbnail = $thumbnail; > > return $this; > } > > public function getThumbnail(): ?LtiDeepLinkResourceIcon > { > return $this->thumbnail; > } > > public function getCustomParams(): array
{ return $this->custom_params; }
< public function setCustomParams($value)
> public function setCustomParams(array $value): LtiDeepLinkResource
{ $this->custom_params = $value; return $this; }
< public function getTarget()
> /** > * @deprecated This field maps the "presentation" resource property, which is non-standard. > * Consider using "iframe" and/or "window" instead. > */ > public function getTarget(): string
{ return $this->target; }
< public function setTarget($value)
> /** > * @deprecated This field maps the "presentation" resource property, which is non-standard. > * Consider using "iframe" and/or "window" instead. > */ > public function setTarget(string $value): LtiDeepLinkResource
{ $this->target = $value; return $this; }
< public function toArray()
> public function getIframe(): ?LtiDeepLinkResourceIframe > { > return $this->iframe; > } > > public function setIframe(?LtiDeepLinkResourceIframe $iframe): LtiDeepLinkResource > { > $this->iframe = $iframe; > > return $this; > } > > public function getWindow(): ?LtiDeepLinkResourceWindow > { > return $this->window; > } > > public function setWindow(?LtiDeepLinkResourceWindow $window): LtiDeepLinkResource > { > $this->window = $window; > > return $this; > } > > public function getAvailabilityInterval(): ?LtiDeepLinkDateTimeInterval > { > return $this->availability_interval; > } > > public function setAvailabilityInterval(?LtiDeepLinkDateTimeInterval $availabilityInterval): LtiDeepLinkResource > { > $this->availability_interval = $availabilityInterval; > > return $this; > } > > public function getSubmissionInterval(): ?LtiDeepLinkDateTimeInterval > { > return $this->submission_interval; > } > > public function setSubmissionInterval(?LtiDeepLinkDateTimeInterval $submissionInterval): LtiDeepLinkResource > { > $this->submission_interval = $submissionInterval; > > return $this; > } > > public function toArray(): array
{ $resource = [ 'type' => $this->type,
< 'title' => $this->title, < 'text' => $this->text, < 'url' => $this->url, < 'presentation' => [ < 'documentTarget' => $this->target, < ], < 'custom' => $this->custom_params,
];
< if ($this->lineitem !== null) {
> > if (isset($this->title)) { > $resource['title'] = $this->title; > } > if (isset($this->text)) { > $resource['text'] = $this->text; > } > if (isset($this->url)) { > $resource['url'] = $this->url; > } > if (!empty($this->custom_params)) { > $resource['custom'] = $this->custom_params; > } > if (isset($this->icon)) { > $resource['icon'] = $this->icon->toArray(); > } > if (isset($this->thumbnail)) { > $resource['thumbnail'] = $this->thumbnail->toArray(); > } > if ($this->line_item !== null) {
$resource['lineItem'] = [
< 'scoreMaximum' => $this->lineitem->getScoreMaximum(), < 'label' => $this->lineitem->getLabel(),
> 'scoreMaximum' => $this->line_item->getScoreMaximum(), > 'label' => $this->line_item->getLabel(), > ]; > } > > // Kept for backwards compatibility > if (!isset($this->iframe) && !isset($this->window)) { > $resource['presentation'] = [ > 'documentTarget' => $this->target,
];
> } } > > if (isset($this->iframe)) { return $resource; > $resource['iframe'] = $this->iframe->toArray(); } > } } > if (isset($this->window)) { > $resource['window'] = $this->window->toArray(); > } > if (isset($this->availability_interval)) { > $resource['available'] = $this->availability_interval->toArray(); > } > if (isset($this->submission_interval)) { > $resource['submission'] = $this->submission_interval->toArray();