ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilLTIConsumerPlaceholderValues.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2019 ILIAS open source, Extended GPL, see docs/LICENSE */
4
14{
19
24
29
33 private $utilHelper;
34
39
43 private $dateHelper;
44
48 private $language;
49
60 public function __construct(
61 ilDefaultPlaceholderValues $defaultPlaceholderValues = null,
62 ilLanguage $language = null,
68 ) {
69 if (null === $language) {
70 global $DIC;
71 $language = $DIC->language();
72 }
73 $this->language = $language;
74
75 if (null === $defaultPlaceholderValues) {
76 $defaultPlaceholderValues = new ilDefaultPlaceholderValues();
77 }
78 $this->defaultPlaceholderValuesObject = $defaultPlaceholderValues;
79
80 if (null === $objectHelper) {
82 }
83 $this->objectHelper = $objectHelper;
84
85 if (null === $userObjectHelper) {
87 }
88 $this->userObjectHelper = $userObjectHelper;
89
90 if (null === $lpStatusHelper) {
92 }
93 $this->lpStatusHelper = $lpStatusHelper;
94
95 if (null === $utilHelper) {
97 }
98 $this->utilHelper = $utilHelper;
99
100 if (null === $dateHelper) {
102 }
103 $this->dateHelper = $dateHelper;
104 }
105
106 public function getPlaceholderValuesForPreview(int $userId, int $objId)
107 {
108 $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValuesForPreview($userId, $objId);
109
110 $placeholders['OBJECT_TITLE'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_object_title'));
111 $placeholders['OBJECT_DESCRIPTION'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_object_description'));
112
113 $placeholders['MASTERY_SCORE'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_mastery_score'));
114 $placeholders['REACHED_SCORE'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_reached_score'));
115
116 return $placeholders;
117 }
118
119 public function getPlaceholderValues(int $userId, int $objId) : array
120 {
121 $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValues($userId, $objId);
122
123 /* @var ilObjLTIConsumer $object */
124 $object = $this->objectHelper->getInstanceByObjId($objId);
125
126 $placeholders['OBJECT_TITLE'] = $this->utilHelper->prepareFormOutput($object->getTitle());
127 $placeholders['OBJECT_DESCRIPTION'] = $this->utilHelper->prepareFormOutput($object->getDescription());
128
129 $placeholders['MASTERY_SCORE'] = $this->utilHelper->prepareFormOutput($this->getMasteryScore($object));
130 $placeholders['REACHED_SCORE'] = $this->utilHelper->prepareFormOutput($this->getReachedScore($object, $userId));
131
132 return $placeholders;
133 }
134
135 protected function getMasteryScore(ilObjLTIConsumer $object) : string
136 {
137 $masteryScore = sprintf('%0.2f %%', $object->getMasteryScorePercent());
138 return $masteryScore;
139 }
140
141 protected function getReachedScore(ilObjLTIConsumer $object, int $userId) : string
142 {
143 $userResult = ilLTIConsumerResult::getByKeys($object->getId(), $userId);
144
145 $reachedScore = sprintf('%0.2f %%', 0);
146 if ($userResult) {
147 $reachedScore = sprintf('%0.2f %%', $userResult->getResult() * 100);
148 }
149
150 return $reachedScore;
151 }
152}
An exception for terminatinating execution or to throw for unit testing.
Just a wrapper class to create Unit Test for other classes.
Collection of basic placeholder values that can be used.
__construct(ilDefaultPlaceholderValues $defaultPlaceholderValues=null, ilLanguage $language=null, ilCertificateObjectHelper $objectHelper=null, ilCertificateUserObjectHelper $userObjectHelper=null, ilCertificateLPStatusHelper $lpStatusHelper=null, ilCertificateUtilHelper $utilHelper=null, ilCertificateDateHelper $dateHelper=null)
getPlaceholderValues(int $userId, int $objId)
This method MUST return an array that contains the actual data for the given user of the given object...
getPlaceholderValuesForPreview(int $userId, int $objId)
This method is different then the 'getPlaceholderValues' method, this method is used to create a plac...
getReachedScore(ilObjLTIConsumer $object, int $userId)
static getByKeys($a_obj_id, $a_usr_id, $a_create=false)
Get a result by object and user key.
language handling
getId()
get object id @access public
language()
Definition: language.php:2
$DIC
Definition: xapitoken.php:46
$objId
Definition: xapitoken.php:41