ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.ilExercisePlaceholderValues.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 {
26  private readonly ilLanguage $language;
34 
35  public function __construct(
36  ?ilDefaultPlaceholderValues $defaultPlaceholderValues = null,
37  ?ilLanguage $language = null,
38  ?ilCertificateObjectHelper $objectHelper = null,
39  ?ilCertificateLPMarksHelper $lpMarksHelper = null,
40  ?ilCertificateExerciseMembersHelper $exerciseMembersHelper = null,
41  ?ilCertificateLPStatusHelper $lpStatusHelper = null,
42  ?ilCertificateUtilHelper $utilHelper = null,
43  ?ilCertificateDateHelper $dateHelper = null
44  ) {
45  if (null === $language) {
46  global $DIC;
47  $language = $DIC->language();
48  $language->loadLanguageModule('certificate');
49  }
50  $language->loadLanguageModule('exercise');
51  $language->loadLanguageModule('exc');
52 
53  $this->language = $language;
54 
55  if (null === $defaultPlaceholderValues) {
56  $defaultPlaceholderValues = new ilDefaultPlaceholderValues();
57  }
58  $this->defaultPlaceholderValuesObject = $defaultPlaceholderValues;
59 
60  if (null === $objectHelper) {
61  $objectHelper = new ilCertificateObjectHelper();
62  }
63  $this->objectHelper = $objectHelper;
64 
65  if (null === $lpMarksHelper) {
66  $lpMarksHelper = new ilCertificateLPMarksHelper();
67  }
68  $this->lpMarksHelper = $lpMarksHelper;
69 
70  if (null === $exerciseMembersHelper) {
71  $exerciseMembersHelper = new ilCertificateExerciseMembersHelper();
72  }
73  $this->exerciseMembersHelper = $exerciseMembersHelper;
74 
75  if (null === $lpStatusHelper) {
76  $lpStatusHelper = new ilCertificateLPStatusHelper();
77  }
78  $this->lpStatusHelper = $lpStatusHelper;
79 
80  if (null === $utilHelper) {
81  $utilHelper = new ilCertificateUtilHelper();
82  }
83  $this->utilHelper = $utilHelper;
84 
85  if (null === $dateHelper) {
86  $dateHelper = new ilCertificateDateHelper();
87  }
88  $this->dateHelper = $dateHelper;
89  }
90 
102  public function getPlaceholderValues(int $userId, int $objId): array
103  {
104  $exerciseObject = $this->objectHelper->getInstanceByObjId($objId);
105 
106  $mark = $this->lpMarksHelper->lookUpMark($userId, $objId);
107  $status = $this->exerciseMembersHelper->lookUpStatus($objId, $userId);
108 
109  $completionDate = $this->lpStatusHelper->lookupStatusChanged($objId, $userId);
110 
111  $placeHolders = $this->defaultPlaceholderValuesObject->getPlaceholderValues($userId, $objId);
112 
113  if ($status !== null) {
114  $placeHolders['RESULT_PASSED'] = $this->utilHelper->prepareFormOutput($this->language->txt('exc_' . $status));
115  }
116 
117  $placeHolders['RESULT_MARK'] = $this->utilHelper->prepareFormOutput($mark);
118  $placeHolders['EXERCISE_TITLE'] = $this->utilHelper->prepareFormOutput($exerciseObject->getTitle());
119  $placeHolders['DATE_COMPLETED'] = '';
120  $placeHolders['DATETIME_COMPLETED'] = '';
121 
122  if ($completionDate !== '') {
123  $placeHolders['DATE_COMPLETED'] = $this->dateHelper->formatDate($completionDate);
124  $placeHolders['DATETIME_COMPLETED'] = $this->dateHelper->formatDateTime($completionDate);
125  }
126 
127  return $placeHolders;
128  }
129 
135  public function getPlaceholderValuesForPreview(int $userId, int $objId): array
136  {
137  $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValuesForPreview($userId, $objId);
138 
139  $object = $this->objectHelper->getInstanceByObjId($objId);
140 
141  $placeholders['RESULT_PASSED'] = $this->utilHelper->prepareFormOutput($this->language->txt('certificate_var_result_passed'));
142  $placeholders['RESULT_MARK'] = $this->utilHelper->prepareFormOutput($this->language->txt('certificate_var_result_mark_short'));
143  $placeholders['EXERCISE_TITLE'] = $this->utilHelper->prepareFormOutput($object->getTitle());
144 
145  return $placeholders;
146  }
147 }
readonly ilCertificateLPMarksHelper $lpMarksHelper
readonly ilDefaultPlaceholderValues $defaultPlaceholderValuesObject
readonly ilCertificateDateHelper $dateHelper
Collection of basic placeholder values that can be used.
$objId
Definition: xapitoken.php:57
__construct(?ilDefaultPlaceholderValues $defaultPlaceholderValues=null, ?ilLanguage $language=null, ?ilCertificateObjectHelper $objectHelper=null, ?ilCertificateLPMarksHelper $lpMarksHelper=null, ?ilCertificateExerciseMembersHelper $exerciseMembersHelper=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...
global $DIC
Definition: feed.php:28
readonly ilCertificateObjectHelper $objectHelper
readonly ilCertificateUtilHelper $utilHelper
readonly ilCertificateLPStatusHelper $lpStatusHelper
getPlaceholderValuesForPreview(int $userId, int $objId)
This method is different then the &#39;getPlaceholderValues&#39; method, this method is used to create a plac...
Just a wrapper class to create Unit Test for other classes.
readonly ilCertificateExerciseMembersHelper $exerciseMembersHelper