19declare(strict_types=1);
60 if (
null === $language) {
62 $language =
$DIC->language();
63 $language->loadLanguageModule(
'certificate');
66 if (
null === $defaultPlaceholderValues) {
70 if (
null === $customUserFieldsPlaceholderValues) {
94 $this->customUserFieldsPlaceholderValuesObject = $customUserFieldsPlaceholderValues;
95 $this->defaultPlaceholderValuesObject = $defaultPlaceholderValues;
104 $possibleDate !==
false &&
105 $possibleDate !==
null &&
124 $courseObject = $this->objectHelper->getInstanceByObjId(
$objId);
126 $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValues($userId,
$objId);
128 $customUserFieldsPlaceholders = $this->customUserFieldsPlaceholderValuesObject->getPlaceholderValues(
133 $placeholders = array_merge($placeholders, $customUserFieldsPlaceholders);
135 $completionDate = $this->participantsHelper->getDateTimeOfPassed(
$objId, $userId);
137 $completionDate = $this->lpStatusHelper->lookupStatusChanged(
$objId, $userId);
141 $user = $this->objectHelper->getInstanceByObjId($userId);
143 $placeholders[
'DATE_COMPLETED'] = $this->dateHelper->formatDate($completionDate, $user);
144 $placeholders[
'DATETIME_COMPLETED'] = $this->dateHelper->formatDateTime($completionDate, $user);
147 $lng_code = $user->getLanguage();
148 $course_translation = $courseObject->getObjectTranslation();
149 $title = $courseObject->getTitle();
150 if ($course_translation instanceof ilObjectTranslation) {
151 $languages = $course_translation->getLanguages();
152 foreach ($languages as $trans) {
153 if ($trans->getLanguageCode() === $lng_code) {
154 $title = $trans->getTitle();
163 return $placeholders;
177 $placeholders = $this->defaultPlaceholderValuesObject->getPlaceholderValuesForPreview($userId,
$objId);
179 $customUserFieldsPlaceholders = $this->customUserFieldsPlaceholderValuesObject->getPlaceholderValuesForPreview(
184 $placeholders = array_merge($placeholders, $customUserFieldsPlaceholders);
186 $object = $this->objectHelper->getInstanceByObjId(
$objId);
190 return $placeholders;
__construct(?ilObjectCustomUserFieldsPlaceholderValues $customUserFieldsPlaceholderValues=null, ?ilDefaultPlaceholderValues $defaultPlaceholderValues=null, ?ilLanguage $language=null, ?ilCertificateObjectHelper $objectHelper=null, ?CertificateParticipantsHelper $participantsHelper=null, ?ilCertificateDateHelper $dateHelper=null, ?ilCertificateLPStatusHelper $lpStatusHelper=null)
getPlaceholderValuesForPreview(int $userId, int $objId)
This method is different then the 'getPlaceholderValues' method, this method is used to create a plac...
readonly ilObjectCustomUserFieldsPlaceholderValues $customUserFieldsPlaceholderValuesObject
readonly ilCertificateObjectHelper $objectHelper
readonly ilCertificateLPStatusHelper $lpStatusHelper
hasCompletionDate($possibleDate)
readonly ilCertificateDateHelper $dateHelper
readonly CertificateParticipantsHelper $participantsHelper
readonly ilDefaultPlaceholderValues $defaultPlaceholderValuesObject
Class handles translation mode for an object.
Class ilDatabaseException.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Collection of basic placeholder values that can be used.
Base class for ILIAS Exception handling.
Object not found exception.
getPlaceholderValues(int $userId, int $objId)
This method MUST return an array that contains the actual data for the given user of the given object...