ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilExercisePlaceholderValues.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
8 {
12  private $language;
13 
18 
22  private $lpMarksHelper;
23 
27  private $objectHelper;
28 
33 
37  private $lpStatusHelper;
38 
42  private $utilHelper;
43 
47  private $dateHelper;
48 
59  public function __construct(
60  ilDefaultPlaceholderValues $defaultPlaceholderValues = null,
61  ilLanguage $language = null,
68  ) {
69  if (null === $language) {
70  global $DIC;
71  $language = $DIC->language();
72  $language->loadLanguageModule('certificate');
73  }
74  $language->loadLanguageModule('exercise');
75  $language->loadLanguageModule('exc');
76 
77  $this->language = $language;
78 
79  if (null === $defaultPlaceholderValues) {
80  $defaultPlaceholderValues = new ilDefaultPlaceholderValues();
81  }
82  $this->defaultPlaceholderValuesObject = $defaultPlaceholderValues;
83 
84  if (null === $objectHelper) {
86  }
87  $this->objectHelper = $objectHelper;
88 
89  if (null === $lpMarksHelper) {
91  }
92  $this->lpMarksHelper = $lpMarksHelper;
93 
94  if (null === $exerciseMembersHelper) {
96  }
97  $this->exerciseMembersHelper = $exerciseMembersHelper;
98 
99  if (null === $lpStatusHelper) {
101  }
102  $this->lpStatusHelper = $lpStatusHelper;
103 
104  if (null === $utilHelper) {
106  }
107  $this->utilHelper = $utilHelper;
108 
109  if (null === $dateHelper) {
111  }
112  $this->dateHelper = $dateHelper;
113  }
114 
129  public function getPlaceholderValues(int $userId, int $objId) : array
130  {
131  $exerciseObject = $this->objectHelper->getInstanceByObjId($objId);
132 
133  $mark = (string) $this->lpMarksHelper->lookUpMark($userId, $objId);
134  $status = $this->exerciseMembersHelper->lookUpStatus($objId, $userId);
135 
136  $completionDate = $this->lpStatusHelper->lookupStatusChanged($objId, $userId);
137 
138  $placeHolders = $this->defaultPlaceholderValuesObject->getPlaceholderValues($userId, $objId);
139 
140  $placeHolders['RESULT_PASSED'] = $this->utilHelper->prepareFormOutput($this->language->txt('exc_' . $status));
141  $placeHolders['RESULT_MARK'] = $this->utilHelper->prepareFormOutput($mark);
142  $placeHolders['EXERCISE_TITLE'] = $this->utilHelper->prepareFormOutput($exerciseObject->getTitle());
143  $placeHolders['DATE_COMPLETED'] = '';
144  $placeHolders['DATETIME_COMPLETED'] = '';
145 
146  if ($completionDate !== false &&
147  $completionDate !== null &&
148  $completionDate !== ''
149  ) {
150  $placeHolders['DATE_COMPLETED'] = $this->dateHelper->formatDate($completionDate);
151  $placeHolders['DATETIME_COMPLETED'] = $this->dateHelper->formatDateTime($completionDate);
152  }
153 
154  return $placeHolders;
155  }
156 
166  public function getPlaceholderValuesForPreview(int $userId, int $objId) : array
167  {
168  $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValuesForPreview($userId, $objId);
169 
170  $object = $this->objectHelper->getInstanceByObjId($objId);
171 
172  $placeholders['RESULT_PASSED'] = $this->utilHelper->prepareFormOutput($this->language->txt('certificate_var_result_passed'));
173  $placeholders['RESULT_MARK'] = $this->utilHelper->prepareFormOutput($this->language->txt('certificate_var_result_mark_short'));
174  $placeholders['EXERCISE_TITLE'] = $this->utilHelper->prepareFormOutput($object->getTitle());
175 
176  return $placeholders;
177  }
178 }
Collection of basic placeholder values that can be used.
$objId
Definition: xapitoken.php:41
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 &#39;getPlaceholderValues&#39; method, this method is used to create a plac...
Just a wrapper class to create Unit Test for other classes.
$DIC
Definition: xapitoken.php:46
__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)
language handling
language()
Definition: language.php:2