ILIAS  release_8 Revision v8.23
class.ilExercisePlaceholderValues.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
25 {
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 
105  public function getPlaceholderValues(int $userId, int $objId): array
106  {
107  $exerciseObject = $this->objectHelper->getInstanceByObjId($objId);
108 
109  $mark = $this->lpMarksHelper->lookUpMark($userId, $objId);
110  $status = $this->exerciseMembersHelper->lookUpStatus($objId, $userId);
111 
112  $completionDate = $this->lpStatusHelper->lookupStatusChanged($objId, $userId);
113 
114  $placeHolders = $this->defaultPlaceholderValuesObject->getPlaceholderValues($userId, $objId);
115 
116  if ($status !== null) {
117  $placeHolders['RESULT_PASSED'] = $this->utilHelper->prepareFormOutput($this->language->txt('exc_' . $status));
118  }
119 
120  $placeHolders['RESULT_MARK'] = $this->utilHelper->prepareFormOutput($mark);
121  $placeHolders['EXERCISE_TITLE'] = $this->utilHelper->prepareFormOutput($exerciseObject->getTitle());
122  $placeHolders['DATE_COMPLETED'] = '';
123  $placeHolders['DATETIME_COMPLETED'] = '';
124 
125  if ($completionDate !== '') {
126  $placeHolders['DATE_COMPLETED'] = $this->dateHelper->formatDate($completionDate);
127  $placeHolders['DATETIME_COMPLETED'] = $this->dateHelper->formatDateTime($completionDate);
128  }
129 
130  return $placeHolders;
131  }
132 
141  public function getPlaceholderValuesForPreview(int $userId, int $objId): array
142  {
143  $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValuesForPreview($userId, $objId);
144 
145  $object = $this->objectHelper->getInstanceByObjId($objId);
146 
147  $placeholders['RESULT_PASSED'] = $this->utilHelper->prepareFormOutput($this->language->txt('certificate_var_result_passed'));
148  $placeholders['RESULT_MARK'] = $this->utilHelper->prepareFormOutput($this->language->txt('certificate_var_result_mark_short'));
149  $placeholders['EXERCISE_TITLE'] = $this->utilHelper->prepareFormOutput($object->getTitle());
150 
151  return $placeholders;
152  }
153 }
Collection of basic placeholder values that can be used.
$objId
Definition: xapitoken.php:57
loadLanguageModule(string $a_module)
Load language module.
__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
getPlaceholderValuesForPreview(int $userId, int $objId)
This method is different then the &#39;getPlaceholderValues&#39; method, this method is used to create a plac...
ilDefaultPlaceholderValues $defaultPlaceholderValuesObject
Just a wrapper class to create Unit Test for other classes.
ilCertificateExerciseMembersHelper $exerciseMembersHelper