ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
class.ilCmiXapiPlaceholderValues.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
31 {
32  private \ilDefaultPlaceholderValues $defaultPlaceholderValuesObject;
33 
35 
36  // private \ilCertificateUserObjectHelper $userObjectHelper;
37 
39 
40  // private ?\ilCertificateLPStatusHelper $lpStatusHelper;
41 
45  // private $dateHelper;
46 
48 
58  public function __construct(
59  ?ilDefaultPlaceholderValues $defaultPlaceholderValues = null,
60  ?ilLanguage $language = null,
61  ?ilCertificateObjectHelper $objectHelper = null,
62  ?ilCertificateUserObjectHelper $userObjectHelper = null,
63  ?ilCertificateLPStatusHelper $lpStatusHelper = null,
64  ?ilCertificateUtilHelper $utilHelper = null,
65  ?ilCertificateDateHelper $dateHelper = null
66  ) {
67  if (null === $language) {
68  global $DIC;
69  $language = $DIC->language();
70  }
71  $this->language = $language;
72 
73  if (null === $defaultPlaceholderValues) {
74  $defaultPlaceholderValues = new ilDefaultPlaceholderValues();
75  }
76  $this->defaultPlaceholderValuesObject = $defaultPlaceholderValues;
77 
78  if (null === $objectHelper) {
79  $objectHelper = new ilCertificateObjectHelper();
80  }
81  $this->objectHelper = $objectHelper;
82 
83  if (null === $userObjectHelper) {
84  $userObjectHelper = new ilCertificateUserObjectHelper();
85  }
86  // $this->userObjectHelper = $userObjectHelper;
87 
88  if (null === $lpStatusHelper) {
89  $lpStatusHelper = new ilCertificateLPStatusHelper();
90  }
91  // $this->lpStatusHelper = $lpStatusHelper;
92 
93  if (null === $utilHelper) {
94  $utilHelper = new ilCertificateUtilHelper();
95  }
96  $this->utilHelper = $utilHelper;
97 
98  if (null === $dateHelper) {
99  $dateHelper = new ilCertificateDateHelper();
100  }
101  // $this->dateHelper = $dateHelper;
102  }
103 
107  public function getPlaceholderValuesForPreview(int $userId, int $objId): array
108  {
109  $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValuesForPreview($userId, $objId);
110 
111  $placeholders['OBJECT_TITLE'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_object_title'));
112  $placeholders['OBJECT_DESCRIPTION'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_object_description'));
113 
114  $placeholders['MASTERY_SCORE'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_mastery_score'));
115  $placeholders['REACHED_SCORE'] = $this->utilHelper->prepareFormOutput($this->language->txt('lti_cert_ph_reached_score'));
116 
117  return $placeholders;
118  }
119 
123  public function getPlaceholderValues(int $userId, int $objId): array
124  {
125  $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValues($userId, $objId);
126 
127  /* @var ilObjLTIConsumer $object */
128  $object = $this->objectHelper->getInstanceByObjId($objId);
129 
130  $placeholders['OBJECT_TITLE'] = $this->utilHelper->prepareFormOutput($object->getTitle());
131  $placeholders['OBJECT_DESCRIPTION'] = $this->utilHelper->prepareFormOutput($object->getDescription());
132 
133  $placeholders['REACHED_SCORE'] = $this->utilHelper->prepareFormOutput($this->getReachedScore((int) $objId, (int) $userId));
134 
135  return $placeholders;
136  }
137 
138  protected function getReachedScore(int $objectId, int $userId): string
139  {
140  try {
142  $objectId,
143  $userId
144  );
145  } catch (ilCmiXapiException $e) {
146  $cmixResult = ilCmiXapiResult::getEmptyInstance();
147  }
148 
149  return sprintf('%0.2f %%', $cmixResult->getScore() * 100);
150  }
151 }
getPlaceholderValuesForPreview(int $userId, int $objId)
__construct(?ilDefaultPlaceholderValues $defaultPlaceholderValues=null, ?ilLanguage $language=null, ?ilCertificateObjectHelper $objectHelper=null, ?ilCertificateUserObjectHelper $userObjectHelper=null, ?ilCertificateLPStatusHelper $lpStatusHelper=null, ?ilCertificateUtilHelper $utilHelper=null, ?ilCertificateDateHelper $dateHelper=null)
ilDefaultPlaceholderValues $defaultPlaceholderValuesObject
$objId
Definition: xapitoken.php:57
getReachedScore(int $objectId, int $userId)
static getInstanceByObjIdAndUsrId(int $objId, int $usrId)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
global $DIC
Definition: shib_login.php:22
Just a wrapper class to create Unit Test for other classes.
language handling
language()
description: > Example for rendring a language glyph.
Definition: language.php:41