ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
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
23
28
33
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}
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.
getPlaceholderValues(int $userId, int $objId)
This method MUST return an array that contains the actual data for the given user of the given object...
__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)
getPlaceholderValuesForPreview(int $userId, int $objId)
This method is different then the 'getPlaceholderValues' method, this method is used to create a plac...
language handling
language()
Definition: language.php:2
$DIC
Definition: xapitoken.php:46
$objId
Definition: xapitoken.php:41